LieberLieber Software: Modelle statt Dokumente
Gerade in der Autoindustrie sowie bei deren Zulieferern rücken Verbesserungen rund um die Software- und Systementwicklung immer mehr ins Zentrum der strategischen Überlegungen. Einen mutigen und zukunftsweisenden Schritt setzte in diesem Zusammenhang nun eine Abteilung eines führenden deutschen Autozulieferers. Hier löst man nämlich die bisher übliche, dokumentenzentrierte Entwicklung von Software durch eine vollständig modellbasierte ab. „Unser Ziel ist es, das Modell zum Kern unserer Spezifikation zu machen. Dabei wollen wir mit den Modellen aber auch so komfortabel arbeiten wie mit Code in der agilen Softwareentwicklung. Darüber hinaus haben wir in einem Projekt mit der Technischen Universität München eine eigene Methode entwickelt, die in den Modellen anzuwenden ist”, umreißt der Projektleiter die anspruchsvollen Vorgaben.
Erst die Vision, dann die Umsetzung
Visionen bringen immer neue Herausforderungen mit sich. So mussten einerseits Tools gefunden werden, die die Umsetzung der entwickelten Methode erlauben. Anderseits sollten diese die in der ISO 26262 definierten Anforderungen des Configuration Management erfüllen. Und schließlich war es auch unumgänglich, dass sie sich in eine integrierte Modellierungsumgebung einfügen lassen.
Ziel des gemeinsamen Projekts ist es, Enterprise Architect (Sparx Systems) zum festen Bestandteil der künftigen Modellierungsumgebung zu machen. Dafür ist die Erfüllung aller genannten Aspekte notwendig. Roman Bretz, CTO von LieberLieber Software: „Wir sind sehr stolz darauf, für die Umsetzung dieser anspruchsvollen Vision ausgewählt worden zu sein. Damit konnten wir wieder einmal zeigen, dass ein vollständiger Umstieg auf die modellbasierte Methode mit uns möglich ist. Diese Aufgabe erfordert viel Know-how sowohl im methodischen Bereich als auch im Umgang mit den Werkzeugen. Schritt für Schritt erarbeiteten wir gemeinsam die Umstellung, sodass nun eine ausgezeichnete Basis für die zukünftige Entwicklungsarbeit vorhanden ist.“
Das Ziel: Continuous Integration
„Die wachsende Komplexität unserer Produkte und die gute Wiederverwendbarkeit bereits erstellter Modelle brachte uns auf den Weg der modellbasierten Entwicklung. Wir sind hier eine kleine Pioniergruppe mit rund 25 Mitarbeitern, die den Umstieg einmal testen wollten. Die Pläne für eine weitere Ausrollung unseres mit Hilfe von LieberLieber entwickelten Ansatzes liegen nun aber schon bereit“, erläutert der Projektleiter.
Funktionierendes Configuration Management für die Modelle hat sich dabei als entscheidender Aspekt auf dem Weg zum Erfolg herauskristallisiert. Das Ziel: die automatisierte und kontinuierliche Integration von Modellen, auch „Continuous Integration“ genannt. Es wurde beschlossen, die etablierten Methoden aus dem Bereich der Softwareentwicklung auf die Modellierungswelt zu übertragen. Änderungen des Modells sollen laufend in eine Baseline integriert werden, aber anders als bisher mit genauer Kontrolle nach dem vorgegebenen Prozess. Jede Änderung wird über ein Ticket-System beauftragt und durchläuft dann mehrere Schritte:
- Spezifikation
- Durchführung in einem Versionierungssystem (z.B. Git)
- Review
- Freigabe
- Automatische Integration in das produktive Modell durch einen Build-Server
Umsetzung der Modellierungsmethode
Parallel wurde die Umsetzung der Modellierungsmethode im Tool in Angriff genommen. Dafür wurde Enterprise Architect mit Hilfe von „LieberLieber Software-Assistenten“ an die gewünschte Arbeitsweise der Entwickler angepasst. Nur so können alle Anwender fokussiert und komfortabel mit der umfangreichen Modellierungs-Plattform arbeiten. Dadurch wurde die mit der TU München entwickelte Methode SPES_XT dauerhaft in das Werkzeug integriert. „Wenn das Werkzeug ihre Wunschmethode nicht „versteht“, wird die Arbeit damit unnötig kompliziert. Die von uns entwickelten Software-Assistenten erlauben eine reibungslose Integration der Methode in Enterprise Architect. Damit helfen sie den Entwicklern, die methodischen Vorgaben sauber umzusetzen und sich im Modell schnell zu orientieren. Insgesamt erhöht sich so die Effizienz der Modellierungsarbeit“, erklärt Bretz.
LemonTree verbindet zwei Welten
Die Übertragung der etablierten Software-Entwicklungsprozesse mit Versionskontrolle in die Modellierungswelt ist ganz neu und wurde mit LemonTree verwirklicht. Damit sind nun sowohl das Versions- wie auch das Change-Management für Modelle (als entwicklungsrelevante Artefakte) möglich. Gleichzeitig sind auch alle Änderungen im Modell nachvollziehbar und wiederholbar. Für die Automatisierung der anfallenden Prozessschritte fielen zudem etliche Integrationsaufgaben an: etwa mit dem Versionierungs- und Ticket-System, den Reviewtools, dem Build-Server, etc.
Automatisierte Integration geänderter Modellvarianten
Eine besonders anspruchsvolle Aufgabe in der Zusammenarbeit mit dem Autozulieferer bestand zuletzt darin, die geänderten Modellversionen mit jedem Check-In eines Architekten automatisch in das zentrale Modell überzuführen (Build Management – Continuous Integration von Modellen). Im Unternehmen kommt nämlich ein Build-Server zum Einsatz, der regelmäßig die mittels Ticket beauftragten, durchgeführten und freigegebenen Änderungen automatisiert in das produktive Modell überführt. Bisher war dazu aber vorab eine manuelle Zusammenführung der Änderungen in LemonTree notwendig, die nun auch in den automatischen Prozess integriert wurde. „Wir mussten also eine neue Edition von LemonTree erstellen, die solche Aufgaben ganz ohne Eingriff des Benutzers abarbeiten kann und damit hilft, die Prozesse weiter zu automatisieren und zu beschleunigen. Das war ein zentraler Schritt auf dem Weg der Integration von Modellierungswerkzeugen in den gesamten Entwicklungsprozess“, so Bretz.
Große Herausforderungen, zukunftsweisende Lösung
Die Umsetzung der zukunftsweisenden Vision war naturgemäß für beide Seiten mit großen Herausforderungen verbunden. So hatte etwa der Auftraggeber zusätzliche Werkzeuge in eine durchgehende Prozesskette zu integrieren. „Wir haben in LieberLieber einen Partner gefunden, der uns sowohl bei den Methoden als auch in der Werkzeugentwicklung hervorragend unterstützen kann. Es war uns klar, dass wir für die Umsetzung unserer Vision längerfristig zusammenarbeiten müssen, um die einzelnen Schritte auch fachgerecht und zukunftssicher umzusetzen. Wir sind sehr stolz, dass sich unser Plan verwirklichen ließ und wir nun im Unternehmen dieses äußerst nützliche Wissen einsatzbereit zur Verfügung haben“ resümiert der Projektleiter. Und er räumt auch ein, dass dieses Projekt nur ein erster Schritt gewesen sei. Eine große Herausforderung bleibt nach wie vor bestehen: Die Integration der Modellierungstools untereinander lässt noch viel Raum zur Optimierung. Auch der Einsatz automatischer Codegenerierung bei der modellbasierten Entwicklung im Embedded-Umfeld bietet ein breites und tiefgehendes Betätigungsfeld. Ein erster, großer Schritt ist jedenfalls getan und nun können weitere darauf aufbauen.
LemonTree für 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 Änderung 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.
Besondere Highlights
Rund um das Thema „Build Management“ von Modellen bringt der Einsatz von LemonTree entscheidende Vorteile:
- Automatische Zusammenführung von Änderungen
- 3-Wege Vergleich/Merge
- Konflikt-Auflösung durch „Power-User“
- Änderungshistorie verfügbar
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, 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.
Wir sind ein Software-Engineering Unternehmen. Das Know-how unserer Mitarbeiter liegt in der modellbasierten Software- und Systementwicklung auf Basis von Tools wie Enterprise Architect von Sparx Systems.
Unsere Auftraggeber sind Unternehmen, die besonderen Wert auf die Qualität ihrer Software- und Systementwicklung legen. Diese wollen in ihren komplexen Szenarien immer den Überblick bewahren und sicherstellen, dass in ihrer Entwicklung vor allem die sicherheitsrelevanten Anforderungen gut nachvollziehbar in Modellen abgebildet sind.
Speziell für diese Aufgabe stellen wir eigene Werkzeuge zur Verfügung, wie zum Beispiel LemonTree und Embedded Engineer. Ergänzend bieten wir eine Reihe von Dienstleistungen, mit denen wir unsere Werkzeuge in den Entwicklungsprozess unserer Kunden integrieren und nutzbar machen.
LieberLieber Software GmbH
Handelskai 340, Top 5
A1020 Wien
Telefon: +43 (662) 90600-2017
Telefax: +43 (662) 90333-3017
http://www.lieberlieber.com
Leitung Presse- und Öffentlichkeitsarbeit
Telefon: +43 (1) 9072627-204
Fax: +43 (662) 90333-3017
E-Mail: ruediger.maier@lieberlieber.com