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.
Similar content being viewed by others
References
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)
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)
Assmann, U.: Aspect weaving by graph rewriting. Generative Component-based Software Engineering (GCSE), pp 24–36 (1999)
Bakay, A.: The UDM framework. http://www.isis.vanderbilt.edu/Projects/mobies/
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
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)
Blostein D., Schürr A.(1999). Computing with graphs and graph rewriting. Softw. Pract. Exp. 29(3): 1–21
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)
Bunke, H.: Programmed graph grammars. In: Graph-Grammars and Their Application to Computer Science and Biology, pp 155–166, LNCS, Springer (1978)
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)
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)
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)
DOME Guide, Honeywell, Inc. Morris Township, NJ (1999)
Dörr H.(1995). Efficient graph rewriting and its implementation. Lecture Notes in Computer Science, vol. 922. Springer, Berlin Heidelberg New York
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)
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)
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
Göttler H.(1992). Diagram editors = graphs + attributes + graph grammars. Int. J. Man Mach. Stud. 37(4): 481–502
Greenfield J., Short K., Cook S., Kent S.(2004). Software factories: assembling applications with patterns, models, frameworks, and tools. Wiley, New York
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)
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)
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
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)
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
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
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
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
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)
Long, E., Misra, A., Sztipanovits, J.: Increasing productivity at saturn. IEEE Comput pp 35–43 (1998)
Loyall J., Kaplan S.(1992). Visual concurrent programming with delta-grammars. J. Vis. Lang. Comput 3, 107–133
Mason, K.: Moses formalism creation—tutorial. Computer Engineering and Networks Laboratory (TIK), Swiss Federal Institute of Technology Zurich, CH-8092, Switzerland (2000)
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)
McCarthy J.(1960). Recursive functions of symbolic expressions and their computation by machine I. Commun. ACM 3(1): 184–195
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)
Meta-object facility, available from http://www.omg.org/mof
The Model Driven Architecture, http://www.omg.org/mda/, OMG, Needham, 2002
Nickel, U., Niere, J., Zündorf, A.: The FUJABA environment. In: Proceedings of international conference on software engineering, pp 742–745 (2000)
Object Management Group, Object Constraint Language Specification, OMG Document formal/01-9-77. September 2001
OMG QVT submission, available from http://www.omg.org/ ad/2003-08-08
Radermacher, A.: Support for design patterns through graph transformation tools. In: Applications of graph transformation with industrial relevance, Monastery Rolduc, Kerkrade (1999)
Request for proposal: MOF 2.0 Query/Views/Transforma tions, OMG document: ad/2002-04-10, 2002, OMG, Needham (2002)
Rozenberg G.(1997). Handbook of graph grammars and computing by graph transformation. World Scientific, Singapore
Rumbaugh J., Jacobson I., Booch G.(1998). The unified modeling language reference manual. Addison-Wesley, Reading
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
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)
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)
Sztipanovits, J., Karsai, G.: Model-integrated computing. IEEE Comput pp 110–112 (1997)
Taentzer, G.: Parallel and distributed graph transformation: formal description and application to communication-based systems. Ph.D. Thesis, TU Berlin, Shaker Verlag, Germany (1996)
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
Zeigler B.(1989). DEVS representation of dynamical systems: event-based intelligent control. Proc. IEEE 77(1): 72–80
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
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated By Dr. Reiko Heckel.
Rights 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
Received:
Accepted:
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10270-006-0027-7