Skip to main content
Log in

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

  • Theme Section Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Notes

  1. Architecture Analysis and Design Language.

  2. http://perso.telecom-paristech.fr/~borde/publications/2017/sosym/Ubuntu.zip.

References

  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)

  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)

    Article  Google Scholar 

  3. Aranega, V., Etien, A., Mosser, S.: Using Feature Model to Build Model Transformation Chains. Springer, Berlin (2012)

    Book  Google Scholar 

  4. Basciani, F., Di Ruscio, D., Iovino, L., Pierantonio, A.: Automated Chaining of Model Transformations with Incompatible Metamodels. Springer, Cham (2014)

    Book  Google Scholar 

  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)

  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)

  7. Chenouard, R., Jouault, F.: Automatically Discovering Hidden Transformation Chaining Constraints. Springer, Berlin (2009)

    Book  Google Scholar 

  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)

    Article  Google Scholar 

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

  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)

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

  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)

  15. Jouault, F., Kurtev, I.: Transforming models with ATL. In: International Conference on Satellite Events at MoDELS’05, pp. 128–138. Springer, Berlin (2006)

  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)

  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)

  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)

  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)

  20. Merilinna, J.: A tool for quality-driven architecture model transformation. Ph.D. thesis, VVT Technical Research Centre of Finland, Vuorimiehentie, Finland (2005)

  21. OMG, O.M.G.: Flow latency analysis with the AADL (2012)

  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)

  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)

    Article  MathSciNet  MATH  Google Scholar 

  24. Srinivas, N., Deb, K.: Multiobjective optimization using nondominated sorting in genetic algorithms. Evol. Comput. 2, 221–248 (1994)

    Article  Google Scholar 

  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)

  26. Wagelaar, D.: Composition Techniques for Rule-Based Model Transformation Languages. Springer, Berlin (2008)

    Book  Google Scholar 

  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)

  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)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Etienne Borde.

Additional information

Communicated by Dr. F. Ciccozzi, J. Carlson, P. Pelliccione, and M. Tivoli.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Rahmoun, S., Mehiaoui-Hamitou, A., Borde, E. et al. Multi-objective exploration of architectural designs by composition of model transformations. Softw Syst Model 18, 107–127 (2019). https://doi.org/10.1007/s10270-017-0580-2

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-017-0580-2

Keywords

Navigation