Patchen von Modellen.

Udo Kelter, Timo Kehrer, Dennis C. Koch · 2013

Fur die modellbasierte Softwareentwicklung werden spezialisierte Werkzeuge fur ein professionelles Versionsund Variantenmanagement von Modellen benotigt. Insbesondere Anwendungsfalle wie das Patchen oder Mischen von Modellen stellen sehr hohe Anforderungen an die Konsistenz der synthetisierten Modelle. Wahrend fur das klassische 3-Wege-Mischen von Modellen bereits erste brauchbare Ansatze vorgeschlagen wurden, bestehen erhebliche Defizite bei Patch-Werkzeugen. Anhand realer Einsatzszenarien von Patch-Werkzeugen erortern wir die wesentlichen Anforderungen und Schwierigkeiten und analysieren potentielle Fehlerquellen bei der Anwendung von Patches. Daraus leiten wir wesentliche Entwurfsentscheidungen zur Konstruktion von Patch-Werkzeugen ab und stellen unseren Ansatz zum konsistenzerhaltenden Patchen vor. 1 Einleitung und Motivation Die modellbasierte Softwareentwicklung leidet nach wie vor an einer unzureichenden Unterstutzung durch Versionsmanagement-Werkzeuge [EM12]. Wahrend teilweise schon brauchbare Werkzeuge zum Anzeigen von Differenzen und Mischen von Modellen vorhanden sind, bestehen erhebliche Defizite bei Patch-Werkzeugen. Die verfugbaren Werkzeuge sind nicht annahernd so ausgereift und breit einsetzbar wie z.B. die UNIXStandardwerkzeuge patch oder diff. Dieses Papier behandelt das Patchen von Modellen. Patchen (to patch ausbessern, flicken, korrigieren) bezeichnet ganz allgemein den Vorgang, ein Dokument durch Anwendung einer Anderungsvorschrift (the patch der Flicken, die Korrektur) abzuandern. Ein Patch entsteht i.d.R. durch Berechnung der Differenz zwischen zwei Dokumenten; er besteht aus einer Sequenz von Editierschritten, die das erste Dokument in das zweite uberfuhren. Abschnitt 2 definiert grundlegende Begriffe und grenzt das Patchen vom 3-Wege-Mischen ab. Patch-Werkzeuge werden fur mehrere Entwicklungsaufgaben benotigt, bei denen unterschiedliche Randbedingungen zu beachten sind (s. Abschnitt 3). Das Hauptproblem beim Patchen ist die Anwendung eines Patches auf ein anderes Modell als das, das beim Vergleich als Basismodell diente: hierdurch kann die Anwendung des Patches scheitern und das Modell so inkorrekt werden, das es nicht mehr mit Modelleditoren verarbeitet werden kann. Abschnitt 4 analysiert diese Probleme und fuhrt die in diesem Papier unterstellte Definition korrektheitserhaltender Editieroperationen ein.

Read the paper · More papers on PaperTik