Sommer, Jan and Gerndt, Andreas and Lüdtke, Daniel (2019) Creating a Reliable Data Type Framework for the OSRA Using Modern C++. In: Proceedings of the International Astronautical Congress, IAC. 70th International Astronautical Congress (IAC), 2019-10-21 - 2019-10-25, Washington D.C..
PDF
256kB |
Abstract
Ever increasing demands on the complexity of onboard software has lead the European Space Agency to define the OnBoard Software Reference Architecture (OSRA) creating a common framework for modeling onboard software for space applications. OSRA provides tools for the description of onboard software (OSW) in a componentcentric way, but leaves the implementation of the OSW itself or related autocoding tools to other institutions. As a first step towards a codegeneration framework from high level software models, we present source code mappings from the OSRA data type model to a C++ type system. The goal of the framework is to take care of type safety and value consistency issues and to provide an intuitive interface to the application developer for defining and working with data types, while at the same time having the target of autocoding in mind. We use language features introduced with the modern C++ standards to allow for extensive validity checks at compiletime and additional checks at runtime. For the integration with OSRA tools, we take an intermediate step transforming the graphically declared types of OSRA into an ASN.1 representation before generating the corresponding C++ source code. The integration is bidirectional, i.e. data types, which have been constructed solely in ASN.1 notation, can also be used inside OSRA models which helps maintaining more complex data structures in a textual format and enables us to use existing complex data sets from previous projects and from The Assert Set of Tools for Engineering (TASTE) project to test the feasibility and the limitations of the type system. In the end, we present a type system which can be autogenerated and automatically avoids common sources of error like faulty initialization, outofbound access and accidental range overflows. Such errors cause compiletime errors if possible and runtime errors otherwise. In order to provide developers with a practical solution, efforts were made to facilitate integration with existing code bases or third party libraries which allows an iterative process of adaption. We strive to generate complete onboard software projects from the OSRA component model. The data type system defined here provides therefore the basis for that endeavor as it determines the way components will exchange data and how developers will need to interact with them.
Item URL in elib: | https://elib.dlr.de/130256/ | ||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Document Type: | Conference or Workshop Item (Speech) | ||||||||||||||||
Title: | Creating a Reliable Data Type Framework for the OSRA Using Modern C++ | ||||||||||||||||
Authors: |
| ||||||||||||||||
Date: | October 2019 | ||||||||||||||||
Journal or Publication Title: | Proceedings of the International Astronautical Congress, IAC | ||||||||||||||||
Refereed publication: | No | ||||||||||||||||
Open Access: | Yes | ||||||||||||||||
Gold Open Access: | No | ||||||||||||||||
In SCOPUS: | Yes | ||||||||||||||||
In ISI Web of Science: | No | ||||||||||||||||
Series Name: | Proceedings of the International Astronautical Congress | ||||||||||||||||
Status: | Published | ||||||||||||||||
Keywords: | Code Generation, Modeldriven Software Development, C++ | ||||||||||||||||
Event Title: | 70th International Astronautical Congress (IAC) | ||||||||||||||||
Event Location: | Washington D.C. | ||||||||||||||||
Event Type: | international Conference | ||||||||||||||||
Event Start Date: | 21 October 2019 | ||||||||||||||||
Event End Date: | 25 October 2019 | ||||||||||||||||
Organizer: | International Astronautical Federation | ||||||||||||||||
HGF - Research field: | Aeronautics, Space and Transport | ||||||||||||||||
HGF - Program: | Space | ||||||||||||||||
HGF - Program Themes: | Space System Technology | ||||||||||||||||
DLR - Research area: | Raumfahrt | ||||||||||||||||
DLR - Program: | R SY - Space System Technology | ||||||||||||||||
DLR - Research theme (Project): | R - Scosa Onboard Computing (old) | ||||||||||||||||
Location: | Braunschweig | ||||||||||||||||
Institutes and Institutions: | Institut of Simulation and Software Technology Institut of Simulation and Software Technology > Software for Space Systems and Interactive Visualisation | ||||||||||||||||
Deposited By: | Sommer, Jan | ||||||||||||||||
Deposited On: | 13 Dec 2019 12:58 | ||||||||||||||||
Last Modified: | 24 Apr 2024 20:33 |
Repository Staff Only: item control page