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.
Access provided by CONRICYT-eBooks. Download to read the full chapter text
Chapter PDF
Similar content being viewed by others
References
Motor Industry Software Reliability Association et al. MISRA-C: 2004: guidelines for the use of the C language in critical systems. MIRA, 2008.
GENIVI Alliance. Genivi, 2009.
GENIVI Alliance. Bmw case study, 2014.
GENIVI Alliance. Reference architecture, 2015.
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.
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.
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.
Kim Fowler. Mission-critical and safety-critical systems handbook: Design and development for embedded applications. Newnes, 2009.
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.
Les Hatton. Safer language subsets: An overview and a case history, MISRA C. Information and Software Technology, 46(7):465–472, 2004.
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.
Gerard J Holzmann. The power of 10: rules for developing safety-critical code. Computer, 39(6):95–99, 2006.
ISO/IEC. ISO/IEC 25000 - Systems and software engineering - Systems and software Quality Requirements and Evaluation (SQuaRE). Technical report, 2016.
Daniel Jackson. Lightweight formal methods. In International Symposium of Formal Methods Europe, pages 1–1. Springer, 2001.
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.
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.
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.
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.
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.
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.
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.
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.
Christian Salzmann and Thomas Stauner. Automotive Software Engineering, pages 333–347. Springer US, Boston, MA, 2004.
ISO Standard. ISO 11898, 1993. Road vehicles–interchange of digital information–Controller Area Network (CAN) for high-speed communication, 1993.
Neil R Storey. Safety critical computer systems. Addison-Wesley Longman Publishing Co., Inc., 1996.
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.
Jörg Schäuffele and Thomas Zurawka. Automotive software engineering – Principles, processes, methods and tools. 2005.
Author information
Authors and Affiliations
Rights 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)