A Pattern-Driven Mutation Operator for Search-Based Product Line Architecture Design

The application of design patterns through mutation operators in search-based design may improve the quality of the architectures produced in the evolution process. However, we did not find, in the literature, works applying such patterns in the optimization of Product Line Architecture (PLA). Existing works offer manual approaches, which are not search-based, and only apply specific patterns in particular domains. Considering this fact, this paper introduces a meta-model and a mutation operator to allow the design patterns application in the search-based PLA design. The model represents suitable scopes, that is, set of architectural elements that are suitable to receive a pattern. The mutation operator is used with a multi-objective and evolutionary approach to obtain PLA alternatives. Quantitative and qualitative analysis of empirical results show an improvement in the quality of the obtained solutions.

[1]  Outi Räihä,et al.  A survey on search-based software design , 2010, Comput. Sci. Rev..

[2]  Mike Mannion,et al.  Using Patterns to Model Variability in Product Families , 1999, IEEE Softw..

[3]  M. Friedman The Use of Ranks to Avoid the Assumption of Normality Implicit in the Analysis of Variance , 1937 .

[4]  Mary Shaw,et al.  Software architecture: the next step for object technology (panel) , 1993, OOPSLA '93.

[5]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[6]  Mark Harman,et al.  Search-based software engineering , 2001, Inf. Softw. Technol..

[7]  Reiko Heckel,et al.  Local Search-Based Refactoring as Graph Transformation , 2009, 2009 1st International Symposium on Search Based Software Engineering.

[8]  Gary B. Lamont,et al.  Evolutionary Algorithms for Solving Multi-Objective Problems , 2002, Genetic Algorithms and Evolutionary Computation.

[9]  Hassan Gomaa Designing Software Product Lines with UML 2.0: From Use Cases to Pattern-Based Software Architectures , 2006, ICSR.

[10]  Carlos José Pereira de Lucena,et al.  On the Modularity of Software Architectures: A Concern-Driven Measurement Framework , 2007, ECSA.

[11]  Jean-Marc Jézéquel,et al.  Product line derivation with uml , 2003 .

[12]  Lothar Thiele,et al.  Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach , 1999, IEEE Trans. Evol. Comput..

[13]  Caro Lucas,et al.  A GENETIC ALGORITHM APPROACH TO DESIGN EVOLUTION USING DESIGN PATTERN TRANSFORMATION , 2010 .

[14]  James O. Coplien Software design patterns: common questions and answers , 1998 .

[15]  Thelma Elita Colanzi,et al.  Representation of Software Product Line Architectures for search-based design , 2013, 2013 1st International Workshop on Combining Modelling and Search-Based Software Engineering (CMSBSE).

[16]  Erkki Mäkinen,et al.  Genetic Synthesis of Software Architecture , 2008, SEAL.

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

[18]  Thelma Elita Colanzi,et al.  Search based design of software product lines architectures , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[19]  Mark Harman,et al.  Pareto optimal search based refactoring at the design level , 2007, GECCO '07.

[20]  Klaus Schmid,et al.  Software product lines in action - the best industrial practice in product line engineering , 2007 .

[21]  Thelma Elita Colanzi,et al.  A Feasibility Analysis for the Application of Design Patterns in Search Based Product Line Design , 2013, 2013 32nd International Conference of the Chilean Computer Science Society (SCCC).

[22]  Gordon Fraser,et al.  On Parameter Tuning in Search Based Software Engineering , 2011, SSBSE.

[23]  Paddy Nixon,et al.  Automated software evolution towards design patterns , 2001, IWPSE '01.

[24]  Betty H. C. Cheng,et al.  On the use of genetic programming for automated refactoring and the introduction of design patterns , 2010, GECCO '10.

[25]  Antonio J. Nebro,et al.  jMetal: A Java framework for multi-objective optimization , 2011, Adv. Eng. Softw..

[26]  Thelma Elita Colanzi,et al.  Applying Search Based Optimization to Software Product Line Architectures: Lessons Learned , 2012, SSBSE.

[27]  Erkki Mäkinen,et al.  Generating software architecture spectrum with multi-objective genetic algorithms , 2011, 2011 Third World Congress on Nature and Biologically Inspired Computing.