Automotive Software Engineering - Grundlagen, Prozesse, Methoden und Werkzeuge effizient einsetzen

von: Jörg Schäuffele, Thomas Zurawka

Vieweg+Teubner (GWV), 2007

ISBN: 9783834890856 , 344 Seiten

3. Auflage

Format: PDF, OL

Kopierschutz: Wasserzeichen

Windows PC,Mac OSX für alle DRM-fähigen eReader Apple iPad, Android Tablet PC's Online-Lesen für: Windows PC,Mac OSX,Linux

Preis: 32,99 EUR

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