The Generator of Modules GenoM is a tool to design real-time software
architectures. It is more specifically dedicated to complex on-board
systems, such as autonomous mobile robots or satellites, that require:

    * the integration of heterogeneous operational functions with various
real-time constraints and algorithm complexities (control of sensors and
actuators, servo-controls, monitorings, data processings, trajectory
computations, etc.);

    * an homogeneous integration of these functions in the control
architecture which requires coherent and predictable behaviors (starting,
ending, error handling), and standard interfaces (control,
parameterization, data flow);

    * the management of the parallelization, the physical distribution
and the portability of the functions; 

    * simple procedures to add, modify or (re)use the functions by non-specialists

GenoM allows to encapsulate the operational functions on independent
modules that manage their execution. The functions are dynamically
started, interrupted or (re)parameterized upon asynchronous requests sent
to the modules. A final reply that qualifies how the service has been
executed is associated to every request.

Homepage:
https://www.openrobots.org/wiki/genom
