Reference Manual For QP/C++ 8.1.5
Loading...
Searching...
No Matches
Software Design Specification
This document is part of the SafeQP Certification Kit, which has been specifically designed to help companies in safety certification of their software based on the SafeQP Framework. This document applies to QP/C++ Framework as well.

Structure Viewpoint

Document Revisions
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
8.1.3 E 2026-03-21 MMS Updated for QP 8.1.3
8.1.4 F 2026-05-16 MMS Updated for QP 8.1.4
8.1.5 G 2026-08-08 MMS Updated for QP 8.1.5

About This Document


[SDS_QP]

Software Design Specification (SDS)

Description

This Software Design Specification, formally identified as [SDS_QP], describes the software design for the QP/C++ Framework that realizes the architecture specified in the QP Software Architecture Specification (SAS_QP), requirements specified in the QP Software Requirements Specification (SRS_QP), and QP Software Safety Requirements Specification (SSRS_QP).

Scope

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 component
  • 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

Regulatory background

Across the functional safety standards, the Software Design Specification serves the same regulatory purpose: To provide documented, reviewable evidence that the detailed software design correctly implements the software architecture and the safety requirements derived from hazard and risk analysis, at the required integrity level, and in a form suitable for verification and validation. The following table summarizes the role of the SDS in the applicable functional safety standards.

IEC 61508-3:2010 (Functional Safety of E/E/PE Systems)
  • The SDS is required because IEC 61508 mandates a documented, traceable, and verifiable software design that satisfies SIL-allocated software safety requirements.
  • Regulators and assessors treat the SDS as evidence that systematic faults are controlled, design measures are applied, and the architecture is decomposed into verifiable units.
  • It is a core artifact demonstrating that the software design can achieve the required Safety Integrity Level.
IEC 62304:2006 + Amd1:2015 (Medical Device Software)
  • The SDS is mandated through the standards requirement for detailed software design supporting risk controls defined under ISO 14971.
  • Its regulatory basis comes from medical device law: manufacturers must show that risk-control measures are implemented in the design and can be verified.
  • The SDS therefore provides regulatory evidence that the software design implements device-level safety controls in a structured, testable way.
ISO 26262:2018 (Road Vehicles Functional Safety)
  • The SDS is required to demonstrate that ASIL-derived software safety requirements are implemented through a structured, deterministic design.
  • It provides evidence for freedom from interference (FFI), fault containment, and ASIL-appropriate design measures.
  • Assessors rely on the SDS to confirm that the software design can enforce safety goals and support ASIL-graded verification.

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,
  • Quality-Assurance Engineers,
  • System Engineers,
  • Test Engineers, as well as
  • Managers who oversee the software development.

Backward Traceability

  • [FSM_QP_SDLC_03] QP/C++ SDLC Step-3 shall review and update Software Design Specification (SDS).
  • [FSM_QP_SDLC_04] QP/C++ SDLC Step-4 Unit (Module) Design.

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.

Document Conventions

Software-Design-Specification UIDs

For traceability, this Software Design Specification uses the Unique Identifiers (UIDs) with the following structure:

 +--------------- [1] Document type ('SDS' for Software Design Specification)
 |  +------------ [2] Project identifier ('QP' for QP Framework)
 |  |   +-------- [3] Architecture view (e.g., 'TECH' for technology view)
 |  |   |
 |  |   |
SDS_QP_view

Examples:

Structure Viewpoint