RTOS for Self-Optimizing Systems
Goal of Subproject C2
The goal of subproject C2 is to develop a self-optimizing RCOS/RTOS system realized as a multi-agent system, which optimally adapts at runtime to the dynamically changing requirements of self-optimizing applications. Strategies are developed at the RCOS/RTOS level. Efficiency and flexibility improvements are additionally achieved through HW/SW support for reconfigurable hardware components. The system must meet strict real-time and safety conditions.
Self-Optimizing RTOS
In the first funding period, the foundations for a self-optimizing RCOS/RTOS were developed. This included providing a hardware and software infrastructure for self-optimizing mechatronic real-time agents. Services were developed for this platform that enable the dynamic exchange of hardware and software agents at runtime. Building on this, strategies and procedures for self-optimization at the RCOS/RTOS level were investigated and implemented. A framework was created that can be used for optimization between independently developed agents. Methods for using reconfigurable hardware were successfully applied to increase efficiency and flexibility for parts of the RCOS/RTOS and for self-optimizing mechatronic agents. Additionally, various approaches were investigated to effectively and easily embed mechatronic controllers into reconfigurable hardware.
Prototype Implementation of a Reconfigurable Switch on the RAPTOR2000 System
Decentralized Resource Management and Self-Reconfiguring RCOS
In the current funding period of the SFB, the concepts developed in the first funding period are to be further developed. Such an RCOS/RTOS system should be able to transparently make temporarily unused resources of a computation node available to other nodes. The resulting dynamic real-time communication needs will be served by a network consisting of interconnected reconfigurable hardware and embedded networked CPUs. The self-optimizing RCOS should dynamically respond to real-time communication requirements and optimize itself through changes in architecture, protocols, and parameters, particularly at the hardware level.
Reconfigurable Switch: Replacement of Two Separate Network Interfaces with an Integrated Switch
Online Verification
Self-optimization involves the exchange of application components at runtime. In an RTOS, any modification of the task set at runtime necessitates an acceptance test. In the classic case, this is limited to the aspect of schedulability. Since typical design tasks in a self-optimizing system now occur online, this acceptance test must be extended to include activities that would traditionally take place during the design phase. The acceptance test should be extended to verify the safety properties of newly loaded components against the overall system's safety properties online before replacement. For this, model checking based on compositional and on-the-fly verification methods and reduced to application changes should be developed. The properties and a system model in UML/OCL should be defined by the application during its design process.