Suchen und Finden
Mehr zum Inhalt
Automotive Software Engineering - Grundlagen, Prozesse, Methoden und Werkzeuge effizient einsetzen
Zur Bedeutung von Software im Automobil
6
Vorwort
7
Inhaltsverzeichnis
10
1 Einführung und Uberblick
15
1.1 Das System Fahrer-Fahrzeug-Umweit
16
1.1.1 Aufbau und Wirkungsweise elektronischer Systeme
16
1.1.2 Elektronische Systeme des Fahrzeugs und der Umwelt
19
1.2 Überblick über die elektronischen Systeme des Fahrzeugs
20
1.2.1 Elektronische Systeme des Antriebsstrangs
22
1.2.2 Elektronische Systeme des Fahrwerks
23
1.2.3 Elektronische Systeme der Karosserie
25
1.2.4 Multi-Media-Systeme
27
1.2.5 Verteilte und vernetzte elektronische Systeme
28
1.2.6 Zusammenfassung und Ausblick
29
1.3 Überblick über die logische Systemarchitektur
30
1.3.1 Funktions- und Steuergeratenetzwerk des Fahrzeugs
30
1.3.2 Logische Systemarchitektur fiir Steuerungs-ZRegelungs- und Uberwachungssysteme
31
1.4 Prozesse in der Fahrzeugentwicklung
32
1.4.1 Uberblick iiber die Fahrzeugentwicklung
32
1.4,2 Uberblick iiber die Entwicklung von elektronischen Systemen
33
1.4.3 Kernprozess zur Entwicklung von elektronischen Systemen und Software
36
1.4.4 Unterstiitzungsprozesse zur Entwicklung von elektronischen Systemen und Software
38
1.4.5 Produktion und Service von elektronischen Systemen und Software
41
1.5 Methoden und Werkzeuge fiir die Entwicklung von Software für elektronische Systeme
41
1.5.1 Modellbasierte Entwicklung
42
1.5.2 Integrierte Qualitatssicherung
42
1.5.3 Reduzierung des Entwicklungsrisikos
45
1.5.4 Standardisierung und Automatisierung
46
1.5.5 Entwicklungsschritte im Fahrzeug
48
2 Grundlagen
51
2.1 Steuerungs- und regelungstechnische Systeme
51
2.1.1 Modellbildung
51
2.1.2 Blockschaltbilder
52
2.2 Diskrete Systeme
56
2.2.1 Zeitdiskrete Systeme und Signale
57
2.2.2 Wertdiskrete Systeme und Signale
58
2.2.3 Zeit- und wertdiskrete Systeme und Signale
59
2.2.4 Zustandsautomaten
59
2.3 Eingebettete Systeme
61
2.3.1 Aufbau von Mikrocontrollem
62
2.3.2 Speichertechnologien
64
2.3.3 Programmierung von MikrocontroUern
67
2.4 Echtzeitsysteme
74
2.4.1 Festlegung von Tasks
74
2.4.2 Festlegung von Echtzeitanforderungen
76
2.4.3 Zustande von Tasks
78
2.4.4 Strategien fiir die Zuteilung des Prozessors
80
2.4.5 Aufbau von Echtzeitbetriebssystemen
85
2.4.6 Interaktion zwischen Tasks
86
2.5 Verteilte und vernetzte Systeme
92
2.5.1 Logische und technische Systemarchitektur
95
2.5.2 Festlegung der logischen Kommunikationsbeziehungen
96
2.5.3 Festlegung der technischen Netzwerktopologie
98
2.5.4 Festlegung von Nachrichten
99
2.5.5 Aufbau der Kommunikation und des Netzwerkmanagements
100
2.5.6 Strategien fiir die Zuteilung des Busses
104
2.6 Zuverlassigkeit, Sicherheit, Uberwachung und Diagnose von Systemen
106
2.6.1 Grundbegriffe
107
2.6.2 Zuverlassigkeit und Verfiigbarkeit von Systemen
108
2.6.3 Sicherheit von Systemen
112
2.6.4 Uberwachung und Diagnose von Systemen
115
2.6.5 Aufbau des Uberwachungssystems elektronischer Steuergerate
119
2.7 Zusammenfassung
127
3 Unterstutzungsprozesse zur Entwicklung von elektronischen Systemen und Software
131
3.1 Grundbegriffe der Systemtheorie
131
3.2 Vorgehensmodelle und Standards
134
3.3 Konflgurationsmanagement
136
3.3.1 Produkt und Lebenszyklus
136
3.3.2 Varianten und Skalierbarkeit
137
3.3.3 Versionen und Konfigurationen
138
3.4 Projektmanagement
141
3.4.1 Projektplanung
141
3.4.2 Projektverfolgung und Risikomanagement
146
3.5 Lieferantenmanagement
147
3.5.1 System- und Komponentenverantwortung
147
3.5.2 Schnittstellen fiir die Spezifikation und Integration
148
3.5.3 Festlegung des firmenubergreifenden Entwicklungsprozesses
148
3.6 Anforderungsmanagement
150
3.6.1 Erfassen der Benutzeranforderungen
150
3.6.2 Verfolgen von Anforderungen
154
3.7 Qualitatssicherung
155
3.7.1 Integrations- und Testschritte
155
3.7.2 MaBnahmen zur Qualitatssicherung von Software
156
4 Kernprozess zur Entwicklung von elektronischen Systemen und Software
159
4.1 Anforderungen und Randbedingungen
160
4.1.1 System- und Komponentenverantwortung
160
4.1.2 Abstimmung zwischen System- und Software-Entwicklung
161
4.1.3 Modellbasierte Software-Entwicklung
163
4.2 Grundbegriffe
163
4.2.1 Prozesse
163
4.2.2 Methoden und Werkzeuge
164
4.3 Analyse der Benutzeranforderungen und Spezifikation der logischen Systemarchitektur
165
4.4 Analyse der logischen Systemarchitektur und Spezifikation der technischen Systemarchitektur
168
4.4.1 Analyse und Spezifikation steuerungs- und regelungstechnischer Systeme
172
4.4.2 Analyse und Spezifikation von Echtzeitsystemen
173
4.4.3 Analyse und Speziflkation verteilter und vernetzter Systeme
174
4.4.4 Analyse und Spezifikation zuverlassiger und sicherer Systeme
175
4.5 Analyse der Software-Anforderungen und Spezifikation der Software-Architektur
176
4.5.1 Spezifikation der Software-Komponenten und ihrer Schnittstellen
176
4.5.2 Spezifikation der Software-Schichten
179
4.5.3 Spezifikation der Betriebszustande
180
4.6 Spezifikation der Software-Komponenten
181
4.6.1 Spezifikation des Datenmodells
182
4.6.2 Spezifikation des Verhaltensmodells
183
4.6.3 Spezifikation des Echtzeitmodells
185
4.7 Design und Implementierung der Software-Komponenten
187
4.7.1 Berucksichtigung der geforderten nichtfunktionalen Produkteigenschaften
188
4.7.2 Design und Implementierung des Datenmodells
190
4.7.3 Design und Implementierung des Verhaltensmodells
191
4.7.4 Design und Implementierung des Echtzeitmodells
192
4.8 Test der Software-Komponenten
192
4.9 Integration der Software-Komponenten
193
4.9.1 Erzeugung des Programm- und Datenstands
194
4.9.2 Erzeugung der Beschreibungsdateien
195
4.9.3 Erzeugung der Dokumentation
196
4.10 Integrationstest der Software
197
4.11 Integration der Systemkomponenten
198
4.11.1 Integration von Software und Hardware
198
4.11.2 Integration von Steuergeraten, SoUwertgebern, Sensoren und Aktuatoren
199
4,12 Integrationstest des Systems
201
4.13 Kalibrierung
204
4.14 System- und Akzeptanztest
204
5 Methoden und Werkzeuge in der Entwicklung
207
5.1 Offboard-Schnittstelle zwischen Steuergerat und Werkzeug
208
5.2 Analyse der logischen Systemarchitektur und Spezifikation der technischen Systemarchitektur
210
5.2.1 Analyse und Speziflkation steuerungs- und regelungstechnischer Systeme
210
5.2.2 Analyse und Speziflkation von Echtzeitsystemen
214
5.2.3 Analyse und Speziflkation verteilter und vernetzter Systeme
220
5.2.4 Analyse und Spezifikation zuverlassiger und sicherer Systeme
225
5.3 Speziflkation von Software-Funktionen und Validation der Speziflkation
232
5.3.1 SpeziHkation der Software-Architektur und der Software-Komponenten
234
5.3.3 Spezifikation des Verhaltensmodells mit Blockdiagrammen
238
5.3.4 Spezifikation des Verhaltensmodells mit Entscheidungstabellen
241
5.3.5 Spezifikation des Verhaltensmodells mit Zustandsautomaten
244
5.3.6 Spezifikation des Verhaltensmodells mit Programmiersprachen
249
5.3.7 Spezifikation des Echtzeitmodells
249
5.3.8 Validation der Spezifikation durch Simulation und Rapid-Prototyping
249
5.4 Design und Implementierung von Software-Funktionen
261
5.4.1 Beriicksichtigung der geforderten nichtfunktionalen Produkteigenschaften
261
5.4.2 Design und Implementierung von Algorithmen in Festpunkt- und Gleitpunktarithmetik
269
5.4.3 Design und Implementierung der Software-Architektur
284
5.4.4 Design und Implementierung des Datenmodells
288
5.4.5 Design und Implementierung des Verhaltensmodells
291
5.5 Integration und Test von Software-Funktionen
294
5.5.1 Software-in-the-Loop-Simulationen
295
5.5.2 Laborfahrzeuge und Priifstande
297
5.5.3 Experimental-, Prototypen- und Serienfahrzeuge
303
5.5.4 Design und Automatisierung von Experimenten
304
5.6 Kalibrierung von Software-Funktionen
305
5.6.1 Arbeitsweisen bei der Offline- und Online-Kalibrierung
306
5.6.2 Software-Update durch Flash-Programmierung
308
5.6.3 Synchrones Messen von Signalen des MikrocontroUers und der Instrumentierung
309
5.6.4 Auslesen und Auswerten von Onboard-Diagnosedaten
309
5.6.5 Offline-Verstellen von Parametern
310
5.6.6 Online-Verstellen von Parametern
311
5.6.7 Klassifizierung der Offboard-Schnittstellen fiir das Online-Verstellen
312
5.6.8 IManagement des CAL-RAIM
317
5.6.9 Management der Parameter und Datenstande
320
5.6.10 Design und Automatisierung von Experimenten
321
6 Methoden und Werkzeuge in Produktion und Service
323
6.1 Offboard-Diagnose
324
6.2 Parametrierung von Software-Funktionen
325
6.3 Software-Update durch Flash-Programmierung
326
6.3.1 Loschen und Programmieren von Flash-Speichern
327
6.3.2 Flash-Programmierung iiber die Offboard-Diagnoseschnittstelle
327
6.3.3 Sicherheitsanforderungen
328
6.3.4 Verfiigbarkeitsanforderungen
330
6.3.5 Auslagerung und Flash-Programmierung des Boot-Blocks
331
6.4 Inbetriebnahme und Prufung elektronischer Systeme
333
7 Zusammenfassung und Ausblick
335
Literaturverzeichnis
337
Abkurzungsverzeichnis
343
Sachwortverzeichnis
345
Alle Preise verstehen sich inklusive der gesetzlichen MwSt.