This Software Architecture Specification is part of the SafeQP Certification Kit↑, but applies to the whole QP/C++ Framework component family↑. This document is the best source of information about the master plan for the overall organization of QP/C++ Framework component, which also directly impacts the QP/C++ Applications derived from the framework. The detailed QP/C++ Framework component design is described in a separate document: QP Software Design Specification [DOC_QP_SDS].
| QP/C++ version | Document revision | Date (YYYY-MM-DD) | By | Description |
|---|---|---|---|---|
| 7.3.4 | A | 2024-05-05 | MMS | Initial release for IEC-61508 SIL-3 and IEC-62304 Class-C. |
| 7.4.0 | B | 2024-07-30 | MMS | Updated for QP 7.4.0. |
| 8.0.0 | C | 2024-11-17 | MMS | Updated for QP 8.0.0. |
| 8.1.2 | D | 2025-12-09 | MMS | Updated for QP 8.1.2. |
| 8.1.3 | D | 2026-03-21 | MMS | Updated for QP 8.1.3. |
Software Architecture Specification (SAS)
Description
This Software Architecture Specification (SAS), formally identified as DOC_QP_SAS, describes the software architecture of QP/C++ Framework component that satisfies the QP Software Requirements Specification (DOC_QP_SRS) and the QP Software Safety Requirements Specification (DOC_QP_SSRS).
Scope
This Software Architecture Specification addresses the following general concerns (understood here as topics of interest [ISO-42010:2022]):
Across the functional safety standards, the Software Architecture Specification serves the same regulatory purpose: To provide documented, reviewable evidence that the software architecture can support and enforce the safety requirements derived from hazard and risk analysis, at the required integrity level. The following table summarizes the role of the SAS in the applicable functional safety standards. | IEC 61508-3:2010 (Functional Safety of E/E/PE Systems) |
|---|
|
| IEC 62304:2006 + Amd1:2015 (Medical Device Software) |
|
| ISO 26262:2018 (Road Vehicles Functional Safety) |
|
Architectural Viewpoints
The QP/C++ Framework component architecture is presented according to the international standard [ISO-42010:2022] Architecture Description by means of the following architectural viewpoints (each consisting of various architectural views):
Audience
This Software Architecture Specification is primarily intended for the following stakeholders:
Backward Traceability
For traceability, this Software Architecture Specification uses the Unique Identifiers (UIDs) with the following structure:
+--------------- [1] Work artifact class (e.g., 'SAS' for Software Architecture Specification)
| +------------ [2] Project identifier ('QP' for @QPX Framework component)
| | +-------- [3] Architecture view (e.g., 'OSAL' for OS Abstraction Layer)
| | |
SAS_QP_view
Examples: SAS_QP_OSAL, SAS_QP_OOA
Most diagrams presented in this Software Architecture Specification conform to the established and precisely defined semantics of the 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.
| [ISO-42010:2022] | ISO/IEC/IEEE, "International Standard ISO/IEC/IEEE 4210, Software, systems and enterprise engineering - Architecture description", 2022 |
| [IEC 61508-1:2010] | IEC 61508-1:2010 Functional safety of electrical/electronic/programmable electronic safety-related systems- Part 1: General requirements |
| [IEC 61508-2:2010] | IEC 61508-2:2010 Functional safety of electrical/electronic/programmable electronic safety-related systems- Part 2: Requirements for E/E/PE safety-related systems |
| [IEC 61508-3:2010] | IEC 61508-3:2010 Functional safety of electrical/electronic/programmable electronic safety-related systems- Part 3: Software requirements |
| [IEC 61508-4:2010] | IEC 61508-4:2010 Functional safety of electrical/electronic/programmable electronic safety-related systems- Part 4: Definitions and abbreviations |
| [IEC 61508-7:2010] | IEC 61508-7:2010 Functional safety of electrical/electronic/programmable electronic safety-related systems- Part 7: Overview of techniques and measures |
| [ISO 26262-1:2018] | ISO 26262-1:2018(en) Road vehicles — Functional safety — Part 1: Vocabulary. International Standardization Organization. |
| [ISO 26262-2:2018] | ISO 26262-2:2018(en) Road vehicles - Functional safety - Part 2: Management of functional safety. International Standardization Organization. |
| [ISO 26262-3:2018] | ISO 26262-3:2018(en) Road vehicles - Functional safety - Part 3: Concept phase. International Standardization Organization. |
| [ISO 26262-4:2018] | ISO 26262-3:2018(en) Road vehicles - Functional safety - Part 4: Definitions and abbreviations. International Standardization Organization. |
| [ISO 26262-6:2018] | ISO 26262-6:2018(en) Road vehicles - Functional safety - Part 6: Product development at the software level. International Standardization Organization. |
| [ISO 26262-8:2018] | ISO 26262-8:2018(en) Road vehicles - Functional safety - Part 8: Supporting processes. International Standardization Organization. |
| [DOC_QP_SRS] | Software Requirements Specification |
| [DOC_QP_SSRS] | Software Safety Requirements Specification |
| [DOC_QP_SDS] | Software Design Specification |
| [QM-Tool:2024] | Quantum Leaps, QM Model-Based Design Tool↑ |
| [OO-in-C:2023] | 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 |