Skip to main content

Effizienz im Engineering

Wachsende Komplexität ist im Embedded Software Engineering (ESE) an sich unvermeidbar. Sie repräsentiert die gestiegenen Funktionsumfänge, die die Marktfähigkeit innovativer Produkte stärken. Gerade wenn eine immer kürzer werdende „Time-to-Market“ erreicht werden muss, sollte die Effizienz, mit der System Engineering erfolgt, nicht durch unkontrollierbare Folgen von Komplexität beeinträchtigt werden. Im Ziel geht es um mehr Funktionalität in möglichst kurzer Zeit auf hohem Qualitätsniveau.

Werden Systeme komplexer, wird ihre Entwicklung aufwändiger. Durch Automatisierung kann die Effizienz auf gleichem oder höherem Qualitätsniveau abgesichert werden.

Verborgene Abhängigkeiten (Hidden Links) sind eine Gefahr, die mit steigender Komplexität einhergehen. Wenn es darum geht, Hidden Links sichtbar zu machen und dadurch Emergenz zu verhindern, ist Abstraktion ein probates Mittel. Abstraktion ist eine Möglichkeit die Zusammenhänge von komplexen Systemen besser zu verstehen. Sie wird in der Regel durch die abstrakte Darstellung von Systemen bezogen auf spezifische Sachverhalte erreicht: Zum Beispiel durch die Konzentration der Darstellung (Sicht) auf die Kommunikation (Sequenz Diagramme) oder auf das zeitliche Verhalten (Timing Diagramme) oder auf das statische Design (Klassen Diagramme). Bei dieser Vorgehensweise entstehen jedoch Redundanzen, denn es tauchen die gleichen Artefakte in mehreren Sichten auf. Die Pflege dieser nun in verschiedenen Sichten mehrfach (redundant) erscheinenden Artefakte kostet zusätzlichen Aufwand. Sie sind quasi der Preis für die erhöhte Transparenz.

Abstraktion kann also die Funktion Hidden Links ⇒ Emergenz ⇒ Dysfunktion durchbrechen, führt jedoch ihrerseits zu mehr Aufwand bei der Entwicklung, Pflege und Wartung von Systemen.

Es erscheint wie ein Widerspruch, ist aber tatsächlich notwendige Voraussetzung für eine nachhaltige Effizienzsteigerung, denn auf der Basis von Abstraktion werden trotz steigender Komplexität Qualitätsaspekte gesichert. Beziehen Entwickler im Rahmen ihrer Bestrebungen, Komplexität zu beherrschen, an diesem Punkt das Thema Automatisierung nicht mit ein, ist die Effizienz ihres Vorgehens gefährdet.

∨ mehr Text anzeigen

Abstraktion - Automatisierung - Metastruktur

Sollen neben Qualität auch Effizienz im Software Engineering erhalten bleiben, darf nicht auf halbem Wege stehen geblieben werden. Werden im Sinn der Abstraktion händisch erstellte grafische Repräsentanzen eingeführt müssen dies in Folge zusätzlich zum Code gepflegt werden. Mit jeder hinzugekommenen Grafik erhöht sich die Verstehbarkeit aber gleichzeitig leidet schleichend die Effizienz. Software Engineering muss sich die Effizienzvorteile der Automatisierung zunutze machen. Auf Basis geeigneter Werkzeuge ist die automatische Transformation von Modell-Aspekten in Grafische Repräsentanzen möglich.

Voraussetzung für Automatisierung im Engineering ist die Einrichtung einer Metastruktur, eines Modells. Sie sollte auf einer präzisen Taxonomie und der Ablage von Daten und Artefakten in Datenbanken basieren. Auf dieser präzisen (Formalen), strukturierten Basis können nun Regeln für Arbeitsschritte in Form von Korrelationen und Transformationen definiert werden, anhand derer sie von Werkzeugen beziehungsweise Prozeduren automatisiert ausgeführt und überwacht werden.

Daraus folgt: Wird steigender Komplexität mit Abstraktion begegnet kann das Qualitätsniveau angehoben werden, wird die Entwicklung jedoch aufwändiger. Erst durch adäquate Automatisierung der hinzugekommenen Arbeitsschritte kann in Summe dennoch auf gleichem Qualitätsniveau effizient entwickelt werden.

Formale Modelle sind ihre zentralen Ausgangspunkte. Aus Ihnen können automatisiert zum Beispiel Code, Testfälle, Dokumentation, Lastenhefte, Pflichtenhefte, Traceability-Analysen generiert werden. Durch sie können abstrakte Arbeitsergebnisse zu sehr frühen Phasen im Projekt verifiziert und in ihrer Korrektheit und gegen Risiken abgesichert werden. Das verhindert aufwendige und teure Korrekturen zu späteren Zeitpunkten.

Modelle werden in modernen Entwicklungsumgebungen erzeugt. Darin wird die SW Architektur auf Basis von UML modelliert und diese automatisch in Code übersetzt. Automatische Codegenerierung reduziert Aufwände und sichert Qualitätsstandards im Produktentwicklungsprozess.

Darin werden die Systemspezifikationen auf Basis von Taxonomie und Metastruktur formalisiert erfasst, und daraus automatisiert Tests generiert, die wiederum auf Modellebene automatisiert (Nightly Test, oder Observer) ausgeführt werden. Sogar die Link-Beziehungen (Voraussetzung für Traceability) von den Anforderungen zum Testplan können auf diesem Weg automatisiert erstellt werden. Besonders die so oft geforderte Rückverfolgbarkeit der Anforderungen ist bei diesem Vorgehen selbst bei hoher Komplexität (audit-)sicher und nun auch effektiv gegeben.

Effizient zu sein, das Richtige auf die richtige Art und Weise zu tun, bedeutet in diesem Zusammenhang, die Entwicklung komplexer eingebetteter Systeme auf der Basis von Modellen, also mit Metastrukturen und datenbankgestützten Entwicklungsumgebungen, sowie formalisierter präziser Anweisungen zu realisieren. Und zwar ganzheitlich und integriert, vom Requirement Management über die Softwarearchitektur bis hin zur automatischen Codegenerierung und den Tests.

Auf Basis dieses Modells als alleinige „Quelle der Wahrheit“, als „Single source of truth“ können nun Daten und Sichten wie zum Beispiel UML-Diagramme, Traceability-Views, Code, Dokumentationen automatisiert transformiert werden. Änderungen in den Sichten fließen wieder in das Modell zurück.

“Single source of truth” – “Digital Twin”

„Single source of truth“ hieß das Ziel, das auf der Basis dieser automatisierten Systeme erreicht worden ist. „Single source of truth“ ist auch die Basis für die Produktentwicklung der Zukunft. Stichwort: „Digital Twin“. Das Management innovativer Produkte von der Entwicklung bis zur Entsorgung, auf Basis eines digitalen Zwillings ist die Basis für effizientes Ressourcen Management in allen Bereichen.

„Single source of truth“, ein mit Entwicklungs-  und Produktlebensdaten angereichertes Modell, ist die ideale Voraussetzung für „Digital Twins“. Aus dem Modell heraus wird ein Produkt instanziiert (ins Leben erweckt), das nun real existiert. Parallel werden die individuellen Produktionsdaten gespeichert. Das reale Produkt und sein digitaler Zwilling sind geboren. Mit derselben Infrastruktur können diesem Zwilling Lebensdaten eingehaucht werden wie zum Beispiel Laufzeit und Umwelteinflüsse und damit verbundene Wartungsintervalle. Der „Digital Twin“ kennt die Komponenten, aus denen er besteht, und kann sich melden, bevor beispielsweise ein Lager verschlissen ist, welches selber auf Basis eines Digital Twin seinen Zustand an das System liefert. Oder es kann bereits vor einem Online-Update erkannt werden, dass ein Softwareupdate nicht funktionieren wird, da eine spezielle Komponente verbaut ist, die von der Firmware nicht unterstützt wird. So kann in der virtuellen digitalen Welt der Modelle die Zukunft vorausgesehen werden bevor die Realität geschaffen wird.

Arbeitswelt

Nicht nur die Effizienz in der Produktentwicklung und die Qualität der Produkte steigen durch Automatisierung. Auch die Menschen kommen in den Vorzug transparenter, effektiver Arbeitssysteme. So könnten Mitarbeitende ihren Arbeitstag mit einem Blick auf ein Cockpit beginnen, in dem sie die Artefakte sehen, deren Attribute in ihrer Abwesenheit eine Änderung erfahren haben, und dadurch in das eigene Aufgabenfeld gerückt sind. Zum Beispiel kann über Nacht eine Änderung akzeptiert und freigegeben worden sein, um eine Lösung zu implementieren. Das System, in dem der „Digital Twin“ abgebildet, ist, lässt einen schlanken „Durchstich“ durch das komplexe System anhand von Linkbeziehungen zu.

Von den vielen Vorteilen automatisierter Systeme profitieren auch Softwarentwicklungsstrategien wie die agile Softwareentwicklung („Scrum“) und das „Continuous Engineering“.

 

Hinweis: Unsere Webseite nutzt Cookies. Wenn Sie fortfahren, nehmen wir an, dass wir Ihre Erlaubnis haben Cookies zu setzen. Informationen zum Einsatz von Cookies sowie unsere Datenschutzbestimmungen finden Sie in unserer Datenschutzerklärung und über unser Impressum.