Sie sind hier
E-Book

Softwareentwicklung eingebetteter Systeme

Grundlagen, Modellierung, Qualitätssicherung

AutorPeter Scholz
VerlagSpringer-Verlag
Erscheinungsjahr2006
Seitenanzahl240 Seiten
ISBN9783540275220
FormatPDF
KopierschutzDRM
GerätePC/MAC/eReader/Tablet
Preis44,99 EUR

Eingebettete Systeme übernehmen komplexe Steuerungs- und Regelungsaufgaben für technische Systeme. Ihre Funktionalität wird durch das Zusammenspiel von Spezialhardware, Standardprozessoren, Peripherie und Software realisiert. Oft liegt der Schwerpunkt auf Hardware-Aspekten. Tatsächlich spielt der Softwareentwurf eine mindestens genauso wichtige Rolle beim Entwurf dieser Systeme. Hier setzt das Buch an und liefert einen guten Überblick über das Thema. Klassifikationen und Themen wie Nebenläufigkeit, Echtzeit und Echtzeitbetriebssysteme bilden die Grundlagen. Die Programmierung eingebetteter Systeme wird mit C++, Java sowie an den Beispielen von Esterel und Giotto erläutert. Ausgewählte Softwareentwurfstechniken wie Statecharts, hybride Systeme, UML und Hardware-Software Co-Design werden ausführlich vorgestellt. Eingebettete Systeme finden oft in sicherheitskritischen Bereichen Einsatz. Die Sicherung der Softwarequalität ist daher von zentraler Bedeutung und bildet einen weiteren wichtigen Teil des Buches.

Kaufen Sie hier:

Horizontale Tabs

Leseprobe
6 Softwarequalität eingebetteter Systeme (S.173)

Der Qualität von eingebetteter Software eine besondere Bedeutung zuzumessen, ist eine lohnenswerte Investition. Dies belegen zahlreiche Beispiele, bei denen fehlerhafte Software zu Schädigungen von Maschinen oder gar Menschen geführt hat. Einige prominente Fälle, wo Softwarefehler zu massiven Konsequenzen geführt haben, schildern wir daher in diesem Kapitel, bevor wir dann zentrale Begriffe der Softwarequalität diskutieren. Um die Softwarequalität überprüfen zu können, sind spezielle Prüftechniken erforderlich. Wir geben zunächst eine Übersicht über derzeit mögliche Prüftechniken und schildern dann ausgewählte Vertreter etwas näher. 

  Die Qualitätssicherung eingebetteter Systeme, gerade auch in der Automobiltechnik oder Avionik ist eine schwierige aber gleichwohl dringend erforderliche Entwicklungsaufgabe. Nach diesem Kapitel sollte der Leser die beiden Begriffe Zuverlässigkeit und Sicherheit sowie die damit in Bezug stehenden Begriffe verstanden haben und Verfahren zu ihrer Herstellung kennen.

6.1 Motivation

Ein „eindrucksvolles" Beispiel für einen Softwarefehler ist die Bruchlandung eines Airbus A-320 auf dem Warschauer Flughafen am 14. September 1993: Ein Lufthansa-Airbus fängt bei der Landung in Warschau Feuer. Bei dem Unfall sterben zwei Menschen, 54 werden verletzt. Ursache war eine Fehlkonstruktion des Sensors zur Erkennung der Bodenberührung: Im „Flight Mode" ließ sich die zum Bremsen notwendige Schubumkehr nicht einschalten. Hier handelte es sich um keinen Pilotenfehler, sondern 6 um falsche Entwurfsentscheidungen der Konstrukteure und Software-Ingenieure.

Ein anderes Beispiel, wo ein Softwarefehler beinahe zu einer Katastrophe geführt hatte, war die Landung einer in einer „Sojus"- Kapsel zurückgekehrten ISS-Mannschaft im Jahre 2003. Nach russischen Angaben führte ein Softwarefehler zu einem absturzartigen Wiedereintritt, bei dem ein vom Computer falsch berechneter Eintrittswinkel zu einer übermäßigen Hitzeentwicklung geführt hat. Einer der wohl bekanntesten Repräsentanten für mangelnde Softwarequalität ist der Absturz bzw. die ferngelenkte Zerstörung der europäischen Trägerrakete Ariane 5 auf ihrem Jungfernflug am 4. Juni 1996 in Kourou. Die Rakete war mit vier Satelliten bestückt. Etwa 37 Sekunden nach dem Start erreichte die Ariane 5 eine Horizontalgeschwindigkeit von mehr als 32.768 internen Einheiten. Die in der Programmiersprache Ada realisierte Konvertierung dieses Wertes in eine vorzeichenbehaftete Integer-Variable führte daher zu einem Überlauf, der nicht abgefangen wurde, obwohl die Hardware redundant ausgelegt war. Da es sich hier jedoch um einen reinen Softwarefehler handelte, blieb diese Redundanz wirkungslos.

Folglich wurden Diagnosedaten zum Hauptrechner geschickt, die dieser als Flugbahndaten interpretierte, so dass dieser unsinnige Steuerbefehle generierte. Die Rakete drohte daraufhin zu bersten und musste ferngelenkt gesprengt werden, um größeren Schaden aufgrund der noch niedrigen Höhe zu vermeiden. Interessanterweise war die Software von der Ariane 4 wiederverwendet worden und hatte dort auch problemlos funktioniert. Der Gesamtschaden belief sich auf 500 Millionen US-Dollar.
Inhaltsverzeichnis
Vorwort6
Inhaltsverzeichnis10
1 Einleitung14
1.1 Motivation14
1.2 Klassifikation, Charakteristika16
1.3 Anwendungen, Beispiele und Branchen19
1.4 Begriffsdefinitionen21
1.5 Logischer Aufbau eingebetteter Systeme23
1.5.1 Kontrolleinheit25
1.5.2 Regelstrecke28
1.5.2.1 Peripherie29
1.5.2.2 Digital/Analog-Wandler30
1.5.2.3 Analog/-Digital-Wandler31
1.5.2.4 Sensoren32
1.5.2.5 Aktuatoren34
1.5.3 Benutzerschnittstelle34
1.6 Softwareentwicklung eingebetteter Systeme35
1.6.1 Motivation35
1.6.2 Begriffsklärung36
1.6.3 Entwurf36
1.7 Besondere Herausforderungen37
1.8 Zusammenfassung38
2 Nebenläufige Systeme40
2.1 Einführung41
2.1.1 Multitasking42
2.1.2 Multithreading42
2.1.3 Prozesssynchronisation und -kommunikation44
2.2 Grundlegende Modelle für die Nebenläufigkeit45
2.3 Verteilte Systeme47
3 Echtzeit, Echtzeitsysteme, Echtzeitbetriebssysteme52
3.1 Echtzeitsysteme52
3.2 Ereignissteuerung versus Zeitsteuerung54
3.3 Echtzeitbetriebssysteme55
3.3.1 Aufbau und Aufgaben von Betriebssystemen56
3.3.2 Betriebssystemarchitekturen57
3.3.3 Echtzeitfähige Betriebssysteme58
3.3.4 Zeitgeber und Zugriffsebenen auf Zeit63
3.3.5 Prozesse66
3.3.6 Multitasking und Scheduling67
3.3.7 Scheduling in Echtzeitbetriebssystemen70
3.3.8 Speicherverwaltung72
3.4 VxWorks als Beispiel eines Echtzeitbetriebssystems74
3.4.1 Das Laufzeitsystem76
3.4.2 Exkurs: Der POSIX Standard76
3.4.3 Das I/O-Subsystem von VxWorks77
3.4.4 Unterstützung verteilter Systeme in VxWorks77
3.4.5 VxWorks Entwicklungswerkzeuge77
3.5 Weitere Beispiele eingebetteter Betriebssysteme79
3.5.1 Symbian OS80
3.5.2 Palm OS81
3.5.3 Windows CE82
3.5.4 QNX83
3.5.5 Embedded Linux85
3.6 Zusammenfassung86
4 Programmierung eingebetteter Systeme88
4.1 Der Einsatz von C/C++ für eingebettete Systeme90
4.2 Embedded C++91
4.2.1 Einschränkung: Das Schlüsselwort „mutable“93
4.2.2 Einschränkung: Ausnahmebehandlung93
4.2.3 Typidentifikation zur Laufzeit94
4.2.4 Namenskonflikte94
4.2.5 Templates94
4.2.6 Mehrfachvererbung und virtuelle Vererbung94
4.2.7 Bibliotheken95
4.2.8 EC++ Styleguide95
4.3 Der Einsatz von Java für eingebettete Systeme96
4.3.1 Java 198
4.3.1.1 Personal Java98
4.3.1.2 Embedded Java99
4.3.2 Java 2 (J2ME)100
4.3.2.1 Connected Device Configuration (CDC)101
4.3.2.2 Connected Limited Device Configuration (CLDC)102
4.3.3 JavaCard103
4.3.4 Echtzeiterweiterungen für Java106
4.3.4.1 Real- Time Core Erweiterung108
4.3.4.2 Real Time Specification for Java (RTSJ)108
4.4 Synchrone Sprachen111
4.5 Ereignisbasierter Ansatz am Beispiel von Esterel112
4.5.1 Historie113
4.5.2 Hypothese der perfekten Synchronie113
4.5.3 Determinismus117
4.5.4 Allgemeines118
4.5.5 Parallelität119
4.5.6 Deklarationen119
4.5.7 Instruktionen122
4.5.8 Beispiel: Die sogenannte ABRO-Spezifikation124
4.5.9 Semantik124
4.5.10 Kausalitätsprobleme125
4.5.10.1 Logische Korrektheit126
4.5.10.2 Konstruktive Semantik128
4.5.11 Codegenerierung und Werkzeuge129
4.6 Synchrone Datenflusssprachen am Beispiel von Lustre131
4.6.1 Datenfluss und Clocks132
4.6.2 Variablen, Konstanten und Gleichungen133
4.6.3 Operatoren und Programmstruktur133
4.6.4 Assertions (Zusicherungen)135
4.6.5 Compilation135
4.6.6 Verifikation und automatisches Testen137
4.6.7 Lustre im Vergleich zu Signal138
4.7 Zeitgesteuerter Ansatz am Beispiel von Giotto138
4.8 Zusammenfassung149
5 Softwareentwurf eingebetteter Systeme152
5.1 Modellierung eingebetteter Systeme153
5.2 Formale Methoden154
5.3 Statecharts155
5.4 Die Unified Modeling Language (UML)158
5.5 Der Ansatz ROOM164
5.5.1 Softwarewerkzeuge und Umgebung164
5.5.2 Einführung165
5.5.3 Echtzeitfähigkeit167
5.6 Hardware/Software-Codesign168
5.7 Die MARMOT-Methode174
5.8 Hybride Systeme und hybride Automaten177
5.8.1 Einleitung177
5.8.2 Spezifikation hybrider Systeme180
5.9 Zusammenfassung184
6 Softwarequalität eingebetteter Systeme186
6.1 Motivation186
6.2 Begriffe187
6.3 Zuverlässigkeit eingebetteter Systeme191
6.3.1 Konstruktive Maßnahmen195
6.3.1.1 Einsatz redundanter Hardware195
6.3.1.2 Einsatz redundanter Software196
6.3.2 Analytische Verfahren197
6.3.3 Stochastische Abhängigkeit199
6.3.4 Gefahrenanalyse199
6.4 Sicherheit eingebetteter Systeme201
6.4.1 Testen203
6.4.1.1 Überblick203
6.4.1.2 Ausgewählte Testverfahren204
6.4.2 Manuelle Prüftechniken208
6.4.3 Formale Verifikation209
6.5 Zusammenfassung212
7 Vorgehensmodelle und Standards der Entwicklung214
7.1 Das Wasserfall-Modell214
7.2 Das V-Modell215
7.3 Das V-Modell XT218
7.3.1 Grundlagen219
7.3.2 Anwendung des V-Modell XT220
7.3.3 Zielsetzung und Aufbau des V-Modell XT221
7.3.3.1 V- Modell XT als Weiterentwicklung des V-Modells 97222
7.3.3.2 Zielsetzung des V-Modells XT223
7.3.3.3 Grenzen des V-Modells XT223
7.3.4 V-Modell XT Produktvorlagen224
7.3.5 V-Modell XT Werkzeuge224
7.3.5.1 Der V- Modell XT Projektassistent225
7.3.5.2 V- Modell XT Editors225
7.4 Die ROPES-Methode225
7.5 Der OSEK-Standard226
7.6 AUTOSAR228
7.7 Zusammenfassung230
8 Schlussbemerkungen232
Literaturverzeichnis236
Sachverzeichnis242

Weitere E-Books zum Thema: Software - Betriebssysteme - Anwenderprogramme

Leben 3.0

E-Book Leben 3.0
Mensch sein im Zeitalter Künstlicher Intelligenz Format: ePUB

Die Nobelpreis-Schmiede Massachusetts Institute of Technology ist der bedeutendste technologische Think Tank der USA. Dort arbeitet Professor Max Tegmark mit den weltweit führenden Entwicklern k…

111 Thesen zur erfolgreichen Softwareentwicklung

E-Book 111 Thesen zur erfolgreichen Softwareentwicklung
Argumente und Entscheidungshilfen für Manager. Konzepte und Anleitungen für Praktiker Format: PDF

Ziel dieses Buches ist es, Managern Argumente und Entscheidungshilfen für die Einführung effizienter Techniken der Softwareentwi- lung zu geben, und Praktiker von der Notwendigkeit effizienter…

Erfolgsfaktor Unternehmenssteuerung

E-Book Erfolgsfaktor Unternehmenssteuerung
Kennzahlen, Instrumente, Praxistipps Format: PDF

Als sich in den Jahren 2000/2001 die Boomphase in der Druck- und Medienindustrie abschwächte, standen viele erfolgsverwöhnte - ternehmen der Branche dem daraus resultierenden wirtschaftlichen Druck…

Statistik für Ökonomen

E-Book Statistik für Ökonomen
Datenanalyse mit R und SPSS Format: PDF

Die Autoren erläutern in einer anschaulichen, anwendungsorientierten und kompakten Darstellung alle elementaren statistischen Verfahren, die in der Ökonomie angewendet werden - ergänzt durch…

Referenzmodelle für IT-Governance

E-Book Referenzmodelle für IT-Governance
Methodische Unterstützung der Unternehmens-IT mit COBIT, ITIL & Co Format: PDF

Das Buch zeigt, wie die Aufgaben der IT-Governance durch Best-Practice-Referenzmodelle sowie internationale Normen und Standards methodisch zu unterstützen und zu bewältigen sind, und gibt einen…

Funktionale Sicherheit in der Praxis

E-Book Funktionale Sicherheit in der Praxis
Anwendung von DIN EN 61508 und ISO/DIS 26262 bei der Entwicklung von Serienprodukten Format: PDF

Das Buch gibt einen fundierten Überblick über Normen zur funktionalen Sicherheit. Es erläutert die Anforderungen der Grundnorm DIN EN 61508, der zukünftigen Automotive-Norm ISO 26262 und der…

100 Minuten für Konfigurationsmanagement

E-Book 100 Minuten für Konfigurationsmanagement
Kompaktes Wissen nicht nur für Projektleiter und Entwickler Format: PDF

In der Produkt-, System- und Softwareentwicklung spielt die professionelle Umsetzung des Konfigurationsmanagements eine entscheidende Rolle für den Erfolg des entstehenden Produkts. Dieses Buch…

Social Media

E-Book Social Media
Der Einfluss auf Unternehmen Format: PDF

Die Beiträge aus unterschiedlichen Unternehmen bieten eine fundierte Darstellung zum Einfluss sozialer Medien (Facebook, Twitter, LinkedIn, Xing, etc) auf die Kommunikation und Aussendarstellung von…

Weitere Zeitschriften

arznei-telegramm

arznei-telegramm

Das arznei-telegramm® informiert bereits im 51. Jahrgang Ärzte, Apotheker und andere Heilberufe über Nutzen und Risiken von Arzneimitteln. Das arznei-telegramm®  ist neutral und ...

Berufsstart Bewerbung

Berufsstart Bewerbung

»Berufsstart Bewerbung« erscheint jährlich zum Wintersemester im November mit einer Auflage von 50.000 Exemplaren und ermöglicht Unternehmen sich bei Studenten und Absolventen mit einer ...

caritas

caritas

mitteilungen für die Erzdiözese FreiburgUm Kindern aus armen Familien gute Perspektiven für eine eigenständige Lebensführung zu ermöglichen, muss die Kinderarmut in Deutschland nachhaltig ...

Das Grundeigentum

Das Grundeigentum

Das Grundeigentum - Zeitschrift für die gesamte Grundstücks-, Haus- und Wohnungswirtschaft. Für jeden, der sich gründlich und aktuell informieren will. Zu allen Fragen rund um die Immobilie. Mit ...

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 Hockey Zeitung

Deutsche Hockey Zeitung

Informiert über das internationale, nationale und internationale Hockey. Die Deutsche Hockeyzeitung ist Ihr kompetenter Partner für Ihr Wirken im Hockeymarkt. Sie ist die einzige ...