CUSMOVERS

Customizable Model Versioning for Domain-specific Modeling Languages (EUREKA)

Programm / Ausschreibung BASIS, Basisprogramm, Budgetjahr 2016 Status abgeschlossen
Projektstart 01.07.2016 Projektende 30.06.2017
Zeitraum 2016 - 2017 Projektlaufzeit 12 Monate
Keywords

Projektbeschreibung

Modellbasierte Entwicklung (MBE) hat sich in den letzten Jahren im Software- und Systems-Engineering als eine besonders erfolgreiche Methode erwiesen, um die Qualität und die Effizienz der Software- bzw. Systementwicklung zu steigern. Insbesondere in Domänen, wie etwa der Automobilherstellung oder der Entwicklung von Embedded Systems, wird MBE in unterschiedlichen Kontexten, wie beispielsweise dem Architekturdesign, Schnittstellendefinition, Simulation und Code-Generierung, erfolgreich eingesetzt. Immer mehr hat sich herausgestellt, dass MBE den größten Nutzen erzeugt, wenn hochspezialisierte domänenspezifische Modellierungssprachen eingesetzt werden, wie etwa domänenspezifische Erweiterungen von UML, SysML, UML-RT, usw. Leider bieten verfügbare kommerzielle Standard-Modellierungswerkzeugen nicht die ausreichende Anpassbarkeit und Erweiterbarkeit, um diesen Anforderungen der hohen Spezialisierung auf eine Domäne gerecht zu werden. Einige große Unternehmen im Software- und Systems-Engineering ziehen folglich eine Migration von kommerziellen Modellierungswerkzeugen hin zu Open-Source-Lösungen in Erwägung, da diese Open-Source-Software-Modellierungsplattformen, insbesondere Eclipse, die nötige Flexibilität und Erweiterbarkeit bieten.

Wenn nun hochspezialisierte Modellierungssprachen und -werkzeuge im industriellen Umfeld eingesetzt werden, ist es notwendig in Teams gleichzeitig an gemeinsamen Modellen zu arbeiten um mit Projektgrößen der Industrie umgehen zu können. Die Modellierungswerkzeuge müssen daher eine entsprechende Unterstützung für den Modellvergleich und die Zusammenführung von parallel veränderten Modellen bieten. Diese Unterstützung muss höchsten Ansprüchen genügen, da Unverständlichkeiten bei der Anzeige von parallelen Änderungen oder schwer zu verstehenden Konflikten schnell zu Fehlern bei der manuellen Zusammenführung der parallelen Änderungen und damit zu Fehlern im endgültigen Modell führen können.

Betrachtet man nun beide oben genannte Aspekte zusammen, das heißt die Anpassbarkeit für hochspezialisierte domänenspezifische Modellierungssprachen sowie die hohen Ansprüche an den Modellvergleich und -zusammenführung, ergeben sich große Herausforderungen an die Modellierungswerkzeuge. Schließlich muss der Modellvergleich die domänenspezifischen Anpassungen in der Modellierungssprache berücksichtigen, um die Änderungen zwischen zwei Modellversionen auf einfach verständliche Art und Weise darzustellen, sowie diese domänenspezifischen Konzepte und Operationen bei der Zusammenführung berücksichtigen zu können. Aktuell verfügbare Werkzeuge genügen diesen Anforderungen leider nicht, was zu teils unbrauchbaren Ergebnissen bei der Änderungsdarstellung und der Zusammenführung von Modellen bei der Teamarbeit führt. Dies gefährdet nicht nur die Qualität der Modelle sondern schwächt auch den versprochenen Effizienzgewinn beim Einsatz von MBE im Gesamten.

In diesem Projekt wollen wir die Lücke zwischen hochspezialisierten, domänenspezifischen Modellierungswerkzeugen und den verfügbaren Komponenten für den Modellvergleich und die Modellzusammenführung schließen, sodass Änderungen und potentielle Änderungskonflikte zwischen Modellversionen so dargestellt werden, dass AnwenderInnen unterschiedlicher Domänen (Architektur, Systementwicklung, etc.) diese einfach verstehen können und sie bei der Zusammenführung von Modellversionen zu unterstützen. Da eine generische Modellvergleichs- und -zusammenführungskomponente die Anforderungen jeder speziellen Domäne nicht ausreichend unterstützen können wird, schlagen wir eine modellbasierte Erweiterungsmöglichkeit dieser Komponenten vor, um die domänenspezifischen Anpassungen der Modellierungssprachen und -werkzeugen als Modell abzubilden, das von der Modellvergleichs- und -zusammenführungskomponente entsprechend berücksichtigt werden kann, um optimale Ergebnisse zu erzielen. Da in unterschiedlichen Domänen und von unterschiedlichen Rollen innerhalb eines Projekts (z.B. ArchitektIn und SystementwicklerIn) auch unterschiedliche Repräsentation der gemeinsamen Modelle verwendet werden, wie etwa textuelle und grafische Repräsentation, ist auch die Unterstützung von mehreren Modellrepräsentation in dem Modellvergleich ein wichtiger Aspekt dieses Projekts. Insbesondere sollen die Resultate dieses Projekts den AnwenderInnen erlauben, die Änderungen in ihrer bevorzugten Modellrepräsentation zu betrachten, auch wenn die Änderungen in einer anderen Modellrepräsentation ursprünglich angewendet wurden. Dies erlaubt die effiziente Zusammenarbeit der unterschiedlichen Rollen in einem Projekt, da etwa die Architektin die von einem Systementwickler in seiner bevorzugten textuellen Repräsentation durchgeführten Änderungen der von ihr bevorzugten grafischen Darstellung (Diagrammen) betrachten und nachvollziehen kann.

Dieses Projekt ist Teil eines EUREKA-Projekts. Das oben beschriebene Teilprojekt fokussiert den Modellvergleich und die -zusammenführung, während das EUREKA-Projekt im Gesamten die gleichzeitige Anwendung mehrerer Modellrepräsentationen, wie etwa textuelle und grafische Modellierung, für unterschiedliche Rollen im Projektteam anstrebt.