While variant handling is particularly important for product line engineering, configuration management in systems engineering requires support for versioning system artefacts. However, it has not yet been possible to establish comprehensive version and variant management that has proven itself in practice. LieberLieber proposes combining model versioning and variant management using the tools Enterprise Architect, LemonTree, Git and pure::variants (PTC) to solve this problem.
Philipp Kalenda, Head of Consulting and Authorised Signatory at LieberLieber, comments: "In our daily practice in customer projects, we are often confronted with the question of how variant management can be carried out with a system model. For us, version management of models is also essential, and therefore it was our aim to design a sustainable solution that combines both aspects. In cooperation with pure::variants from PTC, we have developed a solution that not only combines version and variant management, but also makes it possible to link existing tools in their current state. In our view, the combination of version control and variant management is crucial for successful product line engineering in MBSE."
The workflow shown illustrates a solution using these components:
- Git feature branches
- Enterprise Architect model
- pure::variants for the transformation of variants
Merging version and variant management
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 further development of a system, variant management enables the further development or updating of existing versions of a system without compromising the integrity of other variants.
For example, if a product line is developed on a shared platform, it must be possible to document the different versions of the system in parallel and independently of each other. However, if a general problem is fixed on the platform, it is difficult to roll out this correction consistently to the variants that have already been further developed (Figure 1).
Feature branch approach for MBSE
In practice, however, it has been shown that either a good versioning concept must be introduced or attempts must be made to manage variants. LieberLieber therefore developed a practical solution to this challenge.
Inspired by the approach used in software development, LieberLieber has been promoting a feature branch-based approach for MBSE artefacts for several years now (Figure 2).
By managing models through branches, Git offers unlimited possibilities for merging changes between the different versions or variants of a model. The perfect interaction of the three tools presented here is crucial for success:
- LemonTree supports the merging of model elements in terms of content
- Git manages the branches and versions the model
- pure::variants oversees the feature model with variant constraints and performs model transformations
Read the entire Whitepaper here:
https://www.lieberlieber.com/en/mastering-versions-and-variants/
Find the LieberLieber webinar on this topic here:
https://youtu.be/-2KLSiNS6GI?si=YEu39k60_cjTGSkv