Andy Schürr, TU Darmstadt
Introduction to Triple Graph Grammars - The History (pdf, 492 kB)

35 years ago T.W. Pratt invented pair grammars (PGs), probably the first declarative model transformation approach of the world. It was mainly designed to translate string into graph languages and vice versa. 23 years later on PGs were rediscovered and generalized to triple graph grammars (TGGs) which support the bidirectional translation and co-evolution of pairs of models (graphs). Nowadays quite a number of different groups around the world are working in parallel to
  • adapt TGGs to different application scenarios
  • fill the gaps of their formal definition
  • generalize them to handle multiple sources and targets
  • come up with efficient and versatile implementations
and so forth. In this presentation the original definition of and nomenclatura for TGGs will be briefly summarized and a (long) list of problems presented that were not addressed in the original TGG publication. We will see later on in the workshop whether these problems have been solved in the mean-time and construct a new list of still open "grand TGG challenges".



Pieter Van Gorp, University of Antwerp
A Taxonomy for Transformation Languages (pdf, 454 kB)

This talk proposes a taxonomy of model transformation languages, based on the discussions of a working group on model transformation of the Dagstuhl seminar on Language Engineering for Model-Driven Software Development. This taxonomy can be used, among others, to help developers in deciding which model transformation language or tool is best suited to carry out a particular model transformation activity.

Suggested Reading



Hans Vangheluwe, McGill University
Model Consistency Checking in AToM3 using TGGs (pdf, 1.360 kB)

The presentation will introduce the component modelling language MiCo and show how different kinds of consistency -- syntactic, static semantics and dynamic (timing) constraints -- can be checked. MiCo has several views for structural and behaviour specification. The latter includes a view for specifying protocols for the component ports. For this view, we introduce a higraph-based notation to describe timed event regular languages. The language has been defined using a meta-modelling approach using the AToM3 tool. The different diagrams of the language are defined by selecting the necessary elements from the global meta-model. In the generated environment, syntactic consistency is automatically achieved by building a unique model, gluing the different view models that the users have built. The gluing is performed by executing some automatically generated triple graph grammars. In addition, the designer can specify additional triple rules for static semantics consistency checking. As an example of dynamic semantics checking, we show how, when connecting two ports, event language inclusion can be checked, taking into account the timing constraints.



Simon Becker, RWTH Aachen
Deriving Integrator Prototypes from Rule Specifications (pdf, 3.028 kB)

Using an example from a chemical engineering development process, we will demonstrate how an integrator prototype is derived from a model specifying integration rules and how it can be applied in a short demo scenario. The derivation of the prototype follows the concepts introduced in the presentation sketched above. The protoype is realized using PROGRES and the UPGRADE framework. If there is enough time we can also give a short glance at our alternative realization using a C++-based integrator framework for building integrators that can be used in real-world development processes.



Alexander Königs, TU Darmstadt
Integrating Triple Graph Grammars with MOF(LON) (pdf, 531 kB)

Rather recently triple graph grammars have been added to the MOFLON metamodeling environment, which is a plug-in of the Fujaba tool suite. MOFLON's triple graph grammar tool consists of 1) an adapted version of Fujaba's TGG rule editor developed at the University of Paderborn, a TGG schema editor that mainly supports integration of MOF metamodels, and a new operational rule derivation strategy that meets the requirements of DaimlerChrysler's and EXTESSY AG's tool integration framework ToolNet. We will present the development of a tool integration between the requirements engineering tool DOORS and the UML CASE tool Enterprise Architect (EA) as a life MOFLON tool demonstration, where 1) JMI-standard compatible Java interfaces for DOORS and EA are generated from MOF metamodels and then manually implemented on top the APIs of these tools, 2) traceability relationships and transformation rules are specified using the MOFLON TGG implementation, and 3) operational model transformations are then generated that check consistency of DOORS and EA data and propagate changes from DOORS to EA and vice-versa.


Joel Greenyer, University of Paderborn
Reconciling TGGs with QVT (pdf, 978 kB)

QVT (Query/Views/Transformations) is the upcoming OMG standard for the transformation of MOF models. A closer review of QVT shows that parts of this specification are structurally quite similar to Triple Graph Grammars (TGGs). Therefore, it is shown how QVT can be implemented by TGGs through a structural mapping of both rule models. A TGG interpreter was implemented for this purpose to allow the transformation of EMF models. So, QVT rules can be transformed into TGG rules which are then applied to perform the model transformation. This reconciliation of both formalisms provides improvements to TGGs as well as a graph grammar based implementation of QVT.



Robert Wagner
Incremental Model Synchronization with Triple Graph Grammars (pfd, 569kB)

The advent of model-driven software development has put model transformations into focus. In practice, model transformations are expected to be applicable in different stages of a development process and help to consistently propagate changes between the different involved models which we refer to as model synchronization. However, most approaches do not fully support the requirements for model synchronization today and focus only on classical one-way batch-oriented transformations. In this paper, we present our approach for an incremental model transformation which supports model synchronization. Our approach employs the visual, formal, and bidirectional transformation technique of triple graph grammars. Using this declarative specification formalism, we focus on the efficient execution of the transformation rules and present our approach to achieve an incremental model transformation for synchronization purposes. We present an evaluation of our approach and demonstrate that due to the speedup for the incremental processing in the average case even larger models can be tackled.

Suggested Reading



Simon Becker, RWTH Aachen
Interactive Execution of Triple Graph Grammars (pdf, 1.874 kB)

In the CRC IMRPOVE, we use triple graph grammar-based integrators for keeping engineering documents consistent to each other. As rule specifications for this area of application can neither be complete nor unambiguous, interactive execution of triple graph grammars is required. The main idea for providing user interaction is to separate pattern matching and pattern rewriting during rule execution and performing conflict detection on the matched patterns. To achieve this, each TGG forward, backward, and correspondence analysis rules is translated to multiple graph transformations and these are executed together with some generic graph transformations in an integration algorithm. Besides interaction, integrators support incremental and bidirectional integration as well.



Pieter Van Gorp, University of Antwerp
Hybrid Transformation Modeling (pdf, 657 kB)

Today's model-driven engineering tools focus on the automatic transformation of software models and lack essential support for interacting with developers. This talk presents some lessons learned from building a standard compliant platform for the visual development of interactive consistency maintenance software. Based on an established requirements engineering case study, the talk illustrates the need for developer interaction and the controlled tolerance of inconsistencies.
By using this small, yet complex, case study as a model transformation language benchmark, advantages and limitations of several language paradigms can be identified. On the one hand, declarative languages only support the specification of constraints that need to be maintained by a transformation. This limitation enables engines to apply default transformation strategies for handling common cases of constraint violation. On the other hand, imperative languages support the explicit specification of model updates. This additional expressiveness comes at the cost of more verbose specifications. Therefore, we are investigating two ways for reconciling the conciseness of Triple Graph Grammars with the expressiveness of Story Diagrams: (1) a hybrid transformation language that merges the features of the two languages and (2) a layered language architecture that enables one to make manual adjustments to the operational rules derived from triple rules.

Suggested Reading 1
Suggested Reading 2



Johannes Jakob, TU Darmstadt
Specifying Model Views with Triple Graph Grammars (pdf, 423 kB)

Model-based tool data transformation and integration are crucial tasks in software and system development relying on modeldriven development (MDD). Since the tool-specific meta models of the involved system development tools are often too generic and lack the desired level of abstraction, it is inappropriate to specify model transformation and integration rules on top of them. Domain-specific views on tool-specific meta models are needed which provide meaningful information on a higher level of abstraction. Current approaches usually consider a view as a separate model which has to be kept consistent with the tool’s model and, thus, duplicate the data. In this paper we discuss different implementations of our declarative view specification approach called VTGG that are based on modified triple graph grammars. As a result we come up with an implementation with non-materialized views that avoids the duplication of data.


Jens H. Weber-Jahnke
A possible application of TGGs in health data mediation (pdf, 2.078 kB)

The cost of new treatments and an aging population are putting pressure on health care systems in many western countries. Electronic health data integration has great potential to counteract this pressure, because it avoids duplicate services and provides the basis for a more informed decision making process. Since different health authorities, jurisdictions and organizations have been using different forms of representing medical data,  a key challenge in federating medical information systems consists of resolving this data heterogeneity. Standards organizations have tried to tackle this problem top-down by proposing standard data formats. However, the large diversity of medical information to be exchanged impedes their success in practice. Therefore, rather than proposing an exhaustive list of medical data structures, standards organizations such as HL7 have started to push the adoption of a common domain ontology and a transformation-based development process that uses this ontology to derive specific medical data structures. Theoretically, this approach should enable (semi-)automatic mediation between  different medical data structures that have been developed in this way. In practice, however, this is not yet possible, since the transformational development process lacks a sound formal definition. Graph Grammars may be a way to provide this formal definition and Triple Graph Grammars may be a means to formalize and automate data mediation between heterogeneous sites.



Ekkart Kindler
Triple Graph Grammars in Practice - a Summary (pdf, 542 Kb)

In this talk, we will report on some experience on using TGGs in practise, where the focus will be on the use of a TGG interpreter in ComponentTools for transforming models between different notations from formal methods. Based on this experience, we will draw some conclusions on what is important for TGGs and on future research directions.

Kontakt

Technische Universität Darmstadt

Institut für Datentechnik

Fachgebiet Echtzeitsysteme

Prof. Dr. rer. nat. Andy Schürr

Geb. S3|06 (3. Stock, Raum 313)

Merckstr. 25

64283 Darmstadt

+49 6151 16-6940
+49 6151 16-6942


A A A | Drucken | Impressum | Sitemap | Suche | Kontakt
Zum SeitenanfangZum Seitenanfang