Alessandro Forin, Johannes Helander, Paul Pham, and Jagadeeswaran Rajendiran
MMLite is a modular system architecture that is suitable for a wide variety of hardware and applications. The system provides a selection of object-based components that are statically and/or dynamically assembled into a full application system. The virtual memory manager is optional and is loaded on demand. Communication with remote peers uses XML/SOAP and standard web services. Components can be easily replaced and reimplemented. Componentization reduced the development time and led to a flexible and understandable system.
MMLite emphasizes real-time and provides a selection of schedulers, such as a feedback constraint-based scheduler. The scheduler is a selectable component and can be replaced so that different policies can be implemented. Minimal latency to interrupts and preemption provides the scheduler with maximum freedom to schedule tasks according to the chosen policy.
MMLite is efficient, portable, and has a very small memory footprint. It runs on several microprocessors, including two VLIW processors. It has been used on multimedia and gigabit ethernet cards, sensor devices, handheld games, and various embedded development boards.
In 3rd IEEE/IEE Real-Time Embedded Systems Workshop (in conjunction with RTSS 2001)