Ein einheitlicher Ansatz für komplexes Systems Engineering
Versionierung und Variantenhandling sind im Engineering komplexer Systeme unverzichtbar, um Qualität, Effizienz und Nachvollziehbarkeit zu gewährleisten und die Herausforderungen von Komplexität und Vielfalt effektiv zu bewältigen. Leider ist es aber in der Praxis meist so, dass man entweder ein gutes Versionierungskonzept einführt oder versucht, Varianten zu verwalten. Nun ist es LieberLieber gelungen, eine effektive Lösung für Versions- und Variantenmanagement zu entwickeln. Diese wird in einem Whitepaper näher beschrieben.
Wien – Während für das Product Line Engineering besonders das Variantenhandling wichtig ist, benötigt Configuration Management im Systems Engineering Unterstützung bei der Versionierung der Systemartefakte. Bisher ist es allerdings nicht gelungen, ein übergreifendes Versions- und Variantenmanagement zu etablieren, das sich in der Praxis bewährt. LieberLieber schlägt zur Lösung dieses Problems die Kombination von Modellversionierung und Variantenmanagement mit Hilfe der Werkzeuge Enterprise Architect, LemonTree, Git und pure::variants (PTC) vor.
Dazu Philipp Kalenda, Leiter Consulting und Prokurist bei LieberLieber: „In unserer täglichen Praxis in Kundenprojekten sind wir oft mit der Frage konfrontiert, wie Variantenmanagement mit einem Systemmodell durchgeführt werden kann. Für uns ist außerdem die Versionsverwaltung von Modellen essentiell und daher war es unser Anspruch, eine nachhaltige Lösung zu konzipieren, die beide Aspekte miteinander kombiniert. In einer Kooperation mit pure::variants von PTC haben wir einen Lösungsansatz ausgearbeitet, der nicht nur Versions- und Variantenmanagement kombiniert, sondern es auch ermöglicht, existierende Tools in ihrem aktuellen Zustand zu verknüpfen. Die Kombination von Versionskontrolle und Variantenmanagement ist aus unserer Sicht entscheidend, um erfolgreich Product Line Engineering in MBSE zu betreiben.“
Der dargestellte Workflow zeigt eine Lösung unter Verwendung dieser Komponenten:
- Git Feature Branches
- Enterprise Architect Modell
- pure::variants für die Transformation von Varianten
Diese Beschreibung bietet einen ersten Einblick in die gemeinsame Behandlung von Versionen und Varianten eines Modellartefakts. Die Kombination von pure::variants und LemonTree bietet darüber hinaus weiterführende Ansätze, die in einem nächsten Whitepaper näher beleuchten werden.

Philipp Kalenda
Leiter Consulting und Prokurist bei LieberLieber
Versions- und Variantenmanagement zusammenführen
Insgesamt sind Versionierung und Variantenhandling im Engineering komplexer Systeme unverzichtbar, um Qualität, Effizienz und Nachvollziehbarkeit zu gewährleisten und die Herausforderungen von Komplexität und Vielfalt effektiv zu bewältigen. Während Versionskontrolle für die langfristige Wartung und Weiterentwicklung eines Systems unerlässlich ist, ermöglicht Variantenmanagement die Weiterentwicklung oder Aktualisierung bestehender Versionen eines Systems, ohne die Integrität anderer Varianten zu gefährden. Wird zum Beispiel auf einer gemeinsamen Plattform eine Produktlinie entwickelt, muss es möglich sein, die unterschiedlichen Ausprägungen des Systems parallel und unabhängig voneinander zu dokumentieren. Wird jedoch auf der Plattform ein allgemeines Problem behoben, ist es schwierig, diese Korrektur konsistent auf die bereits weiterentwickelten Varianten auszurollen.

Variantenmanagement am Beispiel Airbus (Quelle: LieberLieber)
Feature-Branch Ansatz für MBSE
In der Praxis hat sich allerdings gezeigt, dass man entweder ein gutes Versionierungskonzept einführt oder versucht, Varianten zu verwalten. Daher entwickelte LieberLieber für dies Herausforderung einen praktischen Lösungsansatz. Inspiriert vom Vorgehen aus der Software-Entwicklung wird von LieberLieber seit einigen Jahren bereits eine „Feature-Branch“-basierte Vorgehensweise für MBSE-Artefakte vorangetrieben.

LieberLieber setzt auf eine „Feature-Branch“ basierte Vorgehensweise für MBSE Artefakte (Quelle: https://atyantik.com/coding-smart-with-git-and-gitflow-a-tutorial-for-better-code-management/ )

Das Zusammenspiel von pure::variants, LemonTree und Git (Quelle: LieberLieber & PTC).
Durch die Verwaltung der Modelle durch Branches bietet Git uneingeschränkte Möglichkeiten beim Zusammenführen von Änderungen zwischen den verschiedenen Ausprägungen bzw. Varianten eines Modells. Dabei ist das perfekte Zusammenspiel der drei vorgestellten Werkzeuge ausschlaggebend für den Erfolg:
- LemonTree unterstützt bei der inhaltlichen Zusammenführung von Modellelementen
- Git verwaltet die Branches und versioniert das Modell
- pure::variants überblickt das Feature-Modell mit Varianten-Constraints und führt Modelltransformationen durch
Der dargestellte Workflow schildert eine von LieberLieber vorgeschlagene Arbeitsweise, die existierende Tools und Praktiken miteinander kombiniert. pure::variants und LemonTree lassen sich darüber hinaus noch nahtloser integrieren. Ein Beispiel dafür ist etwa die direkte Zusammenführung (Merge) des Enterprise Architect Modells bei der Transformation oder die Verwendung von LemonTree.Automation, LemonTree.Components und pure::variants als Instruktor für die Zusammensetzung von Teilmodellen.