One of the application requirements that FSF addresses is the ability to compose different applications, possibly using different scheduling policies, into the same system. This can be addressed with support in the system for two-level hierarchical scheduling. The lower level is the scheduler that takes care of the service contracts, using an unspecified scheduling policy (for instance, a CBS on top of EDF, or a sporadic server on top of fixed priorities). The top level is a scheduler running inside one particular FSF server, and scheduling the application threads with whatever scheduling policy they were designed. Of course the top level scheduler is just local to a particular server; the only global scheduler is the lower level server scheduler. With this approach, it is possible to have in the same system one application with, for example, fixed priorities, and another one running concurrently with an EDF scheduler.