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.