SinelaboreRT Header Logo

SinelaboreRT

As simple as possible, but not any simpler!

User Tools

Site Tools


wiki:features

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Next revisionBoth sides next revision
wiki:features [2012/10/22 19:58] pmuellerwiki:features [2020/02/23 19:18] pmueller
Line 4: Line 4:
  
  
-{{:wiki:sc.jpg?direct|}}+{{:wiki:sc.jpg?direct|A statechart (or state machine) diagram shows the dynamic behavior of an application}}
  
  
Line 34: Line 34:
 ===== Supported State Chart Elements ===== ===== Supported State Chart Elements =====
 **Hierarchical state definition**: State machines can be hierarchical or flat. A state with sub-states is called a hierarchical state-machine. States can have entry code that is always executed if a state is entered. Exit code is executed whenever the state is left. A state can also have action code. The action code is executed whenever the state is active just before event transitions are evaluated. **Hierarchical state definition**: State machines can be hierarchical or flat. A state with sub-states is called a hierarchical state-machine. States can have entry code that is always executed if a state is entered. Exit code is executed whenever the state is left. A state can also have action code. The action code is executed whenever the state is active just before event transitions are evaluated.
 +
 +** Regions **: Regions allow to model parallel behavior within the same state machine diagram. The benefit of using regions is to explicitly show the this parallel behavior instead of creating different state diagrams.
  
 **Transitions**: There are two types of transitions a) event based ones and b) conditional ones. Event based transitions are triggers coming from the outside of a state-machine. An event based transition has the following syntax:  **Transitions**: There are two types of transitions a) event based ones and b) conditional ones. Event based transitions are triggers coming from the outside of a state-machine. An event based transition has the following syntax: 
Line 46: Line 48:
 **Interactive Test and Simulation**: If the command line flag ''-s'' (for simulation) is used, the code generator turns into interactive mode after parsing the input file. No code is produced then. After parsing the input file you can type in events and check what the state machine’s reaction is. During a simulation step all code that is executed as the reaction to an event is printed out (e.g. the OnEntry code). When using the command line flag ''-S'' the graphical simulation is started. **Interactive Test and Simulation**: If the command line flag ''-s'' (for simulation) is used, the code generator turns into interactive mode after parsing the input file. No code is produced then. After parsing the input file you can type in events and check what the state machine’s reaction is. During a simulation step all code that is executed as the reaction to an event is printed out (e.g. the OnEntry code). When using the command line flag ''-S'' the graphical simulation is started.
  
-{{:builtin_editor.jpg|}}+{{:builtin_editor.jpg|Interactive Test and Simulation is built in}}
  
 **Debugging / Trace Support**: In the *_dbg.h file two helper functions are provided that are useful for debugging state machines. The function *_GetNameByState(id) returns the name of the state the function *_GetNameByEvent(id) returns the name of an event each identified by its id. Trace statements can be automatically added to the machine. This allows to follow the flow of events.  **Debugging / Trace Support**: In the *_dbg.h file two helper functions are provided that are useful for debugging state machines. The function *_GetNameByState(id) returns the name of the state the function *_GetNameByEvent(id) returns the name of an event each identified by its id. Trace statements can be automatically added to the machine. This allows to follow the flow of events. 
wiki/features.txt · Last modified: 2023/03/08 10:14 by webmin

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki