Automatic selection and composition of model transformations alternatives using evolutionary algorithms

The design of software architectures requires to address a number of competing non-functional properties (NFPs): improving one NFP requires to degrade another one. As a consequence, software architects have to come up with several design alternatives, and select architectures answering at best the trade-off between NFPs. In this paper, we propose to (i) formalize design alternatives with model transformations in order to ease the estimation of NFPs (using models analysis techniques); (ii) structure these model transformations to compose and select them (using evolutionary algorithms); and (iii) identify which model transformation alternatives produce the best output models with respect to NFPs. Experiments on a placement problem provide evidence that the approach can successfully explore the design space and find good architectural solutions.

[1]  Laurent Pautet,et al.  Design Patterns for Rule-Based Refinement of Safety Critical Embedded Systems Models , 2012, 2012 IEEE 17th International Conference on Engineering of Complex Computer Systems.

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

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

[4]  Dominique Blouin,et al.  An Automated Approach for Architectural Model Transformations , 2013, ISD.

[5]  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).

[6]  Carlo Ghezzi,et al.  Towards quality driven exploration of model transformation spaces , 2011, MODELS'11.

[7]  Tony Clark,et al.  Object Modeling with the OCL , 2002, Lecture Notes in Computer Science.

[8]  Jordi Cabot,et al.  Towards a general composition semantics for rule-based model transformation , 2011, MODELS'11.

[9]  Julien Delange,et al.  Architecture Fault Modeling with the AADL Error-Model Annex , 2014, 2014 40th EUROMICRO Conference on Software Engineering and Advanced Applications.

[10]  C. A. Coello Coello,et al.  A Comprehensive Survey of Evolutionary-Based Multiobjective Optimization Techniques , 1999, Knowledge and Information Systems.

[11]  Carlo Ghezzi,et al.  A quality driven extension to the QVT-relations transformation language , 2011, Computer Science - Research and Development.

[12]  Aniruddha S. Gokhale,et al.  Managing the quality of software product line architectures through reusable model transformations , 2011, QoSA-ISARCS '11.

[13]  Heiko Koziolek,et al.  PerOpteryx: automated application of tactics in multi-objective software architecture optimization , 2011, QoSA-ISARCS '11.

[14]  DebK.,et al.  A fast and elitist multiobjective genetic algorithm , 2002 .

[15]  Jörgen Hansson,et al.  Flow Latency Analysis with the Architecture Analysis and Design Language (AADL) , 2007 .

[16]  Tony Clark,et al.  Object Modeling with the OCL: The Rationale behind the Object Constraint Language , 2002 .

[17]  Kalyanmoy Deb,et al.  Muiltiobjective Optimization Using Nondominated Sorting in Genetic Algorithms , 1994, Evolutionary Computation.

[18]  Laurent Pautet,et al.  Architecture models refinement for fine grain timing analysis of embedded systems , 2014, 2014 25nd IEEE International Symposium on Rapid System Prototyping.

[19]  Paola Inverardi,et al.  Model-based performance prediction in software development: a survey , 2004, IEEE Transactions on Software Engineering.

[20]  Reiko Heckel,et al.  Confluence of Typed Attributed Graph Transformation Systems , 2002, ICGT.