The Global Enterprise Architect Community Summit 2024 will take place online on 18 and 19 September 2024 and will feature presentations and discussions on a variety of topics related to Enterprise Architect, Prolaborate and Software as a Service. Philipp Kalenda and Daniel Siegl from LieberLieber will be giving a talk on “Model Evolution in Time and Space – Model versioning and variant management unified for sustainable Product Line Engineering”on 18th of September (15:30 – 16:30 CET). Overall, versioning and variant handling are indispensable in the engineering of complex systems in order to ensure quality, efficiency and traceability and to effectively overcome the challenges of complexity and diversity. While “Version Control” is essential for the long-term maintenance and evolution of a system (Time), “Variant Handling” allows existing versions of a system to be further developed or updated without compromising the integrity of other variants (Space).
However, in practice, it has often been shown that you either introduce a good versioning concept or try to manage variants. Berger et.al. stated in Dagstuhl reports 2019 that the software configuration community regularly faces the need to support variants, while Software Product Line Engineering needs versioning support. They claimed that neither community has been successful in producing unified version and variant management techniques that are effective in practice.
Now 5 years later, LieberLieber together with Pure Systems by PTC showcase an unified approach by connecting Feature modeling and feature-branch based MBSE for tackling variant management in a Enterprise Architect model. Pure::variants transforms this complete systems model into variant models, which are then managed in git using LemonTree.
In this tutorial, we will demonstrate how a systems model can be described with the 150% approach using pure::variants constraints. A variant transformation then generates 100% models, which are the basis for feature branches managed by git. With the established approach of change management and pull requests the model is maintained in variant-feature branches (Time) while the further transformations can be executed to manage changes in the variant configuration (Space) or work with sub-variants.