Update state machine diagram authored by Christian Zirkelbach's avatar Christian Zirkelbach
...@@ -36,9 +36,9 @@ There are different types of events for a *trigger*: ...@@ -36,9 +36,9 @@ There are different types of events for a *trigger*:
- *Call Events* are used "for messages requesting that a specific operation is called", e.g., "work" or "pause". - *Call Events* are used "for messages requesting that a specific operation is called", e.g., "work" or "pause".
- *Signal Events* are used to show that a transition is triggered due to a receiving signal, e.g., "lecture started". - *Signal Events* are used to show that a transition is triggered due to a receiving signal, e.g., "lecture started".
- *Change Events* are always denoted by "when" followed by a boolean expression. - *Change Events* are always denoted by "when" followed by a boolean expression.
They are used to trigger a transition, if an attribute in the current state changed it's value, e.g., "when money < 0". They are used to trigger a transition, if an attribute in the current state changed it's value, e.g., "when (money < 0)".
- *Time Events* are denoted with "after" followed by a time expression, e.g., "after 10 seconds" or "after lunch". - *Time Events* are denoted with "after" followed by a time expression, e.g., "after (10 seconds)" or "after (lunch)".
Alternatively, *time events* may also express precise instances of time, e.g., "at Feb. 02, 2018". Alternatively, *time events* may also express precise instances of time, e.g., "at (Feb. 02, 2018)".
- *Any Receive Events* are always denoted by a simple "all" and are used as fallback or else clause (transition). - *Any Receive Events* are always denoted by a simple "all" and are used as fallback or else clause (transition).
- *Composite states* are also denoted as rectangles with rounded corners and a name. - *Composite states* are also denoted as rectangles with rounded corners and a name.
... ...
......