Figure 2 - uploaded by Claudia Ermel
Content may be subject to copyright.
EMF instance model of a simple phone

EMF instance model of a simple phone

Source publication
Article
Full-text available
Model transformation is one of the key activities in model-driven software development. An increasingly popular technology to define modeling languages is provided by the Eclipse Modeling Framework (EMF). Several EMF model transformation approaches have been developed, focusing on different transformation aspects. To validate model transformations...

Contexts in source publication

Context 1
... 2 (Consistent EMF instance model) Figure 2 shows the main parts of a simple statechart modeling a phone. The containment can be well seen in the tree-like representation. ...
Context 2
... Statecharts, a transition from state A to state B is always contained in the superstate of either A or B, depending on which of both states is higher up in the containment hierarchy. In Figure 2, source and target states of transitions are not shown in the tree view, but in a separate properties view (at the right bottom). It shows the properties of transition caller hangs up from state DialTone to state Idle. ...
Context 3
... Example 5, we realize a refactoring by applying graph transformation rules repeatedly, starting with the phone statechart in Figure 2. ...
Context 4
... 5 (Refactoring of statecharts by graph transformation) Figure 7 shows the main parts of the simple statechart in Figure 2 after applying both rules belonging to refactoring Fold outgoing transitions in Figure 5 as long as possible. All transitions with target state Idle have been replaced by only one from state Active. ...
Context 5
... 8 (Type Graph) Consider the EMF model for simple statecharts in Figure 1. The underlying graph T and the inheritance graph I of the corresponding type graph T G are shown in Figure 12. Containment edges C ⊆ T E are drawn with a black diamond on the source side of the edge. ...
Context 6
... edge in T E has an opposite edge. In Figure 12, we draw opposite edge pairs as one bidirectional edge and indicate their source and target types by edge type names near the respective target node. For instance, reference begin from Transition to Vertex and its opposite reference outgoing from Vertex to Transition are represented by two opposite edges drawn as Figure 12 Graphs T and I for statechart type graph T G a bidirectional one. ...
Context 7
... Figure 12, we draw opposite edge pairs as one bidirectional edge and indicate their source and target types by edge type names near the respective target node. For instance, reference begin from Transition to Vertex and its opposite reference outgoing from Vertex to Transition are represented by two opposite edges drawn as Figure 12 Graphs T and I for statechart type graph T G a bidirectional one. Similarly, each containment edge drawn in Figure 12 stands for an opposite edge pair. ...
Context 8
... instance, reference begin from Transition to Vertex and its opposite reference outgoing from Vertex to Transition are represented by two opposite edges drawn as Figure 12 Graphs T and I for statechart type graph T G a bidirectional one. Similarly, each containment edge drawn in Figure 12 stands for an opposite edge pair. The inheritance graph I has the same set of nodes as T but instead of reference and containment edges in T E , set I E contains inheritance edges. ...
Context 9
... EMF-model graph G is called rooted if there is a node r ∈ G N , called root node such that ∀x ∈ G N with x = r : r contains G Figure 2 shows an EMF instance model of a simple statechart modeling a phone in concrete syntax. This statechart is an EMF instance model over the EMF model in Figure 1. Figure 13 shows the abstract syntax of a part of the corresponding Figure 13 is given by contains G ={(phoneSM,x), (Phone,y), (Active,dial), (Active,DialTone), (Active,connected), (Active,Connecting)} where x stands for all nodes in G ex- cept phoneSM, and y stands for all nodes except phoneSM and except Phone. ...

Similar publications

Conference Paper
Full-text available
The more model transformations are applied in various application domains, the more questions about their quality arise. In this paper, we present a first approach towards improving the quality of endogenous in-place model transformation systems. This kind of model transformations is typically rule-based and well suited to perform model simulations...
Thesis
Full-text available
Model driven engineering as a methodology for designing and implementing systems and processes is established for years now. The industry on one hand and Open Source communities on the other hand provide a large variety of frameworks for model driven development processes. The EclipseModeling Framework (EMF) implements a modeling approach by provid...
Article
Full-text available
Modern software development processes often use domainspecific modeling languages (DSMLs) combined with custom code generators and/or interpreters. Especially textual DSMLs as provided by Eclipse Xtext are becoming more and more popular. As a consequence, software quality assurance frequently leads back to quality assurance of the involved textual...
Chapter
Full-text available
In this chapter, we explore the emerging research domain of model-driven software refactoring. Program refactoring is a proven technique that aims at improving the quality of source code. Applying refactoring in a model-driven software engineering context raises many new challenges such as how to define, detect and improve model quality, how to pre...
Article
Full-text available
In the context of model-driven software development, the concepts of visual modelling and model transformation are of increasing importance. Although there is a wide range of tool support for designing and executing visual models and model transformations during system design, the analysis of model behaviour and of model transformation properties i...

Citations

... We denote by M the set of all valid models (according to some metamodel). This can be formalized using typed attributed graphs [8,25]. Definition 3.1 (Abstract Syntax Graph). ...
... The idea of typed graphs is to define a graph homomorphism (i.e., a function from the typed graph to the type graph ). Details of this formalization are given by Biermann et al. [8]. The abstract syntax graph of a model and its type graph contain all information that a model holds. ...
... This yields the corresponding model with ( , ) ∈ . This way, an edit operation ∈ E can be interpreted as a template for a model transformation, which is in line with previous constructions [8,34,68]. We write → to denote a concrete element (i.e., a model transformation) in the equivalence class ∈ E. ...
Preprint
Full-text available
Modeling structure and behavior of software systems plays a crucial role in the industrial practice of software engineering. As with other software engineering artifacts, software models are subject to evolution. Supporting modelers in evolving software models with recommendations for model completions is still an open problem, though. In this paper, we explore the potential of large language models for this task. In particular, we propose an approach, retrieval-augmented generation, leveraging large language models, model histories, and retrieval-augmented generation for model completion. Through experiments on three datasets, including an industrial application, one public open-source community dataset, and one controlled collection of simulated model repositories, we evaluate the potential of large language models for model completion with retrieval-augmented generation. We found that large language models are indeed a promising technology for supporting software model evolution (62.30% semantically correct completions on real-world industrial data and up to 86.19% type-correct completions). The general inference capabilities of large language models are particularly useful when dealing with concepts for which there are few, noisy, or no examples at all.
... We further assume models to be correctly typed. We abstain from a formal definition of typing using type graphs and type morphisms (Biermann et al 2012), though. Instead, to keep our basic definitions as simple as possible, we work with a variant of labeled graphs in which a fixed label alphabet represents node and edge type definitions of a meta-model. ...
... This perturbation is applied such that it overlaps with the application of the main edit operation. We use the tool henShin (Biermann et al 2012) to apply model transformations to one model revision. We then build the difference of two successive models as outlined in Sect. 4. In our experiment, we control the following parameters for the generated data. ...
Article
Full-text available
Model transformations are central to model-driven software development. Applications of model transformations include creating models, handling model co-evolution, model merging, and understanding model evolution. In the past, various (semi-)automatic approaches to derive model transformations from meta-models or from examples have been proposed. These approaches require time-consuming handcrafting or the recording of concrete examples, or they are unable to derive complex transformations. We propose a novel unsupervised approach, called Ockham, which is able to learn edit operations from model histories in model repositories. Ockham is based on the idea that meaningful domain-specific edit operations are the ones that compress the model differences. It employs frequent subgraph mining to discover frequent structures in model difference graphs. We evaluate our approach in two controlled experiments and one real-world case study of a large-scale industrial model-driven architecture project in the railway domain. We found that our approach is able to discover frequent edit operations that have actually been applied before. Furthermore, Ockham is able to extract edit operations that are meaningful—in the sense of explaining model differences through the edit operations they comprise—to practitioners in an industrial setting. We also discuss use cases (i.e., semantic lifting of model differences and change profiles) for the discovered edit operations in this industrial setting. We find that the edit operations discovered by Ockham can be used to better understand and simulate the evolution of models.
... To model more detailed aspects of model families, we extend the definitions of basic type(d) graphs with attributes (i.e., attributed type graphs, or E-graphs [17]). The definitions that follow are based on [18][19][20]. ...
Article
Full-text available
A model family is a set of related models in a given language, with commonalities and variabilities that result from evolution of models over time and/or variation over intended usage (the spatial dimension). As the family size increases, it becomes cumbersome to analyze models individually. One solution is to represent a family using one global model that supports analysis. In this paper, we propose the concept of union model as a complete and concise representation of all members of a model family. We use graph theory to formalize a model family as a set of attributed typed graphs in which all models are typed over the same metamodel. The union model is formalized as the union of all graph elements in the family. These graph elements are annotated with their corresponding model versions and configurations. This formalization is independent from the modeling language used. We also demonstrate how union models can be used to perform reasoning tasks on model families, e.g., trend analysis and property checking. Empirical results suggest potential time-saving benefits when using union models for analysis and reasoning over a set of models all at once as opposed to separately analyzing single models one at a time.
... Since all the element mutation operators are formalized as transformation rules in Henshin, we used the tool OCL2AC [50,51] to support the soundness checks for all three cases. With regard to the common EMF-specific language constraints, we designed our rules according to the guidelines developed in [10], which were proven there to be sufficient conditions to preserve these constraints. Additionally, the implementation of the transformation language Henshin does not support parallel edges of the same type, i.e., attempts to introduce a parallel edge are ignored. ...
Article
Full-text available
Optimization problems in software engineering typically deal with structures as they occur in the design and maintenance of software systems. In model-driven optimization (MDO), domain-specific models are used to represent these structures while evolutionary algorithms are often used to solve optimization problems. However, designing appropriate models and evolutionary algorithms to represent and evolve structures is not always straightforward. Domain experts often need deep knowledge of how to configure an evolutionary algorithm. This makes the use of model-driven meta-heuristic search difficult and expensive. We present a graph-based framework for MDO that identifies and clarifies core concepts and relies on mutation operators to specify evolutionary change. This framework is intended to help domain experts develop and study evolutionary algorithms based on domain-specific models and operators. In addition, it can help in clarifying the critical factors for conducting reproducible experiments in MDO. Based on the framework, we are able to take a first step toward identifying and studying important properties of evolutionary operators in the context of MDO. As a showcase, we investigate the impact of soundness and completeness at the level of mutation operator sets on the effectiveness and efficiency of evolutionary algorithms.
... Then, we are guaranteed that any match admits a pushout complement, and we no longer need to check the condition when applying the rule. Our approach is similar to the one developed in [19], where the authors tackle consistency preservation in the ECLIPSE Modeling Framework (EMF). They provide a formalization of EMF model transformations that preserve EMF consistency (containment relations) with typed attributed graph transformations. ...
... The complete pipeline is presented in Figure 5. 19, introducing the notion of topological extension, denoted by ⊕m, and the embedding propagation, denoted by ⊙ π. Since the embedding col is defined on faces (orbit 〈0, 1〉), it is necessary to consider nodes reachable by arcs labeled in 〈0, 1〉. ...
... 19: Two rules that satisfies the cycle condition C r (0, 2). ...
Thesis
Full-text available
In this thesis, we present a formalization of geometric modeling operations as rules from the theory of graph transformation.First, we investigate the construction of a dedicated rule-based language. We describe the combinatorial models of generalized and oriented maps as labeled graphs, subject to consistency conditions. This topological representation is coupled with a description of the geometry using attributes. This formalization allows the study of modeling operations such as graph rewriting rules. The rules analysis covers two aspects: the preservation of the model consistency and the genericity of the described operations. Consistency preservation is the primary incentive for using graph transformations. Indeed, modifications of a well-formed object should result in a well-formed object. We ensure the preservation of topological and geometric consistency through syntactic conditions statically checked on the rules. In addition, we ensure that rewriting rules meet the requirements to describe the usual operations used in geometric modeling. In particular, since a rule fully describes a transformation, we extend the rules into rule schemes in order to abstract over the underlying topology. We present a semi-global extension of the usual DPO rewriting by incorporating a graph product simulating the application of a relabeling function.Secondly, we present a mechanism for the inference of operations. Given that an operation can be simply described from a sketch or an example, we propose to reconstruct operations from a representative example made of an initial and a target object. The inference mechanism exploits the regularity of generalized maps and the dedicated language previously. More precisely, we consider the process of inferring topological operations as the inverse construction of the specialization of a rule scheme into an operation. The inference of geometric modifications could admit multiple solutions, given the type of data and the nature of the modifications applied. Here, we propose to consider affine transformations of values from a vector space, which we solve as a constraint satisfaction problem. We have implemented the inference mechanism in Jerboa, a platform for the design of geometric modelers. The first part of this thesis, therefore, allows building a formal framework that is de facto hidden from the user but is still necessary for the conception of geometric modeling operations via our inference mechanism.
... Intuitively, the type graph provides the available types for nodes and edges and their allowed incidence relations. Using typing to provide graphs with a richer syntax is well-established [10], in particular also when using typed graphs as formal basis for models [3]. For our application, however, it is advantageous to consider type graphs with more structure: Some elements of the type graph serve to model the problem that has to be optimized and others to create a solution. ...
Preprint
Full-text available
Evolutionary algorithms usually explore a search space of solutions by means of crossover and mutation. While a mutation consists of a small, local modification of a solution, crossover mixes the genetic information of two solutions to compute a new one. For model-driven optimization (MDO), where models directly serve as possible solutions (instead of first transforming them into another representation), only recently a generic crossover operator has been developed. Using graphs as a formal foundation for models, we further refine this operator in such a way that additional well-formedness constraints are preserved: We prove that, given two models that satisfy a given set of multiplicity constraints as input, our refined crossover operator computes two new models as output that also satisfy the set of constraints.
... We further assume models to be correctly typed. We abstain from a formal definition of typing using type graphs and type morphisms (Biermann et al, 2012), though. Instead, to keep our basic definitions as simple as possible, we work with a variant of labeled graphs in which a fixed label alphabet represents node and edge type definitions of a meta-model. ...
... This perturbation is applied such that it overlaps with the application of the main edit operation. We use the tool Henshin (Biermann et al, 2012) to apply model transformations to one model revision. We then build the difference of two successive models as outlined in Section 4. In our experiment, we control the following parameters for the generated data. ...
Preprint
Full-text available
Model transformations play a fundamental role in model-driven software development. They can be used to solve or support central tasks, such as creating models, handling model co-evolution, and model merging. In the past, various (semi-)automatic approaches have been proposed to derive model transformations from meta-models or from examples. These approaches require time-consuming handcrafting or the recording of concrete examples, or they are unable to derive complex transformations. We propose a novel unsupervised approach, called Ockham, which is able to learn edit operations from model histories in model repositories. Ockham is based on the idea that meaningful domain-specific edit operations are the ones that compress the model differences. It employs frequent sub-graph mining to discover frequent structures in model difference graphs. Learning Domain-Specific Edit Operations We evaluate our approach in two controlled experiments and one real-world case study of a large-scale industrial model-driven architecture project in the railway domain. We found that our approach is able to discover frequent edit operations that have actually been applied before. Furthermore, Ockham is able to extract edit operations that are meaningful to practitioners in an industrial setting. We also discuss some of the use cases for the discovered edit operations in this industrial setting.
... Thanks to the transformation to Henshin, our rules support matching a subclass of a pattern class [7]: in DSDiffMM, the DiffScore class inherits from the Score class. Furthermore, abstract classes from MM, like PositionableElement, can be used when specifying patterns, which can be useful to define fewer rules [15]. ...
Article
Full-text available
During the development of a software project, different developers collaborate on creating and changing models. These models evolve and need to be versioned. Over the past several years, progress has been made in offering dedicated support for model versioning that improves on what is being supported by text-based version control systems. However, there is still need to understand model differences in terms of the semantics of the modeling language, and to visualize the changes using its concrete syntax. To address these issues, we propose a comprehensive approach—called DSMCompare—that considers both the abstract and the concrete syntax of a domain-specific language (DSL) when expressing model differences, and which supports defining domain-specific semantics for specific difference patterns. The approach is based on the automatic extension of the DSL to enable the representation of changes and on the automatic adaptation of its graphical concrete syntax to visualize the differences. In addition, we allow for the definition of semantic differencing rules to capture recurrent domain-specific difference patterns. Since these rules can be conflicting with each other, we introduce algorithms for conflict resolution and rule scheduling. To demonstrate the applicability and effectiveness of our approach, we report on evaluations based on synthetic models and on version histories of models developed by third parties.
... Users can specify model transformations using either a diagram editor or an XText based DSL [43]. Henshin uses typed attributed graph theory to encode transformations for EMF models [7]. ...
Article
Full-text available
Recently, there has been increased interest in combining model-driven engineering and search-based software engineering. Such approaches use meta-heuristic search guided by search operators (model mutators and sometimes breeders) implemented as model transformations. The design of these operators can substantially impact the effectiveness and efficiency of the meta-heuristic search. Currently, designing search operators is left to the person specifying the optimisation problem. However, developing consistent and efficient search-operator rules requires not only domain expertise but also in-depth knowledge about optimisation, which makes the use of model-based meta-heuristic search challenging and expensive. In this paper, we propose a generalised approach to automatically generate atomic multiplicity-preserving search operators for a given optimisation problem. This reduces the effort required to specify an optimisation problem and shields optimisation users from the complexity of implementing efficient meta-heuristic search mutation operators. We evaluate our approach with a set of case studies and show that the automatically generated rules are comparable to, and in some cases better than, manually created rules at guiding evolutionary search towards near-optimal solutions.
... Our approach is similar to the one developed in [77] about consistent model transformations. In this article, the authors tackle consistency preservation in the ECLIPSE Modeling Framework (EMF). ...
Article
Full-text available
Topology-based geometric modeling tackles the issue of representing objects with data structures that encode the topological subdivision of modeled objects in vertices, edges, faces, and volumes. Such subdivisions can be represented with graphs labeled by dimensions on arcs, while modeling operations used to edit the objects can be formalized as graph transformations. Among the existing topological models, we consider generalized and oriented maps, defined as constrained labeled graphs, to ensure the well-formedness of the represented objects. Since a modeling operation should provide a correct object when applied to a correct object, graph transformations are provided with conditions to ensure the model consistency. Our approach exploits the firmly established framework of DPO graph transformations to implement modeling operations. We enrich standard DPO graph transformations with a product construction to ease the operation design, enabling generic modeling operations as rule schemes. We lift conditions from DPO rules to this enriched framework, ensuring the preservation of the topological consistency via static analysis of syntactic conditions on rule schemes.