Simulationsframework »FERAL« für ein erfolgreiches Virtual Engineering

Virtuelle Architekturentwicklung und -bewertung

Wie entwickeln und testen Sie Ihre Software-Systeme? Nicht nur Systeme, die sicherheitsrelevante Entscheidungen automatisiert treffen, müssen abgesichert werden. Wir befinden uns in der Welt der eingebetteten Systeme und komplexer Architektur – Systeme, die physikalische Prozesse steuern. Ein Beispiel ist der Bremsvorgang eines Autos, der mittlerweile von einer Vielzahl von Assistenzsystemen, wie bspw. ABS oder ESP, unterstützt wird.

Mit cyber-physischen Systemen, also mit kommunizierenden eingebetteten Systemen, die sich selbstständig auf ihre Umgebung einstellen können und neue Aufgaben erlernen können, wachsen die Herausforderungen an Systementwickler. Daher müssen sich die Systeme verändern. Dies führt zu gänzlich neuen Herausforderungen an die Architektur dieser Systeme.


Da Erfahrungswerte fehlen, ist das einzige Mittel zur Evaluierung von neuen Architekturkonzepten der Aufbau realer Prototypen. Die Auswahl der besten Konzepte erfordert die Realisierung sehr vieler Prototypen. Dies verursacht sehr hohe Kosten und lange Entwicklungszyklen.

Die Vorteile virtueller Entwicklung mit FERAL

  • Kosten- sowie Zeiteinsparung bei strategischen Entwicklungen und Änderungen von Systemkonzepten
  • Frühzeitige Erkennung von Fehlentwicklungen
  • Sichert Entscheidungen mit messbaren Resultaten ab
  • Integriert Anforderungen von Stakeholdern (Marketing, Entwickler, Nutzer, Projektleitung etc.) und Basistechnologien (Steuergeräte, Netzwerke etc.)
  • Vermeidet Missverständnisse zwischen Stakeholdern, Architekten und Entwicklern
  • Fokussiert auf Lösungskonzepten statt auf Problemen
  • Testet Systemkonzepte im Kontext von Fehlern und Angriffen (bspw. Hackerangriffe)

Referenzen von FERAL aus Industrie und Forschung

Aufgabe

 

  • Architekturanalyse
  • Antwortzeitanalyse

 

Software-Lockstep auf Consumerprozessoren (ARM)

 

  • Simuliert Tasks, Deployment, Laufzeiten, Scheduling
  • Verarbeitungszeiten und Jitter pro Task
  • Injizierte Fehler bei Berechnung und auf Bus
  • Evaluiert Netzwerklast, Antwortzeiten, Verhalten

Fernkontrolle einer Hebebühne (anonymisierte Anwendung)

 

  • Fernkontrolle der Sicherheitsfunktion über Smartphone oder WLAN
  • Virtuelle Evaluation des System- und Sicherheitskonzepts vor der Implementierung
  • Allmähliche Integration von Modellen (Spezifikation) und C/C++ Code (Realisierung)

Prototyp für Systemarchitektur

 

  • High-Level-Modelle ähnlich wie UML/SysML
  • Ausführbar und eindeutig
  • Synchronisiert verschiedene Domänen

Abstimmung zwischen Entwicklern

 

  • High-Level- & Implementierungsschnittstellen
  • Datenflüsse im System
  • Hauptfeatures

Verfeinerung und Integration

 

  • Change-Impact-Analyse
  • Change-Management-Unterstützung

Geschäftsfall und Anforderungen

 

  • Aufladezeit von Fahrzeugen
  • Aktivierung von Teilnehmern
  • Zustellzeiten von Paketen

 

Anwendungskonzepte

 

  • Anwendungsarchitektur und -funktionen
  • Hauptkomponenten und -schnittstellen
  • Einbeziehung neuer Dienstleistungen und neuer Infrastruktur

 

Virtuelles Testfeld für Anwendungen

  • Evaluierung und Vorhersage der Performanz
  • Basierend auf Variablen und verfügbaren Services
  • Frühzeitige Evaluierung neuer Konzepte

FERAL - Anwendungsbereiche

FERAL - Virtuelle Integration mit virtuellem HiL-Testen, Fraunhofer IESE
© Icons8
FERAL - Virtuelle Integration mit virtuellem HiL-Testen
  • Die Integration von Softwarekomponenten  und -systemen könnte zu unerwartetem und unerwünschtem emergenten Verhalten führen.
  • FERAL ermöglicht virtuelle Integration, um emergentes Verhalten zu evaluieren. Systemweite Zusicherungen garantieren die Abwesenheit von nicht-konformem Verhalten. Integration wird auf verschiedenen Abstraktionsebenen unterstützt, die Spezifikationen und Realisierungen umfassen.

Bildquelle: https://icons8.com/

Vorhersage des Timings – verändertes Timing, wenn Funktionen konsolidiert werden, Fraunhofer IESE
© Icons8
Vorhersage des Timings – verändertes Timing, wenn Funktionen konsolidiert werden
  • Die Verschiebung von Funktionen zwischen Kontrolleinheiten ändert das Timing. Sie beeinflusst die Zeitplanung anderer Funktionen, die Zeitpunkte, zu denen Daten geliefert und genutzt werden, sowie die Netzwerkkommunikation.
  • FERAL evaluiert, ob ein verteilter Algorithmus immer noch stabil ist. In einer einzelnen Umgebung oder in allen Systemkonfigurationen.

FERAL - Schnittstellenkonformität – korrekte und konforme Interaktion, Fraunhofer IESE
© Icons8
FERAL - Schnittstellenkonformität – korrekte und konforme Interaktion
  • Komplexe Softwaresysteme bestehen aus unabhängig voneinander entwickelten Komponenten.
  • Architekten und Entwickler gehen von Schnittstellen und Basisverhalten aus.
  • Informelle Beschreibungen führen zu Missverständnissen. Ausführbare Prototypen ermöglichen genauere Beschreibungen, die frühzeitiges und kontinuierliches Testen von Spezifikationen und Realisierungen unterstützen.
  • FERAL ermöglicht kontinuierliches Konformitätstesten mit Komponentenspezifika-tionen, die Simulation von Use Cases und Interaktionen sowie das Mischen von High-Level-Spezifikationen mit Implementierungen.

FERAL - Prototyping von Softwaresystemen & Ökosystemen, Fraunhofer IESE
© Icons8
FERAL - Prototyping von Softwaresystemen & Ökosystemen
  • Softwareökosysteme müssen die Anforderungen zahlreicher Stakeholder erfüllen.
  • Die virtuellen Prototypen von FERAL beschreiben die Realisierung von Stakeholder-Anforderungen. Sie werden mit realen Entitäten integriert, schaffen virtuelle Entwicklungs- und Deployment-Umgebungen und ermöglichen frühzeitiges Testen von Konzepten und Was-wäre-wenn-Analysen.

Technologie für die virtuelle Entwicklung von FERAL

Funktionale Integration durch Simulatorkopplung

Ganzheitliche Simulation des funktionalen Systemverhaltens über Werkzeuggrenzen hinweg

 

  • Evaluation über Abstraktionsebenen hinweg – gemeinsame Evaluation von High- und Low-Level-Systemkonzepten
  • Automatisiertes skriptbasiertes Testen und Überwachen der erzielten Testabdeckung
  • Systemweite Zusicherungen; automatischer Vergleich zwischen tatsächlichem und erwartetem Verhalten

Virtuelles Hardware-in-the-Loop-Testen (vHiL)

Simulation des Deployments von Funktionen auf (Mehrkern-) ECUs (Electronic Control Units)

 

  • Simuliert das Verhalten nach dem Deployment (Aufgaben, Prioritäten, Scheduling & Interrupts, Parallelisierungsmechanismen)
  • OSEK-/AUTOSAR-konforme Scheduling-Strategien
  • Virtuelle Sensoren und Aktuatoren kommunizieren mit der simulierten Umgebung
  • Bestehende Verhaltensmodelle müssen nicht geändert werden, um mittels vHiL-Simulationen die Auslastung von Prozessorkernen und die Effekte von Kommunikationsverzögerungen zu überprüfen

Einbeziehung & Evaluation von Code der Zielplattform

Ausführung von Funktionsnetzen

Ein Funktionsnetz definiert

 

  • Funktionen
  • Ports und Informationsflüsse
  • FERAL: zusätzlich die Ausführsemantik

 

Herausforderung: Das Funktionsnetz ist nur teilweise definiert

 

  • Einige Funktionen sind implementiert
  • Einige Funktionen verfügen über spezifiziertes Verhalten
  • Einige Funktionen haben nur Namen & Ports

Schrittweise Verfeinerung von Funktionsnetzen

Iterative Verfeinerung von Funktionen möglich

 

  • Interaktion findet nachrichtenbasiert über Ports und Links statt
  • Funktionsblöcken kann Verhalten zugeordnet werden

 

Unterstützte Verhaltensmodelle

 

  • UML/SysML: Sequenzen, State Machines, Aktivitäten
  • Java & Groovy, sowie C/C++ Code
  • Simulink-Modelle

 

Ausführung unvollständig spezifizierter Funktionsnetze wird unterstützt

 

  • Nicht spezifizierte Funktionen realisieren situationsabhängiges Standardverhalten
  • Zum Beispiel „Filter X sollte dieses Signal filtern“ ist möglich, auch wenn die Implementierung der Funktion Filter X noch nicht vorliegt.

Realisierung

Eine Mischung von unterschiedlich definierten Verhaltensbausteinen ist möglich

 

  • Ebenso wie Integration anderer vorhandener Werkzeuge

 

Eclipse-basiertes Expertenwerkzeug

 

  • Verwendet Groovy-basierte domänenspezifische Sprache zur Konfiguration
  • Xtext und grafische Frontends sind geplant

Auswahl von FERAL-Simulationskomponenten

Wir unterstützen Sie!

Mit unserer Erfahrung unterstützen wir Sie gerne dabei, durch virtuelle Entwicklung und virtuelle Testumgebungen flexibler, schneller und kostengünstiger der immer stärker zunehmenden Komplexität von Systemen zu begegnen. Um Entscheidungen abzusichern, Systeme zu optimieren oder etwas ganz Neues zu kreieren, arbeiten wir gerne mit Ihren Ingenieuren zusammen. Kunden, die virtuelle Prototypen selbst einsetzen möchten, unterstützen wir bei der Entwicklung angepasster Simulationslösungen sowie bei der Umsetzung eigener Konzepte zur Kopplung von Simulatoren. Haben Sie Fragen zur virtuellen Simulation mit FERAL? Sprechen Sie uns an!

 

Kontaktieren Sie uns!

 

Im persönlichen Gespräch finden wir gemeinsam heraus, wie wir Sie am besten unterstützen können.