Software & Systems Modeling

, Volume 18, Issue 1, pp 107–127 | Cite as

Multi-objective exploration of architectural designs by composition of model transformations

  • Smail Rahmoun
  • Asma Mehiaoui-Hamitou
  • Etienne BordeEmail author
  • Laurent Pautet
  • Elie Soubiran
Theme Section Paper


Designing software architectures and optimizing them based on extra-functional properties (EFPs) require to identify appropriate design decisions and to apply them on valid architectural elements. Software designers have to check whether the resulting architecture fulfills the requirements and how it positively improves (possibly conflicting) EFPs. In practice, they apply well-known solutions such as design patterns manually. This is time-consuming, error-prone, and possibly sub-optimal. Well-established approaches automate the search of the design space for an optimal solution. They are based model-driven engineering techniques that formalized design decisions as model transformations and architectural elements as components. Using multi-objective optimizations techniques, they explore the design space by randomly selecting a set of components and applying to them variation operators that include a fixed set of predefined design decisions. In this work, we claim that the design space exploration requires to reason on both architectural components as well as model transformations. More specifically, we focus on possible instantiations of model transformations materialized as the application of model transformation alternatives on a set of architectural components. This approach was prototyped in RAMSES, a model transformation and code generation framework. Experimental results show the capability of our approach (i) to combine evolutionary algorithms and model transformation techniques to explore efficiently a set of architectural alternatives with conflicting EFPs, (ii) to instantiate, and select transformation instances that generate architectures satisfying stringent structural constraints, and (iii) to explore design spaces by chaining more than one transformation. In particular, we evaluated our approach on EFPs, architectures, and design alternatives inspired from the railway industry by chaining model transformations dedicated to implement safety design patterns and software components allocation on a multi-processor hardware platform.


Component-based software engineering Model transformations composition Design space exploration Rule-based transformation languages AADL models Extra-functional properties Multiple objectives evolutionary algorithms NSGA-II SAT solvers Linear programming 


  1. 1.
    Aleti, A., Bjornander, S., Grunske, L., Meedeniya, I.: Archeopterix: An extendable tool for architecture optimization of AADL models. In: Workshop on Model-Based Methodologies for Pervasive and Embedded Software, MOMPES ’09, pp. 61–71. IEEE Computer Society, Washington, DC, USA (2009)Google Scholar
  2. 2.
    Aleti, A., Buhnova, B., Grunske, L., Koziolek, A., Meedeniya, I.: Software architecture optimization methods: a systematic literature review. IEEE Trans. Softw. Eng. 39(5), 658–683 (2013)CrossRefGoogle Scholar
  3. 3.
    Aranega, V., Etien, A., Mosser, S.: Using Feature Model to Build Model Transformation Chains. Springer, Berlin (2012)CrossRefGoogle Scholar
  4. 4.
    Basciani, F., Di Ruscio, D., Iovino, L., Pierantonio, A.: Automated Chaining of Model Transformations with Incompatible Metamodels. Springer, Cham (2014)CrossRefGoogle Scholar
  5. 5.
    Borde, E., Rahmoun, S., Cadoret, F., Pautet, L., Singhoff, F., Dissaux, P.: Architecture models refinement for fine grain timing analysis of embedded systems. In: 25th IEEE International Symposium on Rapid System Prototyping (RSP), pp. 44–50 (2014)Google Scholar
  6. 6.
    Castellanos, C., Borde, E., Pautet, L., Sbastien, G., Vergnaud, T.: Improving reusability of model transformations by automating their composition. In: 2015 41st Euromicro Conference on Software Engineering and Advanced Applications, pp. 267–274 (2015)Google Scholar
  7. 7.
    Chenouard, R., Jouault, F.: Automatically Discovering Hidden Transformation Chaining Constraints. Springer, Berlin (2009)CrossRefGoogle Scholar
  8. 8.
    Deb, K., Pratap, A., Agarwal, S., Meyarivan, T.: A fast and elitist multiobjective genetic algorithm: NSGA-II. IEEE Trans. Evol. Comput. 6(2), 182–197 (2002)CrossRefGoogle Scholar
  9. 9.
    Drago, M.L., Ghezzi, C., Mirandola, R.: A quality driven extension to the qvt-relations transformation language. Comput. Sci. 30(1), 1–20 (2015)Google Scholar
  10. 10.
    Etien, A., Aranega, V., Blanc, X., Paige, R.F.: Chaining model transformations. In: 1st Workshop on the Analysis of Model Transformations, New York, NY, USA, pp. 9–14 (2012)Google Scholar
  11. 11.
    Etien, A., Muller, A., Legrand, T., Blanc, X.: Combining independent model transformations. In: Symposium on Applied Computing, SAC’10, pp. 2237–2243. ACM, New York, NY, USA (2010)Google Scholar
  12. 12.
    Feiler, P.H., Gluch, D.P.: Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language. Addison-Wesley, Reading (2012)Google Scholar
  13. 13.
    Heckel, R., Kuster, J., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Corradini, A., Ehrig, H., Kreowski, H.J., Rozenberg, G. (eds.) Graph Transformation. LNCS, vol. 2505. Springer, Berlin (2002)Google Scholar
  14. 14.
    Insfran, E., Gonzalez-Huerta, J., Abrahão, S.: Design guidelines for the development of quality-driven model transformations. In: 13th International Conference on Model Driven Engineering Languages and Systems: Part II, MODELS’10, pp. 288–302. Springer, Berlin (2010)Google Scholar
  15. 15.
    Jouault, F., Kurtev, I.: Transforming models with ATL. In: International Conference on Satellite Events at MoDELS’05, pp. 128–138. Springer, Berlin (2006)Google Scholar
  16. 16.
    Koziolek, A., Koziolek, H., Reussner, R.: Peropteryx: automated application of tactics in multi-objective software architecture optimization. In: the ACM SIGSOFT Conference Quality of Software Architectures. ACM, New York, NY, USA (2011)Google Scholar
  17. 17.
    Li, R., Etemaadi, R., Emmerich, M.T.M., Chaudron, M.R.V.: An evolutionary multiobjective optimization approach to component-based software architecture design. In: 2011 IEEE Congress on Evolutionary Computation (CEC), pp. 432–439 (2011)Google Scholar
  18. 18.
    Loniewski, G., Borde, E., Blouin, D., Insfran, E.: An automated approach for architectural model transformations. In: 22nd International Conference on Information Systems Development (ISD2013), Sevilla, Spain (2013)Google Scholar
  19. 19.
    Martens, A., Koziolek, H., Becker, S., Reussner, R.: Automatically improve software architecture models for performance, reliability, and cost using evolutionary algorithms. In: First Joint WOSP/SIPEW International Conference on Performance Engineering, pp. 105–116. ACM, New York, NY, USA (2010)Google Scholar
  20. 20.
    Merilinna, J.: A tool for quality-driven architecture model transformation. Ph.D. thesis, VVT Technical Research Centre of Finland, Vuorimiehentie, Finland (2005)Google Scholar
  21. 21.
    OMG, O.M.G.: Flow latency analysis with the AADL (2012)Google Scholar
  22. 22.
    Rahmoun, S., Borde, E., Pautet, L.: Automatic selection and composition of model transformations alternatives using evolutionary algorithms. In: 2015 European Conference on Software Architecture Workshops, pp. 25:1–25:7. ACM, New York, NY, USA (2015)Google Scholar
  23. 23.
    Sha, L., Rajkumar, R., Lehoczky, J.P.: Priority inheritance protocols: an approach to real-time synchronization. IEEE Trans. Comput. 39(9), 1175–1185 (1990)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    Srinivas, N., Deb, K.: Multiobjective optimization using nondominated sorting in genetic algorithms. Evol. Comput. 2, 221–248 (1994)CrossRefGoogle Scholar
  25. 25.
    Tisi, M., Jouault, F., Fraternali, P., Ceri, S., Bézivin, J.: On the use of higher-order model transformations. In: 5th European Conference on Model Driven Architecture—Foundations and Applications. Springer, Berlin (2009)Google Scholar
  26. 26.
    Wagelaar, D.: Composition Techniques for Rule-Based Model Transformation Languages. Springer, Berlin (2008)CrossRefGoogle Scholar
  27. 27.
    Zheng, W., Zhu, Q., Natale, M.D., Vincentelli, A.S.: Definition of task allocation and priority assignment in hard real-time distributed systems. In: 28th IEEE International Real-Time Systems Symposium, 2007 (RTSS 2007), pp. 161–170. IEEE (2007)Google Scholar
  28. 28.
    Zhu, Q., Yang, Y., Scholte, E., Natale, M.D., Sangiovanni-Vincentelli, A.: Optimizing extensibility in hard real-time distributed systems. In: Real-Time and Embedded Technology and Applications Symposium (RTAS), 2009, pp. 275–284. IEEE (2009)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2017

Authors and Affiliations

  • Smail Rahmoun
    • 2
  • Asma Mehiaoui-Hamitou
    • 1
  • Etienne Borde
    • 1
    Email author
  • Laurent Pautet
    • 1
  • Elie Soubiran
    • 3
  1. 1.LTCI, Institut Mines-TelecomTELECOM ParisTechParis Cedex 13France
  2. 2.Institute for Technological Research SystemXPalaiseauFrance
  3. 3.AlstomSaint-Ouen CedexFrance

Personalised recommendations