In DCharts, is regarded as a special event. It is comparable
to the
(timeout) in David Harel's STATEMATE statecharts. Though
it appears in the event part
of a transition, it is not really an
event but a schedule request. It also has a special syntax
where
is the schedule time (in seconds) as a parameter. For
example, if
is
, the transition with such an
will be
triggered after 10 seconds in real-time (if the model stays in its
state).
The meaning of ``after 10 seconds'' must be clarified. is the
source state of transition
. When the model changes to
or any
substate of
from the outside, transitions from
with
events are collected. Their scheduled times
are
evaluated. The
is usually a constant float number. However, a
specific implementation may allow to use expressions to specify
.
Those expressions are evaluated at run-time. Each of such transitions
will be triggered after the resulting number of seconds, counting from
the moment when the
of all those transitions are evaluated. Of
course, there might be slight difference in the timing of those
transitions. The accuracy is implementation-dependent.
When the model leaves state , the scheduled transitions from
or its substates that have not been triggered yet, are canceled. In particular, if Harel's algorithm for firing a transition
(section 2.3.1) is used, scheduled transitions from
are re-scheduled when a self-loop on
is triggered (because
is the parent of
); if the alternate algorithm
(section 2.3.2) is used, they are not re-scheduled or
canceled (because
is
itself).