Skip to main content

2010 | Buch

Theory and Practice of Model Transformations

Third International Conference, ICMT 2010, Malaga, Spain, June 28-July 2, 2010. Proceedings

herausgegeben von: Laurence Tratt, Martin Gogolla

Verlag: Springer Berlin Heidelberg

Buchreihe : Lecture Notes in Computer Science

insite
SUCHEN

Über dieses Buch

Model transformations are the glue that tie modelling activities together. If you’ve used modelling in anger then, whether you know it or not, you’ve used model transformations. They come in all shapes and sizes from moving models between di?erent tools to generating implementations. Model transformations have humble beginnings—at one point, not long ago, it was said by many ‘in the know’ that the way forward in model transformations was to use XSLT. That this idea now raises a wry smile shows how far the model transformation community has come in a short time. Where once model transformations were hacked together in a variety of unsuitable languages, we now have a number of powerful, dedicated languages and theories at our disposal. Since 2008, the ICMT conference series has played a huge part in advancing the subject, and this third edition was no di?erent. The theories and languages presented at ICMT have allowed principled model transformations to play an ever greater part in real systems. Of course there is still much more to do: we need our model transformations, languages, and theories to scale further, allow greater expressivity, be more ?exible, and aid reusability; and we lack empirically backed studies of model transformations in use. Doubtless you can think of other gaps. Yet, though some real-world challenges lie just beyond our reach,eachyearseesonce-dauntingproblemsconquered.Muchofthatprogressis nowdriven byICMT, andthis year’sedition showedhow model transformations are increasingly being used in previously unfamiliar areas.

Inhaltsverzeichnis

Frontmatter

Invited Paper

Search Computing: A Model-Driven Perspective
Abstract
Search Computing is a novel discipline that focuses on exploratory search of multi-domain Web queries like "Where can I attend an interesting conference in my field close to a sunny beach?". The approach is based on the interaction between cooperating search services, using ranking and joining of results as the dominant factors for service composition. This paper sketches the main characteristics of search computing and discusses how software engineering and model-driven engineering are challenged by the search computing problems. We present Search Computing applications from a model-driven perspective, in terms of (1) the models describing the objects of interest, (2) the specification of applications through model transformations, and (3) the definition of a domain specific language (DSL) defined for the specification of search query plans. This work provides a first exploration of MDE approaches applied to search computing and poses a set of challenges to the model transformation community.
Marco Brambilla, Stefano Ceri, Massimo Tisi

Research Papers

Domain-Specific Composition of Model Deltas
Abstract
We present a general approach to the incremental development of model-based applications using endogenous transformations, i.e. transformations whose input and output models conform to the same metamodel. Our work describes these transformations as model deltas that, when composed, deliver a complete model. We establish a relationship between a metamodel and its corresponding delta metamodel, show how model deltas can be defined as model changes (additions), explain how deltas can be composed using domain-specific composition algorithms, and propose metamodel annotations to specify these algorithms. We present different case studies as proofs of concept.
Maider Azanza, Don Batory, Oscar Díaz, Salvador Trujillo
Temporal Model-Based Diagnostics Generation for HVAC Control Systems
Abstract
Optimizing energy usage in buildings requires global models that integrate multiple factors contributing to energy, such as lighting, “Heating, Ventilating, and Air Conditioning” (HVAC), security, etc. Model transformation methods can then use these global models to generate application-focused code, such as diagnostics or control code. In this paper we focus on using model transformation techniques to generate model-based diagnostics (MBD) models from “global” building systems models. This work describes the automated generation of models for MBD by considering control systems which are described through behavior that also relies on the state of the system.
Our approach contributes to model-driven development of complex systems by extending model consistency up to models for diagnostics. We transform hybrid-systems (HS) models into models based on propositional temporal logic with timing abstracted through sequentiality, and illustrate the transformation process through a simple example.
Marion Behrens, Gregory Provan
Synthesis of OCL Pre-conditions for Graph Transformation Rules
Abstract
Graph transformation (GT) is being increasingly used in Model Driven Engineering (MDE) to describe in-place transformations like animations and refactorings. For its practical use, rules are often complemented with OCL application conditions. The advancement of rule post-conditions into pre-conditions is a well-known problem in GT, but current techniques do not consider OCL. In this paper we provide an approach to advance post-conditions with arbitrary OCL expressions into pre-conditions. This presents benefits for the practical use of GT in MDE, as it allows: (i) to automatically derive pre-conditions from the meta-model integrity constraints, ensuring rule correctness, (ii) to derive pre-conditions from graph constraints with OCL expressions and (iii) to check applicability of rule sequences with OCL conditions.
Jordi Cabot, Robert Clarisó, Esther Guerra, Juan de Lara
From State- to Delta-Based Bidirectional Model Transformations
Abstract
Existing bidirectional model transformation languages are mainly state-based: a transformation is considered composed from functions whose inputs and outputs only consist of original and updated models, but alignment relationships between the models are not specified. In the paper we identify and discuss three major problems caused by this under-specification. We then propose a novel formal framework based on a graphical language: models are nodes and updates are arrows, and show how the three problems can be fixed.
Zinovy Diskin, Yingfei Xiong, Krzysztof Czarnecki
A Constructive Approach to Testing Model Transformations
Abstract
This paper concerns a formal encoding of the Object Management Group’s Complete Meta-Object Facility (CMOF) in order to provide a more trustworthy software development lifecycle for Model Driven Architecture (MDA). We show how a form of constructive logic can be used to provide a uniform semantics of metamodels, model transformation specifications, model transformations and black-box transformation tests. A model’s instantiation of a metamodel within the MOF is treated using the logic’s realizability relationship, a kind of type inhabitation relationship that is expressive enough to characterize constraint conformance between terms and types. These notions enable us to formalize the notion of a correct model instantiation of a metamodel with constraints. We then adapt previous work on snapshot generation to generate input models from source metamodel specification with the purpose of testing model transformations.
Camillo Fiorentini, Alberto Momigliano, Mario Ornaghi, Iman Poernomo
From Sequence Diagrams to State Machines by Graph Transformation
Abstract
Algebraic graph transformation has been promoted by several authors as a means to specify model transformations. This paper explores how we can specify graph transformation-based rules for a classical problem of transforming from sequence diagrams to state machines. The transformation rules are based on the concrete syntax of sequence diagrams and state machines. We introduce tailored transformation support for sequence diagrams and a novel graphical operator to match and transform combined fragments.
Roy Grønmo, Birger Møller-Pedersen
Safe Composition of Transformations
Abstract
Model transformations are at the heart of Model-Driven Software Development (MDSD) and, once composed in transformation chains to MDSD processes, allow for the development of complex systems and their automated derivation. While there already exist various approaches to specify and execute such MDSD processes, only few of them draw focus on ensuring the validity of the transformation chains, and thus, safe composition of transformations. In this paper, we present the TraCo composition system, which overcomes these limitations and evaluate and discuss the approach based on two case studies.
Florian Heidenreich, Jan Kopcsek, Uwe Aßmann
Towards Incremental Execution of ATL Transformations
Abstract
Up to now, the execution of ATL transformations has always followed a two-step algorithm: 1) matching all rules, 2) applying all matched rules. This algorithm does not support incremental execution. For instance, if a source model is updated, the whole transformation must be executed again to get the updated target model.
In this paper, we present an incremental execution algorithm for ATL, as well as a prototype. With it, changes in a source model are immediately propagated to the target model. Our approach leverages previous works of the community, notably on live transformations and incremental OCL. We achieve our goal on a subset of ATL, without requiring modifications to the language.
Frédéric Jouault, Massimo Tisi
Constructing and Navigating Non-invasive Model Decorations
Abstract
Model-Driven Engineering tasks, such as simulation or transformation, often cannot be carried out directly on the models at hand; models often need to be decorated with additional information, and this information is in some cases not accounted for by existing metamodels. Moreover, engineers often need to experiment with alternative and complementary types of model decorations, particularly when carrying out more exploratory styles of development. Heavyweight approaches to decoration are not convenient in such situations. In this paper we demonstrate the limitations of existing model decoration mechanisms and tools, and present a novel approach that enables engineers to capture decoration information in the form of separate interchangeable models. The approach allows engineers to transparently and programmatically navigate decorations as if they were embedded in the decorated model.
Dimitrios S. Kolovos, Louis M. Rose, Nikolaos Drivalos Matragkas, Richard F. Paige, Fiona A. C. Polack, Kiran J. Fernandes
Model-to-Model Transformations By Demonstration
Abstract
During the last decade several approaches have been proposed for easing the burden of writing model transformation rules manually. Among them are Model Transformation By-Demonstration (MTBD) approaches which record actions performed on example models to derive general operations. A current restriction of MTBD is that until now they are only available for in-place transformations, but not for model-to-model (M2M) transformations.
In this paper, we extend our MTBD approach, which is designed for in-place transformations, to also support M2M transformations. In particular, we propose to demonstrate each transformation rule by modeling a source model fragment and a corresponding target model fragment. From these example pairs, the applied edit operations are computed which are input for a semi-automatic process for deriving the general transformation rules. For showing the applicability of the approach, we developed an Eclipse-based prototype supporting the generation of ATL code out of EMF-based example models.
Philip Langer, Manuel Wimmer, Gerti Kappel
Implementing Business Process Recovery Patterns through QVT Transformations
Abstract
Traditionally, software maintenance takes only technical information into account to evolve legacy systems. However, business knowledge, which could help to improve the comprehension of legacy systems, is rarely recovered. Probably, that knowledge is not considered due to the fact that business knowledge recovery is a problem with a non trivial solution. This paper contributes to the solution of this problem through the use of a set of patterns and the implementation through QVT transformations, which takes KDM (Knowledge Discovery Metamodel) models concerning the system and obtains BPMN (Business Processes Model and Notation) models to represent the embedded business knowledge. A case study reports that the transformation obtains cohesive and loosely-coupling business processes diagrams; and it is scalable to large systems. As a consequence, the business processes recovery can enhance the maintenance since they provide the business concept location in legacy systems, among other improvements.
Ricardo Pérez-Castillo, Ignacio García-Rodríguez de Guzmán, Mario Piattini
Model Migration with Epsilon Flock
Abstract
In their recent book, Mens and Demeyer state that Model-Driven Engineering introduces additional challenges for controlling and managing software evolution. Today, tools exist for generating model editors and for managing models with transformation, validation, merging and weaving. There is limited support, however, for model migration - a development activity in which instance models are updated in response to metamodel evolution. In this paper, we describe Epsilon Flock, a model-to-model transformation language tailored for model migration that contributes a novel algorithm for relating source and target model elements. To demonstrate its conciseness, we compare Flock to other approaches.
Louis M. Rose, Dimitrios S. Kolovos, Richard F. Paige, Fiona A. C. Polack
Exceptional Transformations
Abstract
As model transformations are increasingly used in model-driven engineering, the dependability of model transformation systems becomes crucial to model-driven development deliverables. As any other software, model transformations can contain design faults, be used in inappropriate ways, or may be affected by problems arising in the transformation execution environment at run-time. We propose in this paper to introduce exception handling into model transformation languages to increase the dependability of model transformations. We first introduce a classification of different kinds of exceptions that can occur in the context of model transformations. We present an approach in which exceptions are modelled in the transformation language and the transformation designer is given constructs to define exception handlers to recover from exceptional situations. This facilitates the debugging of transformations at design time. It also enables the design of fault-tolerant transformations that continue to work reliably even in the context of design faults, misuse, or faults in the execution environment.
Eugene Syriani, Jörg Kienzle, Hans Vangheluwe
Improving Higher-Order Transformations Support in ATL
Abstract
In Model-Driven Engineering (MDE), Higher-Order Transformations (HOTs) are model transformations that analyze, produce or manipulate other model transformations. In a previous survey we classified them, and showed their usefulness in different MDE scenarios. However, writing HOTs is generally considered a time-consuming and error-prone task, and often results in verbose code.
In this paper we present several proposals to facilitate the definition of HOTs in ATL. Each proposal focuses on a specific kind of scenario. We validate our proposals by assessing their impact over the full list of HOTs described in the survey.
Massimo Tisi, Jordi Cabot, Frédéric Jouault
Towards a Rewriting Logic Semantics for ATL
Abstract
As the complexity of model transformation (MT) grows, the need to count on formal semantics of MT languages also increases. Firstly, formal semantics provide precise specifications of the expected behavior of transformations, which are crucial for both MT users (to be able to understand them and to use them properly) and MT tool builders (to develop correct MT engines, optimizers, etc.). Secondly, we need to be able to reason about the MTs to prove their correctness. This is specially important in case of large and complex MTs (with, e.g., hundreds or thousands of rules) for which manual debugging is no longer possible. In this paper we present a formal semantics to the ATL model transformation language using rewriting logic and Maude, which allows addressing these issues. This formalization provides additional benefits, such as enabling the simulation of the specifications or giving access to the Maude toolkit to reason about them.
Javier Troya, Antonio Vallecillo
Metamodel Matching Based on Planar Graph Edit Distance
Abstract
A prerequisite for implementing a model transformation is a mapping between metamodel elements. A mapping consists of matches and requires the task of discovering semantic correspondences between elements. This task is called metamodel matching. Recently, semi-automatic matching has been proposed to support transformation development by mapping generation.
However, current matching approaches utilize labels, types and similarity propagation approaches rather than graph isomorphism as structural matching. In constrast, we propose to apply an efficient approximate graph edit distance algorithm and present the necessary adjustments and extensions of the general algorithm as well as an optimization with ranked partial seed mappings. We evaluated the algorithm using 20 large-size mappings demonstrating effectively the improvements, especially regarding the correctness of matches found.
Konrad Voigt, Thomas Heinze
Surviving the Heterogeneity Jungle with Composite Mapping Operators
Abstract
Model transformations play a key role in the vision of Model-Driven Engineering. Nevertheless, mechanisms like abstraction, variation and composition for specifying and applying reusable model transformations – like urgently needed for resolving recurring structural heterogeneities – are insufficiently supported so far. Therefore, we propose to specify model transformations by a set of pre-defined mapping operators (MOps), each resolving a certain kind of structural heterogeneity. Firstly, these MOps can be used in the context of arbitrary metamodels since they abstract from concrete metamodel types. Secondly, MOps can be tailored to resolve certain structural heterogeneities by means of black-box reuse. Thirdly, based on a systematic set of kernel MOps resolving basic heterogeneities, composite ones can be built in order to deal with more complex scenarios. Finally, an extensible library of MOps is proposed, allowing for automatically executable mapping specifications since every MOp exhibits a clearly defined operational semantics.
Manuel Wimmer, Gerti Kappel, Angelika Kusel, Werner Retschitzegger, Johannes Schoenboeck, Wieland Schwinger
Backmatter
Metadaten
Titel
Theory and Practice of Model Transformations
herausgegeben von
Laurence Tratt
Martin Gogolla
Copyright-Jahr
2010
Verlag
Springer Berlin Heidelberg
Electronic ISBN
978-3-642-13688-7
Print ISBN
978-3-642-13687-0
DOI
https://doi.org/10.1007/978-3-642-13688-7

Premium Partner