Skip to main content
Log in

The design of a language for model transformations

  • Special Issue Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

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.

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

Access this article

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. 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)

  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)

  3. Assmann, U.: Aspect weaving by graph rewriting. Generative Component-based Software Engineering (GCSE), pp 24–36 (1999)

  4. Bakay, A.: The UDM framework. http://www.isis.vanderbilt.edu/Projects/mobies/

  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 York

    Google Scholar 

  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)

  7. Blostein D., Schürr A.(1999). Computing with graphs and graph rewriting. Softw. Pract. Exp. 29(3): 1–21

    Article  Google Scholar 

  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)

  9. Bunke, H.: Programmed graph grammars. In: Graph-Grammars and Their Application to Computer Science and Biology, pp 155–166, LNCS, Springer (1978)

  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)

  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)

  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)

  13. DOME Guide, Honeywell, Inc. Morris Township, NJ (1999)

  14. Dörr H.(1995). Efficient graph rewriting and its implementation. Lecture Notes in Computer Science, vol. 922. Springer, Berlin Heidelberg New York

    Google Scholar 

  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)

  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)

  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–309

    Google Scholar 

  18. Göttler H.(1992). Diagram editors = graphs + attributes + graph grammars. Int. J. Man Mach. Stud. 37(4): 481–502

    Article  Google Scholar 

  19. Greenfield J., Short K., Cook S., Kent S.(2004). Software factories: assembling applications with patterns, models, frameworks, and tools. Wiley, New York

    Google Scholar 

  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)

  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)

  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–304

    Google Scholar 

  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)

  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, Paderborn

    Google Scholar 

  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–638

    Google Scholar 

  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–188

    Google Scholar 

  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 York

    Google Scholar 

  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)

  29. Long, E., Misra, A., Sztipanovits, J.: Increasing productivity at saturn. IEEE Comput pp 35–43 (1998)

  30. Loyall J., Kaplan S.(1992). Visual concurrent programming with delta-grammars. J. Vis. Lang. Comput 3, 107–133

    Article  Google Scholar 

  31. Mason, K.: Moses formalism creation—tutorial. Computer Engineering and Networks Laboratory (TIK), Swiss Federal Institute of Technology Zurich, CH-8092, Switzerland (2000)

  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)

  33. McCarthy J.(1960). Recursive functions of symbolic expressions and their computation by machine I. Commun. ACM 3(1): 184–195

    Article  MATH  Google Scholar 

  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)

  35. Meta-object facility, available from http://www.omg.org/mof

  36. The Model Driven Architecture, http://www.omg.org/mda/, OMG, Needham, 2002

  37. Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: Proceedings of international conference on software engineering, pp 742–745 (2000)

  38. Object Management Group, Object Constraint Language Specification, OMG Document formal/01-9-77. September 2001

  39. OMG QVT submission, available from http://www.omg.org/ ad/2003-08-08

  40. Radermacher, A.: Support for design patterns through graph transformation tools. In: Applications of graph transformation with industrial relevance, Monastery Rolduc, Kerkrade (1999)

  41. Request for proposal: MOF 2.0 Query/Views/Transforma tions, OMG document: ad/2002-04-10, 2002, OMG, Needham (2002)

  42. Rozenberg G.(1997). Handbook of graph grammars and computing by graph transformation. World Scientific, Singapore

    Google Scholar 

  43. Rumbaugh J., Jacobson I., Booch G.(1998). The unified modeling language reference manual. Addison-Wesley, Reading

    Google Scholar 

  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 York

    Google Scholar 

  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)

  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)

  47. Sztipanovits, J., Karsai, G.: Model-integrated computing. IEEE Comput pp 110–112 (1997)

  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)

  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 York

    Google Scholar 

  50. Zeigler B.(1989). DEVS representation of dynamical systems: event-based intelligent control. Proc. IEEE 77(1): 72–80

    Article  Google Scholar 

  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–468

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gabor Karsai.

Additional information

Communicated By Dr. Reiko Heckel.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Agrawal, A., Karsai, G., Neema, S. et al. The design of a language for model transformations. Softw Syst Model 5, 261–288 (2006). https://doi.org/10.1007/s10270-006-0027-7

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-006-0027-7

Keywords

Navigation