This Software Architecture Specification (SAS) describes the architecture for the QP Real-Time Embedded Framework (RTEF). The SAS contains the following Sections:
The following package diagram shows the main components and context of use of the QP Framework. The architecture is layered, with QP Application on top using services of the QP Framework in the middle, which in turn uses services of the Kernel/RTOS at the bottom.
At the top sits the QP Application, which consists of Active Objects and Events. The application is not a part of QP, but rather is derived from the QP Framework that supplies the base classes as well as the API to be used in the application.
The QP framework right below the Application provides the base classes and APIs to be specialized by the QP Applications. QP Framework also provides the runtime environment to execute the QP Application on an embedded target.
QP provides the QActive
abstract base class to be specialized into concrete Active Objects in the QP Application. The QActive
abstract base class derives, in turn, from the QHsm
base class, which provides the State Machine Implementation. QP provides also the QEvt
base class for derivation of events with parameters.
"Kernel/RTOS" package at the bottom executes the Active Objects. Since this can be accomplished in several different ways, the QP specification offers several options in form of built-in kernels as well as traditional RTOS and General-Purpose OS environments.
The QP Framework is fundamentally object-oriented, which means that the framework itself and the QP Applications are fundamentally composed of classes. Consequently, this SAS document assumes an object-oriented point of view, utilizing the concepts of class, encapsulation, inheritance and polymorphism.
The main mechanism of deriving an application from the framework is by inheriting the base classes provided by the framework and specializing them for the application at hand.
[SRS] | Software Requirements Specification (SRS) |
[SDS] | Software Design Specification (SDS) |