Abstract
As it is widely recognized, a universal notation accepted by any software architect cannot exist. This caused a proliferation of architecture description languages (ADLs) each focussing on a specific application domain, analysis type, or modelling environment, and with its own specific notations and tools. Therefore, the production of a software architecture description often requires the use of multiple ADLs, each satisfying some stakeholder’s concerns. When dealing with multiple notations, suitable techniques are required in order to keep models in a consistent state. Several solutions have been proposed so far but they lack in convergence and scalability. In this paper, we propose a convergent change propagation approach between multiple architectural languages. The approach is generic since it depends neither on the notations to synchronize nor on their corresponding models. It is implemented within the Eclipse modelling framework and we demonstrate its usability and scalability by experimenting it on well known architectural languages.
Similar content being viewed by others
References
Recommended Practice for Architectural Description of Software-Intensive Systems. IEEE-Std-1471-2000. The Institute of Electrical and Electronics Engineers (IEEE) Standards Board, September 2000
Bézivin, J., Jouault, F., Rosenthal, P., Valduriez, P.: Modeling in the Large and Modeling in the Small. In: LNCS, vol. 3599, pp. 33–46 (2005)
Cicchetti, A., Di Ruscio, D., Eramo, R.: Towards Propagation of Changes by Model Approximations. In: Proceedings of the 10th IEEE on International Enterprise Distributed Object Computing Conference Workshops EDOCW, p. 24. IEEE Computer Society, Washington, DC, 16–20 October 2006
Cicchetti, A., Muccini, H., Pelliccione, P., Pierantonio, A.: Towards a Framework for Distributed and Collaborative Modeling. In: WETICE, pp. 149–154 (2009)
Compuware, S.: XMOF queries, views and transformations on models using MOF, OCL and patterns. OMG Document ad/2003-08-07 (2003)
Crnkovic, I., Malavolta, I., Muccini, H.: A model-driven engineering framework for component models interoperability. In: Poernomo, I., Hofmeister, C., Lewis, G.A. (eds.) Proceedings of the 12th International Symposium on Component-Based Software Engineering (CBSE 2009). LNCS, vol. 5582. Springer, Berlin (2009)
Dashofy, E.M., Van der Hoek, A., Taylor, R.N.: A Highly-Extensible, XML-Based Architecture Description Language. In: WICSA’01 (2001)
Dashofy, E.M., van der Hoek, A., Taylor, R.N.: An Infrastructure for the Rapid Development of XML-based Architecture Description Languages. In: ICSE ’02, pp. 266–276. ACM Press, New York (2002)
Di Ruscio, D., Malavolta, I., Muccini, H., Pelliccione, P., Pierantonio, A.: Developing Next Generation ADLs through MDE Techniques. In: ICSE 2010 (2010)
Didonet Del Fabro, M., Bézivin, J., Jouault, F., Breton, E., Gueltas, G.: AMW: A Generic Model Weaver. In: IDM2005 (2005)
Edwards, G., Medvidovic, N.: A Methodology and Framework for Creating Domain-specific Development Infrastructures. In: ASE’08 (2008)
Feiler, H.P., Lewis, B., Vestal, S.: The SAE Architecture Analysis and Design Language (AADL) Standard. In: IEEE RTAS Workshop (2003)
Foster, J.N., Greenwald, M.B., Moore, J.T., Pierce, B.C., Schmitt, A.: Combinators for bidirectional tree transformations: a linguistic approach to the view-update problem. ACM Trans. Program. Lang. Syst. 29(3), 1–65 (2007)
Garlan, D., Monroe, R., Wile, D.: Acme: An architecture description interchange language. In: Proceedings of CASCON 97, pp. 169–183. Toronto, Ontario (1997)
Garlan, D., Monroe, R.T., Wile, D.: Acme: Architectural description of component-based systems. In: Foundations of Component-Based Systems, pp. 47–68. Cambridge University Press, Cambridge (2000)
Giese, H., Wagner, R.: Incremental Model Synchronization With Triple Graph Grammars. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) Procs. of the 9th Int. Conf. on Model Driven Engineering Languages and Systems, MoDELS 2006, Genova, Italy. Lecture Notes in Computer Science, vol. 4199, pp. 543–557. Springer, Berlin (2006)
Hansson, H., Akerholm, M., Crnkovic, I., Torngren, M.: Saveccm—A Component Model for Safety-critical Real-time Systems. In: EUROMICRO ’04: Proceedings of the 30th EUROMICRO Conference, pp. 627–635. IEEE Computer Society, Washington, DC, USA (2004)
Hettel, T., Lawley, M., Raymond, K.: Model Synchronisation: Definitions for Round-Trip Engineering. In: Proceedings of the 1st International Conference on Theory and Practice of Model Tranformations, ICMT 2008. ETH Zrich, Switzerland, 1–2 July 2008
ISO. Fourth working draft of Systems and Software Engineering—Architectural Description (ISO/IECWD4 42010). Working doc.: ISO/IEC JTC 1/SC 7 N 000 (2009)
Ivers, J., Clements, P., Garlan, D., Nord, R., Schmerl, B., Rodrigo Oviedo Silva, J.: Documenting Component and Connector Views with UML 2.0 Technical Report CMU/SEI-2004-TR-008, CMU, SEI (2004)
Jouault F., Bézivin, J.: KM3: A DSL for Metamodel Specification. In: FMOODS06. LNCS, vol. 4037 (2006)
Jouault, F., Bézivin, J., Kurtev, I.: TCS: A DSL for the Specification of Textual Concrete Syntaxes in Model Engineering. In: Proceedings of the 5th international conference on Generative programming and component engineering, pp. 249–254. ACM Press, New York (2006)
Jouault, F., Kurtev, I.: Transforming Models with ATL. In: MoDELS 2005 (2006)
Kerholm M., Carlson J., Fredriksson J., Hansson H., Håkansson J., Möller A., Pettersson P., Tivoli M.: The save approach to component-based development of vehicular systems. J. Syst. Softw. 80(5), 655–667 (2007)
Kruchten, P., Lago, P., van Vliet, H.: Building up and reasoning about architectural knowledge. In: Proceedings of the 2nd International Conference on the Quality of Software Architectures (QoSA), pp. 43–58 (2006)
Magee, J.: Behavioral Analysis of Software Architectures using LTSA. In: ICSE ’99, pp. 634–637. ACM, New York (1999)
Magee J., Kramer J.: Dynamic structure in software architectures. SIGSOFT Softw. Eng. Notes 21(6), 3–14 (1996)
Magee J., Kramer J.: Concurrency: State Models & Java Programs. Wiley, New York (1999)
Magee, J., Kramer, J., Giannakopoulou, D.: Software architecture directed behaviour analysis. In: IWSSD’98 (1998)
Malavolta I., Muccini H., Pelliccione P., Tamburri D.: Providing architectural languages and tools interoperability through model transformation technologies. IEEE TSE 36(1), 119–140 (2010)
Medvidovic N., Dashofy E.M., Taylor R.N.: Moving architectural description from under the technology lamppost. Inf. Softw. Technol. 49, 12–31 (2007)
Medvidovic N., Taylor R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26, 70–93 (2000)
Mu, S.-C., Hu, Z., Takeichi, M.: An Injective Language for Reversible Computation. In: Kozen, D., Shankland, C. (eds.) Procs. of the 7th Int. Conf. on Mathematics of Program Construction, (MPC 2004), Stirling, Scotland, UK, July 12–14. Lecture Notes in Computer Science, vol. 3125, pp. 289–313. Springer, Berlin (2004)
Pelliccione P., Inverardi P., Muccini H.: Charmy: a framework for designing and verifying architectural specifications. IEEE TSE 35(3), 325–346 (2009)
Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. In: SIGSOFT Soft. Eng. Notes, vol. 17 (1992)
Sentilles, S., Pettersson, A., Nyström, D., Nolte, T., Pettersson, P., Crnkovic, I.: Save-IDE—A Tool for Design, Analysis and Implementation of Component-based Embedded Systems. In: Proceedings of the Research Demo Track of the 31st International Conference on Software Engineering (ICSE’09), pp. 607–610, (May 2009)
Taylor R.N., Medvidovic N., Dashofy E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley, New York (2009)
Tratt L.: Model transformations and tool integration. SOSYM 4(2), 112–122 (2005)
Tratt L.: A change propagating model transformation language. J. Object Technol. 7(3), 107–126 (2008)
University of Helsinki. SMODELS solver Website (2008). http://www.tcs.hut.fi/Software/smodels/
Van Paesschen, E., De Meuter, W., D’Hondt, M.: SelfSync: A Dynamic Round-trip Engineering Environment. In: Briand, L.C., Williams, C. (eds.) Procs of the 8th Int. Conf. on Model Driven Engineering Languages and Systems, (MoDELS 2005), Montego Bay, Jamaica, October 2–7. Lecture Notes in Computer Science, vol. 3713, pp. 633–647. Springer, Berlin (2005)
Van Der Westhuizen, C., Van Der Hoek, A.: Understanding and Propagating Architectural Changes. In: Proceedings of the IFIP 17th World Computer Congress - Tc2 Stream/3rd IEEE/IFIP Conference on Software Architecture: System Design, Development and Maintenance. IFIP Conference Proceedings, vol. 224, pp. 95–109. Kluwer B.V., Deventer, The Netherlands (2002)
Xiong, Y., Song, H., Hu, Z., Takeichi, M.: Supporting Parallel Updates with Bidirectional Model Transformations. In: ICMT (2009)
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Tony Clark and Jorn Bettin.
Rights and permissions
About this article
Cite this article
Eramo, R., Malavolta, I., Muccini, H. et al. A model-driven approach to automate the propagation of changes among Architecture Description Languages. Softw Syst Model 11, 29–53 (2012). https://doi.org/10.1007/s10270-010-0170-z
Received:
Revised:
Accepted:
Published:
Issue date:
DOI: https://doi.org/10.1007/s10270-010-0170-z