Highlights

Diff & Merge

Vergleich und Zusammenführung von Enterprise Architect Modellen

Die wichtigste Funktion von LemonTree ist der Vergleich und die Zusammenführung von verschiedenen Modell-Versionen. Herkömmliche Ansätze verwenden dafür zeilen- und textbasierte Anwendungen, die jedoch bei grafischen Modellen nicht ausreichend sind. Erst der fein-granulare 3-Wege-Vergleichsalgorithmus, der die Graphenstruktur der Modelle berücksichtigt, erlaubt einen genauen Vergleich zwischen zwei Modellen. Dieser 3-Wege-Vergleich für Modelle, erlaubt es, die Änderungen der jeweiligen Modellversionen so zu berechnen, dass sie der Benutzer nachvollziehen kann. Für jede Version wird berechnet, welche Eigenschaft eines Modellelements sich verändert hat. Diese Änderungen werden dem Benutzer leicht verständliche präsentiert.

Verzweigung (Branchen) von Modellen

Längerfristige, parallele Entwicklung von Versionen und Varianten

LemonTree öffnet die Tür zu neuen Modellierungsprozessen in der täglichen Arbeit, die man aus dem Software Configuration Management kennt. Ein wichtiger Teil davon ist die Möglichkeit, in einem eigenen Zweig (Branch) längerfristige, parallele Entwicklung von Versionen und Varianten von Software zu entwickeln. Das ist mit LemonTree nun auch für Enterprise Architect Modelle möglich. Durch die optionale Integration in ein Versionierungssystem können Sie von den enthaltenen Funktionen auch für Enterprise Architect Modelle profitieren.

Modell-Versionierung

Parallele Bearbeitung von Modellen durch optimistische Modell-Versionierung

Optimistische Versionierungstechniken (zeilenbasiert), die sich bei der Versionierung von Source Code durchgesetzt haben, sind für graphenbasierende Modelle nicht einsetzbar. Während man bei der pessimistischen Versionierung alle Artefakte für den Benutzer sperrt, der Änderungen vornehmen möchte, lässt man bei der optimistisches Versionierung alle Benutzer parallel am selben Artefakt arbeiten. Das führt zu den Herausforderungen, dass man einerseits parallele Modellversionen vergleichen und andererseits bei überlappenden Änderungen Konflikte auflösen muss, bevor man diese Änderungen in eine Version wieder zusammenführt. Diese Zusammenführung ist nun mit LemonTree auf Modellebene (UML) einfach und sicher möglich. Durch die Sicht der Änderungen auf Modellebene versteht man die aufzulösenden Konflikte besser und kann sie gezielt auflösen. Die konsolidierte Version steht dann als neue Ausgangsbasis für die weitere Entwicklung allen Beteiligten zur Verfügung.

Vorschau auf die Modell-Zusammenführung

Änderungen werden auf Modellebene (UML/SysML) deutlich und verständlich dargestellt (inkl. Merge Preview)

Die Performance, eine nutzerfreundliche Darstellung von Diagrammänderungen sowie die Wahrung der Validität der Modelle sind wichtige Bestandteile eines zeitgemäßen Modell-Versionierungs-Systems und wurden in LemonTree umgesetzt. LemonTree stellt bereits in einer Vorschau detailliert dar, wie die zusammengeführten Versionen aussehen werden. Das hilft dem Nutzer dabei, die Auswirkungen der Zusammenführung frühzeitig zu erkennen und so nur wirklich erwünschte Änderungen durchzuführen. Konflikte zwischen zwei Modellversionen müssen bei der Zusammenführung aufgelöst werden. Um diesen Vorgang zu automatisieren, entstanden unterschiedliche Strategien, die manuelle Auflösung ist aber oft unumgänglich. Änderungen an grafischen Modellen erfolgen meist auch auf Diagramm-Ebene und müssen daher auch dort angezeigt werden.

Integration

Nahtlose Integration in Subversion, Git, PTC, oder andere VCS möglich

LemonTree kann nahtlos in bestehende Versionierungssysteme integriert werden. Unsere Kunden haben LemonTree erfolgreich mit SVN, Git oder PTC im Einsatz.

Für TortoiseSVN und Git liefern wir gleich die Integration mit. Modellversionen lassen sich so zentral und automatisch verwalten. Dies ermöglicht die parallele Bearbeitung der Modelle im Team, wie es bei der Entwicklung von Source Code seit Jahren nicht mehr wegzudenken ist. LemonTree wird hier als externes Diff & Merge Tool angesprochen, sobald ein Modell in das zentrale Repository eingecheckt wird.

Review-Funktion

Review-Funktion für berechnete Änderungen

LemonTree vereinfacht es, alle Änderungen zu überprüfen und freizugeben. Die durchgeführten Änderungen werden entsprechend markiert, um sie jederzeit nachvollziehbar zu machen. Gerade bei sicherheitskritischen Entwicklungen (functional safety) wird heute diese klare Nachvollziehbarkeit von Veränderungen gefordert. Mit LemonTree stellen Anwender also sicher, dass sie auch bei kritischen Audits alle Erfordernisse erfüllen.