Wie können verteilte Teams effizient mit Softwaremodellen arbeiten? Der Beitrag stellt einen Lösungsansatz vor, der in Zusammenarbeit mit der Technischen Universität Wien erarbeitet wurde.
Die Modellierung von Softwarearchitekturen dringt auch in die Embedded-Domäne ein.
Für die modellbasierte Entwicklung mechatronischer Systeme wird gerne die Systems Modeling Language (SysML) verwendet, mit der sich Struktur und Verhalten eines Systems beschreiben lassen. Zudem erlaubt es die SysML, die textuellen Anforderungen an ein System in das Modell zu integrieren, sodass sich diese mit anderen Modellelementen verknüpfen lassen.
Die Sprache UML (Unified Modeling Language) kommt zum Einsatz, wenn Softwaresysteme realisierungsnäher beschrieben werden sollen. Anfangs für die Beschreibung objektorientierter Software konzipiert, lässt sich die UML auch für Embedded-Software verwenden, da sie Struktur und Verhalten eines Programms beschreibt. Dies kann so weit gehen, dass komplett lauffähiger Code aus einem UML-Modell generiert wird.
Verteilte Bearbeitung von Modellen
Die Bedeutung von Modellen für die Entwicklung nimmt stetig zu. Damit ergeben sich aber auch Anforderungen an die Infrastruktur und das Konfigurationsmanagement von Modellen, etwa im Hinblick auf verteiltes Arbeiten. Dies gilt umso mehr, als sich die Arbeitswelt immer stärker globalisiert und Entwicklungsstandorte oft geografisch weit voneinander entfernt liegen.
In der Vergangenheit gab es bei Modellierungswerkzeugen wie Enterprise Architect (Sparx Systems) diverse Ansätze für eine verteilte Zusammenarbeit. Eine Möglichkeit ist die Nutzung einer zentralen Datenbank, auf die alle Modellnutzer in Echtzeit zugreifen. Damit sind Änderungen sichtbar, sobald sie gemacht werden.
Das Problem bei einer gemeinsamen Datenbank ist aber die Schwierigkeit, einzelne Elemente oder Strukturen des Modells zu versionieren und einzeln freizugeben. Ein Lösungsansatz war es, Teilstrukturen des Modells zusätzlich zur Speicherung in der Datenbank auch in Dateien zu sichern und mit Versionskontrollsystemen zu verwalten.
Diese Versionierung funktioniert aber maximal auf Paketebene und nicht für einzelne Elemente. Pakete sind vergleichbar mit Ordnern auf einer Festplatte, nur enthalten sie in der Modelldatenbank nicht Dateien, sondern Modellelemente, Verbindungen und Diagramme.
Überblick: Bei der optimistischen Versionierung wird dasselbe Artefakt zeitgleich bzw. parallel bearbeitet.
(Bild: LieberLieber Software)
Besser wäre also eine feingranulare Versionierung, die die parallele Arbeit an Modellteilen ermöglicht und im Konfliktfall die Änderungen strukturiert zusammenführt. Diese Konzepte kennt man schon einige Jahre von Konfigurationsmanagementsystemen für Quellcode. In Systemen wie Subversion oder Git werden Stände von Textdateien sogar teilweise parallel bearbeitet und später wieder werkzeuggestützt zusammengeführt.
Die dabei eingesetzten Prinzipien lassen sich grundsätzlich auch auf Modelle übertragen. Allerdings ist hier der Vergleich von Änderungen und die Zusammenführung anspruchsvoller als bei Textdaten, da hinter Modellen komplexere Datenstrukturen stecken. Da man es bei Modellen mit Diagrammen zu tun hat, muss auch definiert werden, ob etwa eine Verschiebung eines Elements im Diagramm schon als Änderung wahrgenommen wird oder nicht.
Basierend auf Forschungsergebnissen der Technischen Universität Wien zu Thema Modellversionierung konnte LieberLieber eine nutzerfreundliche State-of-the-Art-Lösung zum Verzweigen und Zusammenführen von Modellversionen für Enterprise Architect realisieren (LieberLieber Model Versioner).
Die Lösung erlaubt es, von einer Basisversion eines Modells zwei Versionen parallel weiter zu bearbeiten und die Änderungen nach Bearbeitung wieder zu einem konsolidierten Modell zusammenzuführen. Sollten dabei keine Konflikte auftreten, die manuell aufzulösen sind, kann diese Konsolidierung automatisch im Hintergrund geschehen.
Das Verfahren basiert auf dem Konzept des Drei-Wege-Vergleichs, das bereits bei der Versionierung von Quelltext Anwendung findet. Dabei werden aus eine Basisversion zwei Versionen abgespalten und parallel bearbeitet. Durch den Vergleich des Basismodells mit den beiden abgezweigten Versionen lassen sich die Inhalte sehr gut wieder zu einer konsolidierten Version zusammenführen.
Feingranularer Drei-Wege-Vergleich von Modellversionen
Beim Drei-Wege-Vergleich von Modellen werden Modellelemente und Verbindungen sowie deren Attribute in den Vergleichsprozess mit einbezogen. Dadurch wird die feingranulare Nachverfolgung von Änderungen in einem bisher bei Modellierungswerkzeugen nicht erreichten Ausmaß ermöglicht.
Darüber hinaus lässt sich diese Methode der Versionierung mit bestehenden Konfigurationsmanagementsystemen koppeln. So entsteht eine praktisch automatische, integrative Arbeitsweise im Umgang mit Modellversionen.
Stand: 08.12.2025
Es ist für uns eine Selbstverständlichkeit, dass wir verantwortungsvoll mit Ihren personenbezogenen Daten umgehen. Sofern wir personenbezogene Daten von Ihnen erheben, verarbeiten wir diese unter Beachtung der geltenden Datenschutzvorschriften. Detaillierte Informationen finden Sie in unserer Datenschutzerklärung.
Einwilligung in die Verwendung von Daten zu Werbezwecken
Ich bin damit einverstanden, dass die Vogel IT-Medien GmbH, Max-Josef-Metzger-Straße 21, 86157 Augsburg, einschließlich aller mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen (im weiteren: Vogel Communications Group) meine E-Mail-Adresse für die Zusendung von Newslettern und Werbung nutzt. Auflistungen der jeweils zugehörigen Unternehmen können hier abgerufen werden.
Der Newsletterinhalt erstreckt sich dabei auf Produkte und Dienstleistungen aller zuvor genannten Unternehmen, darunter beispielsweise Fachzeitschriften und Fachbücher, Veranstaltungen und Messen sowie veranstaltungsbezogene Produkte und Dienstleistungen, Print- und Digital-Mediaangebote und Services wie weitere (redaktionelle) Newsletter, Gewinnspiele, Lead-Kampagnen, Marktforschung im Online- und Offline-Bereich, fachspezifische Webportale und E-Learning-Angebote. Wenn auch meine persönliche Telefonnummer erhoben wurde, darf diese für die Unterbreitung von Angeboten der vorgenannten Produkte und Dienstleistungen der vorgenannten Unternehmen und Marktforschung genutzt werden.
Meine Einwilligung umfasst zudem die Verarbeitung meiner E-Mail-Adresse und Telefonnummer für den Datenabgleich zu Marketingzwecken mit ausgewählten Werbepartnern wie z.B. LinkedIN, Google und Meta. Hierfür darf die Vogel Communications Group die genannten Daten gehasht an Werbepartner übermitteln, die diese Daten dann nutzen, um feststellen zu können, ob ich ebenfalls Mitglied auf den besagten Werbepartnerportalen bin. Die Vogel Communications Group nutzt diese Funktion zu Zwecken des Retargeting (Upselling, Crossselling und Kundenbindung), der Generierung von sog. Lookalike Audiences zur Neukundengewinnung und als Ausschlussgrundlage für laufende Werbekampagnen. Weitere Informationen kann ich dem Abschnitt „Datenabgleich zu Marketingzwecken“ in der Datenschutzerklärung entnehmen.
Falls ich im Internet auf Portalen der Vogel Communications Group einschließlich deren mit ihr im Sinne der §§ 15 ff. AktG verbundenen Unternehmen geschützte Inhalte abrufe, muss ich mich mit weiteren Daten für den Zugang zu diesen Inhalten registrieren. Im Gegenzug für diesen gebührenlosen Zugang zu redaktionellen Inhalten dürfen meine Daten im Sinne dieser Einwilligung für die hier genannten Zwecke verwendet werden. Dies gilt nicht für den Datenabgleich zu Marketingzwecken.
Recht auf Widerruf
Mir ist bewusst, dass ich diese Einwilligung jederzeit für die Zukunft widerrufen kann. Durch meinen Widerruf wird die Rechtmäßigkeit der aufgrund meiner Einwilligung bis zum Widerruf erfolgten Verarbeitung nicht berührt. Um meinen Widerruf zu erklären, kann ich als eine Möglichkeit das unter https://contact.vogel.de abrufbare Kontaktformular nutzen. Sofern ich einzelne von mir abonnierte Newsletter nicht mehr erhalten möchte, kann ich darüber hinaus auch den am Ende eines Newsletters eingebundenen Abmeldelink anklicken. Weitere Informationen zu meinem Widerrufsrecht und dessen Ausübung sowie zu den Folgen meines Widerrufs finde ich in der Datenschutzerklärung.
Zur Veranschaulichung ein Beispiel aus der Praxis: Zwei Entwickler holen sich den aktuellen Stand des Modells aus dem Konfigurationsmanagement und beginnen daran zu arbeiten. Beim Zurückspielen einer neuen Version startet automatisch die Modellzusammenführung. Gibt es keine Konflikte, so läuft der Vorgang im Hintergrund ab. Im Fall von Konflikten erhält der Benutzer eine Meldung und kann sie manuell auflösen. Dann werden die Änderungen zusammengeführt. Es entsteht eine konsolidierte, neue Version.
Screenshot: Der LieberLieber Model Versioner vergleicht und visualisiert parallele Änderungen.
(Bild: LieberLieber Software)
Der Screenshot zeigt die Benutzeroberfläche des Model Versioner. Die veränderten Teile der Modelle werden im oberen Teil als Baumstruktur dargestellt. Man sieht die beiden Versionen und eine Vorschau auf das Modell, das nach dem Zusammenführen entsteht. Der Benutzer kann bei Bedarf in die automatische Zusammenführung eingreifen oder einen Konflikt lösen.
Im unteren Teil lässt sich eine Diagrammvorschau einblenden, die grafisch zeigt, was wie geändert wurde. Bei der vollwertigen Integration in ein Konfigurationsmanagement erscheint das Fenster nur, wenn es durch den Benutzer manuell zu lösende Aufgaben gibt, die nicht automatisch konsolidiert werden können.
Fazit: Verteilte Bearbeitung von Modellen ist möglich
Fazit: Die verteilte Bearbeitung von Modellen ist möglich, wenn es Werkzeugunterstützung für das Verzweigen und Zusammenführen von Modellen gibt. Mit der vorgestellten Lösung werden diese Aufgaben auf feingranularer Ebene erledigt. Dabei kann der Anwender Regeln für die die automatische Zusammenführung definieren, die auf Prozesse eines Kunden abgestimmt werden. Selbst die Anzahl der Details, die dem Benutzer angezeigt werden, lässt sich kundenspezifisch einstellen. Damit steht für die modellbasierte Entwicklung ein Werkzeug zur Verfügung, das ein lange eher schlecht gelöstes Infrastrukturproblem adressiert.
Dieser Beitrag ist ursprünglich auf unserem Schwesterportal Elektronikpraxis.de erschienen.
* Dr. Oliver Alt, Roman Bretz, Dr. Konrad Wieland arbeiten in leitenden Positionen bei LieberLieber Software in Wien.