Coexistenz von Modellierungssprachversionen und Co-Evolution
Co-Existence of Modeling Language Versions and Co-Evolution
Wissenschaftsdisziplinen
Informatik (100%)
Keywords
-
Model-Driven Engineering,
Co-Evolution,
Meta Modeling,
Domain-Specific Languages,
Consistency Checking
Moderne Softwareprojekte basieren auf einer Vielzahl von technischen Artefakten wie z. B. Entwurfsmodellen, Quellcode und Anforderungen die in unterschiedlichen Sprachen (z. B. UML, Java, EARS) erstellt werden. Diese Sprachen und Artefakte entwickeln sich im Laufe der Zeit weiter. Aktuelle Werkzeuge wie Versionskontrollsysteme erfassen jedoch nur textuelle Änderungen, ohne deren Struktur oder Bedeutung zu verstehen. Außerdem berücksichtigen sie nicht die Evolution der verwendeten Sprachen. Ohne ein Verständnis dafür, wie sich Sprachen und ihre zugehörigen Artefakte gemeinsam entwickeln, verlieren wir die Möglichkeit, Konsistenz, Rückverfolgbarkeit und ein tieferes Verständnis der technischen Entwicklung sicherzustellen. In vielen Projekten werden mehrere Sprachen gleichzeitig verwendet jede davon mit ihrer eigenen Entwicklungsgeschichte. So kann ein System z. B. Client-Code in Java 1.8, Server-Code in Java 20, UML-Modelle in Version 2.1 und EARS-Anforderungen aus dem Jahr 2009 enthalten. Die Unterstützung einer solchen Koexistenz bringt Herausforderungen bei der Wahrung der Konsistenz über verschiedene Versionen und Sprachen hinweg mit sich. Ziel 1: Entwicklung eines Rahmens, der es ermöglicht, verschiedene Sprachversionen und ihre zugehörigen Artefakte innerhalb desselben Projekts koexistieren zu lassen. Ziel 2: Entwicklung eines Mechanismus zur Verwaltung komplexer, mehrdimensionaler (n-ärer) Beziehungen zwischen verschiedenen Versionen unterschiedlicher Sprachen und deren Artefakten mit dem Ziel, Konsistenz und Rückverfolgbarkeit zu gewährleisten. Ziel 2 ergibt sich direkt aus Ziel 1: Sobald Artefakte unterschiedlicher Sprachversionen gemeinsam bestehen dürfen, muss deren Zusammenspiel berücksichtigt werden. Die Konsistenz zwischen UML 2.1 und Java 1.8 ist beispielsweise nicht dieselbe wie zwischen UML 1.4 und Java 20. Daher kann die Evolution von Sprachen und Artefakten nicht isoliert betrachtet werden ihre Wechselwirkungen erzeugen ein komplexes Netz wachsender Beziehungen, das verstanden und gepflegt werden muss. Verständnis der Evolution: Analyse, wie sich technische Sprachen und ihre Artefakte im Laufe der Zeit verändern. Allgemeiner Änderungsmechanismus: Entwicklung eines Systems zur Erfassung, Verwaltung und Interpretation dieser Veränderungen über Sprach- und Versionsgrenzen hinweg. Prototypen und Evaluation: Entwicklung experimenteller Werkzeuge zur automatischen Unterstützung von Koexistenz, Konsistenz und Rückverfolgbarkeit bei vielfältigen und sich entwickelnden Artefakten.
- Universität Linz - 100%
- Weley Klewerton Guez Assunção, North Carolina State University - Vereinigte Staaten von Amerika