Karsten Ehrig
University of Leicester
Network
Latest external collaboration on country level. Dive into details by clicking on the dots.
Publication
Featured researches published by Karsten Ehrig.
fundamental approaches to software engineering | 2007
Hartmut Ehrig; Karsten Ehrig; Claudia Ermel; Frank Hermann; Gabriele Taentzer
Within model-driven software development, model transformation has become a key activity. It refers to a variety of operations modifying a model for various purposes such as analysis, optimization, and code generation. Most of these transformations need to be bidirectional to e.g. report analysis results, or keep coherence between models. In several application-oriented papers it has been shown that triple graph grammars are a promising approach to bidirectional model transformations. But up to now, there is no formal result showing under which condition corresponding forward and backward transformations are inverse to each other in the sense of information preservation. This problem is solved in this paper based on general results for the theory of algebraic graph transformations. The results are illustrated by a transformation of class models to relational data base models which has become a quasi-standard example for model transformation.
fundamental approaches to software engineering | 2005
Hartmut Ehrig; Karsten Ehrig; Juan de Lara; Gabriele Taentzer; Dániel Varró; Szilvia Varro-Gyapay
Model Transformation has become central to most software engineering activities. It refers to the process of modifying a (usually graphical) model for the purpose of analysis (by its transformation to some other domain), optimization, evolution, migration or even code generation. In this work, we show termination criteria for model transformation based on graph transformation. This framework offers visual and formal techniques based on rules, in such a way that model transformations can be subject to analysis. Previous results on graph transformation are extended by proving the termination of a transformation if the rules applied meet certain criteria. We show the suitability of the approach by an example in which we translate a simplified version of Statecharts into Petri nets for functional correctness analysis.
Theoretical Computer Science | 2007
Juan de Lara; Roswitha Bardohl; Hartmut Ehrig; Karsten Ehrig; Ulrike Prange; Gabriele Taentzer
The aim of this paper is to integrate typed attributed graph transformation with node type inheritance. Borrowing concepts from object oriented systems, the main idea is to enrich the attributed type graph with an inheritance relation and a set of abstract nodes. In this way, a node type inherits the attributes and edges of all its ancestors. Based on these concepts, it is possible to define abstract productions, containing abstract nodes. These productions are equivalent to a number of concrete productions, resulting from the substitution of the abstract node types by the node types in their inheritance clan. Therefore, productions become more compact and suitable for their use in combination with meta-modelling. The main results of this paper show that attributed graph transformation with node type inheritance is fully compatible with the existing concept of typed attributed graph transformation.
Software and Systems Modeling | 2009
Karsten Ehrig; Jochen Malte Küster; Gabriele Taentzer
Meta modeling is a wide-spread technique to define visual languages, with the UML being the most prominent one. Despite several advantages of meta modeling such as ease of use, the meta modeling approach has one disadvantage: it is not constructive, i.e., it does not offer a direct means of generating instances of the language. This disadvantage poses a severe limitation for certain applications. For example, when developing model transformations, it is desirable to have enough valid instance models available for large-scale testing. Producing such a large set by hand is tedious. In the related problem of compiler testing, a string grammar together with a simple generation algorithm is typically used to produce words of the language automatically. In this paper, we introduce instance-generating graph grammars for creating instances of meta models, thereby overcoming the main deficit of the meta modeling approach for defining languages.
automated software engineering | 2005
Karsten Ehrig; Claudia Ermel; Stefan Hänsgen; Gabriele Taentzer
Visual Languages (VLs) play an important role in software system development. Especially when looking at well-defined domains, a broad variety of domain specific visual languages are used for the development of new applications. These languages are typically developed specifically for a certain domain in a way that domain concepts occur as primitives in the language alphabet. Visual modeling environments are needed to support rapid development of domain-specific solutions.In this contribution we present a general approach for defining visual languages and for generating language-specific tool environments. The visual language definition is again given in a visual manner and precise enough to completely generate the visual environment. The underlying technology is Eclipse with its plug-in capabilities on the one hand, and formal graph transformation techniques on the other hand. More precisely, we present an Eclipse plug-in generating Java code for visual modeling plug-ins which can be directly executed in the Eclipse Runtime-Workbench.
Electronic Notes in Theoretical Computer Science | 2008
Jessica Winkelmann; Gabriele Taentzer; Karsten Ehrig; Jochen Malte Küster
The meta modeling approach to syntax definition of visual modeling techniques has gained wide acceptance, especially by using it for the definition of UML. Since meta-modeling is non-constructive, it does not provide a systematic way to generate all possible meta model instances. In our approach, an instance-generating graph grammar is automatically created from a given meta model. This graph grammar ensures correct typing and cardinality constraints, but OCL constraints for the meta model are not supported yet. To satisfy also the given OCL constraints, well-formedness checks have to be done in addition. We present a restricted form of OCL constraints that can be translated to graph constraints which can be checked during the instance generation process.
international conference on graph transformation | 2004
Hartmut Ehrig; Karsten Ehrig; Annegret Habel; Karl-Heinz Pennemann
Graph constraints and application conditions are most important for graph grammars and transformation systems in a large variety of application areas. Although different approaches have been presented in the literature already there is no adequate theory up to now which can be applied to different kinds of graphs and high-level structures. In this paper, we introduce an improved notion of graph constraints and application conditions and show under what conditions the basic results can be extended from graph transformation to high-level replacement systems. In fact, we use the new framework of adhesive HLR categories recently introduced as combination of HLR systems and adhesive categories. Our main results are the transformation of graph constraints into right application conditions and the transformation from right to left application conditions in this new framework.
Electronic Notes in Theoretical Computer Science | 2006
Hartmut Ehrig; Karsten Ehrig
In this paper we give an overview of formal concepts for model transformations between visual languages based on typed attributed graph transformation. We start with a basic concept where visual languages are defined by attributed type graphs only and model transformations by basic typed attributed graph transformation systems. We continue with different kinds of extensions of the basic concepts taking into account application conditions, constraints, generating graph grammars and operational semantics. The main aim is to discuss formal correctness criteria for model transformations including syntactical correctness, functional behavior and semantical correctness.
Electronic Communication of The European Association of Software Science and Technology | 2008
Hartmut Ehrig; Karsten Ehrig; Frank Hermann
Success and efficiency of software and system design fundamentally relies on its models. The more they are based on formal methods the more they can be automatically transformed to execution models and finally to implementation code. This paper presents model transformation and model integration as specific problem within bidirectional model transformation, which has shown to support various purposes, such as analysis, optimization, and code generation. The main purpose of model integration is to establish correspondence between various models, especially between source and target models. From the analysis point of view, model integration supports correctness checks of syntactical dependencies between different views and models. The overall concept is based on the algebraic approach to triple graph grammars, which are widely used for model transformation. The main result shows the close relationship between model transformation and model integration. For each model transformation sequence there is a unique model integration sequence and vice versa. This is demonstrated by a quasi-standard example for model transformation between class models and relational data base models.
Electronic Notes in Theoretical Computer Science | 2004
J De Lara; Claudia Ermel; Gabriele Taentzer; Karsten Ehrig
This work discusses the use of parallel graph transformation systems for (multi-formalism) modeling and simulation and their implementation in the meta-modeling tool AToM^3. As an example, a simulator for Timed Transition Petri Nets (TTPN) is modeled using parallel graph transformation.