Objective evaluation of software architectures in driver assistance systems

This paper describes methods and the obtained results for objective evaluation of software architectures in the automotive embedded domain. Software architecture is the key factor for influencing and fulfilling non-functional requirements that are addressed to a software system. Among others scalability, extensibility and portability are to be mentioned as major criteria. Until today however there is no approach that allows evaluating and measuring the quality of such software architectures objectively and quantitatively. The approach described here tries to close this gap and offers software architects methods and tools to be applied automatically to any existing architecture draft measuring an objective ‘quality value’.Initially a quality model is developed which consists of several quality characteristics and quality attributes which are highly adapted and specialized to the specific needs of the automotive embedded software domain. After the identification of relevant quality attributes eight objective architecture metrics are developed and presented.The whole methodology is fully integrable into existing development processes. The suggested steps and artifacts can be added as optional upgrade. For a better understanding of the surrounding environment the current development process and necessary extensions are also explained.All metrics have been implemented in a fully functioning prototypical tool which can be operated via a graphical user interface (GUI) on any Java compliant system without further requirements. The user can freely configure which metrics shall be applied and how they are weighted to do an individual evaluation according to the software’s specific needs or requirements.To prove its benefit for automotive applications and long-term establishment in the software development process the approach is evaluated. This is done in two consecutive steps. Firstly the general functioning and applicability is approved by using the metrics for several small case studies which also helped getting to know the metrics better in detail to create an initial balancing and weighting. Secondly the approach was applied to a complex and real practical example out of the driver assistance domain. The whole longitudinal dynamics software architecture of BMW’s driver assistance systems was refactored using the metrics to monitor the success and keep up a goal-oriented, iterative and incremental procedure.

[1]  Jan Bosch,et al.  Automating Software Architecture Assessment , 2000 .

[2]  René L. Krikhaar,et al.  A two-phase process for software architecture improvement , 1999, Proceedings IEEE International Conference on Software Maintenance - 1999 (ICSM'99). 'Software Maintenance for Business Change' (Cat. No.99CB36360).

[3]  G. A. Miller THE PSYCHOLOGICAL REVIEW THE MAGICAL NUMBER SEVEN, PLUS OR MINUS TWO: SOME LIMITS ON OUR CAPACITY FOR PROCESSING INFORMATION 1 , 1956 .

[4]  Jan Bosch,et al.  Scenario-based software architecture reengineering , 1998, Proceedings. Fifth International Conference on Software Reuse (Cat. No.98TB100203).

[5]  Motoshi Saeki,et al.  Evaluating software architectures by coloured petri nets , 2002, SEKE '02.

[6]  Bastian Florentz Inside Architecture Evaluation: Analysis and Representation of Optimization Potential , 2007, 2007 Working IEEE/IFIP Conference on Software Architecture (WICSA'07).

[7]  Kim B. Clark,et al.  Design Rules: The Power of Modularity , 2000 .

[8]  Leonard J. Bass,et al.  SAAM: a method for analyzing the properties of software architectures , 1994, Proceedings of 16th International Conference on Software Engineering.

[9]  Jan Bosch,et al.  Assessing optimal software architecture maintainability , 2001, Proceedings Fifth European Conference on Software Maintenance and Reengineering.

[10]  Kim B. Clark,et al.  The Option Value of Modularity in Design: An Example From Design Rules, Volume 1: The Power of Modularity , 2000 .

[11]  Chung-Horng Lung,et al.  An Approach to Quantitative Software Architecture Sensitivity Analysis , 2000, Int. J. Softw. Eng. Knowl. Eng..

[12]  Torsten Bertram,et al.  Comparison of ASCET and UML - Preparations for an abstract software architecture , 2008, 2008 Forum on Specification, Verification and Design Languages.

[13]  Leon J. Osterweil,et al.  Proceedings of the 16th international conference on Software engineering , 1994, ICSE 1994.

[14]  Jan Bosch,et al.  Design and use of software architectures - adopting and evolving a product-line approach , 2000 .

[15]  Paul Clements,et al.  Software Architecture in Practice: Addison-Wesley , 1998 .

[16]  Jürgen Wolff von Gudenberg,et al.  UML- Unified Modeling Language , 1998, Informatik-Spektrum.

[17]  Paul Clements,et al.  Software architecture in practice , 1999, SEI series in software engineering.

[18]  Liming Zhu,et al.  A framework for classifying and comparing software architecture evaluation methods , 2004, 2004 Australian Software Engineering Conference. Proceedings..

[19]  Malte Lochau,et al.  Optimierung von AUTOSAR-Systemen durch automatisierte Architektur-Evaluation / Optimization of AUTOSAR systems using automated architecture evaluation , 2009 .

[20]  Motoei Azuma SquaRE The next generation of the ISO/IEC 9126 and 14598 international standards series on software product quality , 2001 .

[21]  Michaela Huhn,et al.  Embedded Systems Architecture: Evaluation and Analysis , 2006, QoSA.

[22]  Kim B. Clark,et al.  Design Rules: The Power of Modularity Volume 1 , 1999 .

[23]  Torsten Bertram,et al.  Designing Reusable and Scalable Software Architectures for Automotive Embedded Systems in Driver Assistance , 2010 .

[24]  Barry Boehm,et al.  Characteristics of software quality , 1978 .

[25]  Paul Clements,et al.  Recommended Best Industrial Practice for Software Architecture Evaluation. , 1997 .

[26]  Rick Kazman,et al.  The architecture tradeoff analysis method , 1998, Proceedings. Fourth IEEE International Conference on Engineering of Complex Computer Systems (Cat. No.98EX193).

[27]  Heinz Burg,et al.  C9 Elektronik im Kraftfahrzeug , 2017 .

[28]  Elliotte Rusty Harold,et al.  XML: Extensible Markup Language , 1998 .

[29]  John J. Marciniak,et al.  Encyclopedia of Software Engineering , 1994, Encyclopedia of Software Engineering.

[30]  Amar Ramdane-Cherif,et al.  Quality Characteristics for Software Architecture , 2003, J. Object Technol..