Skip to main content

Abstract

In recent years, Model-Driven Engineering has taken a leading role in advancing a new paradigm shift in software development. Leveraging models to a first-class status is at the core of this methodology. Shifting the focus of software development from coding to modeling permits programs to transform models in order to generate other models which are amenable for a wide range of purposes, including code generation. This paper introduces a classification of model transformation approaches and languages, illustrating the characteristics of the most prominent ones. Moreover, two specific application scenarios are proposed to highlight bidirectionality and higher-order transformations in the change propagation and coupled evolution domains, respectively.

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

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Schmidt, D.: Guest Editor’s Introduction: Model-Driven Engineering. Computer 39(2), 25–31 (2006)

    Article  Google Scholar 

  2. Bézivin, J.: On the Unification Power of Models. Jour. on Software and Systems Modeling (SoSyM) 4(2), 171–188 (2005)

    Article  Google Scholar 

  3. Bosch, J.: From software product lines to software ecosystems. In: Proceedings of the 13th International Software Product Line Conference, SPLC 2009, pp. 111–119. Carnegie Mellon University, Pittsburgh (2009)

    Google Scholar 

  4. Tratt, L.: Model transformations and tool integration. Jour. on Software and Systems Modeling (SoSyM) 4(2), 112–122 (2005)

    Article  Google Scholar 

  5. Object Management Group (OMG): MOF 2.0 Query/Views/Transformations RFP, OMG document ad/02-04-10 (2002)

    Google Scholar 

  6. Visser, E.: WebDSL: A Case Study in Domain-Specific Language Engineering. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2007. LNCS, vol. 5235, pp. 291–373. Springer, Heidelberg (2008)

    Google Scholar 

  7. Ceri, S., Fraternali, P., Bongio, A.: Web Modeling Language (WebML): a Modeling Language for Designing Web sites. Computer Networks 33(1-6), 137–157 (2000)

    Article  Google Scholar 

  8. Di Ruscio, D., Muccini, H., Pierantonio, A.: A Data Modeling Approach to Web Application Synthesis. Int. Jour. of Web Engineering and Technology 1(3), 320–337 (2004)

    Article  Google Scholar 

  9. Cicchetti, A., Di Ruscio, D., Eramo, R., Maccarrone, F., Pierantonio, A.: beContent: A Model-Driven Platform for Designing and Maintaining Web Applications. In: Gaedke, M., Grossniklaus, M., Díaz, O. (eds.) ICWE 2009. LNCS, vol. 5648, pp. 518–522. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  10. Cicchetti, A., Di Ruscio, D., Eramo, R., Pierantonio, A.: Model Differences for Supporting Model Co-evolution. In: Procs. MoDSE, 2nd Workshop on Model-Driven Software Evolution (2008)

    Google Scholar 

  11. Rose, L.M., Kolovos, D.S., Paige, R.F., Polack, F.A.C.: Model Migration with Epsilon Flock. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 184–198. Springer, Heidelberg (2010)

    Chapter  Google Scholar 

  12. Herrmannsdoerfer, M., Benz, S., Juergens, E.: Cope - automating coupled evolution of metamodels and models, pp. 52–76 (2009)

    Google Scholar 

  13. Di Cosmo, R., Di Ruscio, D., Pelliccione, P., Pierantonio, A., Zacchiroli, S.: Supporting software evolution in component-based foss systems. Technical Report TRCS 003/2010, Computer Science Department, University of L’Aquila (2010)

    Google Scholar 

  14. Stevens, P.: A Landscape of Bidirectional Model Transformations. In: Lämmel, R., Visser, J., Saraiva, J. (eds.) GTTSE 2007. LNCS, vol. 5235, pp. 408–424. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  15. Xiong, Y., Song, H., Hu, Z., Takeichi, M.: Supporting Parallel Updates with Bidirectional Model Transformations. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 213–228. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  16. Lehman, M.M., Belady, L.A. (eds.): Program evolution: processes of software change. Academic Press Professional, Inc., San Diego (1985)

    Google Scholar 

  17. Favre, J.M.: Meta-Model and Model Co-evolution within the 3D Software Space. In: Procs. of the Int. Workshop on Evolution of Large-scale Industrial Software Applications (ELISA) at ICSM 2003, Amsterdam (September 2003)

    Google Scholar 

  18. Wachsmuth, G.: Metamodel Adaptation and Model Co-adaptation. In: Bateni, M. (ed.) ECOOP 2007. LNCS, vol. 4609, pp. 600–624. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  19. Selic, B.: The Pragmatics of Model-driven Development. IEEE Software 20(5), 19–25 (2003)

    Article  Google Scholar 

  20. Object Management Group (OMG): MDA Guide version 1.0.1, OMG Document: omg/2003-06-01 (2003)

    Google Scholar 

  21. Kent, S.: Model Driven Engineering. In: Butler, M.J., Petre, L., Sere, K. (eds.) IFM 2002. LNCS, vol. 2335, pp. 286–298. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  22. Favre, J.M.: Towards a Basic Theory to Model Model Driven Engineering. In: Procs. of the 3rd Int. Workshop in Software Model Engineering (WiSME 2004) (2004)

    Google Scholar 

  23. Object Management Group (OMG): Meta Object Facility (MOF) 2.0 Core Specification, OMG Document ptc/03-10-04 (2003), http://www.omg.org/docs/ptc/03-10-04.pdf

  24. Object Management Group (OMG): Unified Modelling Language (UML) V1.4 (2001)

    Google Scholar 

  25. Object Management Group (OMG): XMI Specification, v1.2, OMG Document formal/02-01-01 (2002)

    Google Scholar 

  26. Seidewitz, E.: What Models Mean. IEEE Software 20(5), 26–32 (2003)

    Article  Google Scholar 

  27. Bézivin, J., Gerbé, O.: Towards a Precise Definition of the OMG/MDA Framework. In: Automated Software Engineering (ASE 2001), pp. 273–282. IEEE Computer Society, Los Alamitos (2001)

    Google Scholar 

  28. Mellor, S.J., Clark, A.N., Futagami, T.: Guest Editors’ Introduction: Model-Driven Development. IEEE Software 20(5), 14–18 (2003)

    Article  Google Scholar 

  29. Budinsky, F., Steinberg, D., Merks, E., Ellersick, R., Grose, T.: Eclipse Modeling Framework. Addison Wesley (2003)

    Google Scholar 

  30. Aksit, M., Kurtev, I., Bézivin, J.: Technological Spaces: an Initial Appraisal. In: International Federated Conf. (DOA, ODBASE, CoopIS), Industrial Track, Los Angeles (2002)

    Google Scholar 

  31. Kleppe, A., Warmer, J.: MDA Explained. The Model Driven Architecture: Practice and Promise. Addison-Wesley (2003)

    Google Scholar 

  32. Czarnecki, K., Helsen, S.: Feature-based Survey of Model Transformation Approaches. IBM Systems J. 45(3) (June 2006)

    Google Scholar 

  33. Taentzer, G., Ehrig, K., Guerra, E., de Lara, J., Lengyel, L., Levendovszky, T., Prange, U., Varró, D., Varró-Gyapay, S.: Model Transformation by Graph Transformation: A Comparative Study. In: ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems, Montego Bay, Jamaica (October 2005)

    Google Scholar 

  34. OMG: MOF QVT Final Adopted Specification, OMG Adopted Specification ptc/05-11-01 (2005)

    Google Scholar 

  35. Xactium: Xmf-mosaic, http://xactium.com

  36. Vojtisek, D., Jézéquel, J.M.: MTL and Umlaut NG: Engine and Framework for Model Transformation, http://www.ercim.org/publication/Ercim_News/enw58/vojtisek.html

  37. Muller, P.A., Fleurey, F., Jézéquel, J.M.: Weaving Executability into Object-Oriented Metalanguages. In: ACM/IEEE 8th International Conference on Model Driven Engineering Languages and Systems, Montego Bay, pp. 264–278 (2005)

    Google Scholar 

  38. Didonet Del Fabro, M., Bezivin, J., Jouault, F., Breton, E., Gueltas, G.: AMW: A generic Model Weaver. In: Int. Conf. on Software Engineering Research and Practice (SERP 2005) (2005)

    Google Scholar 

  39. Cicchetti, A., Di Ruscio, D.: Decoupling Web Application Concerns through Weaving Operations. Science of Computer Programming 70(1), 62–86 (2008)

    Article  MathSciNet  MATH  Google Scholar 

  40. Gerber, A., Lawley, M., Raymond, K., Steel, J., Wood, A.: Transformation: The Missing Link of MDA. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 90–105. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  41. Cicchetti, A., Di Ruscio, D., Eramo, R., Pierantonio, A.: JTL: A Bidirectional and Change Propagating Transformation Language. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 183–202. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  42. Gelfond, M., Lifschitz, V.: The Stable Model Semantics for Logic Programming. In: Kowalski, R.A., Bowen, K. (eds.) Proceedings of the Fifth Int. Conf. on Logic Programming, pp. 1070–1080. The MIT Press, Cambridge (1988)

    Google Scholar 

  43. Jouault, F., Kurtev, I.: Transforming Models with ATL. In: Bruel, J.-M. (ed.) MoDELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006)

    Chapter  Google Scholar 

  44. Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The Epsilon Transformation Language. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 46–60. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  45. Taentzer, G.: AGG: A Graph Transformation Environment for Modeling and Validation of Software. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 446–453. Springer, Heidelberg (2004)

    Chapter  Google Scholar 

  46. de Lara, J., Vangheluwe, H.: AToM3: A Tool for Multi-formalism and Meta-modelling. In: Kutsche, R.-D., Weber, H. (eds.) FASE 2002. LNCS, vol. 2306, pp. 174–188. Springer, Heidelberg (2002), http://link.springer.de/link/service/series/0558/bibs/2306/23060174.htm

    Chapter  Google Scholar 

  47. Varró, D., Varró, G., Pataricza, A.: Designing the automatic transformation of visual languages. Science of Computer Programming 44(2), 205–227 (2002)

    Article  MATH  Google Scholar 

  48. Agrawal, A., Karsai, G., Kalmar, Z., Neema, S., Shi, F., Vizhanyo, A.: The Design of a Language for Model Transformations. Journal of Software and System Modeling (2005)

    Google Scholar 

  49. Konigs, A., Schurr, A.: Tool Integration with Triple Graph Grammars - A Survey. Electronic Notes in Theoretical Computer Science 148, 113–150 (2006)

    Article  Google Scholar 

  50. Wagelaar, D., Tisi, M., Cabot, J., Jouault, F.: Towards a General Composition Semantics for Rule-Based Model Transformation. In: Whittle, J., Clark, T., Kühne, T. (eds.) MoDELS 2011. LNCS, vol. 6981, pp. 623–637. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  51. Object Management Group (OMG): OCL 2.0 Specification, OMG Document formal/2006-05-01 (2006)

    Google Scholar 

  52. Billington, J., Christensen, S., van Hee, K.M., Kindler, E., Kummer, O., Petrucci, L., Post, R., Stehno, C., Weber, M.: The Petri Net Markup Language: Concepts, Technology, and Tools. In: van der Aalst, W.M.P., Best, E. (eds.) ICATPN 2003. LNCS, vol. 2679, pp. 483–505. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  53. Extensible Platform for Specification of Integrated Languages for mOdel maNagement (Epsilon), http://www.eclipse.org/gmt/epsilon

  54. Börger, E., Stärk, R.: Abstract State Machines - A Method for High-Level System Design and Analysis. Springer (2003)

    Google Scholar 

  55. Varró, D., Pataricza, A.: Generic and Meta-Transformations for Model Transformation Engineering. In: International Conference on the Unified Modeling Language, pp. 290–304 (2004)

    Google Scholar 

  56. Object Management Group (OMG): MOF 2.0 QVT Final Adoptet Specification v1.1, OMG Adopted Specification formal/2011-01-01 (2011)

    Google Scholar 

  57. Stevens, P.: Bidirectional model transformations in QVT: semantic issues and open questions. Software and Systems Modeling 8 (2009)

    Google Scholar 

  58. Steven Witkop: MDA users’ requirements for QVT transformations, OMG document 05-02-04 (2005)

    Google Scholar 

  59. Czarnecki, K., Foster, J.N., Hu, Z., Lämmel, R., Schürr, A., Terwilliger, J.F.: Bidirectional Transformations: A Cross-Discipline Perspective—GRACE Meeting Notes, State of the Art, and Outlook. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 260–283. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  60. Chen, K., Sztipanovits, J., Abdelwalhed, S., Jackson, E.: Semantic Anchoring with Model Transformations. In: Hartman, A., Kreische, D. (eds.) ECMDA-FA 2005. LNCS, vol. 3748, pp. 115–129. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  61. Leone, N., Pfeifer, G., Faber, W., Eiter, T., Gottlob, G., Perri, S., Scarcello, F.: The DLV System for Knowledge Representation and Reasoning (2004)

    Google Scholar 

  62. Tratt, L.: A change propagating model transformation language. Journal of Object Technology 7(3), 107–126 (2008)

    Article  Google Scholar 

  63. Hettel, T., Lawley, M., Raymond, K.: Model Synchronisation: Definitions for Round-Trip Engineering. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 31–45. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  64. Bézivin, J., Jouault, F., Rosenthal, P., Valduriez, P.: Modeling in the Large and Modeling in the Small. In: Aßmann, U., Aksit, M., Rensink, A. (eds.) MDAFA 2003. LNCS, vol. 3599, pp. 33–46. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  65. Cicchetti, A., Di Ruscio, D., Pierantonio, A.: Managing Model Conflicts in Distributed Development. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MoDELS 2008. LNCS, vol. 5301, pp. 311–325. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  66. Cicchetti, A., Di Ruscio, D., Iovino, L., Pierantonio, A.: Managing the evolution of data-intensive web applications by model-driven techniques. Software and Systems Modeling (2011)

    Google Scholar 

  67. Gruschko, B., Kolovos, D., Paige, R.: Towards Synchronizing Models with Evolving Metamodels. In: Proceedings of the Workshop on Model-Driven Software Evolution, MODSE 2007 (2007)

    Google Scholar 

  68. Lin, Y., Zhang, J., Gray, J.: Model Comparison: A Key Challenge for Transformation Testing and Version Control in Model Driven Software Development. In: OOPSLA Workshop on Best Practices for Model-Driven Software Development (2004)

    Google Scholar 

  69. Cicchetti, A., Di Ruscio, D., Pierantonio, A.: A Metamodel Independent Approach to Difference Representation. Journal of Object Technology 6(9), 165–185 (2007)

    Article  Google Scholar 

  70. Rivera, J., Vallecillo, A.: Representing and Operating with Model Differences. In: Objects, Components, Models and Patterns. LNBIP, vol. 11, pp. 141–160. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  71. Brun, C., Pierantonio, A.: Model Differences in the Eclipse Modeling Framework. Upgrade, Special Issue on Model-Driven Software Development (April-May 2008)

    Google Scholar 

  72. Treude, C., Berlik, S., Wenzel, S., Kelter, U.: Difference computation of large models. In: ESEC-FSE 2007: Proceedings of the the 6th Joint Meeting of the European Software Engineering Conference and the ACM SIGSOFT Symposium on the Foundations of Software Engineering, pp. 295–304. ACM, New York (2007)

    Google Scholar 

  73. Cicchetti, A.: Difference Representation and Conflict Management in Model-Driven Engineering. PhD thesis, University of L’Aquila, Computer Science Dept. (2008)

    Google Scholar 

  74. Cicchetti, A., Di Ruscio, D., Pierantonio, A.: Managing Dependent Changes in Coupled Evolution. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 35–51. Springer, Heidelberg (2009)

    Chapter  Google Scholar 

  75. Sánchez Cuadrado, J., Guerra, E., de Lara, J.: Generic Model Transformations: Write Once, Reuse Everywhere. In: Cabot, J., Visser, E. (eds.) ICMT 2011. LNCS, vol. 6707, pp. 62–77. Springer, Heidelberg (2011)

    Chapter  Google Scholar 

  76. Steel, J., Jézéquel, J.M.: On model typing. Software and System Modeling 6(4), 401–413 (2007)

    Article  Google Scholar 

  77. Vallecillo, A., Gogolla, M., Burgueño, L., Wimmer, M., Hamann, L.: Formal Specification and Testing of Model Transformations. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds.) SFM 2012. LNCS, vol. 7320, pp. 399–437. Springer, Heidelberg (2012)

    Google Scholar 

  78. Bernardo, M., Cortellessa, V., Pierantonio, A. (eds.): SFM 2011. LNCS, vol. 7320. Springer, Heidelberg (2012)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2012 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Di Ruscio, D., Eramo, R., Pierantonio, A. (2012). Model Transformations. In: Bernardo, M., Cortellessa, V., Pierantonio, A. (eds) Formal Methods for Model-Driven Engineering. SFM 2012. Lecture Notes in Computer Science, vol 7320. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-30982-3_4

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-30982-3_4

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-30981-6

  • Online ISBN: 978-3-642-30982-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics