Revision History
QP 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/C++ 7.4.0. |
8.0.0 | C | 2024-10-18 | MMS | Updated for QP/C++ 8.0.0. |
This Software Design Specification (Unique Identifier: DOC_SDS_QP) describes the software design for the QP/C++ Framework that realizes the architecture specified in the QP Software Architecture Specification (DOC_SAS_QP), requirements specified in the QP Software Requirements Specification (DOC_SRS_QP), and QP Software Safety Requirements Specification (DOC_SSR_QP). By presenting a compliant Safety Viewpoint, this Software Design Specification also aims to achieve the required safety integrity levels:
The Software Design Specification is organized according to the international standard [IEEE-1016:2009] Software Design Descriptions by means of the following design viewpoints, each consisting of various design views. The described viewpoints are followed by the traceable Software-Design-Specifications, which describe and specify the relevant views.
This Software Design Specification is primarily intended for the following stakeholders:
This design specification addresses the following concerns (understood here as areas of interest with respect to a software design [IEEE-1016:2009]):
For traceability, this Software Design Specification uses the Unique Identifiers (UIDs) with the following structure:
+---------------- [1] Work artifact class (e.g., 'SDS' for Software Design Specification) | +------------- [2] Project identifier ('QP' for @QPX Framework or 'QA' for @QPX Application) | | +--------- [3] Design view (e.g., 'OSAL' for OS Abstraction Layer) | | | SDS_QP_view
Examples: SDS_QP_QHsm, SDS_QA_START
[IEEE-1016:2009] | IEEE Computer Society, "IEEE Standard for Information Technology - Systems Design - Software Design Descriptions", 2009 |
[ISO-42010:2011] | ISO/IEC/IEEE, "International Standard ISO/IEC/IEEE 4210, Systems and software engineering - Architecture description", 2011 |
[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-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_SRS_QP] | Software Requirements Specification |
[DOC_SAS_QP] | Software Architecture Specification |
[PSiCC:02] | Miro Samek, Practical Statecharts in C/C++, CMP Books 2002. https://www.state-machine.com/psicc |
[PSiCC2:08] | Miro Samek, Practical UML Statecharts in C/C++, 2nd Edition, Newnes 2008. https://www.state-machine.com/psicc2 |
[OO-in-C:23] | Object-Oriented Programming in C↑ , Quantum Leaps, GitHub, 2023 |
[GoF:94] | Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley 1994. |
[UML2.5:17] | "OMG Unified Modeling Language (OMG UML) Version 2.5.1", document formal/2017-12-05, OMG 2017 |
[UML-Dist:04] | Martin Fowler, "UML Distilled, 3rd Edition", Addison-Wesley, 2004 |