Skip to main content

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

  • Conference paper
Search-Based Software Engineering (SSBSE 2014)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 8636))

Included in the following conference series:

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 44.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 59.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

  2. 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)

    Google Scholar 

  3. 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)

    Chapter  Google Scholar 

  4. 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)

    Google Scholar 

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

    Google Scholar 

  6. Colanzi, T.E.: Search based design of software product lines architectures. In: 34th ICSE, Doctoral Symposium, pp. 1507–1510 (2012)

    Google Scholar 

  7. 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)

    Chapter  Google Scholar 

  8. Colanzi, T.E., Vergilio, S.R.: Representation of Software Product Lines Architectures for Search-based Design. In: CMSBSE Workshop of ICSE (2013)

    Google Scholar 

  9. 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)

    Google Scholar 

  10. 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)

    Article  Google Scholar 

  11. Durillo, J.J., Nebro, A.J.: jMetal: A Java framework for multi-objective optimization. Advances in Engineering Software 42, 760–771 (2011)

    Article  Google Scholar 

  12. 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)

    Article  Google Scholar 

  13. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design patterns: elements of reusable object-oriented software. Addison-Wesley Professional Computing Series, vol. 206 (1995)

    Google Scholar 

  14. Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures, vol. 8. Addison-Wesley Professional (2004)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. Harman, M., Tratt, L.: Pareto optimal search based refactoring at the design level. In: Proceedings of the 9th GECCO, pp. 1106–1113. ACM (2007)

    Google Scholar 

  17. 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)

    Google Scholar 

  18. Keepence, B., Mannion, M.: Using patterns to model variability in product families. IEEE Software, 102–108 (August, 1999)

    Google Scholar 

  19. van der Linden, F., Schmid, F., Rommes, E.: Software Product Lines in Action - The Best Industrial Practice in Product Line Engineering. Springer (2007)

    Google Scholar 

  20. 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)

    Google Scholar 

  21. Qayum, F., Heckel, R.: Local Search-Based Refactoring as Graph Transformation. In: Proceedings of the 1st SSBSE, pp. 43–46. IEEE Computer Society (2009)

    Google Scholar 

  22. Räihä, O.: A survey on search-based software design. Computer Science Review 4(4), 203–249 (2010)

    Article  Google Scholar 

  23. 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)

    Google Scholar 

  24. 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)

    Chapter  Google Scholar 

  25. 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)

    Chapter  Google Scholar 

  26. SEI: Arcade Game Maker pedagogical product line (2014), http://www.sei.cmu.edu/productlines/ppl/

  27. Ziadi, T., Jézéquel, J., Fondement, F.: Product Line Derivation with UML. Tech. rep. (2003)

    Google Scholar 

  28. 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)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints 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)

Publish with us

Policies and ethics