|Tarikere Phaniraja Setty, Raghuraj: Code generation from on-board software models conforming to the On-board Software Reference Architecture (OSRA) using DLR software technologies. |
Universität Stuttgart, Fakultät Informatik, Elektrotechnik und Informationstechnik, Masterarbeit Nr. 93 (2018).
145 Seiten, englisch.
The European Space Agency (ESA) and its industrial partners have come up with the concept of On-board Software Reference Architecture (OSRA); with an aim of favoring the adoption of a software reference architecture across their software supply chain. The center of that strategy involves a component model called the Space Component Model (SCM) and the software development process that builds on it. The SCM aims to model application software as a set of independent software components which interact with each other via clearly defined interfaces with certain guarantees. The SCM is present as an Eclipse Modeling Framework (EMF) based Ecore meta model and it comes with a graphical editor called the OSRA SCM Model editor. Although the SCM provides information about how components interact with each other through the provided or required services, it does not provide an implementation of those services. The work presented here in this Master thesis aims at implementing a back-end code generator for OSRA, supporting the general vision that in the future, an application developer would create and configure components for his/her on-board applications and capture the desired component interactions in an SCM model instance. He/she can then generate code skeletons for the model, i.e., all the concurrency behavior, data exchange, type conversion, etc. are automatically handled by the code generator. As a result, the developer can only concentrate on implementing the functional code of each on-board software component, which in-turn results in shorter development cycles and high cost-efficiency. The code generator uses the Tasking Framework as a well-formed platform and bases the generated code on it. The Tasking Framework is a portable framework for data flow and event driven cooperative multitasking which is written in a safe subset of C++. It is developed by the group ’Onboard Software Systems’ of the German Aerospace Center (DLR) department of Software for Space Systems and Interactive Visualization.