-
Notifications
You must be signed in to change notification settings - Fork 85
[Documentation] Behaviour on internally-raised events described #1569
[Documentation] Behaviour on internally-raised events described #1569
Conversation
Fixes #1565. |
For the syntax of event declaration, see section ""Events"":#events. | ||
|
||
When a reaction raises an event, the subsequent behaviour of the state machine is highly dependent on the execution scheme, selected by either the "@CycleBased":#statechart_language_cyclebased (default) or the "@EventDriven":#statechart_language_eventdriven annotation. In short: | ||
* In the _cycle-based execution scheme_, the raised event will be added to the events that are processed by the current run-to-completion step. However, it will only be visible "downstream" in the run cycle, i.e. active states that have not yet been executed can take the event into account. When the run cycle is completed, the event will cease to exist. It can thus not be processed in any subsequent run-to-completion step. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
"cease to exist" is a bit drastic, maybe "stop to exist", or "not exist anymore"?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is a quite usual term. If you don't agree, you are welcome to attribute it to poetic license.
@@ -916,7 +925,16 @@ p(#fig_region-priorities). | |||
|
|||
p=. Region priorities | |||
|
|||
Not being able to raise an event and process it in "earlier" regions is a restriction you can overcome using variables. The idea is to set a "communication variable" to a certain value in a region that is processed "later". During the next RTC the earlier region could act on the variables value. | |||
Not being able to raise an event and process it in "earlier" regions is a restriction you can overcome using variables. The idea is to set a "communication variable" to a certain value in a region that is processed "later". During the next RTC the earlier region could act on the variables value. Another option – and in many cases the better on, is to change to the event-driven execution scheme. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have the feeling I've read this section three times now. Wouldn't it be more useful to use links and only explain it only once? At the very least, all repetitions have to be maintained.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I beg to differ. This is the only occurrence of this paragraph in the whole user guide.
[Documentation] Differentiate Standard and Professional Editions Comp-Documentation