Formale Sprachen

Meta-Modeling and Graph Grammars: Generating Development Environments for Modeling Languages

Projektdauer: 2016-2019

Finanzierung durch: Deutsche Forschungsgemeinschaft (DFG)

Zusammenfassung des Forschungsvorhabens:

There is a trend to develop domain-specific modeling languages (DSMLs) with corresponding integrated development environments (IDEs) for model-driven development of software. Such IDEs include but are not limited to model editors as well as  interpreters and/or translators of models. Additional tools such as high-level model version management and test support with automatic test case generation and model migrators are of great use. The development of such IDEs, however, is costly and requires tool development experiences. Therefore, meta-tools have been developed which reduce tool development to their domain-specific tasks. But still a lot of manual work and tool-related experiences are needed to use these meta-tools in the right way.

The overall aim of this project is to raise the degree of automation w.r.t. tool support for modeling languages, especially DSMLs. Since tool development seems to be the largest obstacle for using modeling languages, we intend to identify core problems and to develop new concepts, methods and meta-tools to make tool development for modeling languages faster and easier. In a certain sense, we consider to lift the specification of domain-specific tool environments to a higher abstraction level, i.e., to make it more model-driven. To reach this aim, inherent problems such as interactively generating and repairing models need to be solved and are best considered on the formal level. We use the theory of graph transformation to systematically tackle them. Solutions found are implemented based on the Eclipse Modeling Project and evaluated at a variety of modeling languages.

  • [inproceedings] bibtex | Dokument aufrufen Dokument aufrufen
    J. S. Becker, "An Automata-Theoretic Approach to Instance Generation," in Proc. 7th Int. Workshop on Graph Computation Models (GCM 2016), Preproceedings, 2016.
    @inproceedings{Becker16a, title = {An Automata-Theoretic Approach to Instance Generation},
      author = {Jan Steffen Becker},
      booktitle = {7th Int. Workshop on Graph Computation Models (GCM 2016), Preproceedings},
      year = {2016},
      url = {},
      publists = {mmgg2} }
  • [article] bibtex
    H. Radke, T. Arendt, J. S. Becker, A. Habel, und G. Taentzer, "Translating Essential OCL Invariants to Nested Graph Constraints for Generating Instances of Meta-models," Science of Computer Programming, vol. 152, pp. 38-62, 2018.
      author = {Hendrik Radke and Thorsten Arendt and Jan Steffen Becker and Annegret Habel and Grabriele Taentzer},
      title = {Translating Essential {OCL} Invariants to Nested Graph Constraints for Generating Instances of Meta-models},
      journal = {Science of Computer Programming},
      volume = {152},
      pages = {38-62},
      year = {2018},
      publists = {mmgg2} }
  • [inproceedings] bibtex
    Annegret Habel, C. Sandmann, und T. Teusch, "Integration of graph constraints into graph grammars," in Proc. Festschrift in Memory of Hartmut Ehrig, 2017.
      author = {Annegret Habel, and Christian Sandmann and Tilman Teusch},
      title = {Integration of graph constraints into graph grammars},
      booktitle = {Festschrift in Memory of Hartmut Ehrig},
      series = {Lecture Notes in Computer Science},
      volume = {},
      pages = {},
      year = {2017},
      note = {Submitted},
      publists = {mmgg2} }
  • [inproceedings] bibtex
    N. Nassar, H. Radke, und T. Arendt, "Rule-Based Repair of EMF Models: An Automated Interactive Approach," in Proc. Theory and Practice of Model Transformation (ICMT 2017), 2017, pp. 171-181.
      author = {Nebras Nassar and Hendrik Radke and Thorsten Arendt},
      title = {Rule-Based Repair of {EMF} Models: An Automated Interactive Approach},
      booktitle = {Theory and Practice of Model Transformation ({ICMT} 2017)},
      series = {Lecture Notes in Computer Science},
      volume = {10374},
      pages = {171--181},
      year = {2017},
      publists = {mmgg2} }