@startuml !include card-uml-style.iuml scale 900 width left to right direction class "01 PeriodicContext" as Periodic <> { handle · created_handle phase initial_tick release_tick[3] entry_sp · stack range } class "02 SuspendContext" as Suspend <> { handle · created_handle phase resumed entry_sp } class "03 ObserverContext" as Observer <> { handle periodic_state : eTaskState suspend_state : eTaskState pass } class "04 periodic timeline" as Timeline <> { t0 t0 + 2 t0 + 4 t0 + 6 } Periodic --> Timeline : vTaskDelayUntil Observer --> Periodic : eTaskGetState Observer --> Suspend : eTaskGetState · vTaskResume Observer --> Timeline : verifies exact deltas @enduml