Model-based Software Engineering for an Optical Navigation System for Spacecraft

The project ATON (Autonomous Terrain-based Optical Navigation) at the German Aerospace Center (DLR) is developing an optical navigation system for future landing missions on celestial bodies such as the Moon or asteroids. Image data obtained by optical sensors can be used for autonomous determination of the spacecraft’s position and attitude. Camera-in-the-loop experiments in the TRON (Testbed for Robotic Optical Navigation) laboratory and flight campaigns with unmanned aerial vehicle (UAV) are performed to gather flight data for further development and to test the system in a closed-loop scenario. The software modules are executed in the C++ Tasking Framework that provides the means to concurrently run the modules in separated tasks, send messages between tasks, and schedule task execution based on events. Since the project is developed in collaboration with several institutes in different domains at DLR, clearly defined and well-documented interfaces are necessary. Preventing misconceptions caused by differences between various development philosophies and standards turned out to be challenging. After the first development cycles with manual Interface Control Documents (ICD) and manual implementation of the complex interactions between modules, we switched to a model-based approach. The ATON model covers a graphical description of the modules, their parameters and communication patterns. Type and consistency checks on this formal level help to reduce errors in the system. The model enables the generation of interfaces and unified data types as well as their documentation. Furthermore, the C++ code for the exchange of data between the modules and the scheduling of the software tasks is created automatically. With this approach, changing the data flow in the system or adding additional components (e.g. a second camera) have become trivial.

This work has been presented at DLRK 2016 and the paper was first published by DGLR. In 2017 Springer then published an extension of the conference paper in CEAS Space Journal:

View Online
Download at Springer

Development of a Graphical Modeling Language for an Event-Driven Real-Time System

To compute a large amount of data in real-time systems several software components and algorithms need to be connected. The Tasking Framework enables communication between components and the event-driven execution of such components. Due to the complexity of the configuration of this framework, a graphical modelling language was developed to generate the required source code.

This thesis describes the evaluation of existing graphical modeling languages and, eventually, the definition of a language specialised in the scope of event-driven communication. Multiple diagrams facilitate the description of the software from various perspectives.

To implement a diagram editor, several frameworks were compared and, finally a combination of the graphical modelling framework and EuGENia was selected. The editor allows only well-formed combinations of diagram elements and provides a validation of the element parameters.

To adapt the model-driven development to the project-specific requirements, the language, editor and code generator support the dynamic creation of new elements using ontological concepts.

Download Unfortunately this work is only available in german.