Advanced Behavioral Modeling - states only - 1 hr
Advanced Behavioral Modeling - states only - 1 hr
A transition is a response
to an event of interest moving
the object from a state
to a state.
An action is a run-to-completion
behavior. The object will not accept
or process any new events until
the actions associated with the
current event are complete.
State name
Event name Guard Action list
Entry action
Exit action
Internal Transitions
(“Reactions in state”)
State
This “terminal
pseudostate”
identifies that the
state machine no
longer receives and
processes events
(OPTIONAL)
• Let’s see …
doExitStuff();
doTransitionIntoStuff();
doOuterStuffOnEntry();
doMiddleStuffOnEntry();
doInnerEntryStuff();
doInnerExitStuff();
doMiddleStuffOnExit();
• Execute from outermost - in on entry doOuterStuffOnExit();
• Execute from innermost - out on exit doTransitionOutOffStuff();
doEntryStuff();
Each region
must have its
own default
This transition
leaves all
nested and-
states
With And-States
History
Join
Conditional
Fork
Default
Termination Diagram
© Bruce Powel Douglass, 2019 (Final state) (must be a pair)
19
History: Deep and Shallow
e10
e9
e7
e8
e1
e2
e5 e3 e4
Shallow
(only 1
level)
Entry
Connector
Navigate
to Child
Exit
Connector
© Bruce Powel Douglass, 2019 21
Submachines - Child
No Defaults
Conflicting
Transitions
Likely run-to-
completion
violation
Longer timeout
will never fire Overlapping
© Bruce Powel Douglass, 2019 guards 23
Did I mention you can view states in state
tables too?
Composite-states
And-states
Panel
buttons to
send
events
Timing Diagrams:
• Good for showing the change
of value or state over time
Flowcharts:
• Good for single-threaded
Activity diagrams: algorithmic flow especially for
operations
• Good for algorithmic flow and
continuous flows (SysML)
• Uses token flow semantics
© Bruce Powel Douglass, 2019 33
Want to know more?