A uniform approach to complex systems engineering

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. Unfortunately, in practice, it is usually the case that either a good versioning concept is introduced or attempts are made to manage variants. LieberLieber has now succeeded in developing an effective solution for version and variant management. This is described in more detail in a Whitepaper.

Vienna – 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

This description provides an initial insight into the joint handling of versions and variants of a model artefact. The combination of pure::variants and LemonTree also offers further approaches, which will be examined in more detail in a future white paper.

Vortrag

Philipp Kalenda
Head of Consulting and Authorised Signatory at LieberLieber

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.

Variant management using Airbus as an example (Source: LieberLieber)

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.

LieberLieber relies on a ‘feature branch’ based approach for MBSE artefacts (Source: https://atyantik.com/coding-smart-with-git-and-gitflow-a-tutorial-for-better-code-management/ )

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

The workflow shown (Figure 3) describes a working method proposed by LieberLieber that combines existing tools and practices. pure::variants and LemonTree can also be integrated even more seamlessly. An example of this is the direct merging of the Enterprise Architect model during transformation or the use of LemonTree.Automation, LemonTree.Components and pure::variants as an instructor for the composition of submodels.

The interaction between pure::variants, LemonTree and Git (Source: LieberLieber & PTC)