QP/C  8.0.2
Real-Time Embedded 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 Framework family↑. This document is the best source of information about the design, and internal implementation of QP Framework as well as QP Applications derived from the framework.

Structure Viewpoint

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 7.4.0.
8.0.0 C 2024-10-18 MMS Updated for QP 8.0.0.

Purpose and Scope

This Software Design Specification (Unique Identifier: DOC_SDS_QP) describes the software design for the QP 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).

Design Viewpoints

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.

Stakeholders

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

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

Concerns

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

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

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 QP Framework or 'QA' for QP 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

Structure Viewpoint