Hauptinhalt

Tripelgraphgrammatiken (TGG) 2.0: Zuverlässige und skalierbare Modellintegration

Finanziert von der Deutschen Forschungsgemeinschaft (2017–2020)

Modellgetriebene Softwareentwicklung ist ein bekannter Ansatz, der steigenden Komplexität von modernen Softwaresystemen zu begegnen. Modelle erlauben die Entwicklung von Software auf einer höheren Abstraktionsebene. Für die Vision der modellgetriebenen Entwicklung im Großen ist es wichtig, zusammengehörige Modelle konsistent zu halten, auch wenn sie gleichzeitig geändert werden. Die Zusammenführung von gleichzeitigen Modelländerungen und die Wiederherstellung von Konsistenzbeziehungen zwischen Modellen wird noch nicht genügend unterstützt. Existierende Integrationsansätze haben Probleme bzgl. der Ausdrucksmächtigkeit, der Zuverlässigkeit, der Konfigurierbarkeit und der Skalierbarkeit. Dies gilt auch für die bidirektionalen Transformationssprachen, die speziell für die Propagierung von Änderungen zwischen Modellen entworfen wurden.

Um die Vision des gleichzeitigen Modellierens zu stärken, ist die Entwicklung eines Ansatzes zur zuverlässigen und konfigurierbaren Modellintegration unser Projektziel. Der Ansatz soll ausdruckmächtig und skalierbar genug für die Anwendung in der Praxis sein. Die Basis für diesen Ansatz bilden die Tripelgraphgrammatiken (TGG), ein Teilgebiet der bidirektionalen Transformationen. Für TGGs wurde gezeigt, dass sie skalieren und sich in der Praxis bewährt haben. Formal basieren TGGs auf der algebraischen Graphtransformation, eine solide Basis, um die Zuverlässigkeit von Integrationen nachzuweisen. TGGs eignen sich daher als Basis, auch wenn existierende Werkzeugumgebungen für TGGs bisher nur die Propagation von Modelländerungen an ungeänderte Modelle unterstützen. Ideen zur Generalisierung in Richtung echter Modellintegration existieren, allerdings nur für einfache Formen von Transformationen.

Unsere Projektvision umfasst die folgenden Ziele: (O1) Die Ausdrucksmächtigkeit von TGGs soll um Multiamalgamierung als neues Sprachkonzept erweitert werden. Multiamalgamierung ermöglicht die kompakte Notation von For-Each-Schleifen in Transformationsregeln, ein Konzept, das häufig in der Praxis gebraucht wird. Außerdem soll Modellintegration nicht auf TGGs mit funktionalem Verhalten eingeschränkt sein. (O2) Auf der Basis von TGGs mit Multiamalgamierung soll ein Framework für zuverlässige Modellintegrationen entwickelt werden. Wir verfolgen einen neuen, echt bidirektionalen Ansatz zur Modellintegration, der formal definierte Korrektheits- und Vollständigkeitseigenschaften TGG-basierter Synchronisationen bewahrt. (O3) Für die bidirektionale Änderungspropagation sollen konfigurierbare Strategien zur Konflikterkennung und -auflösung entwickelt werden. Diese sollen Modelländerungen so weit wie möglich bewahren. (O4) Wir wollen eine Klasse von skalierbaren TGGs mit Multiamalgamierung charakterisieren, die Integrationsprozesse mit polynomieller Laufzeitkomplexität erlauben. Die charakterisierten TGGs sollen statisch identifizierbar sein und die oben erwähnten Korrektheits- und Vollständigkeitseigenschaften bewahren.

Kooperationspartner

Prof. Dr. Andy Schürr (TU Darmstadt)

Projektmitarbeiter

Lars Fritsche (TU Darmstadt)
Jens Kosiol (Philipps-Universität Marburg)

Weitere Informationen

Projektwebsite DFG