TU Darmstadt / ULB / TUprints

Inter-Model Consistency Checking and Restoration with Triple Graph Grammars

Leblebici, Erhan (2018)
Inter-Model Consistency Checking and Restoration with Triple Graph Grammars.
Technische Universität Darmstadt
Ph.D. Thesis, Primary publication

[img]
Preview
Text
2018-05-04_Leblebici_Erhan.pdf - Accepted Version
Copyright Information: CC BY-SA 4.0 International - Creative Commons, Attribution ShareAlike.

Download (8MB) | Preview
Item Type: Ph.D. Thesis
Type of entry: Primary publication
Title: Inter-Model Consistency Checking and Restoration with Triple Graph Grammars
Language: English
Referees: Schürr, Prof. Dr. Andy ; Westfechtel, Prof. Dr. Bernhard
Date: 17 May 2018
Place of Publication: Darmstadt
Date of oral examination: 4 May 2018
Abstract:

Software development is a complex task. The success of a software project highly relies on the involvement of domain experts in the development process. In recent years, therefore, the field of software engineering has been striving to elevate the level of abstraction towards domain-specific concepts (instead of the computation-oriented nature of classical programming languages). Model-Driven Engineering (MDE), a novel software development methodology, lies at the heart of these efforts. In MDE, a model represents an abstraction of a system with one specific goal in mind. Hence, the MDE strategy does not only deal with abstractions but also advocates the co-existence of related models capturing different aspects of the same system. While this supports separation of concerns, consistency management between related models becomes a crucial challenge as models are changed throughout their life cycle. Two basic building blocks of consistency management are (i) consistency checking to indicate whether or to what extent two related models are consistent and (ii) consistency restoration to suitably handle discrepancies between models.

To address consistency management tasks in a formally-founded manner, bidirectional transformations (BX) have been established as a research area. Among the diverse BX approaches, Triple Graph Grammars (TGGs) represent a prominent technique with various implementations and industrial applications. In this setting, models are formalized as graphs and consistency is described as a grammar constructing two consistent models together with a correspondence model. Consistency management tools are then automatically derived from this description.

Current TGG approaches (and in fact also BX approaches in general) focus on consistency scenarios where only one model is maintained by human intelligence at the same time and the other one is automatically updated by consistency restoration. Consistency management between two concurrently developed models, however, is not sufficiently supported as practical solutions for consistency checking are essentially missing. Strategies for consistency restoration, furthermore, range from heuristics to auxiliary model analyses which constitute the most complex and least understood part of TGGs. Despite sharing the same basic goal and the same formal foundation, it is difficult to exchange ideas amongst the different TGG approaches.

In this thesis, therefore, we first establish consistency checking as a novel use case of TGGs. We identify search space problems in consistency checking and overcome them by combining TGGs with linear optimization techniques. Second, we propose a novel consistency restoration procedure that exploits incremental pattern matching techniques to address the intermediate steps of consistency restoration in a simplified manner. Furthermore, we present a TGG tool that implements our formal results and experimentally evaluate its scalability in real-world consistency scenarios. Finally, we report on an industrial project from the mechanical engineering domain where we applied this tool for maintaining consistency between computer-aided design and mechatronic simulation models.

Alternative Abstract:
Alternative AbstractLanguage

Softwareentwicklung ist eine komplexe Aufgabe. Der Erfolg eines Softwareprojektes ist in hohem Maße auf die Beteiligung der Domänenexperten im Entwicklungsprozess angewiesen. Das Gebiet Softwaretechnik strebt daher höhere Abstraktionsstufen mit Fokus auf domänenspezifische Konzepte an (anstatt der auf Rechnen orientierten Natur der klassischen Programmiersprachen). Model-Driven Engineering (MDE), eine neue Softwareentwicklungsmethodik, liegt im Mittelpunkt dieser Bestrebungen. In MDE stellt ein Modell eine Abstraktion eines Systems mit einem spezifischen Ziel dar. Folglich beschäftigt sich MDE nicht nur mit Abstraktionen, sondern befürwortet auch die Koexistenz verwandter Modelle, die dasselbe System beschreiben. Während dies die Trennung der Zuständigkeiten unterstützt, wird Konsistenzverwaltung zwischen verwandten Modellen eine wichtige Herausforderung, da Modelle sich im Laufe ihres Lebenszyklus ändern. Zwei Grundbausteine der Konsistenzverwaltung sind (i) Konsistenzprüfung, um zu bestimmen, ob oder inwiefern zwei verwandte Modelle konsistent sind und (ii) Konsistenzwiederherstellung, um Diskrepanzen zwischen den Modellen zu beseitigen.

Um Konsistenzverwaltung mit formalen Mitteln anzugehen wurden bidirektionale Transformationen (BX) als ein Forschungsfeld etabliert. Unter den BX-Ansätzen stellen Tripel-Graph-Grammatiken (TGGen) eine prominente Technik mit verschiedenen Implementierungen und industriellen Anwendungen dar. Dabei werden Modelle als Graphen und Konsistenzbeziehungen als eine Grammatik beschrieben, die zwei konsistente Modelle mit einem Korrespondenzmodell aufbaut. Werkzeuge zur Konsistenzverwaltung werden aus dieser Beschreibung generiert.

Existierende TGG-Ansätze (sowie BX-Ansätze generell) setzen weitgehend voraus, dass gleichzeitig nur das eine Modell durch menschliche Intelligenz gepflegt und das andere durch Konsistenzwiederherstellung automatisch aktualisiert wird. Das Problem der Konsistenzerhaltung zwischen zwei konkurrierend gepflegten Modellen bleibt dagegen offen, da praktische Lösungen zur Konsistenzprüfung fehlen. Des Weiteren reichen die Strategien zur Konsistenzwiederherstellung von Heuristiken bis hin zu zusätzlichen Modellanalysen, die den unübersichtlichsten Teil der TGGen bilden. Das erschwert auch den Ideenaustausch zwischen unterschiedlichen TGG-Ansätzen, obwohl diese dieselben Ziele und Grundlagen haben.

In dieser Thesis wird erstens Konsistenzprüfung als ein neuer Anwendungsfall der TGGen eingeführt. Suchraumprobleme in Konsistenzprüfung werden identifiziert und durch lineare Optimierungstechniken bewältigt. Zweitens wird eine neue Prozedur zur Konsistenzwiederherstellung vorgestellt, die von Techniken zur inkrementellen Graphmustersuche Gebrauch macht, um Konsistenzwiederherstellung zu vereinfachen. Des Weiteren wird ein TGG-Werkzeug vorgestellt, das die formalen Ergebnisse umsetzt und dessen Skalierbarkeit mit realen Beispielen evaluiert wird. Zum Abschluss wird über ein Industrie-Projekt aus der Maschinenbau-Domäne berichtet, in dem dieses Werkzeug zur Konsistenzerhaltung zwischen Modellen von rechnergestütztem Konstruieren und mechatronischer Simulation benutzt wurde.

German
URN: urn:nbn:de:tuda-tuprints-74264
Classification DDC: 000 Generalities, computers, information > 004 Computer science
600 Technology, medicine, applied sciences > 620 Engineering and machine engineering
Divisions: 18 Department of Electrical Engineering and Information Technology
18 Department of Electrical Engineering and Information Technology > Institute of Computer Engineering > Real-Time Systems
Exzellenzinitiative > Graduate Schools > Graduate School of Computational Engineering (CE)
Date Deposited: 18 May 2018 14:22
Last Modified: 09 Jul 2020 02:06
URI: https://tuprints.ulb.tu-darmstadt.de/id/eprint/7426
PPN: 431531692
Export:
Actions (login required)
View Item View Item