这是indexloc提供的服务,不要输入任何密码
Skip to main content
Log in

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

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

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.

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

Access this article

Subscribe and save

Springer+
from $39.99 /Month
  • Starting from 10 chapters or articles per month
  • Access and download chapters and articles from more than 300k books and 2,500 journals
  • Cancel anytime
View plans

Buy Now

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

Instant access to the full article PDF.

Similar content being viewed by others

References

  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 2000

  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)

  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 2006

  4. Cicchetti, A., Muccini, H., Pelliccione, P., Pierantonio, A.: Towards a Framework for Distributed and Collaborative Modeling. In: WETICE, pp. 149–154 (2009)

  5. Compuware, S.: XMOF queries, views and transformations on models using MOF, OCL and patterns. OMG Document ad/2003-08-07 (2003)

  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)

  7. Dashofy, E.M., Van der Hoek, A., Taylor, R.N.: A Highly-Extensible, XML-Based Architecture Description Language. In: WICSA’01 (2001)

  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)

  9. Di Ruscio, D., Malavolta, I., Muccini, H., Pelliccione, P., Pierantonio, A.: Developing Next Generation ADLs through MDE Techniques. In: ICSE 2010 (2010)

  10. Didonet Del Fabro, M., Bézivin, J., Jouault, F., Breton, E., Gueltas, G.: AMW: A Generic Model Weaver. In: IDM2005 (2005)

  11. Edwards, G., Medvidovic, N.: A Methodology and Framework for Creating Domain-specific Development Infrastructures. In: ASE’08 (2008)

  12. Feiler, H.P., Lewis, B., Vestal, S.: The SAE Architecture Analysis and Design Language (AADL) Standard. In: IEEE RTAS Workshop (2003)

  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)

    Article  Google Scholar 

  14. Garlan, D., Monroe, R., Wile, D.: Acme: An architecture description interchange language. In: Proceedings of CASCON 97, pp. 169–183. Toronto, Ontario (1997)

  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)

  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)

  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)

  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 2008

  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)

  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)

  21. Jouault F., Bézivin, J.: KM3: A DSL for Metamodel Specification. In: FMOODS06. LNCS, vol. 4037 (2006)

  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)

  23. Jouault, F., Kurtev, I.: Transforming Models with ATL. In: MoDELS 2005 (2006)

  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)

    Article  Google Scholar 

  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)

  26. Magee, J.: Behavioral Analysis of Software Architectures using LTSA. In: ICSE ’99, pp. 634–637. ACM, New York (1999)

  27. Magee J., Kramer J.: Dynamic structure in software architectures. SIGSOFT Softw. Eng. Notes 21(6), 3–14 (1996)

    Article  Google Scholar 

  28. Magee J., Kramer J.: Concurrency: State Models & Java Programs. Wiley, New York (1999)

    MATH  Google Scholar 

  29. Magee, J., Kramer, J., Giannakopoulou, D.: Software architecture directed behaviour analysis. In: IWSSD’98 (1998)

  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. Medvidovic N., Dashofy E.M., Taylor R.N.: Moving architectural description from under the technology lamppost. Inf. Softw. Technol. 49, 12–31 (2007)

    Article  Google Scholar 

  32. Medvidovic N., Taylor R.N.: A classification and comparison framework for software architecture description languages. IEEE Trans. Softw. Eng. 26, 70–93 (2000)

    Article  Google Scholar 

  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)

  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. Perry, D.E., Wolf, A.L.: Foundations for the Study of Software Architecture. In: SIGSOFT Soft. Eng. Notes, vol. 17 (1992)

  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)

  37. Taylor R.N., Medvidovic N., Dashofy E.M.: Software Architecture: Foundations, Theory, and Practice. Wiley, New York (2009)

    Google Scholar 

  38. Tratt L.: Model transformations and tool integration. SOSYM 4(2), 112–122 (2005)

    Article  Google Scholar 

  39. Tratt L.: A change propagating model transformation language. J. Object Technol. 7(3), 107–126 (2008)

    Article  Google Scholar 

  40. University of Helsinki. SMODELS solver Website (2008). http://www.tcs.hut.fi/Software/smodels/

  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)

  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)

  43. Xiong, Y., Song, H., Hu, Z., Takeichi, M.: Supporting Parallel Updates with Bidirectional Model Transformations. In: ICMT (2009)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Patrizio Pelliccione.

Additional information

Communicated by Tony Clark and Jorn Bettin.

Rights and permissions

Reprints 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

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue date:

  • DOI: https://doi.org/10.1007/s10270-010-0170-z

Keywords