Generating instance models from meta models Ehrig, Karsten; Küster, Jochen Malte; Taentzer, Gabriele
Software and systems modeling,
09/2009, Letnik:
8, Številka:
4
Journal Article
Recenzirano
Odprti dostop
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.
Model transformations are a key element in the OMG’s Model Driven Development agenda. They did not begin here: the fundamental idea of transforming, automatically, one model into another is at least ...as old as the computer, provided that we take a sufficiently broad view of what a model is. In many contexts, people have encountered the need for bidirectional transformations. In this survey paper we discuss the various notions of bidirectional transformation, and their motivation from the needs of software engineering. We discuss the state of the art in work targeted specifically at the OMG’s MDD initiative, and also, briefly, related work from other communities. We point out some areas which are so far relatively under-researched, and propose research topics for the future.
In this paper, we present a multi-frontal solver algorithm for the adaptive finite element method expressed by graph grammar productions. The graph grammar productions construct first the binary ...elimination tree, and then process frontal matrices stored in distributed manner in nodes of the elimination tree. The solver is specialized for a class of one, two and three dimensional h refined meshes whose elimination tree has a regular structure. In particular, this class contains all one dimensional grids, two and three dimensional grids refined towards point singularities, two dimensional grids refined in an anisotropic way towards edge singularity as well as three dimensional grids refined in an anisotropic way towards edge or face singularities. In all these cases, the structure of the elimination tree and the structure of the frontal matrices are similar. The solver is implemented within the Galois environment, which allows parallel execution of graph grammar productions. We also compare the performance of the Galois implementation of our graph grammar based solver with the MUMPS solver.
In the process industry, ongoing digitization is leading to a considerable information exchange over the entire life cycle of a process plant. Data models are usually created in the initial planning ...phases and these change continuously with further progress including the planning phase itself, plant adaptations after commissioning, and maintenance. The various models from the disciplines involved have a considerable semantic overlap, creating dependencies. Changes in one model inevitably lead to changes in another. This paper presents an approach for networking and synchronization between data models based on these overlaps. The resulting synchronization network provides models which are as free of inconsistencies as possible across different disciplines at any point in time. In addition, first approaches for collaborative conflict resolution are presented. Approaches from model-driven software development and web technologies are adapted to the application domain of the process industry. Typical information models created during the planning phase of a process engineering plant serve as an example.
We employ a triple graph grammar to enable configurable conversion from IFC to CityGML. In this paper, we present the mathematical framework behind the graph transformation approach as well as an ...application to create, store and maintain transformation rules implementing this framework. Particular emphasis is put on how the approach enables graphical representation and static analysis of rules and rulesets, both in the theoretical framework and prototypical implementation. Even if various publications and tools for general graph transformation do already exist, we hope that the BIM–GIS community will benefit from a domain-specific introduction to the theory and dedicated software tools.
The advent of model-driven software development has put model transformations into focus. In practice, model transformations are expected to be applicable in different stages of a development process ...and help to consistently propagate changes between the different involved models which we refer to as model synchronization. However, most approaches do not fully support the requirements for model synchronization today and focus only on classical one-way batch-oriented transformations. In this paper, we present our approach for an incremental model transformation which supports model synchronization. Our approach employs the visual, formal, and bidirectional transformation technique of triple graph grammars. Using this declarative specification formalism, we focus on the efficient execution of the transformation rules and present our approach to achieve an incremental model transformation for synchronization purposes. We present an evaluation of our approach and demonstrate that due to the speedup for the incremental processing in the average case even larger models can be tackled.
Programmable stochastic self-assembly of modular robots provides promising means to formation of structures at different scales. One way to address the design of dedicated control rulesets for ...self-assembling robotic modules is to leverage formalisms based on graph grammar. While these tools are powerful and allow for formal analysis of the resulting controllers, expressing the embodiment of the robotic modules and therefore the physical structure of assemblies of such modules is not readily possible with such formalisms. This typically results in inefficient representation of ruleset controllers and poses limitations on automatizing ruleset synthesis methods, requiring manual design or tuning of the rules before deployment on the robotic modules. In this work, we consider robotic modules endowed with identical latching connectors arranged in a rotationally symmetric configuration. We extend a grammar formalism based on graphs and propose a new encoding of the modules’ internal states. This allows for formulating formal methods capable of automatically deriving the rules based on the morphology of the robotic modules, in particular their number of connectors. The derived rules are directly applicable to robotic modules with no further tuning. In addition, we show that our method allows for a reduced complexity in the rulesets, a particularly welcome feature in the case of limited on-board storage, computation, and communication resources. In order to illustrate the application of our method, we extend two synthesis algorithms from the literature, namely Singleton and Linchpin, to automatically synthesize rules applicable to our resource-constrained robotic modules. In order to increase the prototyping speed and the thoroughness of the validation for the synthesis algorithms, we leverage two complementary simulation frameworks capturing the system at different levels of abstraction. Finally, employing the generated rulesets, we conduct experiments with our robotic platform to demonstrate several assemblies.