wiki:news:27okt2012
Differences
This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionLast revisionBoth sides next revision | ||
wiki:news:27okt2012 [2012/11/19 19:23] – [Points to consider with regions] pmueller | wiki:news:27okt2012 [2013/08/12 15:11] – [How regions are implemented] pmueller | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== | + | ====== |
In state diagrams usually only one state is active at a time. In UML state diagrams regions also allow to model concurrency - i.e. more than one state is active at a time (AND states). | In state diagrams usually only one state is active at a time. In UML state diagrams regions also allow to model concurrency - i.e. more than one state is active at a time (AND states). | ||
Line 48: | Line 48: | ||
* For each region an own function is generated. Its name is automatically derived from the region name. | * For each region an own function is generated. Its name is automatically derived from the region name. | ||
* If a state contains several regions they are called one after the other (in alphabetical order). If the event sent to the state machine was processed in one of the regions no further event handling happens. Otherwise the event is processed in the parent state. This is similar to the event handling of normal hierarchical state machines. | * If a state contains several regions they are called one after the other (in alphabetical order). If the event sent to the state machine was processed in one of the regions no further event handling happens. Otherwise the event is processed in the parent state. This is similar to the event handling of normal hierarchical state machines. | ||
- | * To maintain consistency during execution of machine code a copy of the instance data is created at the beginning of the state machine code. All tests are performed on the original instance data. All changes are done on the copy. This ensures that all regions " | + | * To maintain consistency during execution of machine code a copy of the instance data is created at the beginning of the state machine code. All tests are performed on the original instance data. All changes are done on the copy. This ensures that all regions " |
Line 151: | Line 151: | ||
** Regions must work on the same instance data ** | ** Regions must work on the same instance data ** | ||
- | State diagrams follow the // | + | State diagrams follow the // |
+ | |||
+ | * If the event '' | ||
+ | * But there is no state change in region '' | ||
+ | * This behavior ensures that the result of a machine execution step is 100% predictable and e.g. not dependent | ||
+ | * But on the other side it means that a second run of the machine is required to reach state '' | ||
{{ : | {{ : |
wiki/news/27okt2012.txt · Last modified: 2022/08/17 19:47 by pmueller