Because there are various application requirements specified in the contract, they are divided into several groups, also allowing the underlying implementation to give different levels of support traing them against implementation complexity. This gives way to a modular implementation of the framework, with each module addressing specific application requirements. The minimum resource required by the application to be reserved by the system are specified in the core module. The requirements for mutual exclusive synchronization among parts of the application being scheduled by different servers or among different applications are specified in the shared objects module. Flexible resource usage is associated with the spare capacity and dynamic reclamation modules. The ability to compose application or application components with several threads of control, thus requiring hierarchical scheduling of several threads inside the same server are supported by the hierarchical scheduling module. Finally, the requirements of distributed applications are supported by the distributed and the distributed spare capacity modules. We will now explain these modules together with their associated application requirements.