QP/C 8.1.2
Real-Time Event Framework
Loading...
Searching...
No Matches
Software Design Specification
Remarks
This Software Design Specification is part of the SafeQP Certification Kit↑, but applies to the whole QP/C Framework family↑. This document is the best source of information about the design, and internal implementation of QP/C Framework as well as QP Applications derived from the framework.

Safety Viewpoint

Revision History

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-10-18 MMS Updated for QP 8.0.0.
8.1.2 D 2025-12-09 MMS Updated for QP 8.1.2.

About This Document


DOC_SDS_QP

Software Design Specification (SDS)

Description
This Software Design Specification, with 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_SSRS_QP).

Concerns
This design specification addresses the following concerns (understood here as areas of interest concerning a software design [IEEE-1016:2009]):

  • logical structure of QP/C Framework and QP/C Applications
  • interaction using events
  • state dynamics using hierarchical state machines
  • time management using Time Events
  • algorithms used to implement various functions
  • interface between QP/C Framework and the Operating System underlying the framework;
  • safe programming techniques

Design Viewpoints
The Software Design Specification is organized according to the international standard [IEEE-1016:2009] Software Design Descriptions using the following design viewpoints, each consisting of various design views. The described viewpoints are followed by the traceable Software-Design-Specifications, which define and specify the relevant views.

Audience
This Software Design Specification is primarily intended for the following stakeholders:

  • Application Developers who develop QP/C Applications based on the QP/C Framework,
  • System Engineers,
  • Quality-Assurance Engineers,
  • Test Engineers, as well as
  • Managers who oversee the software development.

Backward Traceability

  • FSM_QP_SDLC_03: Step-3 of the QP/C Framework SDLC shall review and update Software Design Specification (SDS).
  • FSM_QP_SDLC_04: Step-4 of the QP/C Framework SDLC shall perform Unit Design.


Document Conventions

Software-Design-Specification UIDs

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

References

[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

Safety Viewpoint