An evolutionary multiobjective optimization approach to component-based software architecture design

The design of software architecture is one of the difficult tasks in the modern component-based software development which is based on the idea that develop software systems by assembling appropriate off-the-shelf components with a well-defined software architecture. Component-based software development has achieved great success and been extensively applied to a large range of application domains from realtime embedded systems to online web-based applications. In contrast to traditional approaches, it requires software architects to address a large number of non-functional requirements that can be used to quantify the operation of system. Moreover, these quality attributes can be in conflict with each other. In practice, software designers try to come up with a set of different architectural designs and then identify good architectures among them. With the increasing scale of architecture, this process becomes time-consuming and error-prone. Consequently architects could easily end up with some suboptimal designs because of large and combinatorial search space. In this paper, we introduce AQOSA (Automated Quality-driven Optimization of Software Architecture) toolkit, which integrates modeling technologies, performance analysis techniques, and advanced evolutionary multiobjective optimization algorithms (i.e. NSGA-II, SPEA2, and SMS-EMOA) to improve non-functional properties of systems in an automated manner.

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

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

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

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

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

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

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

[8]  Vittorio Cortellessa,et al.  MOSES: MOdeling Software and platform architEcture in UML 2 for Simulation-based performance analysis , 2008, QoSA.

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

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

[11]  Nicola Beume,et al.  Pareto-, Aggregation-, and Indicator-Based Methods in Many-Objective Optimization , 2007, EMO.

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

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

[14]  Kalyanmoy Deb,et al.  Introduction to Evolutionary Multiobjective Optimization , 2008, Multiobjective Optimization.

[15]  Ian C. Parmee,et al.  Single and multi-objective genetic operators in object-oriented conceptual software design , 2006, GECCO.

[16]  Carlos M. Fonseca,et al.  Computing Hypervolume Contributions in Low Dimensions: Asymptotically Optimal Algorithm and Complexity Results , 2011, EMO.

[17]  Kim Fung Man,et al.  Multiobjective Optimization , 2011, IEEE Microwave Magazine.

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