Towards Translating Graph Transformation Approaches by Model Transformations (original) (raw)

How to Specify a Graph Transformation Approach

Electronic Notes in Theoretical Computer Science, 2001

Application-oriented approaches to graph transformation provide structural features beyond vertices and edges, like composition in hierarchical graphs, inheritance in object-oriented graphs, multiplicity constraints, etc. Often, these features have a specific dynamic interpretation which requires complex embedding mechanisms and context conditions. For example, the deletion of a compound node usually implies the deletion of its components.

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.

Rule-based transformation of graph rewriting rules: Towards higher-order graph grammars

Theoretical Computer Science, 2015

Higher-order functions-the ones which manipulate other functions-have a fundamental role in Computer Science, specially in areas such as functional programming and theory of computation. Graph transformation-the rule-based modification of graphs-is also an important approach used in many contexts, as for instance, the definition of syntax and semantics of visual languages and the modelling and analysis of concurrent and non-deterministic systems. Although the algebraic double-pushout (DPO) approach to graph transformation has a vast theory, it does not present a notion of higher-order transformation, i.e., transformation of graph rewriting rules themselves. Higher-order would be required, for instance, to ease the modelling of dynamic systems through graph transformation systems, and to describe model transformations that modify graph rewriting rules. The main contribution of this work is a notion of double-pushout transformation for graph rewriting rules, where the result of the rewriting is a valid graph rule. We use DPO diagrams in the category of graph spans to describe rule transformations, and negative application conditions (NACs) in the second-order rules to enforce preservation of the rule structure. We define a model named second-order graph grammars, capable of first-and secondorder derivations. Finally, we discuss alternative ways of defining second-order transformations.

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.

Dynamic graph transformation systems

Graph Transformations, 2006

We introduce an extension of Graph Grammars (GGs), called Dynamic Graph Grammars (DynGGs), where the right-hand side of a production can spawn fresh parts of the type graph and fresh productions operating on it. The features of DynGGs make them suitable for the ...

A graphical specification of model transformations with triple graph grammars

Model Driven Architecture–Foundations …, 2005

Models and model transformations are the core concepts of OMG's MDA T M approach. Within this approach, most models are derived from the MOF and have a graph-based nature. In contrast, most of the current model transformations are specified textually. To enable a graphical specification of model transformation rules, this paper proposes to use triple graph grammars as declarative specification formalism. These triple graph grammars can be specified within the FUJABA tool and we argue that these rules can be more easily specified and they become more understandable and maintainable. To show the practicability of our approach, we present how to generate Tefkat rules from triple graph grammar rules, which helps to integrate triple graph grammars with a state of a art model transformation tool and shows the expressiveness of the concept.

Unfolding semantics of graph transformation

2007

Several attempts have been made of extending to graph grammars the unfolding semantics originally developed by Winskel for (safe) Petri nets, but only partial results were obtained.

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.

A logic for analyzing abstractions of graph transformation systems

2003

A technique for approximating the behaviour of graph transformation systems (GTSs) by means of Petri net-like structures has been recently defined in the literature. In this paper we introduce a monadic second-order logic over graphs expressive enough to characterise typical graph properties, and we show how its formulae can be effectively verified.