Item Type: |
Ph.D. Thesis |
Type of entry: |
Primary publication |
Title: |
Definition of a Type System for Generic and Reflective Graph Transformations |
Language: |
English |
Referees: |
Schürr, Prof. Dr. Andy ; Westfechtel, Prof. Dr. Bernhard |
Date: |
11 August 2014 |
Place of Publication: |
Darmstadt |
Date of oral examination: |
30 June 2014 |
Abstract: |
This thesis presents the extension of the graph transformation language SDM (Story Driven Modeling) with generic and reflective features as well as the definition of type checking rules for this language. The generic and reflective features aim at improving the reusability and expressiveness of SDM, whereas the type checking rules will ensure the type-safety of graph transformations.
This thesis starts with an explanation of the relevant concepts as well as a description of the context in order to provide the reader with a better understanding of our approach. The model driven development of software, today considered as the standard paradigm, is generally based on the use of domain-specific languages such as MATLAB Simulink and Stateflow. To increase the quality, the reliability,and the efficiency of models and the generated code, checking and elimination of detected guideline violations defined in huge catalogues has become an essential, but error-prone and time-consuming task in the development process. The MATE/MAJA projects, which are based on the use of the SDM language, aim at an automation of this task for MATLAB Simulink/Stateflow models. Modeling
guidelines can be specified on a very high level of abstraction by means of graph transformations. Moreover, these specifications allow for the generation of guideline checking tools. Unfortunately, most graph transformation languages do not offer appropriate concepts for reuse of specification fragments - a MUST, when we deal with hundreds of guidelines. As a consequence we present an extension of the SDM language which supports the definition of generic rewrite rules and combines them with the reflective programming mechanisms of Java and the model repository interface standard JMI.
Reusability and expressiveness are not the only aspects we want to improve. Another fundamental aspect of graph transformations must be ensured: their correctness in order to prevent type errors while executing the transformations. Checking and testing the graph transformations manually would ruin the benefit obtained by the automation of the guideline checking and by the generic and reflective features. Therefore, we propose in this work a type-checking method for graph transformations. We introduce a new notation for rules of inference and define a type system for SDM. We also proposed an algorithm to apply this type system.
We illustrate and evaluate both contributions of our work by applying them on running examples. Proposals for other additional SDM features as well as for possible improvements of our type checking open new perspectives and future research to pursue our work. |
Alternative Abstract: |
Alternative Abstract | Language |
---|
Diese Arbeit stellt die Erweiterung der Graphtransformationssprache SDM (Story Driven Modeling) mit generischen und reflektiven Features sowie die Definition eines Typsystems vor. Die generischen und reflektiven Features haben zum Ziel die Verbesserung der Wiederverwendung und Ausdrucksfähigkeit von SDM, während die Ableitungsregeln (oder Inferenzregeln) des Typsystems die Typsicherheit der Graphtransformationen gewährleisten.
Diese Dissertation fängt mit einer Beschreibung der relevanten Begriffe sowie des Kontextes an, um dem Leser ein besseres Verständnis unseres Ansatzes zu ermitteln. Die modellgetriebene Softwareentwicklung, die heutzutage als Standard gilt, basiert generell auf domainspezifischen Sprachen wie MATLAB Simulink und Stateflow. Um die Qualität, die Verlässlichkeit und die Effizienz von Modellen und von dem generierten Code zu garantieren, sind die Überprüfung und die Behebung der verletzten Modellierungsrichtlinien eine notwendige, aber fehleranfällige und zeitaufwändige, Aufgabe während des Entwicklungsprozesses. Das Ziel der MATE/MAJA-Projekte, die auf der Verwendung der SDM-Transformationssprache basieren, ist die Automatisierung dieser Aufgabe fürMATLAB Simulink/Stateflow Modelle. Die Modellierungsrichtlinien können auf einem hohen Abstraktionsniveau mit Hilfe von Graphtransformationen spezifiziert werden. Diese Spezifikationen ermöglichen dazu die Generierung von Werkzeugen zur Richtliniensanalyse. Leider bieten die meisten Graphtransformationssprachen die zur Wiederverwendung geeigneten Konzepte nicht an - ein MUSS, wenn man sich mit Hunderten von Richtlinien beschäftigt. Deshalb stellen wir eine Erweiterung der SDM-Sprache, die die Spezifikation von generischen Graphersetzungsregeln unterstützt, und die diese mit den reflektiven Programmierungsmechanismen von Java und dem Standard JMI kombiniert, vor.
Wiederverwendung und Ausdrucksfähigkeit sind nicht die einzigen Aspekte, die wir verbessern möchten. Ein anderer wichtiger Aspekt der Graphtransformationen muss geprüft werden: ihre Korrektheit, um Typfehler bei der Ausführung der Transformationen zu unterdrücken. Eine manuelle Überprüfung der Graphtransformationen würde den Vorteil der automatisierten Richtliniensanalyse und der generischen und reflektiven Features zunichte machen. Deshalb schlagen wir in dieser Arbeit einen Ansatz zur Typüberprüfung von Graphtransformationen vor. Wir führen eine neue Notation für die Inferenzregeln ein und definieren ein Typsystem für SDM.
Wir veranschaulichen und evaluieren die beiden Beiträge, indem wir diese auf konkreten Beispielen anwenden. Vorschläge für weitere SDM-Features sowie mögliche Verbesserungen von unserem Typsystem bieten Anregungen für künftige Arbeite an.
| German |
|
Uncontrolled Keywords: |
Graph transformations, SDM, generic, reflective, type checking, rules of inference |
Alternative keywords: |
Alternative keywords | Language |
---|
Graphtransformationen, SDM, Generizität, Reflektivität, Typsicherheit, Inferenzregeln | German |
|
URN: |
urn:nbn:de:tuda-tuprints-41195 |
Classification DDC: |
000 Generalities, computers, information > 004 Computer science |
Divisions: |
18 Department of Electrical Engineering and Information Technology 18 Department of Electrical Engineering and Information Technology > Institute of Computer Engineering > Real-Time Systems |
Date Deposited: |
05 Sep 2014 09:31 |
Last Modified: |
09 Jul 2020 00:46 |
URI: |
https://tuprints.ulb.tu-darmstadt.de/id/eprint/4119 |
PPN: |
386756686 |
Export: |
|