REFLEX is a generic event driven OS for embedded devices.
Most embedded devices are used to control more or less complicated processes in the real world. Therefore the operating systems on those devices do not need to be general purpose systems. Other requirements rule that world, namely a small memory footprint, robustness, real-time capabilities and of course resource consumption.
REFLEX is a generic event driven OS for embedded devices. Event handlers and control functions are all represented as passive objects that are scheduled according to a configurable scheduling strategy. All sensors, control functions and actuators of a typical embedded control system are represented by objects that can communicate with each other by means of events.
Synchronization and scheduling of events is based on an event flow model that is in principle very similar to the data flow paradigm. The implementation of control systems that are given as state machines or SDL-graphs is therefore particularly easy. Consequently, we are working towards a high-level tool chain that links typical modeling tools to a REFLEX runtime platform.
REFLEX has a small memory footprint (only a few KB of RAM for complete control applications) and is entirely implemented in standard C++. RFLEX has been ported so far to several CPU types including Motorola HCS12, Atmel ATmega128, Hitachi H8/300 and Texas Instruments MSP430.
REFLEX will serve as the basic OS in the Cocos project.
The project website is located at idun.informatik.tu-cottbus.de/reflex/ .