Standard Telemetry Processing – an object oriented approach using Software Design Patterns - Herrmann, Anita; Schöning, Thomas (Aerospace science and technology, 2000)
While rapidly increasing the software safety and reliability requirements of space-born satellite missions the reduction of processing software development costs is of global interest. To achieve the mission goals both the quality of the applied program design and implementation have a remarkable influence. Because remote sensing data processing software is highly complex and costs a lot to develop, reusing software helps to economize payments significantly and creates maximum benefit to meet quality needs. For the small satellite mission CHAMP the Packet Telemetry Recommendation of the European Space Agency ESA gave the main idea to develop an object-oriented program design of an on-ground data processing system. Due to several on-board satellite instruments (sensors, optical cameras etc.) the amount and the structure of the remote sensing data is completely different. This, of course, requires satellite specific converting algorithms, and with the above mentioned recommendations only standard processing steps can be performed. However, when considering future satellite projects the software design to use must be tailored to the mission specific requirements of the application data handling only. This paper shall report the application of object-oriented software design within the CHAMP project. Based on the Telemetry Packet Standards, the hierarchy of abstract classes is a joined application of the Design Patterns `abstract factory' and `facade'. The growth of flexibility as well as the limitations of their use are discussed with implementation examples. The reuse of both the software architecture and the abstract base classes is also planned for the small satellite mission BIRD. Anwendung von Software Entwurfsmustern zur Verarbeitung von Satellitendaten. Die Kostenreduzierung der Entwicklung von Software zur Satellitendatenverarbeitung ist von globalem Interesse, wobei sich die Anforderungen hinsichtlich Sicherheit und Verfügbarkeit in den letzten Jahren immens erhöht haben. Für eine erfolgreiche Satellitenmission sind sowohl die Qualität des Softwaredesigns als auch dessen Implementierung von sehr großer Bedeutung. Infolge der hohen Komplexität der Verarbeitungsprogramme und des immensen Kostenaufwandes in der Entwicklung ist die Wiederverwendung der Software ein geeignetes Mittel, um eine signifikante Verringerung des Missionsbudgets zu erzielen und den Qualitätsanforderungen gerecht zu werden. Für die Kleinsatellitenmission CHAMP bildeten die standardisierten Verfahren zur Übertragung von Satellitendaten der Europäischen Raumfahrtbehörde ESA die Grundlage für das objektorientierte Design der Verarbeitungssoftware des Bodensegmentes. Da in jeder Satellitenmission verschiedene on-board Instrumente (Sensoren, Kameras, etc.) zum Einsatz kommen, sind natürlich das Aufkommen und insbesondere die Struktur der empfangenen Daten sehr unterschiedlich. Dies erfordert die Implementierung spezifischer Datenkonvertierungsalgorithmen, die jedoch infolge der Standardisierung weitgehend applikationsunabhängig sind. Für das Softwaredesign zukünftiger Satellitenprojekte bedarf es somit lediglich der Berücksichtigung missionsspezifischer Anforderungen. In dieser Arbeit steht die Anwendung des objekt-orientierten Designs für die Verarbeitungssoftware der Kleinsatellitenmission CHAMP im Mittelpunkt. Auf der Basis des Telemetriestandards werden die abstrakte Klassenhierarchie und die verwendeten Entwurfsmuster Abstrakte Fabrik und Fassade erläutert. Die Implementationsbeispiele zeigen sowohl den Flexibiltätsgewinn als auch die Grenzen der Anwendung solcher Softwareentwurfsmuster. Die Wiederverwendung sowohl der Softwarearchitektur als auch der abstrakten Basisklassen ist bereits für die Kleinsatellitenmission BIRD geplant.