Software Configuration Management makes changes in the development of complex systems controllable and traceable.
The following methods have been developed over time: 

Use Case 1: Version management of models with state-of-the-art versioning systems

Using a model-based development approach, teams should be able to work efficiently on parallel versions of a model. LieberLieber LemonTree for Enterprise Architect offers detailed model comparison and guarantees precise versioning of models defined by modeling languages such as UML, SysML, BPMN, etc. (Open Standards of the OMG).

The most important feature of LemonTree is the comparison and merging of different model versions. Thus changes of the respective model versions become easily comprehensible for users.

LemonTree is seamlessly integrated into existing versioning systems. Our customers have already successfully used LemonTree with SVN, Git or PTC and benefit from the features they provide. The model versions are managed centrally and automatically. This enables parallel processing of the models in a team, as has been the case for many years with the development of source code.

Benefits for the user

System engineers and modelers gain a high degree of confidence in the development of mechatronic, cyber-physical and complex systems through the use of LemonTree. By outsourcing version management to tools such as Git or SVN, proven concepts are used.

These tools show which user has changed model contents at a certain point in time. In addition, they allow a team to make changes to models in parallel without affecting the work of other team members. To ensure an orderly change and reporting process also for models, users can reference certain revisions.

Special Highlights

  • Revision safety according to ISO standards

  • Traceable changes

  • Parallel, independent teamwork

  • Version management of the models through
    Tools like SVN or Git

  • Model branching

  • Change history available


Use Case 2: Build management – Continuous Integration of models

Continuous Integration is the most advanced methodology of Configuration Management in software development. Each released change to the source code is continuously merged into a repository and then automatically checked, formed, tested and packaged on a build server. This ensures that the developed software is always tested and executable. For the first time, LieberLieber LemonTree enables the use of the Continuous Integration method for the modeling world. Similar to traditional software development, team members can work on different branches of a model in distributed scenarios in multiple time zones, yet still rely on successful implementation of their changes. LemonTree then merges the individual versions on the build server (e.g. Jenkins) into an integrated model version without any user interaction. Only in complex conflicts, i.e. when contradictory changes of the same model element occur, are the affected users notified and must manually resolve these conflicts with LemonTree.

Benefits for the user

Continuous integration for models with LemonTree ensures that the modelers work independently on several changes, but that a consistent model level is always available. LemonTree‘s merge functionality helps them merge different versions of models quickly, securely, and with built-in support.


Advantages of LemonTree

  • Automatic merging of changes

  • 3-way Diff/Merge

  • Change history provided

  • Resolution of conflicts by power users

Use Case 3: Change management and reviews of models

Functional safety standards such as ISO26262 require configuration and change management for all development-related artifacts. Models are now an integral part of the development process, especially in the development of safety-relevant cyber-physical systems, and must therefore be subject to appropriate change management. Thus, changes to the models that describe the artefacts to be developed require special attention (“first-class entities”).

With LieberLieber LemonTree, these changes are prepared in a comprehensible way and can be queried at any time. Not only the current state of the model is important, but also the changes to the model or between individual versions of the model. The information about which user has changed something in the model and when not only helps in teamwork, but is also indispensable in the functional safety area (e.g. ISO26262). LemonTree also makes it possible to examine or “review” these changes. The ingenious display of the changes and the filter options in LemonTree facilitate this work enormously. Furthermore, LemonTree offers sophisticated features to save a review configuration including the model versions to be reviewed and the current status of the review. This makes it possible to pause the review process at any time and then continue without any loss of information. Last but not least, review comments can be added to your own branches in a comprehensible way to support an optimized review process.

Benefits for the user

With LemonTree, modelers and reviewers have the assurance that all changes to the UML or SysML models are reliably merged and each change is precisely documented. The complete information about which user has changed exactly what and when is extremely important in the development of safety-relevant artifacts but also in other areas. The model changes are presented in a comprehensible way and can be subjected to a controlled review at any time. Supplementary review comments are maintained in a separate model version, which guarantees the user that the productive model will not be destroyed. If several reviewers maintain such comments, they can also be easily merged with LemonTree. Various export options (e.g. XML) serve to document changes over time.


Advantages of LemonTree

  • Revision safety according to ISO standards

  • Traceable changes

  • Merge Review Comments

  • Additional checkmarks for filtering already
    reviewed changes

  • Filter options in the change list

  • Export of the changes as CSV

  • XML export for your own change visualizations

  • Change history available

Release Management for Models in Product Line Development

Cost and innovation pressure are the central drivers for the switch to model-based product line development. In order to achieve the desired shortening of development cycles, close cooperation between platform development and the various customer projects is necessary. In the case of complex products with a large number of components and supporting specialist groups that previously worked on the basis of a common model, completely new challenges arise at the model level. It is difficult to establish the so-called “basic software”, which forms the basis of the individual product lines, as an independent platform and to adapt and expand it in individual customer projects. It is important to be able to use established methods from software development in order to consider the different lifecycles of the projects and the platform.

Benefits for the user

In this scenario, every user has the certainty of using certain artifacts of the model in a defined version or of referencing them exactly. He can import individual versions of a specific package into his model without destroying his previous developments, since LemonTree intelligently merges the parts. This allows a team to reuse individual parts of the development in different projects.


Advantages of LemonTree

  • Versioning at Package Level

  • Package management based on Git, etc.

  • Update of a single package using LemonTree-Merge

  • Dependency analysis between packages

  • Release of certain package version