LieberLieber Software: Model Versioner revolutioniert die Versionierung
- Written by Redaktion
- font size decrease font size increase font size
Bei der Entwicklung von Software und Systemen kommen häufig traditionelle Versionierungssysteme zum Einsatz, die allerdings den wachsenden Ansprüchenoft nicht mehr gerecht werden. Daher führt LieberLieber nun mit dem Model Versionerfür Enterprise Architecteine Lösung für den 3-Wege-Vergleich ein, die erstmals eine präzise Versionierunggarantiert.
Sowohl die zunehmende Komplexität als auch immer kürzer werdende Release-Zyklen moderner, eingebetteter Softwaresysteme machen es notwendig, verschiedene Versionen parallel zu entwickeln. Dazu addiert sich die Herausforderung der Entwicklung in immer größeren und verteilten Teams.
Werden die Systeme modellbasiert entwickelt, so müssen die Teams die Möglichkeit erhalten, an parallelen Versionen eines Modells effizient arbeiten und die Versionierung direkt auf Modellebene durchführen zu können.„Klassische Versionierungssysteme unterstützen die Zusammenarbeit verteilter Modellierungs-Teams zu wenig. Daher haben wir nun in unserem Model Versioner für den Vergleich und die Zusammenführung von Modellen den 3-Wege-Prozess eingeführt, der eine wesentlich größere Präzision bei der Versionierung erlaubt“, erläutert Dr. Konrad Wieland, bei LieberLieber für das Produktmarketing verantwortlich.
Herkömmliche Systeme sind nicht anwenderfreundlich
Die Vorteile klassischer Versionierungssystemenwerden bei der Generierung von Source Code seit Jahren erfolgreich genutzt. Die wichtigste Funktion ist hier der Vergleich und die Zusammenführung von verschiedenen Versionen. Herkömmliche Ansätze verwenden dafür zeilen- und textbasierte Anwendungen, die jedoch bei grafischen Modellen nicht ausreichend sind. Erst ein fein-granularer 3-Wege-Vergleichsalgorithmus, der die Graphenstruktur der Modelle berücksichtigt, erlaubt einen genauen Vergleich zwischen zwei Modellen.
Dieser 3-Wege-Vergleich für Modelle, der die Basisversion berücksichtigt, wurde nun im LieberLieber Model Versioner verwirklicht. Er erlaubt es, die Änderungen der jeweiligen Modellversionen so zu berechnen, dass sie der Benutzer nachvollziehen kann. Für jede Version ist dabei zu berechnen, welche Eigenschaft eines Modellelements sich verändert hat (Update), welches Element verschoben wurde (Move), welches hinzugekommen ist (Insert), referenziert wird (Use) oder gelöscht wurde (Delete).
Darstellung von Änderungen und Konflikten in Modellversionen
„Neben der Performance ist die nutzerfreundliche Darstellung von Diagrammänderungen sowie die Wahrung der Validität der Modelle ein wichtiger Bestandteil eines zeitgemäßen Modell-Versionierungssystems. Diese Anforderungen haben wir im LieberLieber Model Versioner berücksichtigt“, erläutert Wieland. Konflikte zwischen zwei Modellversionen müssen bei der Zusammenführung natürlich aufgelöst werden. Um diesen Vorgang zu automatisieren, entstanden zwar die unterschiedlichsten Strategien, die manuelle Auflösung ist allerdings oft unumgänglich.
Dazu sind Änderungen und Konflikte allerdings für den Benutzer leicht verständlich darzustellen. Änderungen an grafischen Modellen erfolgen meist auch auf Diagramm-Ebene und müssen daher dort auch angezeigt werden. Daher listet der LieberLieber Model Versionerdie berechneten Unterschiede zweier Enterprise Architect Modelle fein-granular nebeneinander auf und visualisiert diese auch im jeweiligen Diagramm.
Eine der größten Herausforderungen bei diesem Vorgang ist die Performance (Geschwindigkeit und Ressourcenverbrauch), wenn etwa Modelle mit vielen 100.000en Modellelementen und Konnektoren zu vergleichen sind. Dies gilt besonders auch bei der Kombination mit einem Versionierungssystem wie Subversion oder Git.
Darüber hinaus ist auf die Korrektheit des Modells bei der Zusammenführung paralleler Änderungen zu achten, damit es bei diesem komplexen Vorgang nicht zu Verfälschungen kommt. Unter allen Umständen ist zu vermeiden, dass sich das Modell nach der Zusammenführung im Modellierungseditor nicht mehr öffnen lässt. „Wir sind sicher, dass wir mit dem Model Versioner eine in der Praxis dringend gesuchte Lösung verwirklicht haben. Um möglichst vielen Interessenten den Test der Lösung zu erlauben, werden wir ab Anfang 2016 eine Testversion zur Verfügung stellen“, schließt Wieland.