Der Global Enterprise Architect Community Summit 2024 findet am 18. und 19. September 2024 online statt und bietet englischsprachige Vorträge und Diskussionen zu einer Vielzahl von Themen rund um Enterprise Architect, Prolaborate und Software as a Service. Philipp Kalenda und Daniel Siegl von LieberLieber werden am 18. September (15:30 – 16:30 CET) einen Vortrag zum Thema „Model Evolution in Time and Space – Model versioning and variant management unified for sustainable Product Line Engineering“ halten. Insgesamt sind Versionierung und Variantenhandling bei der Entwicklung komplexer Systeme unverzichtbar, um Qualität, Effizienz und Nachvollziehbarkeit zu gewährleisten und die Herausforderungen von Komplexität und Diversität effektiv zu bewältigen. Während die „Versionskontrolle“ für die langfristige Wartung und Weiterentwicklung eines Systems unerlässlich ist (Zeit), ermöglicht die „Variantenbehandlung“ die Weiterentwicklung oder Aktualisierung bestehender Versionen eines Systems, ohne die Integrität anderer Varianten zu beeinträchtigen (Raum). In der Praxis hat sich jedoch oft gezeigt, dass man entweder ein gutes Versionierungskonzept einführt oder versucht, Varianten zu verwalten. Berger et.al. stellten in den Dagstuhl-Berichten 2019 fest, dass die Softwarekonfigurations-Community regelmäßig mit der Notwendigkeit konfrontiert ist, Varianten zu unterstützen, während das Software Product Line Engineering Unterstützung bei der Versionierung benötigt. Sie behaupteten, dass es keiner der beiden Gemeinschaften gelungen ist, einheitliche Versions- und Variantenmanagementtechniken zu entwickeln, die in der Praxis effektiv sind.
Nun, 5 Jahre später, präsentiert LieberLieber zusammen mit Pure Systems by PTC einen einheitlichen Ansatz, der Feature-Modellierung und Feature-Branch-basiertes MBSE verbindet, um das Variantenmanagement in einem Enterprise Architect Modell anzugehen. Pure::variants transformiert dieses komplette Systemmodell in Variantenmodelle, die dann in Git mit LemonTree verwaltet werden.
In diesem Tutorial wird gezeigt, wie ein Systemmodell mit dem 150% Ansatz unter Verwendung von pure::variants Constraints beschrieben werden kann. Eine Variantentransformation erzeugt dann 100%-Modelle, die die Grundlage für die von Git verwalteten Feature-Branches sind. Mit dem etablierten Ansatz von Change Management und Pull Requests wird das Modell in Varianten-Feature-Zweigen (Zeit) gepflegt, während die weiteren Transformationen ausgeführt werden können, um Änderungen in der Variantenkonfiguration (Raum) zu verwalten oder mit Untervarianten zu arbeiten.