Stimmen Implementierung und
Ihre Softwarearchitektur überein?
Nur wenn Softwarearchitektur und Entwurf mit dem Code übereinstimmen, können Sie sicher sein, dass Sie die Softwarearchitektur als Richtschnur und Leitlinie für die Diskussion über die Auswirkung neuer Features nutzen können. Denn genau hierfür ist Softwarearchitektur gedacht: für die langfristig zielgerichtete und geplante Entwicklung Ihrer Produkte. Doch erst durch eine automatisierte Architekturprüfung mit der Axivion Suite wird die notwendige Übereinstimmung zwischen Architektur und Implementierung wirklich gewährleistet.
Architektureinhaltung ist auf lange Sicht der Schlüssel zum Erfolg
Der Einsatz der Architekturprüfung (auch Architektur-Check, Architektur-Verifikation oder Architektur-Konformanzprüfung genannt) stellt sicher, dass Entwickler und Software-Architekten die Basis des zu entwickelnden Systems nicht verlassen, sondern auf ihr aufbauen. Die Struktur des Systems bleibt klar und sauber, Software Architektur-Erosion und Architektur-Schulden werden transparent gemacht und so wirkungsvoll bekämpft. Halten Sie Ihr Embedded-System frei von technischen Schulden, indem Sie die Einhaltung der Softwarearchitektur mit der Axivion Suite überprüfen.
Zusätzlich enthält die Software-Architektur in sicherheitsrelevanten Systemen selbst sicherheitsrelevante Attribute und Strukturen und muss daher im Code genau umgesetzt werden. Abweichungen von der Architektur werden zu einer Gefahr für die funktionale Sicherheit. Durch die Architekturprüfung wird diese Bedrohung effektiv entschärft.
Wo kommt die Software-Architektur für die Architekturprüfung her?
Die Architekturprüfung basiert auf dem strukturellen Modell der Architektur und/oder des Entwurfs Ihrer Software. Diese statische Struktur kann als UML-Modell (z.B. als Package- oder Komponenten-Diagramm) oder als jede andere Form einer Graph-Struktur dargestellt werden. So sind auch eine textuelle Architekturbeschreibung, eine Skizze der Architektur, oder auch nur das Wissen in den Köpfen der beteiligten Entwickler geeignete Ausgangspunkte. Das Vorgehen hierzu wird weiter unten beschrieben.
Die Axivion Suite kann Software-Architekturen aus weit verbreiteten UML-Werkzeugen wie Enterprise Architect und IBM Rational Rhapsody® importieren. Dadurch lässt sich die Architekturprüfung direkt und einfach mit den bestehenden Architektur- und Design-Prozessen verzahnen.
Für alle, die noch keine Architektur-Dokumentation besitzen, hält die Axivion Suite Möglichkeiten der Wiedergewinnung, des Reverse Engineering und der Modellierung bereit.
Abhängig von den Ausgangsvoraussetzungen wird die Software-Architekturanalyse mit einem existierenden semiformalen Modell, einer dokumentierten Beschreibung der Architektur oder durch Annahmen und Hypothesen über eine mögliche Architektur gestartet. Man kann diese Einteilung grob durch Software-Architekturverifikation, Software-Architekturwiedergewinnung und Software-Architekturarchäologie beschreiben. Es gibt Zwischenzustände und das Ziel ist jedes Mal, die Ausgangsvoraussetzungen für eine kontinuierliche Software-Architekturverifikation zu schaffen.
Software-Architekturverifikation / Software-Architektur-Check
Der Architekturcheck nutzt eine Architekturbeschreibung in einer semiformalen Notation, wie sie z.B. UML liefert. Die Axivion Suite kann Modelle und Mapping-Informationen aus weit verbreiteten UML-Werkzeugen wie Enterprise Architect und IBM Rational Rhapsody®, oder auch aus anderen Quellen wie z.B. AUTOSAR arxml-Dateien importieren. Die Mapping-Information beschreibt in diesem Prozess, wie die Architektur mit dem Code zur Deckung gebracht werden kann.
Nach dem Import kann der Graph des Modells unmittelbar mit dem aus der Codeanalyse der Axivion Suite stammenden Graphen der Implementierung verglichen werden. Im Ergebnis kommt es bei Übereinstimmung zwischen Modell und Implementierung zu Konvergenzen. Bei überzähligen, in der Implementierung nicht implementierten Beziehungen im Modell ergeben sich Absenzen. Bei überzähligen Beziehungen in der Implementierung schließlich kommt es zu Divergenzen, die dann auf Probleme im Code hinweisen.
In einem iterativen Prozess können jetzt Implementierung und Architektur in Übereinstimmung gebracht werden. Die Architekturprüfung muss fester Bestandteil des CI-Prozesses werden, damit kein Rückfall passiert. Entstehende Architekturverstöße werden dadurch unverzüglich aufgedeckt und können im frühen Stadium besprochen und gelöst werden. Die Einhaltung der vorgegebenen Architektur im Code wird damit sichergestellt, eine weitere Architekturerosion wird gestoppt und Architekturschulden können über zielgerichtete Refactoring-Maßnahmen, die sich über die Ergebnisse des Architekturchecks direkt überwachen lassen, behoben werden.
Software-Architektur-
Wiedergewinnung
Die Architektur-Wiedergewinnung startet in einem bekannten Projekt. Eventuell haben zu Beginn des Projektes Architekturskizzen existiert, welche nicht weitergepflegt wurden. Neue Anforderungen und Wartungsaufgaben haben diese ursprüngliche Architektur verwässert und sie wurde auch nicht konsequent überprüft.
Trotzdem existiert noch eine Vorstellung von einer grundlegenden Architektur und rudimentäre Fragmente sind noch verfügbar. Aus diesen Fragmenten und Annahmen wird jetzt die Architekturhypothese aufgestellt. Diese initiale Hypothese wird durch den Abgleich mit der Implementierung validiert und Abweichungen werden in einem iterativen Prozess behoben. Dieser Prozess basiert technisch auf der Architekturprüfung der Axivion Suite.
Der Editor der Axivion Suite lässt sich leichtgewichtig zur Erstellung von Architektur-Skizzen einsetzen, die dann direkt und interaktiv auf die Implementierung abgebildet, anschließend geprüft und dann aus den gewonnenen Erkenntnissen heraus angepasst werden können. Diese Schritte können iteriert werden, bis die beabsichtigte Architektur als Basis für die weitere Entwicklung herausgearbeitet ist.
Am Ende des Prozesses steht dann wieder eine validierte Architektur zur Verfügung, welche den Einstieg in den Prozess der kontinuierlichen Architekturverifikation ermöglicht.
Software-Architekturarchäologie
Wenn Sie ein Software-Projekt aus einer anderen Abteilung oder von einem Kunden übernehmen, ist die Ausgangssituation in Architektur-Fragen in der Regel weit von einer validierten Architektur entfernt.
Oft ist die Dokumentation nicht ausreichend oder verständlich und Sie können nur Annahmen über eine mögliche Architektur treffen. Im Prinzip ähnelt das Vorgehen dem der Architektur-Wiedergewinnung, stellt aber eine extreme Form dar.
Die erste Hypothese sollte möglichst einfach gewählt werden, um die großen Strukturen zu erkennen und teilweise auch zu erraten. Dieser Prozess kann durch eine Analyse des Ist-Zustands unterstützt werden. Die Axivion Suite stellt Ihnen den Ist-Zustand Ihrer Systemstruktur dar, hier können Sie eventuell schon erste Muster erkennen.
Es lohnt sich auf jeden Fall, so viel wie möglich über die Struktur und die Intention der Software im Vorfeld zu erfahren, um die ersten Hypothesen zielgerichtet aufstellen zu können. Hierbei unterstützt Sie die Architektur-Analyse der Axivion Suite.
Die Axivion Suite ist ein echter Game Changer. Dank kontinuierlicher Tests durchlaufen die Programmierer eine Lernkurve, wobei die Akzeptanz für die jeweiligen Architekturanforderungen steigt. Dies macht, in einem derartigen Software Archäologie Projekt, den Weg frei für das Erreichen von Level 3 des Automotive SPICE Standards.Kosmas Kopmeier
Director Engineering Consulting, SynSpace Group GmbH
Success Stories
Eine Auswahl unserer Success Stories zur Software-Architekturanalyse
Die Komplexität von Automotive Embedded Software wird durch Software-Komponenten mit unterschiedlichen ASIL-Anforderungen noch weiter erhöht. Mit der für die ISO 26262 zertifizierten Axivion Suite hält Schaeffler Automotive Technologies in Bühl seine Mixed-ASIL-Systeme auf einem hohen Qualitätsniveau. Die automatisierte Architekturverifikation reduziert den manuellen Testaufwand und schafft so freie Kapazitäten für Neuentwicklungen in der Elektromobilität.
Schaeffler Automotive Buehl GmbH & Co. KG
„Wir haben mehrere Tools für die statische Analyse evaluiert, und die Axivion Suite ist in unseren Tests eindeutig herausgestochen. Das Tool hat hinsichtlich der Abdeckung von AUTOSAR C++ 14 am besten abgeschnitten und hat uns durch seine Benutzerfreundlichkeit, die Kontrollfluss- und Datenflussanalyse sowie die Reporterstellung überzeugt. Die Axivion Suite ist bereits ein fester Bestandteil in unserem Entwicklungsablauf und ein wertvoller Bestandteil unserer DevOps-Pipeline.“
Dejan Pangercic, CTO und Mitbegründer von Apex.AI
„Dank der Unterstützung bei der Implementierung und des sehr guten Supports durch das Professional Services Team konnte die Axivion Suite einfach und schnell in unsere Entwicklungsumgebung eingebunden werden. Architekturverstöße gibt es quasi nicht mehr; stattdessen eine bessere Code-Qualität konform zur Architektur – und zwar bei allen Entwicklungsteams weltweit.“
Sven Neuberg, Software Developer Computed Tomography, Siemens Healthcare GmbH
„Wir haben eine ganze Reihe von Analysetools eingehend evaluiert. Die Axivion Suite überzeugt uns in der täglichen Entwicklungsarbeit durch ihre umfassenden und auf unsere Bedürfnisse anpassbaren offenen Funktionen. Darüber hinaus profitieren wir von der praxisorientierten Unterstützung des Professional Services Teams von Axivion, das uns in allen Phasen unserer Softwarequalitätssicherung zur Seite steht.“
Dr. Stefan Staudt, Softwarequalitätsmanager, TRUMPF
„Unsere Innovationen basieren zunehmend auf Software. Gleichzeitig ändern sich Kunden und Marktanforderungen immer schneller und die Variantenvielfalt nimmt zu. Die Axivion Suite unterstützt uns maßgeblich dabei, die hierfür notwendige hohe Reaktionsgeschwindigkeit zu erhalten.“
Gundolf Schmidt, Abteilungsleiter/Chief Engineer EPB Software System Development, TRW Automotive GmbH
„Die Axivion Suite ermöglicht eine exakte Prüfung der Einhaltung unserer Produktlinienarchitektur. Somit sind wir in der Lage, gemeinsam mit externen Partnern, eine qualitativ hochwertige Software zu erzeugen, welche medizintechnischen Standards genügt.“
Jens Siebert, Software Architekt, Software-Entwicklung Infusionssysteme, B. Braun Melsungen AG
„In unserer Schleifsoftware steckt viel Knowhow. Wir haben sie und insbesondere ihre Architektur mit großem Aufwand und Herzblut entwickelt und ergänzen sie kontinuierlich um innovative Funktionen. Dieses Schleif-Knowhow sichern wir jetzt mit der Axivion Suite weiter ab.“
Christian Küster, Kaufmännischer Leiter, Haas Schleifmaschinen GmbH
„Mit der Axivion Suite haben wir die Wartbarkeit unserer Software im Griff und sichern so nachhaltig unsere Innovationsfähigkeit.“
Thomas Stahl, Director Software Engineering, Fresenius Medical Care
„Der Einsatz der Axivion Suite hat uns zwei herausragende Vorteile gebracht: Die Entwickler haben sich während der Einführung intensiv mit der über Jahre hinweg gewachsenen Architektur auseinandergesetzt, und wir können den Code nun auf Basis der Findings über die Sprints hinweg gezielt optimieren.“
Rainer Thieringer, Head of Software Development Department, TRUMPF Laser
„Mit der Axivion Suite haben wir unseren Integrationsaufwand und das Integrationsrisiko erheblich reduziert.“
Daniel Zimmermann, Head of OSS Software, HENSOLDT Sensors GmbH
„Mit der Axivion Suite lassen sich unsere Architekturkonzepte perfekt umsetzen. Die nahtlose Einbindung in unsere UML-Werkzeugkette war problemlos möglich und erleichtert die tägliche Arbeit.“
Thomas Kremer, Teamleader Integration & Configuration EPB Software System Development, TRW Automotive GmbH
„Die Axivion Suite ist ein echter Game Changer. Dank kontinuierlicher Tests durchlaufen die Programmierer eine Lernkurve, wobei die Akzeptanz für die jeweiligen Architekturanforderungen steigt. Dies macht, in einem derartigen Software Archäologie Projekt, den Weg frei für das Erreichen von Level 3 des Automotive SPICE Standards.“
Kosmas Kopmeier, Director Engineering Consulting, SynSpace Group GmbH, Freiburg
„Die kontinuierliche Architekturprüfung stellt sicher, dass wir bei Architektur-Entscheidungen immer eine verlässliche Diskussionsgrundlage haben. Das ermöglicht uns, auf die wichtige Frage zu fokussieren, was eine gute Architektur für unsere Produkte ist.“
Dr. Tobias Frank, Head of Safety & Configuration, PHOENIX CONTACT Software GmbH
„Die Axivion Suite unterstützt uns maßgeblich dabei, neue Funktionen in den EB street director zu implementieren und die Qualität unserer Softwarelösung nachhaltig zu sichern.“
Jakob Schmidt, Software Architect bei Elektrobit
„Die Axivion Suite hat uns technisch mit all ihren Funktionen für die automatisierte Code- und Architekturprüfung überzeugt. Ganz entscheidend für die große Akzeptanz bei den Entwicklern und schnelle produktive Ergebnisse war aber die sehr gute Unterstützung durch das Professional Services Team von Axivion: Der Rollout der neuen Toolsuite mit der Integration in unsere Workflows und der motivierenden Schulung für alle Beteiligten machte die Suite zu einem vollen Erfolg.“
Jan Schröder, Gruppenleiter Softwarearchitektur und -module, Jungheinrich Norderstedt AG & Co. KG
„Die Axivion Suite liefert uns eine entscheidende Unterstützung bei der Sicherung unserer Softwarequalität. Ihre Prüfungen sind nicht nur von Normen getrieben, sondern gehen sogar über das geforderte Maß hinaus.“
Michael Dalpiaz, Leiter Embedded Software, Dentsply Sirona
„Die Integration mit Enterprise Architect war perfekt: Endlich lassen sich Modelle ohne intensive Visual Inspection durchsetzen!“
Heiko Stehli, Software Architect, HENSOLDT Sensors GmbH
„Die Axivion Suite ist für uns ein weiterer wichtiger Baustein für die Qualitätssicherung in unserer Firmware-Entwicklung, insbesondere hinsichtlich der steigenden Anforderungen an Safety & Security im industriellen Umfeld.“
Christoph Kuner, M.Sc., Leitung FS, TR-Electronic GmbH
„Die Axivion Suite unterstützt uns maßgeblich bei der Einbindung externer Zulieferer bei der Umsetzung unserer Qualitätsstandards.“
Stephan Drozniak, Leiter Software-Entwicklung Infusionssysteme, B. Braun Melsungen AG
„Für uns ist entscheidend, dass die Axivion Suite – wie keine andere Toolsuite – hochgradig anpassbar ist. Nur so können wir unsere eigenen hohen Qualitätsstandards bei unseren intelligenten Sensoren in einem zunehmend digitalisierten Industrieumfeld weiterhin voll erfüllen.“
Kai Siegwart, Competence Center Software, Software Quality Assurance, Leuze electronic GmbH & Co. KG
„Wir sind uns einig, dass die Axivion Suite bei Projekten mit langen Lebenszyklen ein wichtiger Baustein ist. In Zukunft werden wir sie in allen unseren neuen Software-Projekten einsetzen.“
Detlev Kuschke, Executive Vice President, PHOENIX CONTACT Software GmbH