Skip to main content

Detailed Design of Automotive Software

  • Chapter
  • First Online:
Automotive Software Architectures

Abstract

Having discussed architectural styles and one of the major standards impacting architectural design of automotive software systems, we can now discuss the next abstraction level—detailed design. In this chapter we continue to dive into the technical aspects of automotive software architectures and we describe ways of working when designing software within particular software components. We present methods for modelling functions using Simulink modelling and we show how these methods are used in the automotive industry. We dive deeper into the need for modelling of software systems with Simulink by presenting an example of the braking algorithm and its implementation in Simulink (the example can be extended by the Simulink tutorials from Matlab.com). After presenting the most common design method—Simulink modelling—we discuss the principles of design of safety-critical systems in C/C++. We also introduce the MISRA standard, which is a standard for documenting and structuring C/C++ code in safety-critical systems.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Motor Industry Software Reliability Association et al. MISRA-C: 2004: guidelines for the use of the C language in critical systems. MIRA, 2008.

    Google Scholar 

  2. GENIVI Alliance. Genivi, 2009.

    Google Scholar 

  3. GENIVI Alliance. Bmw case study, 2014.

    Google Scholar 

  4. GENIVI Alliance. Reference architecture, 2015.

    Google Scholar 

  5. Vard Antinyan, Miroslaw Staron, Wilhelm Meding, Per Österström, Erik Wikstrom, Johan Wranker, Anders Henriksson, and Jörgen Hansson. Identifying risky areas of software code in agile/lean software development: An industrial experience report. In Software Maintenance, Reengineering and Reverse Engineering (CSMR-WCRE), 2014 Software Evolution Week-IEEE Conference on, pages 154–163. IEEE, 2014.

    Google Scholar 

  6. Guillaume Brat and Willem Visser. Combining static analysis and model checking for software analysis. In Automated Software Engineering, 2001.(ASE 2001). Proceedings. 16th Annual International Conference on, pages 262–269. IEEE, 2001.

    Google Scholar 

  7. Dawson Engler and Madanlal Musuvathi. Static analysis versus software model checking for bug finding. In International Workshop on Verification, Model Checking, and Abstract Interpretation, pages 191–210. Springer, 2004.

    Google Scholar 

  8. Kim Fowler. Mission-critical and safety-critical systems handbook: Design and development for embedded applications. Newnes, 2009.

    Google Scholar 

  9. Thomas Gerlitz, Quang Minh Tran, and Christian Dziobek. Detection and handling of model smells for MATLAB/Simulink Models. In Proceedings of the International Workshop on Modelling in Automotive Software Engineering. CEUR, 2015.

    Google Scholar 

  10. Les Hatton. Safer language subsets: An overview and a case history, MISRA C. Information and Software Technology, 46(7):465–472, 2004.

    Google Scholar 

  11. Gang Han, Marco Di Natale, Haibo Zeng, Xue Liu, and Wenhua Dou. Optimizing the implementation of real-time simulink models onto distributed automotive architectures. Journal of Systems Architecture, 59(10, Part D):1115–1127, 2013.

    Google Scholar 

  12. Gerard J Holzmann. The power of 10: rules for developing safety-critical code. Computer, 39(6):95–99, 2006.

    Google Scholar 

  13. ISO/IEC. ISO/IEC 25000 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE). Technical report, 2016.

    Google Scholar 

  14. Daniel Jackson. Lightweight formal methods. In International Symposium of Formal Methods Europe, pages 1–1. Springer, 2001.

    Google Scholar 

  15. Marek Jersak, Kai Richter, Rolf Ernst, J-C Braam, Zheng-Yu Jiang, and Fabian Wolf. Formal methods for integration of automotive software. In Design, Automation and Test in Europe Conference and Exhibition, 2003, pages 45–50. IEEE, 2003.

    Google Scholar 

  16. John C Knight. Safety critical systems: Challenges and directions. In Software Engineering, 2002. ICSE 2002. Proceedings of the 24th International Conference on, pages 547–550. IEEE, 2002.

    Google Scholar 

  17. Ludwik Kuzniarz and Miroslaw Staron. On practical usage of stereotypes in UML-based software development. the Proceedings of Forum on Design and Specification Languages, Marseille, 2002.

    Google Scholar 

  18. Ludwik Kuzniarz and Miroslaw Staron. Inconsistencies in student designs. In the Proceedings of The 2nd Workshop on Consistency Problems in UML-based Software Development, San Francisco, CA, pages 9–18, 2003.

    Google Scholar 

  19. Niklas Mellegård, Miroslaw Staron, and Fredrik Törner. A light-weight software defect classification scheme for embedded automotive software and its initial evaluation. Proceedings of the ISSRE 2012, 2012.

    Google Scholar 

  20. Rakesh Rana, Miroslaw Staron, Niklas Mellegård, Christian Berger, Jörgen Hansson, Martin Nilsson, and Fredrik Törner. Evaluation of standard reliability growth models in the context of automotive software systems. In Product-Focused Software Process Improvement, pages 324–329. Springer, 2013.

    Google Scholar 

  21. Carsten Sinz, Andreas Kaiser, and Wolfgang Küchlin. Formal methods for the validation of automotive product configuration data. AI EDAM: Artificial Intelligence for Engineering Design, Analysis and Manufacturing, 17(01):75–97, 2003.

    Google Scholar 

  22. Miroslaw Staron, Ludwik Kuzniarz, and Ludwik Wallin. Case study on a process of industrial MDA realization: Determinants of effectiveness. Nordic Journal of Computing, 11(3):254–278, 2004.

    Google Scholar 

  23. Christian Salzmann and Thomas Stauner. Automotive Software Engineering, pages 333–347. Springer US, Boston, MA, 2004.

    Google Scholar 

  24. ISO Standard. ISO 11898, 1993. Road vehicles–interchange of digital information–Controller Area Network (CAN) for high-speed communication, 1993.

    Google Scholar 

  25. Neil R Storey. Safety critical computer systems. Addison-Wesley Longman Publishing Co., Inc., 1996.

    Google Scholar 

  26. Miroslaw Staron and Claes Wohlin. An industrial case study on the choice between language customization mechanisms. In Product-Focused Software Process Improvement, pages 177–191. Springer, 2006.

    Google Scholar 

  27. Jörg Schäuffele and Thomas Zurawka. Automotive software engineering – Principles, processes, methods and tools. 2005.

    Book  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

Copyright information

© 2017 Springer International Publishing AG

About this chapter

Cite this chapter

Staron, M. (2017). Detailed Design of Automotive Software. In: Automotive Software Architectures. Springer, Cham. https://doi.org/10.1007/978-3-319-58610-6_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-58610-6_5

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-58609-0

  • Online ISBN: 978-3-319-58610-6

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics