Syntropy Type view Object diagrams/mechanisms Statecharts Logic Value types Glossary

Syntropy - Statecharts

Basic notation

Summary of statechart notation


Essential models

Section headings in the textual parts of states
HeadingPlacementUse
Events:Outermost state onlyList of events of interest to objects of this type
Creation:Outermost state onlyList of creation operations
Variables:Any stateList of statechart variables
Allow:any stateList of events allowed in this state and any enclosed states
Invariants:Any state except outermost stateList of predicates that are true in this state

Syntax for transitions

event (formal param names) [guards] / [post-conditions]
event mandatory
(formal param names) only those mentioned in rest of transition
[guards] optional
/ optional if there are no post-conditions
[post-conds] optional

Syntax for entries in the event list

event (formal param names & types [filters]) [guards] / [post-conditions]
event mandatory
(formal param names) only those mentioned in rest of transition
[filters] optional
[guards] optional
/ optional if there are no post-conditions
[post-conds] optional

Specification models

Type names appearing as titles in specification model statecharts are given a -S suffix.

Section headings in the textual parts of states
All essential model headings also apply
HeadingPlacementUse
Generations:Outermost state onlyList of events (together with their signatures) generated by objects of this type
Entry:Any state except outermost stateList of events to be generated on entry to this state
Exit:Any state except outermost stateList of events to be generated on exit from this state

Syntax for transitions

event (formal param names) [guards] / [post-conditions] generations
event mandatory
(formal param names) only those mentioned in rest of transition
[guards] optional
/ optional if there are no post-conditions
[post-conds] optional
generations optional

Syntax for entries in the event list

event (formal param names & types [filters]) [guards] / [post-conditions] generations
event mandatory
(formal param names) only those mentioned in rest of transition
[filters] optional
[guards] optional
/ optional if there are no post-conditions
[post-conds] optional
generations optional

For guards, filters and pre-conditions:

For post-conditions:

Implementation models

Type names appearing as titles in implementation model statecharts are given a -I suffix.

Section headings in the textual parts of states
HeadingPlacementUse
Updaters:Outermost state onlyList of updater messages for which extra information (such as post-conditions) is specified in the list
Entry:Any state except outermost stateList of messages to be sent on entry to this state
Exit:Any state except outermost stateList of messages to be sent on exit from this state
Creation:Outermost state onlyList of creation operations
Variables:Any stateList of statechart variables
Exceptions:Outermost state onlyList of exceptions raised or handled by objects of this type
Allow:Any stateList of messages allowed in this state and any enclosed states
Invariants:Any state except outermost stateList of predicates that are true in this state

Syntax for transitions

message (formal param names) [guards] / secured msgs [post-conditions] relaxed msgs
message mandatory
(formal param names) only those mentioned in rest of transition
[guards] optional
/ optional if there are no message generations or post-conditions
secured messages optional
[post-conds] optional (must be present but empty if there are relaxed message generations)
relaxed messages optional

Syntax for entries in the updaters list

Messages are not shown in the updaters list unless extra information is being provided.

message (formal param names & types) [guards] / secured msgs [post-conditions] relaxed msgs
message mandatory
(formal param names & types) only those mentioned in rest of transition
[guards] optional
/ optional if there are no message generations or post-conditions
secured messages optional
[post-conds] optional (must be present but empty if there are relaxed message generations)
relaxed messages optional


Comments, corrections to jdaniels@cix.co.uk