Sie sind hier
E-Book

Modellbasierte Softwareentwicklung für eingebettete Systeme verstehen und anwenden

AutorAlexander Huwaldt, Andreas Willert, Jürgen Mottok, Stephan Roth, Tim Weilkiens
Verlagdpunkt
Erscheinungsjahr2018
Seitenanzahl384 Seiten
ISBN9783960885931
FormatPDF
KopierschutzWasserzeichen/DRM
GerätePC/MAC/eReader/Tablet
Preis31,99 EUR
Die Beherrschung von Komplexität ist eine der größten Engineering-Herausforderungen des 21. Jahrhunderts. Themen wie das 'Internet der Dinge' (IoT) und 'Industrie 4.0' beschleunigen diesen Trend. Die modellgetriebene Entwicklung leistet einen entscheidenden Beitrag, um diesen Herausforderungen erfolgreich begegnen zu können.  Die Autoren geben einen fundierten Einstieg und praxisorientierten Überblick über die Modellierung von Software für eingebettete Systeme von den Anforderungen über die Architektur bis zum Design, der Codegenerierung und dem Testen. Für jede Phase werden Paradigmen, Methoden, Techniken und Werkzeuge beschrieben und ihre praktische Anwendung in den Vordergrund gestellt. Darüber hinaus wird auf die Integration von Werkzeugen, funktionale Sicherheit und Metamodellierung eingegangen sowie die Einführung eines modellbasierten Ansatzes in einer Organisation und die Notwendigkeit zum lebenslangen Lernen erläutert. Der Leser erfährt in diesem Buch, wie ein modellbasiertes Vorgehen nutzbringend in der Praxis für die Softwareentwicklung eingesetzt wird. Das Vorgehen wird unabhängig von Modellierungswerkzeugen vorgestellt. Zahlreiche Beispiele - exemplarisch auch auf Basis konkreter Werkzeuge - helfen bei der praktischen Umsetzung. Der Anhang bietet ausgehend von den Thesen des Manifests 'Modeling of Embedded Systems' eine Skizze eines Reifegradmodells für modellbasierte Softwareentwicklung, eine Kurzreferenz zu UML und SysML sowie ein Glossar. Auf der Buch-Website mdese.de finden sich Werkzeuge, Beispiele, Tutorials sowie weitere vertiefende Informationen zum Thema.

Tim Weilkiens ist Vorstand und Trainer der oose Innovative Informatik eG. Seine thematischen Schwerpunkte sind die Modellierung von Systemen, Software und Unternehmen. Er ist für oose Repräsentant bei der OMG und u.a. Koentwickler des Zertifizierungsprogramms OCEB und OCEB2. Alexander Huwaldt ist Geschäftsführer der SiSy Solutions GmbH, seit 2007 als UML Professional nach OMG-Standards zertifiziert und in der Softwareentwicklung tätig. Er ist Hochschuldozent für Mikrocontrollerprogrammierung, Software Engineering, UML, SysML und BPMN. Prof. Dr. Jürgen Mottok lehrt Informatik an der Hochschule Regensburg. Seine Lehrgebiete sind Embedded Software Engineering, Real-Time Systems, Functional Safety und IT-Security. Er ist in Programmkomitees zahlreicher wiss. Konferenzen vertreten. Stephan Roth ist Trainer und Berater bei der oose Innovative Informatik eG. Seine Schwerpunkte sind modellbasiertes Systems und Software Engineering, Softwaredesign und Softwarearchitektur sowie Software Craftsmanship und Clean Code Development. Andreas Willert ist Geschäftsführer der Willert Software Tools GmbH und als Trainer, Berater und Coach für Software und Systems Engineering tätig.

Kaufen Sie hier:

Horizontale Tabs

Blick ins Buch
Inhaltsverzeichnis
Vorwort5
Inhaltsübersicht7
Inhaltsverzeichnis9
1 Einleitung17
1.1 Warum gerade jetzt dieses Buch?17
1.2 Wie sollte man dieses Buch lesen?19
1.3 Was ist an eingebetteten Systemen so besonders?20
1.4 Wie sieht das typische Zielsystem aus?21
1.5 Fallbeispiele23
1.5.1 Die Anlagensteuerung23
1.5.2 Die Baumaschine24
1.5.3 Das Energie-Monitoring-System25
1.5.4 Das Beispielsystem SimLine25
1.6 Das Manifest26
2 Basiswissen29
2.1 Was sind eingebettete Systeme?29
2.2 Software Engineering für eingebettete Systeme32
2.3 Der Qualitätsbegriff35
2.3.1 Externe Qualität35
2.3.2 Interne Qualität35
2.3.3 Qualitätskriterien nach ISO/IEC 2501036
2.4 Einführung in Model-Driven Software Engineering39
2.5 Komplexität40
2.6 Unser Gehirn als Engpass42
2.7 Vorgehensweisen und Techniken, um einer steigenden Komplexität zu begegnen43
2.8 Komplexen Systemen lässt sich nicht mit simplen Methoden begegnen44
2.9 Verstehbarkeit und Redundanz45
2.10 Was ist ein Modell?49
2.11 Modelle helfen, die Zukunft vorwegzunehmen?52
2.12 Modelle helfen zu abstrahieren?54
2.13 Resümee: Nutzen von MDSE?56
3 Modellbasierte Softwareprozesse und Toollandschaften59
3.1 Klassifikation von Modellierungswerkzeugen59
3.1.1 Modellierungswerkzeuge der Kategorie A (universelle Malwerkzeuge)63
3.1.2 Modellierungswerkzeuge der Kategorie B (spezialisierte Malwerkzeuge)63
3.1.3 Modellierungswerkzeuge der Kategorie C (einfache Modellierungswerkzeuge mit Modelldatenbank)63
3.1.4 Modellierungswerkzeuge der Kategorie D (vollständiger Zyklus einer Embedded-Software-Engineering-Werkzeugkette)64
3.2 Vorgehensmodelle64
3.2.1 SYSMOD Zickzack trifft auf IBM Rational Harmony65
3.2.2 Spezifikation oder Lösung?66
3.2.3 Wiederverwendung68
3.3 Best Practice für kleine Teams69
4 Modellbasiertes Requirements Engineering77
4.1 Requirements Engineering77
4.2 Anforderungen in der Modellierung78
4.3 Anforderungen und Architektur im Zickzack80
4.4 Szenario: Modellbasierte Spezifikation mit UML erstellen82
4.4.1 Überblick über Methode82
4.4.2 Problemanalyse82
4.4.3 Basisarchitektur84
4.4.4 Systemidee und Systemziele85
4.4.5 Stakeholder und Anforderungen86
4.4.6 Systemkontext87
4.4.7 Anwendungsfälle und Aktivitäten88
4.4.8 Fachwissen91
4.4.9 Szenarien92
4.5 Mehr Modellierung: Ausführbare Spezifikation93
4.6 Weniger Modellierung: Diagramme für Anforderungsdokumente96
4.7 Neuentwicklung versus Weiterentwicklung96
4.7.1 Basisarchitektur97
4.7.2 Anwendungsfälle97
4.7.3 Szenarien97
5 Modellbasierte Architekturbeschreibung99
5.1 Architektur – Was ist das eigentlich?99
5.2 Die technische Softwarearchitektur101
5.3 Architekturmuster und deren Bedeutung104
5.4 Das Laufzeitsystem als Basismuster in eingebetteten Applikationen106
5.5 Referenzmuster für eine Laufzeitarchitektur110
5.5.1 Sensorik, Einlesen, Filtern, Bewerten112
5.5.2 Transformation der Sensorik in Aktivitäten (Verarbeitung)113
5.5.3 Ausgabe der Daten und Ansteuerung der Aktoren113
5.6 Fachliche Architektur113
5.7 Architektur-Assessment114
6 Modellbasiertes Softwaredesign119
6.1 Gesichtspunkte der fachlichen Architektur und des Designs119
6.2 Hierarchische Dekomposition121
6.3 Diskretisierungs- und Laufzeiteffekte im Design131
6.4 Softwaredesignprinzipien134
6.4.1 Was ist ein Prinzip?134
6.4.2 Grundlegende Designprinzipien135
6.4.3 Designprinzipien in der Modellierung139
6.5 Hardwareabstraktion139
6.5.1 Ausgangssituation140
6.5.2 Evolution der Mikrocontrollerprogrammierung in C140
6.5.3 Die klassische Vorgehensweise mit der UML143
6.5.4 Die graue Theorie146
6.5.5 Lösungsansätze für die Modellierung149
6.5.6 Lösungsansätze für die Codegenerierung152
7 Modellbasiertes Testen161
7.1 Warum eigentlich testen?161
7.2 Nicht nur sicherstellen, dass es funktioniert162
7.2.1 Ein angstfreies Refactoring ermöglichen162
7.2.2 Besseres Softwaredesign162
7.2.3 Ausführbare Dokumentation163
7.2.4 Tests helfen, Entwicklungskosten zu sparen163
7.3 Die Testpyramide164
7.4 Test-Driven Development (TDD)167
7.4.1 Viel älter als vermutet: Test First!167
7.4.2 TDD: Red – Green – Refactor169
7.5 Model-Based Testing (MBT)170
7.6 UML Testing Profile (UTP)171
7.7 Ein praktisches Beispiel172
7.8 Werkzeuge, die dieses Vorgehen unterstützen179
8 Integration von Werkzeugen187
8.1 Anforderungen an Schnittstellen zu Werkzeugen unterschiedlicher Disziplinen188
8.1.1 Digital Twin188
8.1.2 Traceability aus Safety-Gesichtspunkten189
8.1.3 Projekt- und Workload-Management189
8.2 Synchronisation der Daten zwischen Repositories191
8.3 Zentrales Repository192
8.4 Ein Werkzeug für alles194
8.5 OSLC – Open Services for Lifecycle Collaboration195
8.6 XMI – Austausch von Daten innerhalb der Fachdomäne MDSE197
8.7 ReqIF zum Austausch von Anforderungen197
8.8 FMI (Functional Mock-up Interface)198
8.9 SysML Extension for Physical Interaction and Signal Flow Simulation (SysPhS)199
8.10 AUTOSAR200
8.11 Stand der Praxis200
9 Modellbasierte funktionale Sicherheit203
9.1 Funktionale Sicherheit203
9.2 Entwurfsmuster der funktionalen Sicherheit206
9.2.1 Zufällige und systematische Fehler207
9.2.2 Symmetrische und diversitäre Redundanz209
9.2.3 Architekturmuster211
9.2.4 Monitor-Actuator Pattern (MAP)214
9.2.5 Homogenous Redundancy Pattern (HRP)216
9.2.6 Triple Modular Redundancy Pattern (TMR)218
9.2.7 SIL-Empfehlung für die Safety and Reliability Design Patterns222
9.3 Vom Modell zum sicheren Quellcode: Coding-Standards für die sichere Programmierung223
9.3.1 Normativer Hintergrund223
9.3.2 MISRA-C und MISRA-C++224
9.3.3 Prüfwerkzeuge225
9.3.4 Codegenerierung225
9.4 Das Safety and Reliability Profile der UML226
9.5 Praktische Anwendung der Modellierung im Kontext sicherheitskritischer Systeme227
9.5.1 Beweis der Korrektheit der Transformation228
9.5.2 Verifikation der Qualität des Werkzeugs229
9.5.3 Zertifiziertes Framework229
9.6 Vorteile der modellgetriebenen Entwicklung im Safety- Kontext230
9.6.1 Traceability230
9.6.2 Semiformale Spezifikation231
9.6.3 Normen empfehlen den Einsatz von formalen und/oder semiformalen Methoden und Notationen232
9.6.4 Automatisierte Transformationen232
9.6.5 Modellierungsrichtlinien (Guidelines)233
9.6.6 Dokumentation234
9.7 Modellgetriebene Entwicklung mit der UML234
10 Metamodellierung237
10.1 Modell und Metamodell237
10.2 UML-Metamodelle239
10.3 EAST-ADL241
10.4 AADL246
10.5 Vergleich EAST-ADL und AADL248
11 Einführung eines modellbasierten Ansatzes in einer Organisation251
11.1 Ausgangslage252
11.2 Vorgehen253
11.2.1 Problem analysieren253
11.2.2 Idee und Ziele des Vorgehens254
11.2.3 Stakeholder und Anforderungen255
11.2.4 Methodikkontext256
11.2.5 Anwendungsfälle256
11.2.6 Fachwissenmodell258
11.2.7 Verifikation und Validierung258
11.3 Auswahl der Modellierungssprachen259
11.4 Auswahl der Modellierungswerkzeuge260
11.5 Typische Fehler261
11.5.1 Schnellstart261
11.5.2 Übergewicht261
11.5.3 Einsame Insel262
11.5.4 Elfenbeinturm262
11.5.5 Aus der Lernkurve fliegen262
12 Lebenslanges Lernen265
12.1 Lernen – die Sicht des Konstruktivismus265
12.2 Kompetenzen – der Blick auf die modellbasierte Softwareentwicklung267
12.3 Agilität – Lernen mit Methoden und Praktiken270
12.4 Psychologische Grundlagen von Fehlern277
12.4.1 Denkfallen als Fehlerursache277
12.5 Software Craftsmanship – ein Beispiel280
12.6 Modellierungskultur – ein Kodex282
12.6.1 Manifest – Modeling of Embedded Systems282
12.6.2 Big Picture – der Blick auf den Kodex einer Modellierungskultur282
12.6.3 Moderation – die konstruktive Kommunikation283
12.6.4 Reflexion – Lernen durch Reflektieren284
12.6.5 Selbstverpflichtung – selbstgesteuertes Lernen als Entwickler und als Team285
12.6.6 Teamradar – ein Feedbackbarometer286
12.6.7 Experten als Teamcoach – Agenten der Veränderung288
12.6.8 Funktionale Sicherheit – ein Beitrag der normativen Sicherheitskultur288
13 Fazit293
Anhang295
A Ausblick: Skizze eines Reifegradmodells für MDSE297
A.1 Hintergrund und Motivation297
A.2 Die Skizze als ein Start – Diskussionsforum299
A.3 Ausgangslage Manifest – Ziele kompakt300
A.4 Die Reifegrade – der Weg in die Modellierungskultur301
A.5 Evaluation und Fragenkatalog308
B Kurzreferenz UML und SysML311
B.1 Eine kurze Geschichte der UML312
B.2 Aufbau und Architektur der UML313
B.3 Anwendungsfalldiagramm315
B.3.1 Akteur315
B.3.2 Anwendungsfall316
B.3.3 Anwendungsfallbeziehungen316
B.4 Aktivitätsdiagramm316
B.4.1 Aktivität und Aktivitätsparameter317
B.4.2 Aktion und Pin318
B.4.3 Kontroll- und Objektfluss319
B.4.4 Start- und Endknoten320
B.4.5 Entscheidung und Zusammenführung320
B.4.6 Splitting und Synchronisation320
B.5 Klassendiagramm321
B.5.1 Klasse und Objekt321
B.5.2 Attribut322
B.5.3 Operation322
B.5.4 Assoziation323
B.5.5 Komposition324
B.5.6 Generalisierung324
B.5.7 Signal324
B.5.8 Datentyp325
B.5.9 Templates325
B.6 Kompositionsstrukturdiagramm326
B.6.1 Konnektor327
B.6.2 Port328
B.7 Sequenzdiagramm330
B.7.1 Interaktion330
B.7.2 Lebenslinie331
B.7.3 Nachricht332
B.7.4 Kombiniertes Fragment332
B.7.5 Zeitliche Zusicherungen333
B.8 Zustandsdiagramm333
B.8.1 Zustandsautomat334
B.8.2 Zustand335
B.8.3 Transition335
B.8.4 Start- und Endzustand336
B.8.5 Pseudozustand337
B.9 Paketdiagramm338
B.9.1 Paket und Modell338
B.9.2 Pakete importieren339
B.9.3 Modellbibliothek339
B.10 Querschnittselemente339
B.10.1 Kommentar339
B.10.2 Zusicherung340
B.10.3 Trace-Beziehung340
B.11 Profil340
B.11.1 SysML342
B.11.2 MARTE345
B.11.3 UML Testing Profile (UTP)347
B.11.4 MDESE-Profil (basierend auf SYSMOD-Profil)348
C Glossar351
D Literaturverzeichnis371
Stichwortverzeichnis379

Weitere E-Books zum Thema: Informatik - Algorithmen - Softwaresysteme

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Softwaretechnik

E-Book Softwaretechnik
Format: PDF

Software-Projekte geraten oft in Schwierigkeiten: Zeit und Budget werden überschritten; das Projekt tritt auf der Stelle; im schlimmsten Fall wird es ohne Ergebnis abgebrochen. Manche…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Software Engineering

E-Book Software Engineering
Architektur-Design und Prozessorientierung Format: PDF

Das Lehrbuch behandelt alle Aspekte der Software-Entwicklung, besonders aber Methoden und Richtlinien zur Herstellung großer und qualitativ hochwertiger Softwareprodukte. Es vermittelt das zur…

Weitere Zeitschriften

Arzneimittel Zeitung

Arzneimittel Zeitung

Die Arneimittel Zeitung ist die Zeitung für Entscheider und Mitarbeiter in der Pharmabranche. Sie informiert branchenspezifisch über Gesundheits- und Arzneimittelpolitik, über Unternehmen und ...

cards Karten cartes

cards Karten cartes

Die führende Zeitschrift für Zahlungsverkehr und Payments – international und branchenübergreifend, erscheint seit 1990 monatlich (viermal als Fachmagazin, achtmal als ...

crescendo

crescendo

Die Zeitschrift für Blas- und Spielleutemusik in NRW - Informationen aus dem Volksmusikerbund NRW - Berichte aus 23 Kreisverbänden mit über 1000 Blasorchestern, Spielmanns- und Fanfarenzügen - ...

SPORT in BW (Württemberg)

SPORT in BW (Württemberg)

SPORT in BW (Württemberg) ist das offizielle Verbandsorgan des Württembergischen Landessportbund e.V. (WLSB) und Informationsmagazin für alle im Sport organisierten Mitglieder in Württemberg. ...

Deutsche Tennis Zeitung

Deutsche Tennis Zeitung

Die DTZ – Deutsche Tennis Zeitung bietet Informationen aus allen Bereichen der deutschen Tennisszene –sie präsentiert sportliche Highlights, analysiert Entwicklungen und erläutert ...