Reference Manual For QP/C++ 8.1.5
Loading...
Searching...
No Matches
Time Viewpoint

Interaction ViewpointState Dynamics Viewpoint

Design Viewpoint


[SDS_QP_TIME]

Design viewpoint: Time management in QP/C++.

Purpose

The Time Viewpoint focuses on the specific requirements and constraints of real-time event-driven systems, ensuring that they meet timing and performance criteria.

Design Concerns

  • time management mechanisms
  • system clock tick rates
  • concurrency
  • performance

Design View: Time Event Life Cycle


[SDS_QP_TELC]

Design view: Time Event lifecycle rules.

Model Kind

The time event life cycle is illustrated with a UML state diagram.

Figure SDS-TE-LIFE: Time Event Life Cycle


Figure SDS-TE-LIFE illustrates the time event life cycle:

[0] Time Event constructed but disarmed.

[1a] The armX() operation with the 'interval' argument of 0 arms a one-shot time event

[1b] The armX() operation with the 'interval' argument of non-zero arms, a periodic time event

[2] A one-shot Time Event is automatically disarmed after it expires

[3a] A one-shot Time Event can be disarmed while it is armed and still timing out (the disarm() operation returns 'true').

[3b] A periodic Time Event can be disarmed when it is armed (the disarm() operation returns 'true')

[3c] An already disarmed Time Event can be disarmed (the disarm() operation returns 'false')

[4a] A one-shot Time Event can be rearmed while it is armed and still timing out (the rearm() operation returns 'true').

[4b] A periodic Time Event can be rearmed while it is armed (the rearm() operation returns 'true').

[4c] A disarmed Time Event can be rearmed (the rearm() operation returns 'false').

[5a] Arming an already armed one-shot Time Event is NOT allowed (QP/C++ Framework asserts)

[5b] Arming an already armed periodic Time Event is NOT allowed (QP/C++ Framework asserts)

Backward Traceability

  • [SRS_QP_REQ_400] QP/C++ Framework component shall support Time Events.
  • [SRS_QP_REQ_420] QP/C++ Framework component shall provide Time Event initialization.
  • [SRS_QP_REQ_421] QP/C++ Framework component shall allow a Time Event to be armed both for one-shot and periodic expiry.
  • [SRS_QP_REQ_422] QP/C++ Framework component shall allow a Time Event to be explicitly disarmed.
  • [SRS_QP_REQ_423] QP/C++ Framework component shall allow a Time Event to be rearmed.

Forward Traceability (truncated to 2 level(s))

  • [SSM_QP_ASR_514] QP/C++ Application shall use Time Events strictly in accordance with the QP/C++ Time Event lifecycle rules.

Interaction ViewpointState Dynamics Viewpoint