Synchronization of abstract and concrete syntax in domain-specific modeling languages

Modern domain-specific modeling (DSM) frameworks provide refined techniques for developing new languages based on the clear separation of conceptual elements of the language (called abstract syntax) and their graphical visual representation (called concrete syntax). This separation is usually achieved by recording traceability information between the abstract and concrete syntax using mapping models. However, state-of-the-art DSM frameworks impose severe restrictions on traceability links between elements of the abstract syntax and the concrete syntax. In the current paper, we propose a mapping model which allows to define arbitrarily complex mappings between elements of the abstract and concrete syntax. Moreover, we demonstrate how live model transformations can complement mapping models in providing bidirectional synchronization and implicit traceability between models of the abstract and the concrete syntax. In addition, we introduce a novel architecture for DSM environments which enables these concepts, and provide an overview of the tool support.

[1]  Jean-Marc Jézéquel,et al.  Model-Driven analysis and synthesis of concrete syntax , 2006, MoDELS'06.

[2]  Dániel Varró,et al.  Design-time simulation of domain-specific models by incremental pattern matching , 2008, 2008 IEEE Symposium on Visual Languages and Human-Centric Computing.

[3]  Klaus R. Dittrich,et al.  The active database management system manifesto: a rulebase of ADBMS features , 1995, SGMD.

[4]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 2: applications, languages, and tools , 1999 .

[5]  Richard F. Paige,et al.  The Epsilon Generation Language , 2008, ECMDA-FA.

[6]  Steven G. Johnson,et al.  The Design and Implementation of FFTW3 , 2005, Proceedings of the IEEE.

[7]  Dániel Varró,et al.  Graph Transformation in Relational Databases , 2005, GraBaTs.

[8]  Jack Greenfield,et al.  Software factories: assembling applications with patterns, models, frameworks and tools , 2004, OOPSLA '03.

[9]  I. Majzik,et al.  Model-based Integration, Execution and Certification of Development Tool-chains , 2009 .

[10]  Andy Schürr,et al.  Specification of Graph Translators with Triple Graph Grammars , 1994, WG.

[11]  Mikael Berndtsson,et al.  Design and Implementation of an ECA Rule Markup Language , 2005, RuleML.

[12]  Ákos Horváth,et al.  A Benchmark Evaluation of Incremental Pattern Matching in Graph Transformation , 2008, ICGT.

[13]  Andy Schürr,et al.  Model transformation in the large , 2007, ESEC-FSE '07.

[14]  Ståle Walderhaug,et al.  Towards a Generic Solution for Traceability in MDD , 2006 .

[15]  Michael Lawley,et al.  Incremental model transformation for the evolution of model-driven systems , 2006, MoDELS'06.

[16]  Holger Giese,et al.  Incremental model synchronization with triple graph grammars , 2006, MoDELS'06.

[17]  Dániel Varró,et al.  Implementing a Graph Transformation Engine in Relational Databases , 2006, Software & Systems Modeling.

[18]  V. S. Subrahmanian,et al.  Maintaining views incrementally , 1993, SIGMOD Conference.

[19]  Hassan Charaf,et al.  A Systematic Approach to Metamodeling Environments and Model Transformation Systems in VMTS , 2005, GraBaTs.

[20]  Jennifer Widom,et al.  Database Systems: The Complete Book , 2001 .

[21]  Perdita Stevens A Simple Game-Theoretic Approach to Checkonly QVT Relations , 2009, ICMT@TOOLS.

[22]  R. Stärk,et al.  Abstract State Machines , 2003, Springer Berlin Heidelberg.

[23]  Gabor Karsai,et al.  On the Use of Graph Transformation in the Formal Specification of Model Interpreters , 2003, J. Univers. Comput. Sci..

[24]  István Ráth,et al.  Incremental pattern matching in the viatra model transformation system , 2008, GRaMoT '08.

[25]  Juan de Lara,et al.  AToM3: A Tool for Multi-formalism and Meta-modelling , 2002, FASE.

[26]  Juan de Lara,et al.  Event-driven grammars: relating abstract and concrete levels of visual languages , 2007, Software & Systems Modeling.

[27]  John C. Grundy,et al.  Pounamu: A Meta-Yool for Multi-View Visual Language Environment Construction , 2004, 2004 IEEE Symposium on Visual Languages - Human Centric Computing.

[28]  Dániel Varró,et al.  The model transformation language of the VIATRA2 framework , 2007, Sci. Comput. Program..

[29]  Joël Champeau,et al.  Model Engineering and traceability , 2003 .

[30]  Patrick Valduriez,et al.  Towards the efficient development of model transformations using model weaving and matching transformations , 2009, Software & Systems Modeling.

[31]  Gabriele Taentzer,et al.  Generation of visual editors as eclipse plug-ins , 2005, ASE.

[32]  Hartmut Ehrig,et al.  Conceptual Model of the Graphical Editor GENGED for the Visual Definition of Visual Languages , 1998, TAGT.

[33]  Hartmut Ehrig,et al.  Handbook of graph grammars and computing by graph transformation: vol. 3: concurrency, parallelism, and distribution , 1999 .

[34]  Egon Börger,et al.  Abstract State Machines. A Method for High-Level System Design and Analysis , 2003 .

[35]  Alexander Egyed,et al.  Instant consistency checking for the UML , 2006, ICSE.

[36]  Egon Börger,et al.  Abstract State Machines , 2003 .

[37]  James Davis,et al.  GME: the generic modeling environment , 2003, OOPSLA '03.

[38]  Bernhard Westfechtel,et al.  Model-based a-posteriori integration of engineering tools for incremental development processes , 2004, Software & Systems Modeling.

[39]  Andy Schürr,et al.  Introduction to PROGRESS, an Attribute Graph Grammar Based Specification Language , 1990, WG.

[40]  Andy Schürr,et al.  Non-materialized Model View Specification with Triple Graph Grammars , 2006, ICGT.

[41]  Mark Minas,et al.  Generating Diagram Editors Providing Free-Hand Editing as well as Syntax-Directed Editing , 2000 .

[42]  José Júlio Alferes,et al.  An Event-Condition-Action Logic Programming Language , 2006, JELIA.

[43]  Dániel Varró,et al.  Graph Transformation with Incremental Updates , 2004, GT-VMT@ETAPS.

[44]  Gregory H. Harris,et al.  Review of "Abstract state machines: a method for high-level system design and analysis" by Egon Börger and Robert Stärk. Springer-Verlag 2003. , 2004, SOEN.

[45]  Dániel Varró,et al.  Live Model Transformations Driven by Incremental Pattern Matching , 2008, ICMT@TOOLS.

[46]  Daniel Amyot,et al.  Evaluation of Development Tools for Domain-Specific Modeling Languages , 2006, SAM.