Professional Articles

Hypervisor im Weltraum

Space Mission

Die Entwicklung von zertifizierbaren Systemen und Software für europäische Raumfahrtanwendungen erfordert die strikte Einhaltung der ECSS-Normen. ECSS - die European Cooperation for Space Standardization - ist eine Kooperation der Europäischen Weltraumorganisation (ESA), nationaler Raumfahrtbehörden und des europäischen Industrieverbandes Eurospace mit dem Ziel, kohärente, kommerziell orientierte und benutzerfreundliche Standards für Raumfahrtanwendungen zu entwickeln und zu pflegen. Das Hauptziel ist die Verbesserung der Leistungs- und Wettbewerbsfähigkeit der europäischen Raumfahrtindustrie auf dem Weltmarkt.

Eine der wichtigsten Normen innerhalb des ECSS-Rahmens ist ECSS-E-ST-40C, eine Software-Engineering-Norm für Software, die für Raumfahrtprojekte entwickelt wird. Sie deckt alle Aspekte des Software-Engineerings in der Raumfahrt ab, einschließlich Anforderungsdefinition, Design, Produktion, Verifizierung und Validierung, Transfer, Betrieb und Wartung. ECSS-E-ST-40C gilt für alle Elemente eines Raumfahrtsystems, einschließlich des Weltraums, der Startdienste und des Bodensegments.

Eine weitere wichtige Norm für die Zertifizierung ist ECSS-Q-ST-80C, die eine Reihe von Anforderungen an die Software-Produktsicherheit definiert, die für die Entwicklung und Wartung von Software für Raumfahrtsysteme, einschließlich bemannter und unbemannter Raumfahrzeuge, Trägerraketen, Nutzlasten, Experimente und der dazugehörigen Bodenausrüstung und -einrichtungen, gelten.

In ihrem Wesen ähneln die ECSS-Standards stark dem aus der Avionikindustrie bekannten DO-178-Standard, so dass viele Zertifizierungsartefakte von Avioniksystemen für die ECSS-Zertifizierung wiederverwendet werden können. Insbesondere hat die ESA das IMA-Konzept (Integrated Modular Avionics) übernommen, ein Konzept, das für die Luftfahrtindustrie entwickelt wurde, um das Wachstum an Funktionalität und Effizienz zu bewältigen. Ziel von IMA ist es, eine integrierte Systemarchitektur zu definieren, um die Vorteile der am häufigsten verwendeten Architekturen zu bewahren, nämlich Fehlereingrenzung und herstellerübergreifende Aspekte, z. B. funktionale Sicherheit oder parallele Entwicklung und Validierung. IMA beinhaltet auch eine Technologie, die als Time and Space Partitioning (TSP) bezeichnet wird, um Anwendungen voneinander zu trennen und Verbindungen zu vermeiden, sofern sie nicht ausdrücklich von den Entwicklern beabsichtigt sind. Integrierte modulare Avionik für die Raumfahrt (IMA-SP) ist eine Abspaltung des entsprechenden Konzepts für die Avionik von Raumfahrzeugen. Es zielt darauf ab, die zunehmende Anzahl von Missionsfunktionen, die in die Bordsoftware eingebettet sind, zu verwalten und gleichzeitig durch ein höheres Maß an Integration und gemeinsamer Nutzung von Rechenressourcen Masse, Volumen und Energie zu sparen. IMA-SP ermöglicht auch die Kombination verschiedener kritischer Software auf einer einzigen, gemeinsam genutzten Hardware, was die benötigte Rechenleistung und die Komplexität der Software reduziert und verhindert, dass sich das Fehlverhalten einer Anwendung auf andere laufende Anwendungen auswirkt.


Selektive Rezertifizierung nach Software-Upgrade

Mit PikeOS hat SYSGO ein separates kernelbasiertes Echtzeitbetriebssystem (RTOS) entwickelt, das in der Luftfahrtindustrie bereits intensiv genutzt wird und Zertifizierungen bis zur höchsten Stufe (DAL-A) des DO-178C-Standards besitzt. PikeOS unterstützt auch die meisten Konzepte von IMA-SP. Designs, die auf einem Separation Kernel basieren, ermöglichen nicht nur ein sehr hohes Maß an Sicherheit, sondern können auch die Zertifizierung deutlich vereinfachen und damit erhebliche Kosten sparen. Die Änderung bestimmter Eigenschaften eines Systems birgt das Risiko, dass Sicherheitsannahmen außer Kraft gesetzt werden und das System unsicher wird oder den bereits erreichten Zertifizierungsstatus verliert. Bei Aktualisierungen muss daher das gesamte Gerät neu zertifiziert werden, einschließlich der Teile, die sich nicht geändert haben. Diese Tatsache erschwert die Entwicklung flexibler Geräte, die kostengünstig an neue Einsätze oder Umgebungen angepasst werden können.

Die Partitionierung der Gerätesoftware nach den Regeln eines zertifizierten Trennungskerns ermöglicht eine selektive Neuzertifizierung nur der Partition, die von der Aktualisierung betroffen ist. Die anderen Partitionen bleiben unverändert, und die strikte Trennung gewährleistet, dass ihre funktionalen und IT Sicherheitsvoraussetzungen unverändert bleiben. Darüber hinaus kann der Separationskernel einen sicheren Aktualisierungsmechanismus mit kryptografischer Signatur, Transportverschlüsselung und anderen Funktionen bieten.


Weltraum- und Bodenanwendungen

Eine der Weltraummissionen, bei denen PikeOS zum Einsatz kommt, ist das Projekt ANGELS, eine europäische Initiative zur Entwicklung extrem kompakter Satelliten. Der erste Prototyp wurde Ende 2020 gestartet und erwies sich als voll funktionsfähig. ANGELS steht für Argos NEO Generic Economic Light Satellites, wobei Argos das einzige globale satellitengestützte System zur Ortung und Datenerfassung ist, das speziell für die Erforschung und den Schutz der Umwelt unseres Planeten entwickelt wurde. ANGELS ist ein Nanosatelliten-Demonstrationsprogramm mit dem Ziel, Satelliten mit einem 12U-Formfaktor und einem Gewicht zwischen 10 und 50 kg zu entwickeln. Die Entwicklung des Miniatursatelliten und -instruments folgt dem europäischen New Space-Ansatz, der miniaturisierte kommerzielle Standardkomponenten (COTS) und eine effiziente Art des Entwurfs, der Entwicklung und des Testens umfasst. Die Entwicklung der Nutzlast, des Argos-Instruments Argos NEO, wird von Thales Alenia Space (TAS) durchgeführt, das PikeOS als technische Basis gewählt hat.

Dieses RTOS ist die Grundlage für zeitlich und räumlich getrennte Anwendungen, die u.a. Kommando- und Kontrolloperationen sowie die Dekodierung von Baken in ANGELS erfüllen. Dabei unterstützt PikeOS verschiedene Anwendungen, die nach dem ECSS-Standard der Kategorien B und D qualifiziert sind. Dank seiner separaten Kernel-Architektur können auch Partitionen aktualisiert werden, ohne dass dies Auswirkungen auf die anderen, bereits in Betrieb befindlichen Partitionen hat. Dies ermöglicht es ANGELS, Funktionen hinzuzufügen oder zu optimieren und seine Sicherheitsstabilität im Laufe der Zeit zu verbessern.

In einer Bodenanwendung ist PikeOS Teil des Korea Augmentation Satellite System (KASS), das für eine genaue Echtzeit-Lokalisierung im Verkehrswesen und in der Luftfahrt entwickelt wurde. Sein Zweck ist es, Satellitendaten für sich bewegende Objekte in Echtzeit zu korrigieren und sie so weit wie möglich von störenden Faktoren zu befreien. Durch die Verbesserung der Genauigkeit auf bis zu 1 Meter wird KASS nicht nur die Luftfahrt sicherer machen, sondern auch die autonome Mobilität in hohem Maße unterstützen.

KASS kombiniert ein globales Navigationssystem (GNSS), das auf dem europäischen EGNOS-System basiert, mit Daten von mehreren Basisstationen, die über die gesamte Halbinsel verteilt sind. Die bekannte und unveränderliche Position der Basisstationen wird verwendet, um die genaue Entfernung zwischen der Station und dem Satelliten in Echtzeit zu bestimmen, indem das unkorrigierte GNSS-Signal mit dem tatsächlichen Standort abgeglichen wird. Die korrigierten Daten werden dann über die Basisstationen an die Satelliten zurückgesendet.

PikeOS läuft im zentralen Rechenzentrum auf Kontron-Hardware und dient als Host-System mit einem POSIX- und einem ELinOS-Embedded-Linux-Gastsystem. Die POSIX-Partition fungiert als Gateway und nutzt den zertifizierbaren IP-Stack (CIP) von SYSGO, der verschiedene Sicherheitsstandards erfüllen kann und POSIX eine Socket-Schnittstelle für die Kommunikation zur Verfügung stellt. POSIX wird auch für die Berechnung von Korrekturdaten verwendet und ist nach dem Avionik-Sicherheitsstandard DO-178B DAL C zertifiziert, während die ELinOS-Partition weniger kritische Überwachungsaufgaben übernimmt. Das System bietet eine hohe Verfügbarkeit und ist für Anwendungen mit gemischter Kritikalität geeignet.


Anwendungsfall: Redundante Konfiguration

Abgesehen von diesen spezifischen Projekten gibt es in der Raumfahrtindustrie eine Vielzahl von Anwendungsfällen für Separationskernel-basierte Betriebssysteme wie PikeOS. Eines der Schlüsselelemente des Raumfahrtsegments ist die Fähigkeit, die Missionsziele unter allen Bedingungen zu verfolgen, auch wenn Teile des Satelliten oder der Sonde aufgrund einer Fehlfunktion jeglicher Art nicht mehr funktionieren. Die ECSS schreibt dies ausdrücklich vor: "Bereitstellung angemessener Kontrollfunktionen zur Konfiguration der bordseitigen Systeme für die Durchführung des nominalen Missionsbetriebs, der Fehlererkennung, -identifizierung, -isolierung, -diagnose und -wiederherstellung sowie der Wartungsarbeiten."

Diese Kontrollfunktionen (Telekommandos), die auf jeder Ebene der Systemhierarchie bereitgestellt werden, müssen in der Lage sein, die Missionsziele unter allen festgelegten Umständen zu erreichen. Dies kann die Verwendung redundanter Ausrüstung einschließen, um die Anforderungen an die Zuverlässigkeit des Gesamtsystems zu erfüllen. In der Regel handelt es sich um ein aktives und ein Reserve-Teilsystem. Ein Schlüsselfaktor hierfür ist die Fähigkeit von PikeOS, den Status der Partition über seine interne Überwachungseinrichtung zu bewerten, die es ermöglicht, Informationen über den Status der Partition über die Betriebssystemüberwachung zu erhalten.


Abbildung 1: PikeOS Monitor & Control Architektur

Eine redundante Konfiguration besteht in der Regel aus einem aktiven Hardwaresystem und einer kalten (Cold-) Backup-Hardware, die kontinuierlich einen Handshake durchführen, um die Verfügbarkeit zu testen. Sollte das aktive System ausfallen, erfolgt der Failover, wenn kein Handshake mehr stattfindet. Das Cold-Backup-Management kann auf verschiedene Weise erreicht werden; Beispielsweise kann die Hauptanwendung den Monitor auffordern, den Treiber für die primäre Hardware zu deaktivieren und den für das Backup zu aktivieren. Dabei kann die Anwendung immer noch dieselben Eingaben über denselben Kanal erhalten, allerdings nur von der Backup-Hardware und nicht mehr von der primären. Eine andere Möglichkeit wäre ein Hot-Backup, das parallel zur primären Hardware läuft. In diesem Fall erfolgt die Fehlererkennung auf die gleiche Weise wie im vorigen Fall, aber da das Hot Backup bereits läuft, muss es nicht gestartet werden, da es bereits Ausgabedaten erzeugt. Wenn Primär- und Backup-Systeme mit Hilfe von PikeOS-Partitionen implementiert werden, kann der Fehler im Primärsystem durch das Instrumentierungs-Subsystem erkannt und an eine Monitor-Anwendung in einer Service-Partition weitergegeben werden, die dem Output-Teil angeben kann, von welchem Subsystem die gültigen Daten kommen werden (rote Befehlszeile in Abbildung 1).


Anwendungsfall: Missionskritische Datenspeicherung

Eines der Hauptziele bei Weltraummissionen besteht in der Datenerfassung. Auf der technischen Seite geht es dabei um die Speicherung und Übertragung zur Bodenstation. In der Vergangenheit wurden häufig paketorientierte Datenstrukturen verwendet. Dies hatte zur Folge, dass die aufgezeichneten Daten in einer sequentiellen und unflexiblen Weise an die Bodenstation gesendet wurden.

Künftige Missionen mit einem hohen Bedarf an Datentransfer können von einer Priorisierung auf der Grundlage von Metadateninformationen erheblich profitieren. Hier kommen dateibasierte Systeme ins Spiel, die durch die Verwendung von Ordnern zur Gruppierung der Informationen auch eine bessere Übersicht über die gespeicherten Daten bieten. Die einer Datei oder einem Ordner zugewiesenen Metadaten können das Erstellungs- und Änderungsdatum, den Datentyp und die Zugriffsrichtlinien umfassen.

Bei den meisten neueren Weltraummissionen werden Plattformspeicher nicht nur für wissenschaftliche Daten, sondern auch für missionskritische Elemente wie Telekommandozeitpläne, Anwendungssoftware (ASW)-Bilder und zusätzliche Systemkonfigurationsdateien verwendet.


Abbildung 2: PikeOS FTS, FMS, CFS Architektur

Abb. 2 zeigt den Vorschlag eines modernen Ansatzes für die Implementierung eines Plattformspeichersystems. Das Herzstück des Systems ist der Dateiverwaltungsdienst (FMS), der seine Dienste mehreren Clients zur Verfügung stellt, z. B. wissenschaftlichen Anwendungen oder dem Dateiübertragungsdienst (FTS). Letzterer kann beispielsweise auf dem vom Beratenden Ausschuss für Weltraumdatensysteme (CCSDS) spezifizierten File-Delivery-Protokoll (CFDP) beruhen und fällt nicht in den Anwendungsbereich des FMS selbst. Im vorliegenden Anwendungsfall ist der Dateimanagementdienst mit dem zertifizierbaren Dateisystem (CFS) von PikeOS verbunden. Das zertifizierbare Dateisystem (CFS) ist eine PikeOS-Komponente, die ein ausfallsicheres Dateisystem mit mehr Funktionen als das native PikeOS-Dateisystem bietet. Zusätzlich zu den grundlegenden Dateioperationen, die von den internen PikeOS-Dateianbietern implementiert werden (open, close, read, write, map, ioctl, lseek, stat), kann das CFS auch Verzeichnisse und Dateimanipulationen verarbeiten (create, delete, rename, truncate, chmod). Es ist immer noch ein vereinfachtes Dateisystem im Vergleich zu Standard-Linux-Dateisystemen. Das CFS unterstützt Metadaten für Dateien und Verzeichnisse.

Das CFS kann zur Laufzeit gemountet und unmountet werden. Das CFS ist für den Betrieb auf Blockgeräten mit einer konfigurierbaren Blockgröße ausgelegt. Der Blockzugriffsdienst (BAS) ist im PikeOS-Kernelbereich implementiert. Es sind sowohl Treiber für permanente als auch für flüchtige Speicherblöcke verfügbar. Der Speicher ist in der Regel durch zusätzliche CRC-Bits (Cyclic Redundancy Check) geschützt, um Single Event Upsets (SEU) zu korrigieren.

Weitere Informationen unter www.sysgo.com/pikeos

Article Translations

Hypervisor in Space
PikeOS for MPU

PikeOS for MPU

Learn more

Get connected with SYSGO


Contact us