This page collects a set of documents related to the BarbequeRTRM. The idea is to guide the visitor through different topics, ranging from its simple usage to the contribution to the development.
The BarbequeRTRM comes as a system deamon (barbeque) and a Run-Time Library (RTLib). A detailed documentation is provided for both the public interfaces, useful for application developers and frameworks users in general, as well as the internal APIs, which instead are of more interest for people involved with the framework development.
In the next sections, the documentation is organized in modules which correspond to different framework usage perspective. The first section is devoted to application developers, the following sections provides more and more details which are of interest just to framework developers.
The RTLib is the BarbequeRTRM component which provides the definition of the interface and related services exported by the Barbeque Run-Time library (RTLib). This library is provided to be linked by application that needs to interact with the Barbeque Run-Time Resource Manager (BarbequeRTRM).
This library not only defines the set of services accessable by applications, but allows also to mask the platform specific communication channel between controlled applications and the run-time manager. Moreover, the library provides some of the functional supports required for a proper integration of an application with the BarbequeRTRM, thus offloading the application developer as much as possible from the required run-time management boilerplate integration code. Indeed, form an application developer perspective this library enforeces just the conformance to a properly define “Application Lifecycle”, by specifying a set of calls and the order on which these should be performed.
If you are interested into the integration of new applications with the BarbequeRTRM you could use either one of these two interfaces, which correspond to different abstraction levels:
In addition to the selected abstraction level, the RTLib offers also a set of utility services which have been specifically designed to support the developer with the definition of an application local run-time management policy. This API consists of different modules, which can be used alone or combined to develop easily more advanced run-time management strategies:
If instead you are interested into hacking the run-time manager or develop new plugins, read following sections, preferably in this order:
The internals of the integration with applications and target platforms are discussed in these sections: