The FIRST project has defined a clear API for using the FSF either from the application or from some middleware agent that manages the quality of service requirements for a system. The API allows the application to be completely independent of the underlying FSF implementation. Figure 3 shows the main elements of the API, decomposed into the different modules described in Section 3. The API is provided for both C and Ada.