Abstract
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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
3S Team: Service & Support Systems: UML Extentions - UML Profile for Software Product Line (2011), http://domainengineering.haifa.ac.il/seminar/Works/2011_ServiceAndSupportSystems/WebFiles/Pages/UML.html
Amoui, M., Mirarab, S., Ansari, S., Lucas, C.: A genetic algorithm approach to design evolution using design pattern transformation. International Journal of Information Technology and Intelligent Computing 1, 235–245 (2006)
Arcuri, A., Fraser, G.: On parameter tuning in search based software engineering. In: Cohen, M.B., Ó Cinnéide, M. (eds.) SSBSE 2011. LNCS, vol. 6956, pp. 33–47. Springer, Heidelberg (2011)
Cinnéide, M.Ó., Nixon, P.: Automated software evolution towards design patterns. In: Proceedings of the 4th International Workshop on Principles of Software Evolution, pp. 162–165 (2001)
Coello, C.A.C., Lamont, G.B., Veldhuizen, D.A.V.: Evolutionary Algorithms for Solving Multi-Objective Problems, 2nd edn. Springer Science and Business Media, LLC (2007)
Colanzi, T.E.: Search based design of software product lines architectures. In: 34th ICSE, Doctoral Symposium, pp. 1507–1510 (2012)
Colanzi, T.E., Vergilio, S.R.: Applying Search Based Optimization to Software Product Line Architectures: Lessons Learned. In: Fraser, G., Teixeira de Souza, J. (eds.) SSBSE 2012. LNCS, vol. 7515, pp. 259–266. Springer, Heidelberg (2012)
Colanzi, T.E., Vergilio, S.R.: Representation of Software Product Lines Architectures for Search-based Design. In: CMSBSE Workshop of ICSE (2013)
Coplien, J.O.: Software Design Patterns: Common Questions and Answers. In: Rising, L. (ed.) The Patterns Handbook: Techniques, Strategies, and Applications, pp. 311–320 (1998)
Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Transactions on Evolutionary Computation 6(2), 182–197 (2002)
Durillo, J.J., Nebro, A.J.: jMetal: A Java framework for multi-objective optimization. Advances in Engineering Software 42, 760–771 (2011)
Friedman, M.: The Use of Ranks to Avoid the Assumption of Normality Implicit in the Analysis of Variance. Journal of the American Statistical Association 32(200), 675–701 (1937)
Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Addison-Wesley Professional Computing Series, vol. 206 (1995)
Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures, vol. 8. Addison-Wesley Professional (2004)
Guizzo, G., Colanzi, T.E., Vergilio, S.R.: Applying design patterns in product line search-based design: feasibility analysis and implementation aspects. In: Proceedings of the 32nd SCCC (November 2013)
Harman, M., Tratt, L.: Pareto optimal search based refactoring at the design level. In: Proceedings of the 9th GECCO, pp. 1106–1113. ACM (2007)
Jensen, A.C., Cheng, B.H.C.: On the use of genetic programming for automated refactoring and the introduction of design patterns. In: Proceedings of the 12th GECCO, pp. 1341–1348 (2010)
Keepence, B., Mannion, M.: Using patterns to model variability in product families. IEEE Software, 102–108 (August, 1999)
van der Linden, F., Schmid, F., Rommes, E.: Software Product Lines in Action - The Best Industrial Practice in Product Line Engineering. Springer (2007)
Philippow, I., Streitferdt, D., Riebisch, M.: Design Pattern Recovery in Architectures for Supporting Product Line Development and Application. In: Modelling Variability for Object-Oriented Product Lines, pp. 42–57. Springer (2003)
Qayum, F., Heckel, R.: Local Search-Based Refactoring as Graph Transformation. In: Proceedings of the 1st SSBSE, pp. 43–46. IEEE Computer Society (2009)
Räihä, O.: A survey on search-based software design. Computer Science Review 4(4), 203–249 (2010)
Räihä, O., Koskimies, K., Mäkinen, E.: Generating software architecture spectrum with multi-objective genetic algorithms. In: Third World Congress NaBIC, pp. 29–36 (2011)
Räihä, O., Koskimies, K., Mäkinen, E.: Genetic synthesis of software architecture. In: Li, X., et al. (eds.) SEAL 2008. LNCS, vol. 5361, pp. 565–574. Springer, Heidelberg (2008)
Sant’Anna, C., Figueiredo, E., Garcia, A., Lucena, C.J.P.: On the modularity of software architectures: A concern-driven measurement framework. In: Oquendo, F. (ed.) ECSA 2007. LNCS, vol. 4758, pp. 207–224. Springer, Heidelberg (2007)
SEI: Arcade Game Maker pedagogical product line (2014), http://www.sei.cmu.edu/productlines/ppl/
Ziadi, T., Jézéquel, J., Fondement, F.: Product Line Derivation with UML. Tech. rep. (2003)
Zitzler, E., Thiele, L.: Multiobjective evolutionary algorithms: a comparative case study and the strength Pareto approach. IEEE Transactions on Evolutionary Computation 3(4), 257–271 (1999)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2014 Springer International Publishing Switzerland
About this paper
Cite this paper
Guizzo, G., Colanzi, T.E., Vergilio, S.R. (2014). A Pattern-Driven Mutation Operator for Search-Based Product Line Architecture Design. In: Le Goues, C., Yoo, S. (eds) Search-Based Software Engineering. SSBSE 2014. Lecture Notes in Computer Science, vol 8636. Springer, Cham. https://doi.org/10.1007/978-3-319-09940-8_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-09940-8_6
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-09939-2
Online ISBN: 978-3-319-09940-8
eBook Packages: Computer ScienceComputer Science (R0)