Results 1  10
of
15
Behavior Preservation in Model Refactoring using DPO Transformations with Borrowed Contexts
, 2008
"... Behavior preservation, namely the fact that the behavior of a model is not altered by the transformations, is a crucial property in refactoring. The most common approaches to behavior preservation rely basically on checking given models and their refactored versions. In this paper we introduce a mor ..."
Abstract

Cited by 6 (2 self)
 Add to MetaCart
(Show Context)
Behavior preservation, namely the fact that the behavior of a model is not altered by the transformations, is a crucial property in refactoring. The most common approaches to behavior preservation rely basically on checking given models and their refactored versions. In this paper we introduce a more general technique for checking behavior preservation of refactorings defined by graph transformation rules. We use double pushout (DPO) rewriting with borrowed contexts, and, exploiting the fact that observational equivalence is a congruence, we show how to check refactoring rules for behavior preservation without the need of considering specific models. When rules are behaviorpreserving, their application will never change behavior, i.e., every model and its refactored version will have the same behavior. However, often there are refactoring rules describing intermediate steps of the transformation, which are not behaviorpreserving, although the full refactoring does preserve the behavior. For these cases we present a procedure to combine refactoring rules to behaviorpreserving concurrent productions in order to ensure behavior preservation. An example of refactoring for finite automata is given to illustrate the theory.
CoTransformation of Graphs and Type Graphs with Application to Model CoEvolution: Long Version
, 2012
"... Metamodeling has become the key technology to define domainspecific modeling languages in modeldriven engineering. Since do– mainspecific modeling languages often change quite frequently, concepts are needed for the coordinated evolution of their metamodels as well as of their models, and pos ..."
Abstract

Cited by 4 (3 self)
 Add to MetaCart
(Show Context)
Metamodeling has become the key technology to define domainspecific modeling languages in modeldriven engineering. Since do– mainspecific modeling languages often change quite frequently, concepts are needed for the coordinated evolution of their metamodels as well as of their models, and possibly other related artifacts. In this paper, we present a new approach to the cotransformation of graphs and type graphs and show how it can be applied to model coevolution. This means that models are specified as graphs while model relations, especially typeinstance relations, are defined by graph morphisms specifying type conformance of models to their metamodels. Hence, metamodel evolution and accompanying model migrations are formally defined by cotransformations of instance and type graphs. In our approach, we clarify the type conformance of cotransformations, the completeness of instance graph transformations wrt. their type graph modifications, and the reflection of type graph transformations by instance graph transformations. Finally, we discuss strategies for automatically deducing instance graph transformation rules from given type graph transformations.
Dynamic system adaptation by constraint orchestration
, 2008
"... Abstract. For Paradigm models, evolution is justintime specified coordination conducted by a special reusable component McPal. Evolution can be treated consistently and onthefly through Paradigm’s constraint orchestration, also for originally unforeseen evolution. UMLlike diagrams visually supp ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
(Show Context)
Abstract. For Paradigm models, evolution is justintime specified coordination conducted by a special reusable component McPal. Evolution can be treated consistently and onthefly through Paradigm’s constraint orchestration, also for originally unforeseen evolution. UMLlike diagrams visually supplement such migration, as is illustrated for the case of a critical section solution evolving into a pipeline architecture. 1 Problem Situation Software systems are large and complex. However, more strikingly, software systems have a strong tendency to grow over time, both in size and complexity. In order to deal with size and complexity, software architectures are used. A software architecture provides a global description of an actually far more detailed software system by giving an overview in terms of components and links. Components are the main relevant parts, links are the relevant connections between them. A pA pB1 pB2 B pA
Conflict Detection for Model Versioning Based on Graph Modifications: Long Version
"... Abstract. In modeldriven engineering, models are primary artifacts and can evolve heavily during their life cycle. Therefore, versioning of models is a key technique which has to be offered by an integrated development environment for modeldriven engineering. In contrast to textbased versioning ..."
Abstract

Cited by 4 (4 self)
 Add to MetaCart
(Show Context)
Abstract. In modeldriven engineering, models are primary artifacts and can evolve heavily during their life cycle. Therefore, versioning of models is a key technique which has to be offered by an integrated development environment for modeldriven engineering. In contrast to textbased versioning systems we present an approach which takes abstract syntax structures in model states and operational features into account. Considering the abstract syntax of models as graphs, we define model revisions as graph modifications which are not necessarily rulebased. Building up on the DPO approach to graph transformations, we define two different kinds of conflict detection: (1) the check for operationbased conflicts, and (2) the check for statebased conflicts on results of merged graph modifications. 1
Transforming process models: Executable rewrite rules versus a formalized java program
 In MODELS’10: International Conference on Model Driven Engineering Languages and Systems, volume 6395 of LNCS
, 2010
"... Abstract. In the business process management community, transformations for process models are usually programmed using imperative languages. The underlying mapping rules tend to be documented using informal visual rules whereas they tend to be formalized using mathematical set constructs. In the Gr ..."
Abstract

Cited by 3 (2 self)
 Add to MetaCart
(Show Context)
Abstract. In the business process management community, transformations for process models are usually programmed using imperative languages. The underlying mapping rules tend to be documented using informal visual rules whereas they tend to be formalized using mathematical set constructs. In the Graph and Model Transformation communities, special purpose languages and tools are being developed to support the direct execution of such mapping rules. As part of our ongoing e ort to bridge these two communities, we have implemented a transformation from petrinets to statecharts (PN2SC) using both approaches. By relying on clear comparison criteria and by making the solutions available for online replay, we illustrate that rulebased approaches enable the transformation writer to focus on what the transformation should produce whereas imperative approaches require a more lowlevel speci cation involving element traversal algorithms. A mathematical formalization of such code not necessarily solves that problem. We therefore conclude that for developing mappings such as the PN2SC translation, the use of the GrGen language and tool is more appropriate. 1
Specification and Verification of Model Transformations
, 2010
"... Model transformations are a key concept within model driven development and there is an enormous need for suitable formal analysis techniques for model transformations, in particular with respect to behavioural equivalence of source models and their corresponding target models. For this reason, we ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
Model transformations are a key concept within model driven development and there is an enormous need for suitable formal analysis techniques for model transformations, in particular with respect to behavioural equivalence of source models and their corresponding target models. For this reason, we discuss the general challenges that arise for the specification and verification of model transformations and present suitable formal techniques that are based on graph transformation. In this context, triple graph grammars show many benefits for the specification process, e.g. modelers can work on an intuitive level of abstraction and there are formal results for syntactical correctness, completeness and efficient execution. In order to verify model transformations with respect to behavioural equivalence we apply wellstudied techniques based on the double pushout approach with borrowed context, for which the model transformations specified by triple graph transformation rules are flattened to plain (insitu) graph transformation rules. The potential and adequateness of the presented techniques are demonstrated by an intuitive example, for which we show the correctness of the model transformation with respect to bisimilarity of source and target models.
Reusing Model Transformations While Preserving Properties
"... Abstract. Model transformations are indispensable to modelbased development (MBD) where they act as translators between domainspecific languages (DSLs). As a result, transformations must be verified to ensure they behave as desired. Simultaneously, transformations may be reused as requirements evo ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract. Model transformations are indispensable to modelbased development (MBD) where they act as translators between domainspecific languages (DSLs). As a result, transformations must be verified to ensure they behave as desired. Simultaneously, transformations may be reused as requirements evolve. In this paper we present novel algorithms to determine if a reused transformation preserves the same properties as the original, without expensive reverification. We define a type of behavioral equivalence, called lifting equivalence, relating an original transformation to its reused version. A reused transformation that is equivalent to the original will preserve all compatible universally quantified properties. We describe efficient algorithms for verifying lifting equivalence, which we have implemented in our FORMULA [1, 2] framework. 1
ECEASST Refactoring of Model Transformations
"... Abstract: Modeltomodel transformations between visual languages are often defined by typed, attributed graph transformation systems. Here, the source and target languages of the model transformation are given by type graphs (or meta models), and the relation between source and target model elemen ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract: Modeltomodel transformations between visual languages are often defined by typed, attributed graph transformation systems. Here, the source and target languages of the model transformation are given by type graphs (or meta models), and the relation between source and target model elements is captured by graph transformation rules. On the other hand, refactoring is a technique to improve the structure of a model in order to make it easier to comprehend, more maintainable and amenable to change. Refactoring can be defined by graph transformation rules, too. In the context of model transformation, problems arise when models of the source language of a model transformation become subject to refactoring. It may well be the case that after the refactoring, the model transformation rules are no longer applicable because the refactoring induced structural changes in the models. In this paper, we consider a graphtransformationbased evolution of model transformations which adapts the model transformation rules to the refactored models. In the main result, we show that under suitable assumptions, the evolution leads to an adapted model transformation which is compatible with refactoring of the source and target models. In a small case study, we apply our techniques to a wellknown model transformation from statecharts to Petri nets.
Learning Minimal and Maximal Rules from Observations of Graph Transformations
 Electronic Communications of the EASST
"... Abstract: Graph transformations have been used to model services and systems where rules describe pre and post conditions of operations changing a complex state. However, despite their intuitive nature, creating such models is a timeconsuming and errorprone process. In this paper we investigate th ..."
Abstract

Cited by 1 (1 self)
 Add to MetaCart
(Show Context)
Abstract: Graph transformations have been used to model services and systems where rules describe pre and post conditions of operations changing a complex state. However, despite their intuitive nature, creating such models is a timeconsuming and errorprone process. In this paper we investigate the possibility of extracting rules from observations of transformations, i.e., pairs of input and output graphs resulting from successful transformations and individual input graphs were they have failed. From such positive and negative examples, minimal rules are extracted, to be extended by context that is present in all positive examples and missing in at least one negative example. The result is are a maximal and a required rule, jointly with the minimal rule defining the range of possible rules that could have created the observed transformations. We report on an implementation of the approach, evaluate its accuracy, scalability and limitations, and discuss applications to reverse engineering visual constructs from observations of object states of components under test.