A survey and comparison of transformation tools based on the transformation tool contest (original) (raw)

Improving the Usability of a Graph Transformation Language

Electronic Notes in Theoretical Computer Science, 2006

Model transformation tools implemented using graph transformation techniques are often expected to provide high performance. For this reason, in the Graph Rewriting and Transformation (GReAT) language we have supported two techniques: pre-binding of selected pattern variables and explicit sequencing of transformation steps to improve the performance of the transformation engine. When applied to practical situations, we recognized three shortcomings in our approach: (1) no support for the convenient reuse of results of one rewriting step in another, distant step, (2) lack of a sorting capability for ordering the results of the pattern matching, and (3) absence of support for the distinguished merging of results of multiple pattern matches. In this paper we briefly highlight the relevant features of GReAT, describe three motivating examples that illustrate the problems, introduce our solutions: new extensions to the language, and compare the approaches to other languages.

Applying a model transformation taxonomy to graph transformation technology

Electronic Notes in Theoretical …, 2006

A taxonomy of model transformations was introduced in [16]. Among others, such a taxonomy can help developers in deciding which language, forma lism, tool or mechanism is best suited to carry out a particular model transformation activity. In this paper we apply the taxonomy to the technique of graph transformation, and we exemplify it by referring to four representative graph transformation tools. As a byproduct of our analysis, we discuss how well each of the considered tools carry out the activity of model transformation.

Towards Translating Graph Transformation Approaches by Model Transformations

2006

Recently, many researchers are working on semantics preserving model transformation. In the field of graph transformation one can think of translating graph grammars written in one approach to a behaviourally equivalent graph grammar in another approach. In this paper we translate graph grammars developed with the GROOVE tool to AGG graph grammars by first investigating the set of core graph transformation concepts supported by both tools. Then, we define what it means for two graph grammars to be behaviourally equivalent, and for the regarded approaches we actually show how to handle different definitions of both -application conditions and graph structures. The translation itself is explained by means of intuitive examples.

Ludo: A case study for graph transformation tools

2008

In this paper we describe the Ludo case, one of the case studies of the AGTIVE 2007 Tool Contest (see ). After summarising the case description, we give an overview of the submitted solutions. In particular, we propose a number of dimensions along which choices had to be made when solving the case, essentially setting up a solution space; we then plot the spectrum of solutions actually encountered into this solution space. In addition, there is a brief description of the special features of each of the submissions, to do justice to those aspects that are not distinguished in the general solution space.

Advances in model transformations by graph transformation: specification, execution and analysis

Rigorous software engineering for service-oriented systems, 2011

Model transformations are a core technology of today's model-driven software development processes. Graph transformations provide a state-of-the-art formalism to specify and execute such transformations in practice. This was the case in the Sensoria project, where graph transformations have been used as enabling technology in a number of applications, as well as the basis of research in many topics. In this chapter, we overview the research results that have been achieved in the theory and practice, concentrating on three key areas:(i) the ...

Graph Transformations on Domain-Specific Models

Software and System Modeling, 2003

In model driven development, model transformations play a crucial role. This paper introduces a new, UML-based approach for the specification and implementation of model transformations. The technique is based on graph transformations, where the transformations are a set of explicitly sequenced elementary rewriting operations. UML class diagrams are used to represent the graph grammars for the input and output graphs. The paper's main contributions are the visual language designed for the representation of transformation programs and the graph transformation execution engine which implements the semantics of the language.

Reusable Idioms and Patterns in Graph Transformation Languages

Electronic Notes in Theoretical Computer Science, 2004

Software engineering tools based on Graph Transformation techniques are becoming available, but their practical applicability is somewhat reduced by the lack of idioms and design patterns. Idioms and design patterns provide prototypical solutions for recurring design problems in software engineering, but their use can be easily extended into software development using graph transformation systems. In this paper we briefly present a simple graph transformation language: GREAT, and show how typical design problems that arise in the context of model transformations can be solved using its constructs. These solutions are similar to software design patterns, and intend to serve as the starting point for a more complete collection.

On the use of graph transformations for model refactoring

Model-driven software engineering promotes the use of models and transformations as primary artifacts. Several formalisms can be used for the specification of model transformations. We propose to represent models as graphs, and model transformations as graph transformations. In particular, we focus on the activity of model refactoring, and show how graph transformation theory can provide formal support for this activity. We also show how such support can be implemented in state-of-the-art graph transformation tools such as AGG and Fujaba, and provide two concrete experiments. Critical pair analysis in AGG enables the analysis of dependencies between model refactorings. The round-trip engineering facility of Fujaba enables the automatic generation of code for model refactorings.