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.
Similar content being viewed by others
Notes
Architecture Analysis and Design Language.
References
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)
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)
Aranega, V., Etien, A., Mosser, S.: Using Feature Model to Build Model Transformation Chains. Springer, Berlin (2012)
Basciani, F., Di Ruscio, D., Iovino, L., Pierantonio, A.: Automated Chaining of Model Transformations with Incompatible Metamodels. Springer, Cham (2014)
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)
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)
Chenouard, R., Jouault, F.: Automatically Discovering Hidden Transformation Chaining Constraints. Springer, Berlin (2009)
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)
Drago, M.L., Ghezzi, C., Mirandola, R.: A quality driven extension to the qvt-relations transformation language. Comput. Sci. 30(1), 1–20 (2015)
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)
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)
Feiler, P.H., Gluch, D.P.: Model-Based Engineering with AADL: An Introduction to the SAE Architecture Analysis & Design Language. Addison-Wesley, Reading (2012)
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)
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)
Jouault, F., Kurtev, I.: Transforming models with ATL. In: International Conference on Satellite Events at MoDELS’05, pp. 128–138. Springer, Berlin (2006)
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)
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)
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)
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)
Merilinna, J.: A tool for quality-driven architecture model transformation. Ph.D. thesis, VVT Technical Research Centre of Finland, Vuorimiehentie, Finland (2005)
OMG, O.M.G.: Flow latency analysis with the AADL (2012)
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)
Sha, L., Rajkumar, R., Lehoczky, J.P.: Priority inheritance protocols: an approach to real-time synchronization. IEEE Trans. Comput. 39(9), 1175–1185 (1990)
Srinivas, N., Deb, K.: Multiobjective optimization using nondominated sorting in genetic algorithms. Evol. Comput. 2, 221–248 (1994)
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)
Wagelaar, D.: Composition Techniques for Rule-Based Model Transformation Languages. Springer, Berlin (2008)
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)
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)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Dr. F. Ciccozzi, J. Carlson, P. Pelliccione, and M. Tivoli.
Rights and permissions
About this article
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
Received:
Revised:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-017-0580-2