Quality-driven optimization of system architecture: Industrial case study on an automotive sub-system

Due to the complexity of today's embedded systems and time-to-market competition between companies developing embedded systems, system architects have to perform a complex task. To design a system which meets all its quality requirements becomes increasingly difficult because of customer demand for new innovative user functions. Methods and tools are needed to assist the architect during system design. The goal of this paper is to show how metaheuristic optimization approaches can improve the process of designing efficient architectures for a set of given quality attributes. A case study is conducted in which an architecture optimization framework is applied to an existing sub-system in the automotive industry. The case study shows that metaheuristic optimization approaches can find efficient solutions for all quality attributes while fulfilling given constraints. By optimizing multiple quality attributes the framework proposes revolutionary architecture solutions in contrast to human architects, who tend to propose solutions based on previous architectures. Although the case study shows savings in manual effort, it also shows that the proposed architecture solutions should be assessed by the human architect. So, the paper demonstrates how an architecture optimization framework complements the domain knowledge and experience of the architect.

[1]  Michel R. V. Chaudron,et al.  Details of an Automotive Sub-System: Saab Instrument Cluster Module , 2013, ArXiv.

[2]  Mario Trapp,et al.  Fault Tree Analysis of Software-Controlled Component Systems Based on Second-Order Probabilities , 2009, 2009 20th International Symposium on Software Reliability Engineering.

[3]  Lars Grunske,et al.  Architecture-Driven Reliability and Energy Optimization for Complex Embedded Systems , 2010, QoSA.

[4]  Jakob Axelsson Evolutionary architecting of embedded automotive product lines: An industrial case study , 2009, 2009 Joint Working IEEE/IFIP Conference on Software Architecture & European Conference on Software Architecture.

[5]  Martin Lukasiewycz,et al.  Opt4J: a modular framework for meta-heuristic optimization , 2011, GECCO '11.

[6]  Chantal Ykman-Couvreur,et al.  Linking run-time resource management of embedded multi-core platforms with automated design-time exploration , 2011, IET Comput. Digit. Tech..

[7]  Marc Forster,et al.  Flexible, Any-Time Fault Tree Analysis with Component Logic Models , 2010, 2010 IEEE 21st International Symposium on Software Reliability Engineering.

[8]  Martin Lukasiewycz,et al.  Efficient symbolic multi-objective design space exploration , 2008, 2008 Asia and South Pacific Design Automation Conference.

[9]  Fernando Herrera,et al.  System-level performance analysis in SystemC , 2004, Proceedings Design, Automation and Test in Europe Conference and Exhibition.

[10]  Steffen Becker,et al.  Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms , 2010, WOSP/SIPEW '10.

[11]  Vincenzo Grassi,et al.  KlaperSuite: An Integrated Model-Driven Environment for Reliability and Performance Analysis of Component-Based Systems , 2011, TOOLS.

[12]  Michael T. M. Emmerich,et al.  An evolutionary multiobjective optimization approach to component-based software architecture design , 2011, 2011 IEEE Congress of Evolutionary Computation (CEC).

[13]  Austen Rainer,et al.  Case Study Research in Software Engineering - Guidelines and Examples , 2012 .

[14]  Steffen Becker,et al.  The Palladio component model for model-driven performance prediction , 2009, J. Syst. Softw..

[15]  Christian Blum,et al.  Metaheuristics in combinatorial optimization: Overview and conceptual comparison , 2003, CSUR.

[16]  Marcel Verhoef,et al.  System architecture evaluation using modular performance analysis: a case study , 2006, International Journal on Software Tools for Technology Transfer.

[17]  Pier Luca Lanzi,et al.  Multiprocessor systems-on-chip synthesis using multi-objective evolutionary computation , 2010, GECCO '10.

[18]  Michel R. V. Chaudron,et al.  Towards automated software architectures design using model transformations and evolutionary algorithms , 2010, GECCO '10.

[19]  Rogardt Heldal,et al.  Automotive System Development Using Reference Architectures , 2012, 2012 35th Annual IEEE Software Engineering Workshop.

[20]  Andy D. Pimentel,et al.  A systematic approach to exploring embedded system architectures at multiple abstraction levels , 2006, IEEE Transactions on Computers.

[21]  Zuomin Dong,et al.  Trends, features, and tests of common and recently introduced global optimization methods , 2010 .

[22]  Kalyanmoy Deb,et al.  A fast and elitist multiobjective genetic algorithm: NSGA-II , 2002, IEEE Trans. Evol. Comput..

[23]  Marco Laumanns,et al.  SPEA2: Improving the Strength Pareto Evolutionary Algorithm For Multiobjective Optimization , 2002 .

[24]  Peter H. N. de With,et al.  A Process for Resolving Performance Trade-Offs in Component-Based Architectures , 2006, CBSE.

[25]  Lars Grunske,et al.  ArcheOpterix: An extendable tool for architecture optimization of AADL models , 2009, 2009 ICSE Workshop on Model-Based Methodologies for Pervasive and Embedded Software.

[26]  Nicola Beume,et al.  An EMO Algorithm Using the Hypervolume Measure as Selection Criterion , 2005, EMO.

[27]  Michel R. V. Chaudron,et al.  Varying Topology of Component-Based System Architectures Using Metaheuristic Optimization , 2012, 2012 38th Euromicro Conference on Software Engineering and Advanced Applications.