This document (Unique Identifier: DOC-QP-SAS) describes the software architecture for the QP Framework, as it is specified in the QP Software Requirements Specification (DOC-QP-SRS). The scope of this document is to provide a master plan for the overall organization and operation of QP Framework as well as QP Applications to provide the context necessary to understand the framework. The detailed QP Framework design is described in a separate Software Design Specification [DOC-QP-SDS].
The revision history of the document DOC-QP-SAS is as follows:
| Revision | QP/C version | Date (YYYY-MM-DD) | By | Description |
|---|---|---|---|---|
| 0.0 | 7.3.0 | 2023-06-30 | MMS | Initial Release |
This architecture specification is primarily intended for Application Developers who develop QP Applications based on the QP Framework. The use case diagram depicted in Figure SAS-01 shows the main users and typical use cases they engage in.
This Software Architecture Specification is presented by means various views:
This Architecture Design Specification assumes an object-oriented point of view, utilizing the concepts of class, inheritance and polymorphism.
This Architecture Design Specification describes an object-oriented software framework, which significantly differs from software organized as a "toolkit", such as a traditional Real-Time Operating System (RTOS).
A software framework (e.g., QP Framework) provides a reusable architecture for a specific problem domain (embedded, real-time systems in case of QP Framework). A framework has key distinguishing characteristics that differentiate it from a "toolkit" (see also Framework vs. Toolkit in DOC-QP-SRS):
For traceability, this Software Architecture Specification uses the Unique Identifiers (UIDs) with the following structure:
+++--------------- 1. work artifact class ('SAS' for Software Architecture Specification)
||| ++------------ 2. Project identifier (here 'QP' for QP Framework or 'QA' for QP Application)
||| || ++-++------ 3. Architecture Item ID
||| || || || +--- 4. Optional variant letter ('A', 'B', 'C'...)
||| || || || |+-- 5. Optional version number (1, 2, 3...)
||| || || || ||
SAS-QP-xx-yy[-A2]
Examples: SAS-QA-01_00, SAS-QP-02_12
Most diagrams presented in this Software Architecture Specification conform to the well established semantics of Unified Modeling Language [UML2.5:17]. In case a diagram uses any "non-normative" elements, the semantics of those are explained in the diagram description.
| [DOC-QP-SRS] | Software Requirements Specification |
| [DOC-QP-SDS] | Software Design Specification |
| [OO-in-C:23] | Object-Oriented Programming in C, Quantum Leaps, GitHub, 2023 |
| [UML2.5:17] | "OMG Unified Modeling Language (OMG UML) Version 2.5.1", document formal/2017-12-05, OMG 2017 |