Software & Systems Modeling

, Volume 11, Issue 1, pp 29–53

A model-driven approach to automate the propagation of changes among Architecture Description Languages

  • Romina Eramo
  • Ivano Malavolta
  • Henry Muccini
  • Patrizio Pelliccione
  • Alfonso Pierantonio
Theme Section

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.

Keywords

Architectural languages interoperability Model transformation Model synchronization Automation Metamodelling 

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Recommended Practice for Architectural Description of Software-Intensive Systems. IEEE-Std-1471-2000. The Institute of Electrical and Electronics Engineers (IEEE) Standards Board, September 2000Google Scholar
  2. 2.
    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)Google Scholar
  3. 3.
    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 2006Google Scholar
  4. 4.
    Cicchetti, A., Muccini, H., Pelliccione, P., Pierantonio, A.: Towards a Framework for Distributed and Collaborative Modeling. In: WETICE, pp. 149–154 (2009)Google Scholar
  5. 5.
    Compuware, S.: XMOF queries, views and transformations on models using MOF, OCL and patterns. OMG Document ad/2003-08-07 (2003)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    Dashofy, E.M., Van der Hoek, A., Taylor, R.N.: A Highly-Extensible, XML-Based Architecture Description Language. In: WICSA’01 (2001)Google Scholar
  8. 8.
    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)Google Scholar
  9. 9.
    Di Ruscio, D., Malavolta, I., Muccini, H., Pelliccione, P., Pierantonio, A.: Developing Next Generation ADLs through MDE Techniques. In: ICSE 2010 (2010)Google Scholar
  10. 10.
    Didonet Del Fabro, M., Bézivin, J., Jouault, F., Breton, E., Gueltas, G.: AMW: A Generic Model Weaver. In: IDM2005 (2005)Google Scholar
  11. 11.
    Edwards, G., Medvidovic, N.: A Methodology and Framework for Creating Domain-specific Development Infrastructures. In: ASE’08 (2008)Google Scholar
  12. 12.
    Feiler, H.P., Lewis, B., Vestal, S.: The SAE Architecture Analysis and Design Language (AADL) Standard. In: IEEE RTAS Workshop (2003)Google Scholar
  13. 13.
    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)CrossRefGoogle Scholar
  14. 14.
    Garlan, D., Monroe, R., Wile, D.: Acme: An architecture description interchange language. In: Proceedings of CASCON 97, pp. 169–183. Toronto, Ontario (1997)Google Scholar
  15. 15.
    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)Google Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    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)Google Scholar
  18. 18.
    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 2008Google Scholar
  19. 19.
    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)Google Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    Jouault F., Bézivin, J.: KM3: A DSL for Metamodel Specification. In: FMOODS06. LNCS, vol. 4037 (2006)Google Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    Jouault, F., Kurtev, I.: Transforming Models with ATL. In: MoDELS 2005 (2006)Google Scholar
  24. 24.
    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)CrossRefGoogle Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    Magee, J.: Behavioral Analysis of Software Architectures using LTSA. In: ICSE ’99, pp. 634–637. ACM, New York (1999)Google Scholar
  27. 27.
    Magee J., Kramer J.: Dynamic structure in software architectures. SIGSOFT Softw. Eng. Notes 21(6), 3–14 (1996)CrossRefGoogle Scholar
  28. 28.
    Magee J., Kramer J.: Concurrency: State Models & Java Programs. Wiley, New York (1999)MATHGoogle Scholar
  29. 29.
    Magee, J., Kramer, J., Giannakopoulou, D.: Software architecture directed behaviour analysis. In: IWSSD’98 (1998)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    Medvidovic N., Dashofy E.M., Taylor R.N.: Moving architectural description from under the technology lamppost. Inf. Softw. Technol. 49, 12–31 (2007)CrossRefGoogle Scholar
  32. 32.
    Medvidovic N., Taylor R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26, 70–93 (2000)CrossRefGoogle Scholar
  33. 33.
    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)Google Scholar
  34. 34.
    Pelliccione P., Inverardi P., Muccini H.: Charmy: a framework for designing and verifying architectural specifications. IEEE TSE 35(3), 325–346 (2009)Google Scholar
  35. 35.
    Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. In: SIGSOFT Soft. Eng. Notes, vol. 17 (1992)Google Scholar
  36. 36.
    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)Google Scholar
  37. 37.
    Taylor R.N., Medvidovic N., Dashofy E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley, New York (2009)Google Scholar
  38. 38.
    Tratt L.: Model transformations and tool integration. SOSYM 4(2), 112–122 (2005)CrossRefGoogle Scholar
  39. 39.
    Tratt L.: A change propagating model transformation language. J. Object Technol. 7(3), 107–126 (2008)CrossRefGoogle Scholar
  40. 40.
    University of Helsinki. SMODELS solver Website (2008). http://www.tcs.hut.fi/Software/smodels/
  41. 41.
    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)Google Scholar
  42. 42.
    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)Google Scholar
  43. 43.
    Xiong, Y., Song, H., Hu, Z., Takeichi, M.: Supporting Parallel Updates with Bidirectional Model Transformations. In: ICMT (2009)Google Scholar

Copyright information

© Springer-Verlag 2010

Authors and Affiliations

  • Romina Eramo
    • 1
  • Ivano Malavolta
    • 1
  • Henry Muccini
    • 1
  • Patrizio Pelliccione
    • 1
  • Alfonso Pierantonio
    • 1
  1. 1.Dipartimento di InformaticaUniversità dell’AquilaL’AquilaItaly

Personalised recommendations