|
Preface |
5 |
|
|
Acknowledgments |
8 |
|
|
Contents |
9 |
|
|
Part I Introduction |
11 |
|
|
Automotive Software Engineering: Past, Present, and Future |
12 |
|
|
1 Introduction |
12 |
|
|
2 Evolution of Automotive Software Engineering |
13 |
|
|
3 C-ITS |
15 |
|
|
4 Towards Autonomous and Cooperative Driving |
16 |
|
|
References |
16 |
|
|
Part II Automotive Software Development |
18 |
|
|
Requirements Engineering for Automotive Embedded Systems |
19 |
|
|
1 Introduction |
19 |
|
|
2 Requirements and Requirements Engineering |
21 |
|
|
3 Types of Requirements in Automotive Software Development |
22 |
|
|
3.1 Textual Requirements |
23 |
|
|
3.2 Use Cases |
24 |
|
|
3.3 Model-Based Requirements |
25 |
|
|
3.4 Requirements as Models |
27 |
|
|
4 Measuring Requirements and Requirement Specifications |
28 |
|
|
5 How All These Requirements Come Together |
29 |
|
|
6 Current Trends of Software Requirements Engineering in the Automotive Domain |
30 |
|
|
7 Further Reading |
31 |
|
|
7.1 Requirements Specification Languages |
33 |
|
|
8 Conclusions |
34 |
|
|
References |
34 |
|
|
Status Report on Automotive Software Development |
37 |
|
|
1 Introduction |
37 |
|
|
2 Recent Challenges in Automotive Software Engineering |
39 |
|
|
2.1 Virtual Development and Validation |
39 |
|
|
2.2 New Development Techniques |
41 |
|
|
2.3 Feasible Development Methods |
41 |
|
|
2.4 Validation and Release Process |
41 |
|
|
2.5 Cyber Security |
42 |
|
|
3 Related Work |
43 |
|
|
4 Common Tools and Toolchains |
44 |
|
|
4.1 Function Development and Simulation |
44 |
|
|
4.1.1 Automotive Open System Architecture |
45 |
|
|
4.1.2 Automotive Data and Time-Triggered Framework |
46 |
|
|
4.1.3 Electronics Architecture and Software Technology-Architecture Description Language |
47 |
|
|
4.1.4 MATLAB/Simulink and TargetLink |
48 |
|
|
4.1.5 Rational Rhapsody/Harmony |
49 |
|
|
4.1.6 Safety-Critical Application Design Environment |
50 |
|
|
4.1.7 Simulation and Test of Anything |
51 |
|
|
4.2 Traffic Simulation |
53 |
|
|
4.2.1 Aimsun Next |
53 |
|
|
4.2.2 Simulation of Urban MObility |
54 |
|
|
4.2.3 Vissim and Viswalk |
55 |
|
|
4.2.4 Virtual Test Drive |
56 |
|
|
4.2.5 CarMaker |
56 |
|
|
4.2.6 Pedestrian and Cyclist Simulation |
57 |
|
|
4.3 System Specification and Documentation |
57 |
|
|
4.3.1 Office |
58 |
|
|
4.3.2 Rational DOORS |
59 |
|
|
5 Classification in the Automotive Development Process |
59 |
|
|
6 Outlook: The Future of Automotive Development |
62 |
|
|
References |
63 |
|
|
State-of-the-Art Tools and Methods Used in the Automotive Industry |
66 |
|
|
1 When Reading This Chapter |
66 |
|
|
2 A Short Introduction upon Software within Cars |
67 |
|
|
3 Development Process and Available Documents |
71 |
|
|
4 Tool Usage |
74 |
|
|
5 Testing Approaches |
75 |
|
|
6 Software Fault Prediction (SFP): A New Idea to Be Integrated |
77 |
|
|
References |
78 |
|
|
Part III Automotive Software Reuse |
81 |
|
|
Software Reuse: From Cloned Variants to Managed Software Product Lines |
82 |
|
|
1 Introduction |
82 |
|
|
2 Background |
84 |
|
|
2.1 Software Product Lines |
84 |
|
|
2.2 Running Example Automotive Body Comfort System |
86 |
|
|
3 Variability Realization Mechanisms |
87 |
|
|
3.1 State of Practice in Variability Realization |
87 |
|
|
3.2 State of the Art in Variability Realization Mechanisms |
89 |
|
|
3.2.1 Annotative Variability Realization Mechanisms |
89 |
|
|
3.2.2 Compositional Variability Realization Mechanisms |
91 |
|
|
3.2.3 Transformational Variability Realization Mechanisms |
93 |
|
|
4 From Cloned Variants to Managed Software Product Lines |
95 |
|
|
4.1 Mining Variability from Cloned Variants |
97 |
|
|
4.1.1 Compare Phase |
98 |
|
|
4.1.2 Match Phase |
99 |
|
|
4.1.3 Merge Phase |
100 |
|
|
4.2 Generating a Delta-Oriented Software Product Line |
102 |
|
|
4.2.1 Delta Operation Identification |
102 |
|
|
4.2.2 Delta Language Generation |
104 |
|
|
4.2.3 Delta Module Generation |
104 |
|
|
5 Realization as Tool Suite DeltaEcore |
106 |
|
|
5.1 Delta Language Creation |
106 |
|
|
5.2 Software Product Line Definition |
109 |
|
|
5.3 Variant Derivation |
109 |
|
|
6 Conclusion |
110 |
|
|
References |
111 |
|
|
Variability Identification and Representation for Automotive Simulink Models |
114 |
|
|
1 Introduction |
115 |
|
|
2 Variability Identification and Representation Framework |
116 |
|
|
3 Variability Identification |
119 |
|
|
3.1 Simone: An Initial Approximation |
119 |
|
|
4 Variability Operators |
120 |
|
|
5 Tagging Subsystem Variability |
122 |
|
|
5.1 Tagging Using #ifdef |
123 |
|
|
5.2 Tagging via Graph Algorithms |
130 |
|
|
6 Representing Variability |
133 |
|
|
6.1 Block Variability |
133 |
|
|
6.2 Input/Output Variability |
135 |
|
|
6.3 Function Variability |
135 |
|
|
6.4 Layout Variability |
137 |
|
|
6.5 Subsystem Name Variability |
138 |
|
|
6.6 Combinations of Operators |
138 |
|
|
6.7 Creating Variability Models Directly in Simulink |
138 |
|
|
7 Related Work |
139 |
|
|
8 Conclusion |
142 |
|
|
References |
143 |
|
|
Defining Architecture Framework for Automotive Systems |
145 |
|
|
1 Introduction |
145 |
|
|
1.1 Chapter Outline |
147 |
|
|
2 Automotive AFs and Viewpoints |
147 |
|
|
2.1 Automotive Architecture Frameworks |
148 |
|
|
2.2 Extracting Viewpoints from Automotive AFs |
149 |
|
|
2.3 Discussion |
154 |
|
|
3 Automotive ADLs and Viewpoints |
154 |
|
|
3.1 Automotive ADLs |
155 |
|
|
3.2 Extracting Viewpoints from Automotive ADLs |
158 |
|
|
3.3 Discussion |
164 |
|
|
4 Architecture Framework for Automotive Systems |
165 |
|
|
5 Conclusion |
170 |
|
|
References |
170 |
|
|
Part IV E/E Architecture and Safety |
173 |
|
|
The RACE Project: An Informatics-Driven Greenfield Approach to Future E/E Architectures for Cars |
174 |
|
|
1 Introduction |
175 |
|
|
2 A Brief History of ICT E/E Architectures for Cars |
176 |
|
|
3 A Set of Requirements for a New Architecture |
180 |
|
|
3.1 Integration of New Functions in Software to Achieve Faster Development Times |
180 |
|
|
3.2 Enabling New Business Models by Software Updates and Opening Function Development to Third Parties |
181 |
|
|
3.3 Built-In Safety and Security |
182 |
|
|
3.4 Simplifying Migration from Other Platforms |
182 |
|
|
4 RACE Architecture Concepts |
183 |
|
|
4.1 General Structure and Communications |
184 |
|
|
4.2 Built-In Safety and Security |
185 |
|
|
4.2.1 Separation Concept |
185 |
|
|
4.2.2 Scalable Safety |
185 |
|
|
5 Implementation and Tooling |
187 |
|
|
5.1 Information Flow |
187 |
|
|
5.2 Software Design |
189 |
|
|
6 Realization on the Hardware Level |
192 |
|
|
7 Deployment and Business Opportunities |
194 |
|
|
8 Summary |
196 |
|
|
References |
198 |
|
|
Development of ISO 11783 Compliant Agricultural Systems: Experience Report |
199 |
|
|
1 Introduction |
200 |
|
|
2 Background of the ISO 11783 Standard |
201 |
|
|
2.1 Virtual Terminal |
207 |
|
|
2.2 ISOAgLib Open-Source Library |
210 |
|
|
2.3 Tool Chain |
211 |
|
|
3 System Architecture of the VT Server ECU |
211 |
|
|
4 System Architecture of VT Client ECU |
218 |
|
|
5 Architecture of PGN Analyzer |
219 |
|
|
6 Experimental Results |
222 |
|
|
7 Conclusion and Future Work |
222 |
|
|
References |
225 |
|
|
Safety-Driven Development and ISO 26262 |
226 |
|
|
1 Introduction |
226 |
|
|
1.1 ISO 26262 |
227 |
|
|
1.2 Functional Safety Definition |
227 |
|
|
1.3 Functional Safety Goals |
229 |
|
|
2 Safety Management |
230 |
|
|
2.1 Safety Culture |
232 |
|
|
2.2 Safety Culture Metrics |
234 |
|
|
2.3 Confirmation Measures |
235 |
|
|
3 Safety Lifecycle: Integrated V Model |
235 |
|
|
4 Safety Architecture Patterns |
240 |
|
|
5 Model-Driven Design for Safety Assessment |
242 |
|
|
5.1 Modeling Safety Standards |
243 |
|
|
5.2 Modeling Safety Argumentation |
244 |
|
|
5.2.1 Safety Case Construction with Controlled Language |
245 |
|
|
5.2.2 A GSN Editor with SBVR Functionality |
246 |
|
|
5.3 Safety Case Assessment |
246 |
|
|
5.3.1 Overview of Safety Assessment Approaches |
246 |
|
|
5.3.2 An Alternative Safety Assessment Process |
250 |
|
|
5.3.3 The AGSN Editor |
251 |
|
|
6 Conclusions |
253 |
|
|
References |
253 |
|
|
Part V C-ITS and Security |
256 |
|
|
Introduction to Cooperative Intelligent Transportation Systems |
257 |
|
|
1 Introduction |
257 |
|
|
2 Vehicle Networking |
258 |
|
|
3 View on C-ITS |
261 |
|
|
4 Overview |
263 |
|
|
References |
263 |
|
|
In-Vehicle Networks and Security |
264 |
|
|
1 Introduction |
264 |
|
|
2 Connectivity: Driving the Need for Security |
265 |
|
|
2.1 Potential Risks |
266 |
|
|
2.2 The Connected Vehicle: An Attractive Target for Hackers |
267 |
|
|
2.3 The Challenge |
268 |
|
|
3 No Safety Without Security |
269 |
|
|
4 Applying Best Practices |
270 |
|
|
4.1 Defense in Depth |
270 |
|
|
4.2 From Afterthought to Integral Approach |
270 |
|
|
4.3 Adoption of Existing Technologies |
271 |
|
|
4.4 Risk Analysis |
271 |
|
|
5 How to Secure a Vehicle |
272 |
|
|
5.1 The Vehicle Architecture Axis |
272 |
|
|
5.2 The Time Axis |
272 |
|
|
6 A Multilayer Security Framework |
274 |
|
|
6.1 Layer 1: Secure Interface |
275 |
|
|
6.2 Layer 2: Secure Gateway |
275 |
|
|
6.3 Layer 3: Secure Network |
276 |
|
|
6.4 Layer 4: Secure Processing |
276 |
|
|
6.5 Which Layers to Apply and in Which Order? |
277 |
|
|
7 Hardware Trust Anchors |
277 |
|
|
8 Life-Cycle Management |
278 |
|
|
8.1 Key Management and Crypto Agility |
278 |
|
|
8.2 Secure Firmware Upgrades |
279 |
|
|
9 Standardization |
279 |
|
|
10 Conclusions |
280 |
|
|
References |
280 |
|
|
Security for V2X |
282 |
|
|
1 Introduction |
282 |
|
|
2 Use Cases and Requirements for C-ITS |
283 |
|
|
3 V2X Communication |
285 |
|
|
3.1 Ensuring Trust Using ECDSA |
285 |
|
|
3.2 Privacy of Sender |
286 |
|
|
4 Public Key Infrastructure |
287 |
|
|
4.1 Life-Cycle Management |
290 |
|
|
4.1.1 At Production |
290 |
|
|
4.1.2 Before or At Sales |
291 |
|
|
4.1.3 After Sales |
291 |
|
|
4.1.4 In Operation (While Driving) |
291 |
|
|
4.1.5 End of Life |
292 |
|
|
5 Standardization |
292 |
|
|
6 Conclusion |
292 |
|
|
Bibliography |
293 |
|
|
Intelligent Transportation System Infrastructure and Software Challenges |
294 |
|
|
1 Motivation |
294 |
|
|
2 Goal |
297 |
|
|
2.1 Key Characteristics |
298 |
|
|
2.1.1 Openness of Interfaces |
298 |
|
|
2.1.2 Operator Independence |
298 |
|
|
2.1.3 Security and Privacy |
299 |
|
|
2.1.4 Economical Feasibility |
299 |
|
|
2.2 Reuse of Existing Architectures |
299 |
|
|
3 Architecture |
301 |
|
|
3.1 Hybrid Communication |
301 |
|
|
3.2 GeoMessaging and Bridge |
302 |
|
|
3.3 Security |
306 |
|
|
3.4 Service Concepts |
307 |
|
|
3.4.1 Service Usage |
308 |
|
|
3.4.2 Pseudonym Service Usage |
308 |
|
|
3.4.3 Service Directory |
311 |
|
|
3.4.4 Service Announcement |
315 |
|
|
3.5 Role Models |
315 |
|
|
4 Outlook |
317 |
|
|
References |
317 |
|
|
Part VI Future Trends |
319 |
|
|
Future Trends in Electric Vehicles Enabled by Internet Connectivity, Solar, and Battery Technology |
320 |
|
|
1 Introduction |
321 |
|
|
2 The Evolution of the Automotive Ecosystem in the Coming Decade |
321 |
|
|
3 Solar Energy Will Disrupt the Energy Market and Vehicle Energy Source |
323 |
|
|
4 Grid Connection Stays Important |
327 |
|
|
5 Battery Electric EV Powertrain Best Efficiency |
330 |
|
|
6 Lightweight Urban Vehicle and Aerodynamic Highway Vehicle |
332 |
|
|
7 Battery EV Is Ideal for Ride and Car Sharing |
332 |
|
|
8 Solar Cars Are Most Energy Efficient and Can Have a Driving Range Up to 1500 Km |
333 |
|
|
9 Hybrid Vehicles |
334 |
|
|
10 TU/e Automotive Teams |
336 |
|
|
10.1 University Racing Eindhoven |
337 |
|
|
10.2 TU/ecomotive |
338 |
|
|
10.3 Solar Team Eindhoven |
339 |
|
|
10.4 STORM |
340 |
|
|
11 Conclusions |
341 |
|
|
References |
342 |
|
|
Autonomous Vehicles: State of the Art, Future Trends, and Challenges |
344 |
|
|
1 Introduction |
344 |
|
|
1.1 Levels of Vehicle Automation |
345 |
|
|
1.2 Autonomous Vehicles Ecosystem |
346 |
|
|
2 Autonomous Driving: State of the Art |
347 |
|
|
2.1 Vehicle Functionality |
348 |
|
|
2.2 Vehicle Architectures |
350 |
|
|
3 Autonomous Driving: Trends and Future Direction |
351 |
|
|
3.1 Artificial Intelligence |
352 |
|
|
3.2 Self-adaptive Systems |
353 |
|
|
3.3 Continuous Software Engineering |
354 |
|
|
3.4 User Aspects |
355 |
|
|
4 Verification of Autonomous Driving: Challenges for Guaranteeing Safety |
356 |
|
|
4.1 Safety Standards Are Not Ready for Autonomous Vehicles |
357 |
|
|
4.2 Uncertainty Is Everywhere |
358 |
|
|
4.3 The Use of Machine Learning |
358 |
|
|
4.4 Validation Process Is Not Clear |
360 |
|
|
4.5 Nontechnical Challenges |
360 |
|
|
5 Conclusions |
361 |
|
|
References |
361 |
|