Software & Systems Modeling

, Volume 5, Issue 3, pp 261–288 | Cite as

The design of a language for model transformations

  • Aditya Agrawal
  • Gabor KarsaiEmail author
  • Sandeep Neema
  • Feng Shi
  • Attila Vizhanyo
Special Issue Paper


Model-driven development of software systems envisions transformations applied in various stages of the development process. Similarly, the use of domain-specific languages also necessitates transformations that map domain-specific constructs into the constructs of an underlying programming language. Thus, in these cases, the writing of transformation tools becomes a first-class activity of the software engineer. This paper introduces a language that was designed to support implementing highly efficient transformation programs that perform model-to-model or model-to-code translations. The language uses the concepts of graph transformations and metamodeling, and is supported by a suite of tools that allow the rapid prototyping and realization of transformation tools.


Model transformation UML Graph transformation Graph rewriting Model driven architecture 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Agrawal, A., Levendovszky, T., Sprinkle, J., Shi, F., Karsai, G.: Generative programming via graph transformations in the model driven architecture. In: Workshop on generative techniques in the context of model driven architecture, OOPSLA, Nov. 5, Seattle (2002)Google Scholar
  2. 2.
    Assmann, U.: How to uniformly specify program analysis and transformation. In: Proceedings of the six international conference on compiler construction (CC) ’96, LNCS 1060, Springer, Berlin Heidelberg New York (1996)Google Scholar
  3. 3.
    Assmann, U.: Aspect weaving by graph rewriting. Generative Component-based Software Engineering (GCSE), pp 24–36 (1999)Google Scholar
  4. 4.
    Bakay, A.: The UDM framework. Scholar
  5. 5.
    Bardohl R., Ehrig H., de Lara J., Taentzer G. (2004). Integrating meta modelling with graph transformation for efficient visual language definition and model manipulation. In: Wermelinger M., Margaria-Steffens T. (eds) Proceedings of the fundamental aspects of software engineering 2004, vol. 2984. Springer LNCS, Berlin Heidelberg New YorkGoogle Scholar
  6. 6.
    Blostein, D., Fahmy, H., Grbavec, A.: Practical use of graph rewriting. In: 5th workshop on graph grammars and their application to computer science, Lecture Notes in Computer Science, Heidelberg (1995)Google Scholar
  7. 7.
    Blostein D., Schürr A.(1999). Computing with graphs and graph rewriting. Softw. Pract. Exp. 29(3): 1–21CrossRefGoogle Scholar
  8. 8.
    Bredenfeld, A., Camposano, R.: Tool integration and construction using generated graph-based design representations. In: Proceedings of the 32nd ACM/IEEE conference on design automation conference, pp 94–99, June 12–16, 1995, San Francisco (1995)Google Scholar
  9. 9.
    Bunke, H.: Programmed graph grammars. In: Graph-Grammars and Their Application to Computer Science and Biology, pp 155–166, LNCS, Springer (1978)Google Scholar
  10. 10.
    Chen, K., Sztipanovits, J., Neema, S.: Toward a semantic anchoring infrastructure for domain-specific modeling languages. In: 5th ACM international conference on embedded software (EMSOFT’05) pp 35–43 (2005)Google Scholar
  11. 11.
    Cordes, B., Hölscher, K., Kreowski, H.: UML interaction diagrams: correct translation of sequence diagrams into collaboration diagrams. In: AGTIVE 2003 LNCS Vol 3062, Springer, Berlin Heidelberg New York, pp 275–291 (2004)Google Scholar
  12. 12.
    Csertan, Gy., Huszerl, G., Majzik, I., Pap, Zs., Pataricza, A., Varro, D.: VIATRA—visual automated transformations for formal verification and validation of uml models. In: IEEE conference on automated software engineering, pp 267 (2002)Google Scholar
  13. 13.
    DOME Guide, Honeywell, Inc. Morris Township, NJ (1999)Google Scholar
  14. 14.
    Dörr H.(1995). Efficient graph rewriting and its implementation. Lecture Notes in Computer Science, vol. 922. Springer, Berlin Heidelberg New YorkGoogle Scholar
  15. 15.
    Ehrig, H., Pfender, M., Schneider, H.J.: Graph-grammars: an algebraic approach. In: Proceedings IEEE conference on automata and switching theory, pp 167–180 (1973)Google Scholar
  16. 16.
    Engstrom, E., Krueger, J.: Building and rapidly evolving domain-specific tools with DOME. In: IEEE international symposium on computer-aided control system design, pp 83–88 (2000)Google Scholar
  17. 17.
    Fischer T., Niere J., Torunski L., Zündorf A. (1998). Story diagrams: a new graph rewrite language based on the unified modeling language. In: Engels G., Rozenberg G. (eds) Proceedings of the 6th international workshop on theory and application of graph transformation (TAGT), Paderborn, LNCS 1764. Springer, Berlin Heidelberg New York, pp 296–309Google Scholar
  18. 18.
    Göttler H.(1992). Diagram editors = graphs + attributes + graph grammars. Int. J. Man Mach. Stud. 37(4): 481–502CrossRefGoogle Scholar
  19. 19.
    Greenfield J., Short K., Cook S., Kent S.(2004). Software factories: assembling applications with patterns, models, frameworks, and tools. Wiley, New YorkGoogle Scholar
  20. 20.
    Heckel, R., Wagner, A.: Ensuring consistency of conditional graph rewriting—a constructive approach. Joint COMPUGRAPH/SEMAGRAPH workshop on graph rewriting and computation. Electr. Notes Theor. Comput. Sci. vol.2 (1995)Google Scholar
  21. 21.
    Henzinger, T.: The theory of hybrid automata. In: Proceedings of IEEE symposium on logic in computer science (LICS’96), pp 278–292. IEEE Press (1996)Google Scholar
  22. 22.
    Karsai G., Padalkar S., Franke H., Sztipanovits J.(1996). A practical method for creating plant diagnositics applications. Integr. Comput. Aided Eng. 3(4): 291–304Google Scholar
  23. 23.
    Kelly, S., Tolvanen, J.-P.: Visual domain-specific modelling: benefits and experiences of using metaCASE tools. In: Bezivin, J., Ernst, J. (ed) Proceedings of international workshop on model engineering, ECOOP 2000 (2000)Google Scholar
  24. 24.
    Kleín T., Nickel U., Niere J., Zündorf A.(1999). From UML to Java and back again. Tech. Rep. tr-ri-00-216. University of Paderborn, PaderbornGoogle Scholar
  25. 25.
    Kreowski H., Kuske S.(1999). Graph transformation units and modules. In: Ehrig H., Engels G., Kreowski H., Rozenberg G. (eds) Handbook of graph grammars and computing by graph transformation, Vol. 2. Applications, languages and tools. World Scientific, Singapore, pp 607–638Google Scholar
  26. 26.
    Lara J., Vangheluwe H.(2002). AToM3: a tool for multi-formalism and meta-modelling. In: Kutsche R., Weber H. (eds) Proceedings of the 5th international conference on fundamental approaches to software engineering (April 08–12, 2002). Lecture Notes In Computer Science, vol. 2306. Springer, London, pp 174–188Google Scholar
  27. 27.
    de Lara J., Taentzer G.(2004). Automated model transformation and its validation using AToM3 and AGG. In: Alan B., Kim M., Atsushi S. (eds) Diagrammatic representation and inference, LNAI 2980. Springer, Berlin Heidelberg New YorkGoogle Scholar
  28. 28.
    Ledeczi, A., Bakay, A., Maroti, M., Volgyesi, P., Nordstrom, G., Sprinkle, J., Karsai, G.: Composing domain-specific design environments. IEEE Comput. pp 44–51 (2001)Google Scholar
  29. 29.
    Long, E., Misra, A., Sztipanovits, J.: Increasing productivity at saturn. IEEE Comput pp 35–43 (1998)Google Scholar
  30. 30.
    Loyall J., Kaplan S.(1992). Visual concurrent programming with delta-grammars. J. Vis. Lang. Comput 3, 107–133CrossRefGoogle Scholar
  31. 31.
    Mason, K.: Moses formalism creation—tutorial. Computer Engineering and Networks Laboratory (TIK), Swiss Federal Institute of Technology Zurich, CH-8092, Switzerland (2000)Google Scholar
  32. 32.
    Maggiolo-Schettini, A., Peron, A.: A graph rewriting framework for statecharts semantics. In: Proceedings of the 5th international workshop on graph grammars and their application to computer science (1996)Google Scholar
  33. 33.
    McCarthy J.(1960). Recursive functions of symbolic expressions and their computation by machine I. Commun. ACM 3(1): 184–195CrossRefzbMATHGoogle Scholar
  34. 34.
    Mens, T., Van Gorp, P., Varro, D., Karsai, G.: Applying a model transformation taxonomy to graph transformation technology. In: Proceedings of the international workshop on graph and model transformation (GraMoT), Tallinn, Estonia. Electron. Notes Theoret. Comput. Sci. (to appear) (2005)Google Scholar
  35. 35.
    Meta-object facility, available from Scholar
  36. 36.
    The Model Driven Architecture,, OMG, Needham, 2002Google Scholar
  37. 37.
    Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: Proceedings of international conference on software engineering, pp 742–745 (2000)Google Scholar
  38. 38.
    Object Management Group, Object Constraint Language Specification, OMG Document formal/01-9-77. September 2001Google Scholar
  39. 39.
    OMG QVT submission, available from ad/2003-08-08Google Scholar
  40. 40.
    Radermacher, A.: Support for design patterns through graph transformation tools. In: Applications of graph transformation with industrial relevance, Monastery Rolduc, Kerkrade (1999)Google Scholar
  41. 41.
    Request for proposal: MOF 2.0 Query/Views/Transforma tions, OMG document: ad/2002-04-10, 2002, OMG, Needham (2002)Google Scholar
  42. 42.
    Rozenberg G.(1997). Handbook of graph grammars and computing by graph transformation. World Scientific, SingaporeGoogle Scholar
  43. 43.
    Rumbaugh J., Jacobson I., Booch G.(1998). The unified modeling language reference manual. Addison-Wesley, ReadingGoogle Scholar
  44. 44.
    Schmidt G., Berghammer R. (eds)(1991). Proceedings of the international workshop on graph-theoretic concepts in computer science. (WG ’91), LNCS 570. Springer, Berlin Heidelberg New YorkGoogle Scholar
  45. 45.
    Schürr, A.: Specification of graph translators with triple graph grammars. In: Proceedings WG’94 20th international. workshop on graph-theoretic concepts in computer science, LNCS 903, pp 151–163. Springer, Berlin Heidelberg New York (1994)Google Scholar
  46. 46.
    Schürr, A., Winter, A., Zündorf, A.: Graph grammar engineering with PROGRES. In: Proceedings ESEC ‘95, LNCS 989, pp 219–234. Barcelona, Spain (1995)Google Scholar
  47. 47.
    Sztipanovits, J., Karsai, G.: Model-integrated computing. IEEE Comput pp 110–112 (1997)Google Scholar
  48. 48.
    Taentzer, G.: Parallel and distributed graph transformation: formal description and application to communication-based systems. Ph.D. Thesis, TU Berlin, Shaker Verlag, Germany (1996)Google Scholar
  49. 49.
    Taentzer G.(2004). AGG: a graph transformation environment for modeling and validation of software. In: Pfaltz J., Nagl M., Boehlen B. (eds) Application of graph transformations with industrial relevance (AGTIVE’03), vol. 3062, LNCS. Springer, Berlin Heidelberg New YorkGoogle Scholar
  50. 50.
    Zeigler B.(1989). DEVS representation of dynamical systems: event-based intelligent control. Proc. IEEE 77(1): 72–80CrossRefGoogle Scholar
  51. 51.
    Zündorf A.(1996). Graph pattern matching in PROGRES. In: Cuny J., Ehrig H., Engels G., Rozenberg G. (eds) Proceedings fifth international workshop on graph grammars and their application to Computer Science, vol. 1073 of Lecture Notes in Computer Science. Springer, Berlin Heidelberg New York, pp 454–468CrossRefGoogle Scholar

Copyright information

© Springer-Verlag 2006

Authors and Affiliations

  • Aditya Agrawal
    • 1
  • Gabor Karsai
    • 1
    Email author
  • Sandeep Neema
    • 1
  • Feng Shi
    • 1
  • Attila Vizhanyo
    • 1
  1. 1.Institute for Software Integrated SystemsVanderbilt UniversityNashvilleUSA

Personalised recommendations