LemonTree USE CASES

Software Configuration Management macht Änderungen bei der Entwicklung von komplexen Systemen kontrollier- und nachvollziehbar. Dafür wurden im Lauf der Zeit folgende Methoden entwickelt:

Use Case 1: Versionsmanagement von Modellen mit state-of-the-art Versionierungssystemen

Bei der Verwendung eines modellbasierten Entwicklungsansatzes sollen Teams an parallelen Versionen eines Modells effizient arbeiten können. LieberLieber LemonTree für Enterprise Architect bietet dafür einen detaillierten Modellvergleich und garantiert eine präzise Versionierung von Modellen, definiert durch die Modellierungssprachen wie UML, SysML, BPMN etc. (Offene Standards der OMG).

Die wichtigste Funktion von LemonTree ist der Vergleich und die Zusammenführung von verschiedenen Modellversionen. Damit werden Änderungen der jeweiligen Modellversionen für Anwender leicht nachvollziehbar. 

LemonTree wird nahtlos in bestehende Versionierungssysteme integriert. Unsere Kunden haben LemonTree bereits erfolgreich mit SVN, Git oder PTC im Einsatz und profitieren so von den Features, die diese mitbringen. Die Modellversionen werden zentral und automatisch verwaltet. Das ermöglicht die parallele Bearbeitung der Modelle im Team, wie es bei der Entwicklung von Source Code seit Jahren üblich ist.

Nutzen für Anwender

Systemingenieure und Modellierer gewinnen durch den Einsatz von LemonTree ein hohes Maß an Sicherheit bei der Entwicklung mechatronischer, komplexer Systeme. Durch die Auslagerung des Versionsmanagements an Werkzeuge wie Git oder SVN wird auf bewährte Konzepte zurückgegriffen.

Diese Werkzeuge zeigen auf, welcher User zu einem bestimmten Zeitpunkt Modellinhalte geändert hat. Darüber hinaus ermöglichen sie einem Team die parallele Durchführung von Änderungen bei Modellen, ohne dabei die Arbeit der anderen Teammitglieder zu beeinflussen. Zur Sicherstellung eines geordneten Change- und Reporting-Prozesses auch für Modelle können User bestimmte Revisionen referenzieren.

 

Vorteile von LemonTree

  • Revisionssicherheit nach ISO Normen

  • Nachvollziehbare Änderungen

  • Paralleles, unabhängiges Teamwork

  • Versionsmanagement der Modelle durch

    Tools wie SVN oder Git

  • Model Branching

  • Änderungshistorie verfügbar

Use Case 2: Build Management – Continuous Integration von Modellen

Continuous Integration ist die fortgeschrittenste Methodik des Configuration Managements in der Softwareentwicklung. Dabei wird jede freigegebene Änderung des Source Codes kontinuierlich in einem Repository zusammengeführt und anschließend auf einem Build Server automatisch überprüft, gebildet, getestet und paketiert. So wird sichergestellt, dass die entwickelte Software stets getestet und lauffähig ist. LieberLieber LemonTree erlaubt erstmals, die Methode der Continuous Integration nun auch für die Modellierungswelt einzusetzen. Ähnlich wie bei der traditionellen Entwicklung von Software können Teammitglieder verteilt und zeitversetzt an verschiedenen Bereichen eines Modells arbeiten und ihre Änderungen einbringen. LemonTree Automation führt dann die einzelnen Versionen am Build-Server (z.B. Jenkins) ohne jegliche Benutzerinteraktion zu einer integrierten Modellversion zusammen. Nur in komplexen Konfliktfällen, wenn also widersprüchliche Änderungen desselben Modellelements auftreten, werden die betroffenen Benutzer benachrichtigt und müssen diese Konflikte mit LemonTree manuell auflösen.

Nutzen für Anwender

Continuous Integration für Modelle mit LemonTree sorgt dafür, dass zwar die Modellierer unabhängig voneinander gleich an mehreren Änderungen arbeiten können, aber trotzdem immer ein konsistenter Modellstand vorhanden ist. Die Merge-Funktionalität von LemonTree unterstützt sie dabei, verschiedene Versionen von Modellen rasch, sicher und mit eingebauter Unterstützung konfliktfrei zusammenführen.

 

Vorteile von LemonTree

  • Automatische Zusammenführung von Änderungen

  • 3-Wege Vergleich/Merge

  • Konflikt-Auflösung durch „Power-User“

  • Änderungshistorie verfügbar

Use Case 3: Change Management und Reviews von Modellen

Normen der funktionalen Sicherheit wie die ISO26262 verpflichten zum Configuration und Change Management für alle entwicklungsrelevanten Artefakte. Modelle sind gerade bei der Entwicklung sicherheitsrelevanter, mechatronischer Systeme mittlerweile ein fester Bestandteil des Entwicklungsprozesses und müssen daher einem passendem Change Management unterliegen. Damit erfordern Änderungen an den Modellen, die die zu entwickelnden Artefakte beschreiben, besondere Aufmerksamkeit („first-class entities“).

Mit LieberLieber LemonTree werden diese Änderungen nachvollziehbar aufbereitet und sind zu jedem Zeitpunkt abfragbar. Dabei sind nicht nur der aktuelle Stand des Modells wichtig, sondern auch die Änderungen am Modell bzw. zwischen einzelnen Versionen des Modells. Die Information darüber, welcher Benutzer wann etwas am Modell geändert hat, hilft nicht nur bei der Zusammenarbeit im Team, sondern ist gerade im Functional Safety Bereich unabdingbar. LemonTree ermöglicht es auch, diese Änderungen zu begutachten oder zu „reviewen“. Die ausgeklügelte Darstellung der Änderungen und die Filtermöglichkeiten in LemonTree erleichtern diese Arbeit enorm. Darüber hinaus bietet LemonTree durchdachte Features, um eine Review-Konfiguration inklusive der zu begutachtenden Modellversionen und den aktuellen Stand des Reviews abspeichern zu können. So wird es möglich, im Reviewprozess jederzeit eine Pause einzulegen und danach ohne Informationsverlust fortzufahren. Nicht zuletzt lassen sich Review-Kommentare in eigene Branches nachvollziehbar einfügen, um einen optimierten Review-Prozess zu unterstützen.

Nutzen für Anwender

Modellierer und Reviewer bekommen mit LemonTree die Sicherheit, dass alle Änderungen an den UML- oder SysML-Modellen zuverlässig zusammengeführt werden und jede Änderung für sich präzise dokumentiert ist. Die lückenlose Information darüber, welcher User exakt was und wann geändert hat, ist in der Entwicklung sicherheitsrelevanter Artefakte oder auch in anderen Bereichen äußerst wichtig. Die Modelländerungen werden verständlich präsentiert und lassen sich jederzeit einem kontrollierten Review unterziehen. Ergänzende Reviewkommentare werden in einer eigenen Modellversion gepflegt, was dem Benutzer garantiert, das produktive Modell nicht zu zerstören. Sollten mehrere Reviewer solche Anmerkungen pflegen, so lassen sich auch diese einfach mit LemonTree zusammenführen. Verschiedene Export- Möglichkeiten (z.b. XML) dienen dazu, Änderungen über den Zeitverlauf zu dokumentieren.

 

Vorteile von LemonTree

  • Revisionssicherheit nach ISO Normen

  • Nachvollziehbare Änderungen

  • Review-Kommentare zusammenführen

  • Zusätzliche Checkmarks für die Filterung bereits

    begutachteter Änderungen

  • Filter-Möglichkeiten in der Änderungsliste

  • Export der Änderungen als CSV

  • XML Export für eigene Change-Visualisierungen

  • Änderungshistorie verfügbar

Use Case 4: Release Management für Modelle in der Produktlinien-Entwicklung

Kosten- und Innovationsdruck sind die zentralen Treiber für den Umstieg auf eine modellbasierte Produktlinienentwicklung. Um damit die erwünschte Verkürzung von Entwicklungszyklen auch wirklich zu erreichen, ist eine enge Zusammenarbeit zwischen der Plattformentwicklung und den verschiedenen Kundenprojekten notwendig. Bei komplexen Produkten mit sehr vielen Komponenten und betreuenden Fachgruppen, die bisher auf Basis eines gemeinsamen Modells arbeiten, ergeben sich dabei völlig neue Herausforderungen auf Modellebene. Es ist nur schwer möglich, die sogenannte „Basis-Software“, die die Grundlage der einzelnen Produktlinien bildet, als eigenständige Plattform zu etablieren und in einzelnen Kunden-Projekten zu adaptieren und zu erweitern. Dabei ist es wichtig, etablierte Methoden aus der Softwareentwicklung einsetzen zu können, um die unterschiedlichen Lebenszyklen der Projekte sowie der Plattform zu berücksichtigen.

Nutzen für Anwender

Jeder Nutzer hat in diesem Szenario die Sicherheit, bestimmte Artefakte des Modells in einer definierten Version zu benutzen oder genau zu referenzieren. Er kann einzelne Versionen eines spezifischen Pakets in sein Modell importieren, ohne seine bisherigen Entwicklungen zu zerstören, da LemonTree die Teile intelligent zusammenführt. So kann ein Team einzelne Teile der Entwicklung in verschiedenen Projekten wiederverwenden.

 

Vorteile von LemonTree

  • Versionierung auf Paketebene

  • Paketverwaltung auf Basis von Git, etc.

  • Update eines einzelnen Pakets mittels LemonTree-Merge

  • Abhängigkeitsanalyse zwischen Paketen

  • Veröffentlichung bestimmter Paketversionen