Automated Design of Software Architectures for Embedded Systems using Evolutionary Multiobjective Optimization

The design of software architecture for embedded system is one of the big challenges in the research field of modern software engineering. It requires software architects to address a large number of non-functional requirements that can be used to quantify the operation of system. Furthermore, these quality attributes often conflict with each other, for instance, improving system performance often needs more powerful hardware, which could increase the production cost and power consumption in the meantime. In most cases, software designers try to find a set of good architectures by hand. However because of large and combinatorial design space, this process is very time-consuming and error-prone. As a consequence, architects could easily end up with some suboptimal designs. In this paper, we introduce our AQOSA (Automated Quality-driven Optimization of Software Architecture) toolkit which can improve these aforementioned non-functional properties in an automated manner. More precisely, beginning with some initial architectures, AQOSA toolkit can use its optimizer to not only produce several alternatives, but also apply trade-off analysis to these newly created architectures according to multiple attributes of interests.

[1]  M. Ehrgott Multiobjective Optimization , 2008, AI Mag..

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

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

[4]  Marco Laumanns,et al.  Performance assessment of multiobjective optimizers: an analysis and review , 2003, IEEE Trans. Evol. Comput..

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

[6]  Kalyanmoy Deb,et al.  A Fast Elitist Non-dominated Sorting Genetic Algorithm for Multi-objective Optimisation: NSGA-II , 2000, PPSN.

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

[8]  P. Feiler,et al.  The Architecture Analysis & Design Language (AADL): An Introduction , 2006 .

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

[10]  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.

[11]  Nicola Beume,et al.  SMS-EMOA: Multiobjective selection based on dominated hypervolume , 2007, Eur. J. Oper. Res..