With the increasing demands on functionality of spacecraft onboard software, its complexity increases greatly while the high reliability constraints remain. At the same time there is the goal for shorter development cycles. As traditional software development strategies might not be able to fulfill all the requirements in the future the space industry aims to incorporate model driven software engineering in its development processes. The European Space Agency as a main actor has developed the Onboard Software Reference Architecture (OSRA). Its main content is the Space Component Model (SCM) and corresponding modeling methodologies. 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. It also defines several services which are common in the space domain. The SCM is present as an EMF based eCore meta model and comes with a prototypical graphical editor. However, although the SCM provides instructions how components and services interact, it does not provide an implementation of those services. The Tasking Framework developed by the group “Onboard Software Systems” of the DLR department of Software for Space Systems and Interactive Visualization is part of the onboard software of several DLR space projects. The Tasking Framework is a portable framework for data flow and event driven cooperative multitasking and written in a safe subset of C++. First work has been conducted to automatically generate a skeleton project from a graphical (non-SCM) model.
The general vision is that in the future an application developer would create and configure components for his/her onboard application and capture the component interactions in an SCM model instance. He/she can then generate code skeletons of this model with all the concurrency behavior, data exchange, type conversion, etc. included. The developer can then concentrate on implementing the functional code of each component. Additionally documentation could be generated as well from the model instance which would ensure that model, generated code and documentation are always up-to-date. Your mission will be a first step towards this goal by investigating which parts of the SCM can and cannot be represented with the current cooperative multitasking framework of DLR and to develop conceptual implementation strategies which take concurrency and component configuration options into account. Finally, the feasibility of these strategies have to be proven by implementing a prototype for a defined subset of the SCM in C++. Preferably C++ code skeletons will be auto generated from an SCM model instance using the xtext/xtend frame work. The SCM is provided as an Ecore-model by ESA, thus parts of your development will use the Eclipse Modeling Framework and related technologies for code generation. The cooperative multitasking framework of DLR is written in C++, thus familiarity with object oriented programming is a requirement for the prototype implementation. In the course of your thesis you will get familiar with the current state of the art of software development processes for onboard software at DLR as well as the ongoing research activity in the space domain. You will learn about the constraints in software development for onboard computers and how they can be fulfilled. Finally, you will contribute to our ongoing efforts toward a computer aided development process.
This thesis can be supervised in German and English. A discussion with ESA domain experts might be possible.
Look forward to a fulfilling job with an employer who appreciates your commitment and supports your personal and professional development.
Our unique infrastructure offers you a working environment in which you have unparalled scope to develop your creative ideas and accomplish your professional objectives.
We are striving to increase the proportion of female employees and therefore particularly welcome applications from women.
Disabled applicants with equivalent qualifications will be given preferential treatment.
You can send this job advertisement via e-mail and complete your application on a personal computer or laptop.
We need your digital application documents (PDF). The document upload function is not supported by all mobile devices. Please complete your application on a PC/laptop.
Simulation and Software Technology
Phone: +49 531 2952494