Meta-Modeling and Graph Grammars: Generating Development Environments for Modeling Languages
Theoretical Computer Science
Final Report Abstract
The problem of (typed) graph repair is considered and, for a large class of conditions, a repair program can be derived from the condition such that for all transformations the application of the repair program to any (typed) graph yields a (typed) graph satisfying the constraint. Summarizing, we have the following. 1. A general theory on typed graph repair: There are repair theorems for all so-called proper and generalized proper constraints, preserving conjunctions, and disjunctions. These results are independent from EMF. 2. One approach for different versions of EMF-models: The results can be applied to EMF meta-models as well as to variants of them. 3. One repair program for all graphs: Given a graph condition, the repair program can be applied to any graph and repair it. Nassar et al. presented a model repair technique for EMF models and cardinality constraints. A generic rule-based algorithm was developed for trimming and completing models and thereby resolving their cardinality violations. Nassar et al. formalized the work, showed its correctness and specified under which conditions the algorithm terminates. They developed a tool called EMF Repair to repair EMF models semi-interactively and developed a meta-tool called Meta2RR to customize the approach for any given meta-model automatically. Moreover, they showed that this technique scales to big models. Nassar et al. developed an approach for generating valid EMF models based on EMF Repair. Analogy, they developed the EMF Model Generator 1 to generate models supporting user-defined parameterizations, and a meta-tool called MetaGR to customize the approach. They showed that this technique overcomes the state-of-the-art of existing tools for generating large-sized and valid EMF models. In parallel, Nassar et al. developed an Eclipse-based tool called OCL2AC2 for constructing constraint-guaranteeing application conditions from OCL constraints. As the resulting application conditions tend to become pretty complex, they optimized the strategies for the case that constraint-preserving conditions are enough by using general optimization strategies. The result shows that the optimizations reduce the size of application conditions considerably and improve the performance of consistency-preserving transformations. This work got the Best Software Science Paper (EASST Award) of the Int. Conference on Graph Transformation (ICGT) in 2019. Summarizing, we have developed a solution for the core problem of our project which is the translation of a meta-model into a rule-based model transformation system that can generate, complete or repair models of this meta-model such that they are valid afterwards. We have developed readyto-use tool support for an important subclass of meta-models and showed their progress compared to related tool support. This tool support comprises model generation and repair as well as the integration of OCL or graph constraints into transformation systems in form of application conditions. Future work would be needed to develop tool support for EMF models based on the new theory for graph repair where a rather general form of constraints is allowed and to evaluate it in comparison with other model repair approaches. Together with already existing solutions supporting tasks such as model editing, versioning, refactoring, comprehensive environments for domain-specific modeling languages can be specified and generated finally.
Publications
- Rule-based repair of EMF models: An automated interactive approach. Theory and Practice of Model Transformation (ICMT 2017), LNCS 10374, Springer, 171–181. 2017
Nebras Nassar, Hendrik Radke, and Thorsten Arendt
(See online at https://doi.org/10.1007/978-3-319-61473-1_12) - Graph repair by graph programs. In Graph Computation Models (GCM 2018), LNCS 11176,Springer, 431–446, 2018
Annegret Habel and Christian Sandmann
(See online at https://doi.org/10.1007/978-3-030-04771-9_31) - Integration of graph constraints into graph grammars. In Graph Transformation, Specifications, and Nets, LNCS 10800, Springer, 19–36, 2018
Annegret Habel, Christian Sandmann, and Tilman Teusch
(See online at https://doi.org/10.1007/978-3-319-75396-6_2) - OCL2AC: automatic translation of OCL constraints to graph constraints and application conditions for transformation rules. Graph Transformation (ICGT 2018), LNCS 10887, Springer, 171–177. 2018
Nebras Nassar, Jens Kosiol, Thorsten Arendt, and Gabriele Taentzer
(See online at https://doi.org/10.1007/978-3-319-92991-0_11) - Translating essential OCL invariants to nested graph constraints for generating instances of meta-models. Science of Computer Programming, 152:38–62, 2018
Hendrik Radke, Thorsten Arendt, Jan Steffen Becker, Annegret Habel, and Gabriele Taentzer
(See online at https://doi.org/10.1016/j.scico.2017.08.006) - Rule-based graph repair. Electronic Proceedings in Theoretical Computer Science, 309:87–104, 2019
Christian Sandmann and Annegret Habel
(See online at https://doi.org/10.4204/EPTCS.309.5) - Constructing optimized validity-preserving application conditions for graph transformation rules. In Journal of Logical and Algebraic Methods in Programming. Elsevier, 2020
Nebras Nassar, Jens Kosiol, Thorsten Arendt, and Gabriele Taentzer
(See online at https://doi.org/10.1016/j.jlamp.2020.100564) - Generating large EMF models efficiently - A rule-based, configurable approach. In Fundamental Approaches to Software Engineering (FASE 2020), LNCS 12076, Springer, 224–244, 2020
Nebras Nassar, Jens Kosiol, Timo Kehrer, and Gabriele Taentzer
(See online at https://doi.org/10.1007/978-3-030-45234-6_11)