Extraktion und Generierung von Ressourcenzwillingen
In den bisherigen Blogposts sind wir auf die Idee und die Zielsetzung des Projekts TwinSpace eingegangen und haben verschiedene Bausteine zur technischen Umsetzung präsentiert, nämlich die LPDL als Lastbeschreibungssprache sowie die dazugehörigen Extraktoren und Generatoren. Mit Hilfe der LPDL können Modelle des extra-funktionalen Verhalten von Software-Komponenten und -systemen (beispielsweise Laufzeit, Anzahl und Art der Operationen, Speicherverbrauch, Kommunikationsverhalten, …) spezifiziert werden ohne konkrete Algorithmen offenlegen zu müssen. Die Modelle können entweder mittels der Extraktoren automatisch aus vorhandenen Software-Komponenten erzeugt werden oder aber von Hand geschrieben werden. Die Modelle dienen danach als Eingabe für die Generatoren, die anhand der Spezifikation in den LPDL-Modellen passende Ressourcenzwillinge erzeugen. Diese können dann zum Beispiel genutzt werden, um verschiedene Hardwareplattformen oder Compiler zu bewerten.
Heute wollen wir die Umwandlung von Softwarekomponenten in Ressourcenzwillinge anhand eines Beispiels etwas genauer beleuchten. In späteren Blogposts werden auch die Systemebene, Metriken zur Bewertung der Zwillinge und die Einbindung in den automobilen Entwicklungsprozess ein Thema sein.
Extraktoren: Vom Programm zur LPDL

Dieser Artikel stellt die verschiedenen TwinSpace-Extraktoren vor, die verwendet werden, um Lastprofile für Programme zu generieren. Die Extraktoren arbeiten auf unterschiedlichen Abstraktionsebenen, wie der C-Ebene, Objektdateien und Tracedaten, und bieten jeweils spezifische Vorteile bei der Analyse von nicht-funktionalen Eigenschaften wie Energieverbrauch und Laufzeit. Die Analyse auf der C-Ebene ermöglicht die Berücksichtigung hochsprachlicher Eigenschaften, während Objektdateien eine genauere Abschätzung des kompilierten Programms erlauben. Die hardware-nahe Untersuchung mittels Tracedaten bietet letztlich die höchste Genauigkeit. Durch die Kombination dieser Ansätze kann ein umfassendes Bild der nicht-funktionalen Eigenschaften eines Programms erhalten werden, was für die Planung und Effizienzsteigerung in verschiedenen Anwendungen von großer Bedeutung ist.
Mit Ressourcenzwillingen zur effizienten Softwareentwicklung – der TwinSpace Ansatz

Ressourcenzwillinge sind spezialisierte Modelle, die das nicht-funktionale Verhalten von Software – wie Speicherauslastung, Laufzeit, Prozessorlast und Stromverbrauch – präzise nachbilden, ohne dabei deren funktionale Abläufe zu kopieren. Diese Methodik eröffnet vielseitige Möglichkeiten: Entwickler können den Ressourcenbedarf einer Software bereits abschätzen, bevor sie vollständig entwickelt oder ausgeliefert wird. Das schützt nicht nur geistiges Eigentum, sondern fördert auch eine effiziente Ressourcennutzung. Die Erstellung dieser Zwillinge erfolgt automatisch durch innovative Zwillingsgeneratoren, die im Rahmen des TwinSpace-Projekts entwickelt werden.
LPDL: Eine maßgeschneiderte Sprache zur Dokumentation von Lastprofilen

Digitale Zwillinge spiegeln nicht nur den aktuellen Zustand wider, sondern antizipieren auch zukünftige Entwicklungen, simulieren Szenarien und bieten wertvolle Einsichten für die Optimierung realer Entwicklungsprozesse. Doch um diese komplexen digitalen Modelle effizient und präzise zu gestalten, benötigen wir leistungsfähige Werkzeuge, die den speziellen Anforderungen dieser virtuellen Welten gerecht werden. Genau hier setzt die in TwinSpace entwickelte “Load Profile Description Language”, kurz LPDL, an.