By default, SVM timed transitions are repeated timed
transitions. This means a timed transition is fired repeatedly if
. The simulator considers a self-loop as a state change, and
hence it reschedules the timed transition from the same source
state. Repeated timed transitions are equivalent to transitions with
after event in DCharts 1.0 or the after transitions in
David Harel's semantics.
On the contrary, once timed transitions are not rescheduled for
self-loops. They are fired only once even if . (Of course, if
, the transition is always fired once.) The semantics of
once timed transition is different from the special event after
described in DCharts 1.0. They must be explicitly specified with the
[OTT] property.
Consider the two transitions in Table 4.15. The first transition is a once timed transition (with the [OTT] property). When state A is entered from the outside, it is scheduled after 1 second. When it is fired, it increases i by 1. It is not rescheduled. Suppose the original value of i is 0. When the model is stable, the value of i becomes 1. The second transition is a repeated timed transition. It is rescheduled each time after it is fired. As a result, without the guard, i would be increasing forever if no other transition brings the model to a state other than B. However, with the guard i < 10, when the model is stable, the value of i is 10.