RODOS: Components interactionProject description
Core Avionics deals with the development of an operating system for small satellites. Central component is RODOS, a real-time kernel and middleware, and a network architecture connecting to peripheral components and payload devices. RODOS has a modular architecture, which allows tailoring of the operating system for specific applications, hence it is a system that requires only minimal resources and that can be extended easily. RODOS is based on an object-oriented architecture and is developed in C++.
The RODOS real-time kernel provides functionalities for memory and process management. It provides a multitasking environment and is the basis for communication and data exchange between different applications. Dependability is a main design criterion, to achieve redundancy, robustness, and to meet real-time demands.
The middleware provides a common unique interface towards all applications connected to the network and isolates system specific operations. There can be more than one computation node below the middleware, allowing distribution of the processing tasks. Communication is based on Publisher- / Subscriber protocol, allowing high flexibility, while components can subscribe / unsubscribe to the network by its own. Hardware and software components are treated in the same manner, so that application software does not need to differentiate between these components.
The basic element of the core network is realized in form of a message switch implementing the middleware protocols as hardware. This so called MiddlewareSwitch allows different communication channels, called topics, to be established independently. Different applications communicate with each other directly via a topic and without being influenced or influencing other non-related applications.
The modular approach supports porting and testing of the application software. E.g. real sensors can be replaced using software simulated sensors, or the system can be operated without all components integrated.
The tasks of DLR Simulation and Software Technology are verification and validation of RODOS and also to ease development by supplying generators for automatic source code generation using MDA (Model Driven Architecture) methods. For verification and validation unit and module tests are executed and a test application will be provided, allowing testing the integrated components of RODOS in different configurations.
For creating test applications, typical application configurations of RODOS will be identified. These application configurations will be translated into generators for automatic code generation.
Automatic code generation is based on an extended UML-model, in which class diagrams are annotated with stereotypes and tagged values. Using these annotations a code-frame is generated providing the application developer with a preconfigured system. While creating flight software the application developer can focus on the algorithm implementation and needs not to deal with standard tasks. En example of such standard tasks is the collection of housekeeping data or addition of a communication link to other applications.
Core Avionics is the central software part of the project compact satellite Asteroidfinder under leadership of Sergio Montenegro, Organisationseinheit Satellitensysteme.
DLR Simulation and Software Technology Tasks
The contributions of DLR Simulation and Software Technology are verification and validation of the RODOS operatinng system and support to software development using automatised model driven methods of software generation.
01.01.2009 - 31.12.2011