In a department of a leading German automotive supplier, model-based software development is now being implemented to its fullest. This trend-setting move away from a traditional, document-centered method was only made possible by the use of LieberLieber LemonTree.
Vienna – Especially for automotive industry leaders and suppliers, improvements in software and system development are increasingly becoming the focus of strategic considerations. In this context, a department of a leading German automotive supplier took a courageous, forward-looking step. This is where the common document-centric development of software is now being replaced by a completely model-based approach. “Our goal is to make the model the core of our specification. But we also want to work with the models as comfortably as with code in agile software development. In addition, we developed our own method in a project with the Technical University of Munich that can be used in the models,” says the project manager, outlining the demanding specifications.
First the vision, then the implementation
Visions always bring with them new challenges. On the one hand, tools had to be identified that allowed the implementation of the developed method. On the other hand, these had to meet the requirements of configuration management defined in ISO 26262. Finally, it was essential that they could become part of an integrated modeling environment.
The aim of the joint project is to make Sparx Systems Enterprise Architect an integral part of the future modeling environment. This requires the fulfillment of all these aspects. Dr. Konrad Wieland, CEO of LieberLieber Software: “We are very proud to have been chosen to implement this challenging vision. Once again, we were able to show that a complete transition to the model-based method is possible with us. This task requires a lot of know-how both for the methodology as well as for handling the tools. Step by step, we worked out the conversion together so that there is now an excellent basis for future development work.”
Enterprise Architect and LemonTree
“The growing complexity of our products and the good reusability of already created models brought us onto the path of model-based development. We are a small pioneer group here with around 25 employees who wanted to test the switch. The plans for a further rollout of our approach, developed with the help of LieberLieber, are now ready,” explains the project manager.
Functioning configuration management for the models has emerged as a decisive aspect on the road to success. The goal: the automated and continuous integration of models, also known as “Continuous Integration”. It was decided to transfer the established methodologies from the area of software development over to the modeling world. Changes to the model are to be integrated into a baseline on an ongoing basis, but, unlike in the past, with precise control according to the specified process. Each change is commissioned via a ticket system and then goes through several steps:
- Execution in a versioning system
- Automatic integration into the productive model by a build server
Implementation of the modelling methodology
At the same time, the implementation of the modeling methodology in the tool was tackled. To this end, Enterprise Architect was adapted to the desired working methods of the developers with the help of “LieberLieber Software Assistants”. This is the only way for all users to work with the extensive modeling platform in a focused and comfortable manner. Thus, the SPES_XT method developed with the Technical University of Munich was permanently integrated into the tool. “If the tool does not ‘understand’ the desired method, the work becomes unnecessarily complicated. The Software Assistants developed by us allow for a smooth integration of the methodology into Enterprise Architect. This helps the developers to implement the methodological specifications cleanly and to orient themselves quickly in the model. Overall, this increases the efficiency of the modeling work,” explains Wieland.
LemonTree connects two worlds
The transfer of the established software development processes with version control into the modeling world is completely new and was realized with LemonTree. Now, both version and change management for models (as development-relevant artifacts) are possible. At the same time, all changes in the model are traceable and repeatable. In addition, a number of integration tasks had to be performed to automate the process steps involved – for example with the versioning and ticket system, the review tools, the build server, etc. The integration of the new model into the existing model was also possible.
Automated integration of modified model variants
A particularly challenging task in the collaboration with the automotive supplier was the automatic transfer of the modified model versions to the central model each time a modeler checks in (Build Management – Continuous Integration of Models). The company uses a build server that automatically transfers the changes ordered, carried out and released via ticket into the productive model on a regular basis. Whereas manual merging of the changes in LemonTree was previously required, this is now also integrated into the automated process. “We therefore had to create a new edition of LemonTree that could handle such tasks without any user intervention, thus helping to further automate and accelerate the processes. This was a major step towards integrating modeling tools into the overall development process,” said Wieland.
Great challenges, forward-looking solutions
The implementation of the forward-looking vision was naturally associated with major challenges for both sides. For example, the client had to integrate additional tools into a continuous process chain. “In LieberLieber, we found a partner who can provide us with outstanding support both in terms of methods and tool development. It was clear to us that in order to implement our vision we would have to work together on a long-term basis in order to implement the individual steps in a professional and future-proof manner. We are very proud that our plan could be realized and that we now have this extremely useful knowledge ready for use in the company,” summarizes the project manager. He also admits that this project was only a first step.
One big challenge still remains: the integration of the modelling tools with each other leaves a lot of room for optimization. The use of automatic code generation in model-based development in the embedded environment also offers a broad and in-depth field of activity. In any case, a first, big step has been taken and now others can build on it.
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 areas of a model in distributed scenarios in multiple time zones, yet still rely on successful implementation of their changes. LemonTree Automation 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.
When it comes to “Build Management” of models, LemonTree brings with it decisive advantages:
- Automatic merging of changes
- 3-way Diff/Merge
- Resolution of conflicts by power users
- Change history provided
Benefits to 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.