Rate-Monotonic Analysis in the C++ Type System

Morgan Deters, Christopher Gill, and Ron Cytron

In Proceedings of the RTAS 2003 Workshop on Model-Driven Embedded Systems (MDES 2003), Washington, DC, 27 May 2003.

We describe an implementation of Rate-Monotonic Analysis (RMA) within the C++ parametric type system that provides C++ real-time software developers a good way to reason with types at the source level about recurrent tasks and deadlines. Using our approach, a program can be considered incorrect, raising type errors at compile time, if a given set of tasks is not statically schedulable. Similarly, this compile-time ``metaprogram'' can adjust a task set so as to become feasible; we perform this analysis inside the C++ type system, which allows a very natural integration into C++ programs. We discuss our approaches and the applicability of our work to the model-driven development of real-time embedded systems.

Paper available in [ Gzipped PostScript ] [ PDF ]

Open-source demonstration software available:  [ rma_templates-0.1.tar.gz ]