Hauptinhalt

MOCA - Spezifizieren und Erkennen von Modelländerungen auf der Basis von Editieroperationen

Gefördert im Rahmen des DFG-Schwerpunktprogramms SPP 1593 "Design for Future - Managed Software Evolution" (2012 - 2018)

Bei der modellbasierten Softwareentwicklung sind Modelle primäre Artefakte, die im Laufe eines Entwicklungsprozesses wiederholt modifiziert werden. Benötigt werden daher diverse Werkzeuge, die den Umgang mit Versionen von Modellen unterstützen und die u.a. Modelle vergleichen, mischen und modifizieren, Konflikte erkennen und Modellhistorien auf einer adäquaten Abstraktionsebene analysieren können. Derzeit verfügbare Werkzeuge arbeiten auf systemnahen Repräsentationen von Modellen, die oft aus Benutzersicht unverständliche Details enthalten. Entwickler verstehen Modelle mental hingegen in ihrer externen, meist graphischen Darstellung und wollen Änderungen an Modellen auf einem möglichst hohen Abstraktionsniveau, d.h. auf der Ebene von Editieroperationen, zu denen Refactorings und andere komplexe Operationen zählen, erklärt haben.

Ziel dieses Projekts ist es, die Versionierungskonzepte, -Algorithmen und -Werkzeuge von einem derzeit systemnahen Niveau auf ein möglichst hohes, benutzernahes Niveau anzuheben. Dieses Ziel umfasst insbesondere das Spezifizieren und Erkennen von komplexen Editieroperationen sowie die Konflikterkennung und das Mischen von Modellevolutionen auf der Ebene von Editieroperationen. Alle wesentlichen Konzepte werden formal durch Graphtransformationen fundiert werden. Die technische Umsetzung unseres Ansatzes wird auf dem bekannten Eclipse Modeling Project basieren. 

Kooperationspartner

Prof. Dr. Udo Kelter (Universität Siegen)

Weitere Informationen

Projektwebsite
Werkzeugunterstützung durch SiLift