QP/C++ Real-Time Event Framework 8.1.5
Loading...
Searching...
No Matches
Time Viewpoint

Interaction ViewpointState Dynamics Viewpoint

Design Viewpoint


DES_QP_TIME_VP

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


DES_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

  • REQ_QP_TM_00: QP/C++ Framework component shall support Time Events.
  • REQ_QP_TM_20: QP/C++ Framework component shall provide Time Event initialization.
  • REQ_QP_TM_21: QP/C++ Framework component shall allow a Time Event to be armed both for one-shot and periodic expiry.
  • REQ_QP_TM_22: QP/C++ Framework component shall allow a Time Event to be explicitly disarmed.
  • REQ_QP_TM_23: QP/C++ Framework component shall allow a Time Event to be rearmed.

Forward Traceability (truncated to 2 level(s))

  • ASR_QA_TM_11: QP/C++ Application shall use Time Events strictly in accordance with the QP/C++ Time Event lifecycle rules.


Interaction ViewpointState Dynamics Viewpoint