FERAL - Virtuelle Architekturentwicklung und -bewertung

FERAL: Virtuelle Architekturentwicklung und Bewertung von Softwarekonzepten

Wir befinden uns in der Welt der eingebetteten Systeme. Dies sind Systeme, die physikalische Prozesse steuern.
Ein Beispiel hierfür ist der Bremsvorgang eines Autos, der mittlerweile von einer Vielzahl von Assistenzsystemen, wie bspw. ABS oder ESP, unterstützt wird. Mit cyberphysischen Systemen – 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.
 
Unser Werkzeug FERAL ist eine revolutionäre Lösung zur Erstellung und Evaluation von Architekturkonzepten. Virtuelle Prototypen ersetzen reale Prototypen mittels Simulation und evaluieren kostengünstig die Auswirkungen neuer Architekturkonzepte.

Die Vorteile virtueller Entwicklung - 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 Pakten

 

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

© Foto Icons8

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.

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.
© Foto Icons8
© Foto Icons8

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.

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.

 

Bildquellen: https://icons8.com/

© Foto Icons8

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

Weitere Infos & News

Entscheidungen absichern

Unterstützt die neue Systemarchitektur
Ihre Geschäftsziele? Funktioniert Ihre
Software auch auf den Plattformen von
übermorgen? Ist eine Konsolidierung
von Funktionen möglich?

 

CeBIT 2017

FERAL – Neues Simulationsverfahren macht komplexe Hard- und Software kompatibel