Benchmarking for Graph Transformation (original) (raw)
Related papers
A benchmark evaluation of incremental pattern matching in graph transformation
2008
In graph transformation, the most cost-intensive phase of a transformation execution is pattern matching, where those subgraphs of a model graph are identified and matched which satisfy constraints prescribed by graph patterns. Incremental pattern matching aims to improve the efficiency of this critical step by storing the set of matches of a graph transformation rule and incrementally maintaining it as the model changes, thus eliminating the need of recalculating existing matches of a pattern. In this paper, we propose benchmark examples where incremental pattern matching is expected to have advantageous effect in the application domain of model simulation and model synchronization. Moreover, we compare the incremental graph pattern matching approach of VIATRA2 with advanced non-incremental local-search based graph pattern matching approaches (as available in VIATRA2 and GrGen).
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.
Graph Transformation in a Nutshell
Electronic Notes in Theoretical Computer Science, 2006
Even sophisticated techniques start out from simple ideas. Later, in reply to application needs or theoretical problems new concepts are introduced and new formalisations proposed, often to a point where the original simple core is hardly recognizably. In this paper we provide a non-technical introduction to the basic concepts of typed graph transformation systems, completed by a survey of more advanced concepts, and explain some of its history and motivations.
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.
Graph transformation for specification and programming
Science of Computer Programming, 1999
The framework of graph transformation combines the potentials and advantages of both, graphs and rules, to a single computational paradigm. In this paper we present some recent developments in applying graph transformation as a rule-based framework for the specification and development of systems, languages, and tools. After reviewing the basic features of graph transformation, we discuss a selection of applications, including the evaluation of functional expressions, the specification of an interactive graphical tool, an example specification for abstract data types, and the definition of a visual database query language. The case studies indicate the need for suitable structuring principles which are independent of a particular graph transformation approach. To this end, we present the concept of a transformation unit, which allows systematic and structured specification and programming based on graph transformation.
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.
Evaluation of kermeta on graph transformation problems
2010
Kermeta is a meta-language for specifying the structure and behavior of graphs of interconnected objects called models. In this paper, we show that Kermeta is relatively suitable for solving three graph-based problems. First, Kermeta allows the specification of generic model transformations such as refactorings that we apply to different metamodels including Ecore, Java, and Uml. Second, we demonstrate the extensibility of Kermeta to the formal language Alloy using an inter-language model transformation. Kermeta uses Alloy to generate recommendations for completing partially specified models. Third, we show that the Kermeta compiler achieves better execution time and memory performance compared to similar graph-based approaches using a common case study. The three solutions proposed for those graph-based problems and their evaluation with Kermeta according to the criteria of genericity, extensibility, and performance are the main contribution of the paper. Another contribution is the comparison of these solutions with those proposed by other graph-based tools.
Tutorial introduction to graph transformation: a software engineering perspective
2004
As a basic introduction to graph transformation, this tutorial is not only intended for software engineers. But applications typical to this domain, like the modeling of component-based, distributed, and mobile systems, model-based testing, and diagram languages provide well-known examples and are therefore used to give a survey of the motivations, concepts, applications, and tools of graph transformation.