Suchen

Entwicklungs-Framework für missionskritische Edge-Anwendungen

Autor / Redakteur: Ian Ferguson* / Sebastian Gerstl

Edge-Computing bietet vernetzten Anwendungen Verbesserungen in Flexibilität, Intelligenz und Lebenszyklusmanagement. Mithilfe der Integration von Softwaretools und Systemen, die Safety, Security und Echtzeitdeterminismus unterstützen, können auch missionskritische Anwendungen von diesen Eigenschaften profitieren, ohne dass inflexible, abgeriegelte Embedded-Implementierungen erforderlich wären.

Firmen zum Thema

Struktureller Aufbau von Lynx MOSA.IC für industrielle Anwendungen.
Struktureller Aufbau von Lynx MOSA.IC für industrielle Anwendungen.
(Bild: Lynx Software Technologies)

Moderne Trends wie unbemannte Luftfahrzeuge (UAV), erschwingliche Satellitentechnologie, die digitale Transformation der Industrie und selbstfahrende Fahrzeuge haben gewisse Gemeinsamkeiten: Sie basieren typischerweise auf intensiver Sensorik und sind umfänglich mit anderen, ähnlichen Anlagen und hochrangigen Steuerungsanwendungen verbunden. Anders als andere Edge-Computing-Anwendungen weisen die genannten Beispiele aber einen gravierenden Unterschied auf: Sie sind auf ein deterministisches Echtzeit-Antwortverhalten gegenüber Sensorinformationen und robusten Cyberschutz angewiesen, um sowohl die Anforderungen an die Systemleistung zu erfüllen als auch die funktionale und datentechnische Sicherheit (Safety & Security) aufrechtzuerhalten. Man kann hier also von einer „missionskritischen Edge“ bzw. „mission critical edge“ sprechen.

Diese Anwendungsfälle erfordern eine Kombination aus Hochleistungs-Embedded-Fähigkeiten und Edge-Computing-Merkmalen wie Intelligenz, Steuerung und Automatisierung, Datensicherheit, Überwachungsfähigkeiten und Sensor-Fusion. Es muss möglich sein, große Betriebssysteme wie Linux und Windows auszuführen, aber auch Bare-Metal-Software und Echtzeitbetriebssysteme (RTOS), um den Echtzeitdeterminisus bestimmter Plattformelemente zu garantieren, typischerweise die Gewährleistung einer Latenzzeit von unter einer Mikrosekunde. Außerdem müssen sich Anwendungen unterteilen lassen, um sicherzustellen, dass bestimmte Applikationen nicht den Ausfall anderer Elemente des Systems verursachen. Mehrschichtige Sicherheitssysteme sind notwendig, natürlich sind auch die einschlägigen Sicherheitszertifizierungen zu erfüllen.

Event-Tipp: intelligent edge conference 2020 Die intelligent edge conference vom 22. bis 23. September in Sindelfingen ist Deutschlands Entwicklerkonferenz, Ausstellung und Networking Event für Intelligent Edge Computing, Machine Learning und Künstliche Intelligenz in Embedded Systemen. Get ready for the next decade: Jetzt hier unverbindlich vormerken und automatisch Programm-Updates erhalten.

Verschmelzen von Mission Critical und Edge Computing

Eine Herausforderung bei modernen Industrierobotern ist beispielsweise, die geeigneten Datenverarbeitungsverfahren dort zu implementieren, wo die Daten generiert werden, um deren Schutz, Latenz und Verfügbarkeit zu verbessern. Gleichzeitig sollten Systemarbeitslasten in ein oder zwei Subsystemen zusammengefasst werden, um Kosten, Leistungsaufnahme und Größe des Systems möglichst gering zu halten. Ferner soll die Einhaltung von Sicherheitsvorschriften gewährleistet sein, idealerweise noch mit Kompatibilität zu älteren und zukünftigen Kommunikationsprotokollen sowie anderen Fabrikanlagen.

Hinzu kommt die zunehmende Komplexität von Anwendungen. Betrachtet man beispielsweise den Bereich der Autonomen Fahrzeuge mit der Autonomiestufe SAE Level-4, kommen Anwendungen dort üblicherweise bereits auf über 500 Millionen Zeilen. Gleichzeitig steigen die Sicherheitszertifizierungskosten und Timelines. Zunehmende Engineering-Kosten sorgen für längere Bereitstellungszyklen, die Flexibilität erfordern, um auf Veränderungen wie sich entwickelnde Kommunikationsprotokolle reagieren zu können.

Hohe Ansprüche für Softwareentwickler

Softwareentwickler für diese Systeme stehen vor der Herausforderung, all diese Anforderungen zeitnah, platzsparend und möglichst latenzfrei unter einen Hut zu bringen. Eine wichtige Hilfestellung hierfür wäre eine geeignete Entwicklungsumgebung, die die folgenden Ansprüche erfüllt:

  • Support von Multicore und Multi-OS: Unterstützung von RTOS-, Bare-Metal-, Linux- und Windows-Workloads in nicht-homogenen Multi-Cores;
  • Mixed Criticality: Präzise Zuordnung ung Terminierung von Hardware-Ressourcen ermöglicht Echtzeit- und Nicht-Echtzeit-Workloads;
  • Multi-Level Security: Unveränderliche Partitionierung; manipulationssichere, nicht umgehbare Partitionen; kein Hilfs-, Root- oder Master-Betriebssystem;
  • Sicherheitszertifizierung: Reduzierte Zertifizierungskosten durch die Minimierung der hohen Anzahl von DAL-Sourcezeilen. Rückverfolgbarkeit von Low-Level-Hardware-Zuteilungen bis in die Systemspezificationen;
  • Flexibilität: Systemfunktionalität kann über ein oder mehrere Gastbetriebssysteme hinweg verteilt werden;
  • Kommunikation: Integrierte Mechanismen für eine sichere, effiziente Kommunikation unter den Partitionen; sowie
  • Vorvalidierte Komponenten: Zertifizierte Echtzeitbetriebssysteme (wie z.B. LynxOS-178), alternative bzw. Open-Source-Echtzeitbetriebssysteme (wie z.B. FreeRTOS), Buildroot Linux, virtuelle Geräteserver und/oder Konfigurationstools.

Software-Framework vereinfacht Entwicklung

Um die Herausforderungen für Entwickler in den Bereichen UAV/Satelliten, Automotive, Avionik und Industrieautomation zu adressieren, hat Lynx sein modulares Softwareentwicklungs-Framework MOSA.ic um entsprechende Softwarefelder erweitert. Lynx MOSA.ic nutzt CPU-Virtualisierung für eine einfachere, verteilte Ressourcenverwaltung (distributed resource control model) anstelle der herkömmlichen OS-basierten zentralen Ressourcenverwaltung (central resource management model). Dieser Ansatz beseitigt soviel Komplexität zwischen Anwendungsschnittstellen und Hardware wie nur möglich. Basierend auf einem konfigurierbaren Framework zur Hardwarepartitionierung, beginnt Lynx MOSA.ic mit der Dezentralisierung von Ressourcenmanagement- und Anwendungsdiensten. Dies hat zur Folge, dass unabhängige Applikationen ihre eigenen Ressourcen eigenständig verwalten können. Als nächster Schritt unterstützen zur Verfügung gestellte Cross Development Kits Entwicklung und Bau von Anwendungsmodulen in unterschiedlicher Größe, Qualität und Komplexität.

In auf spezielle Anwendungsfelder zugeschnittenen Software-Bündeln sind für MOSA-ic nun eine Reihe vorgefertigter Softwarepakete für gezielte Anwendungselder zusammengefasst. Zwei dieser Bündel – ‘Lynx MOSA.ic for Avionics’ und ‘Lynx MOSA.ic for UAVs/Satellites’ – unterstützen Arm- und x86-Prozessorarchitekturen und beinhalten LynxOS-178, den Separation Kernel Hypervisor LynxSecure, einen reichen Satz an Linux-Tools und Unterstützung der SR-IOV-Erweiterung der PCIe-Spezifikation.

‘MOSA.ic for Industrial’ hingegen verzichtet in der ersten Alpha-Release auf das Lynx-RTOS und unterstützt Azure IoT Edge und Windows 10 für x86-Plattformen und bietet Virtual PLC-Funktionalität, sodass Hersteller Software-gesteuerte Kapazitäten schnell skalieren, rekonfigurieren und aktualisieren können.

Jedes dieser Software-Bündel sind auf die Anforderungen von Entwicklern in diesen sich rasch weiterentwickelnden Märkten zugeschnitten, wo höhere Intelligenz am Edge gefragt ist sowie die Fähigkeit, Sensor-Fusion-Plattformen zu verwalten, die funktionsreiche Betriebssysteme mit Bare-Metal-Code und Echtzeit-Determinismus mischen.

Gleichzeitig unterstützt dieser Framework-basierte Ansatz zur Entwicklung missionskritischer Robustheit in Edge-Computing-Applikationen mit seinem Modularitäts-Konzept Software- und Hardware-Upgrades der eingesetzten Plattformen. So lassen sich auch die verbessernden Aspekte des Edge-Computing hinsichtlich Flexibilität, Intelligenz und Kontrolle in Anspruch nehmen. Dazu gehört zum einen die einfachere Anbindung missionskritischer Endpunkte an öffentliche und private Cloud-Dienste, ohne Leistungsverlust.

Überdies werden bei der Überwachung der Sicherheit des Systems patentierte Verfahren genutzt, um Hardware- und Software-Bedrohungen zu identifizieren, zu erfassen und einzudämmen. Ein Lebenszyklusmanagement wiederum sieht, zur Integration in über-angenäherte Infrastrukturlösungen, zusätzliche APIs für die Durchführbarkeit und Orchestrierung vor.

* Ian Ferguson ist Vice President Marketing and Strategic Alliances bei Lynx Software Technologies

(ID:46672754)