finite state machines. finite state machines (fsms) widely used specification technique used to...
DESCRIPTION
Can I interest you in our new long distance service?TRANSCRIPT
Finite state machines
Finite State Machines(FSMs)
• Widely used specification technique• Used to specify system behavior in
response to events• Both output and next state can be
determined solely on the basis of understanding the current state and the event that caused the transition
• H/W engineers have been using FSM for years
Can I interest you in our new long distance service?
Can I interest you in our new long distance service?
No thanks.
Can I interest you in our new long distance service?
Can I interest you in our new long distance service?
Get Lost!!
Can I interest you in our new long distance service?
Get Lost!!
Same stimulus event
Different response
State Machines• Models how a system responds
differently to events over time
State Machines
• Models how a system responds differently to events over time
button switch
States
ON OFF
States
ON OFF
Press
Press
Finite State Machines• State
– the memory of previous events• Events
– inputs to a system• Actions
– output in some form•mechanical, electrical or software
event
Finite State Machines• State
– the memory of previous events• Events
– inputs to a system• Actions
– output in some form•mechanical, electrical or software
event
Coke Machine• Events
– coin insertion• Actions
– coke delivery– coins returned
• State– the memory of how much money
has been deposited
FSM Diagram
State 1 State 2Event-1
Action-k
FSM
State 1 State 2Event-1
Action-k
Event-1
Not all state transitions have actions associated with them
ScenarioQuarters Only, 75 cents• Customer
– enter quarter• Customer
– enter quarter• Customer
– enter quarter• Coke Machine
– deliver coke
Enumerate Events & Actions
Events:E1: Deposit 25 cents
Actions:A1: Deliver coke
Define States
A B
C
Start State
E1
E1E1/A1
States:A: No moneyB: 25 cents enteredC: 50 cents entered
Events:E1: Deposit 25 cents
Actions:A1: Deliver coke
State Transition TableCurrentState
EventE1
A B
B C
C A/deliver coke
Coke Machine Scenario 2Coin Return
• Customer– enter quarter
• Customer– enter quarter
• Customer– press coin return (CR)
• Coke Machine– return coins
Enumerate Events & Actions
Events:E1: Deposit 25 centsE2: Coin Return (CR)Actions:A1: Deliver cokeA2: Return coins
Define States
A B
C
Start State
E1
E1E1/A1
States:A: No moneyB: 25 cents enteredC: 50 cents entered
Events:E1: Deposit 25 centsE2: Coin Return (CR)Actions:A1: Deliver cokeA2: Return coins
E2/A2
Define States
A B
C
Start State
E1
E1E1/A1
States:A: No moneyB: 25 cents enteredC: 50 cents entered
Events:E1: Deposit 25 centsE2: Coin Return (CR)Actions:A1: Deliver cokeA2: Return coins
E2/A2
E2/A2
Transition Table• State E1 E2• A B• B C A/coin
return• C A/coke A/coin
return
Transition TableTransition Table
State E1 E2 A B B C A/coin return C A/coke A/coin return
No BlanksAllowed !!
Transition Table
• State E1 E2• A B A• B C A/coin return• C A/coke A/coin return
Telephone System FSMLocal 4-digit exchange
Eventsd: digit dialedh: hang up
Actionsc1: connect to caller
Telephone System FSMLocal 4-digit exchange
A B C D Ed d d d/c1
StatesA: startB: 1 digit dialedC: 2 digits dialedD: 3 digits dialedE: call in progress
Eventsd: digit dialedh: hang up
Actionsc1: connect to caller
Telephone System FSMLocal 4-digit exchange
A B C D Ed d d d/c1
h
StatesA: startB: 1 digit dialedC: 2 digits dialedD: 3 digits dialedE: call in progress
Eventsd: digit dialedh: hang up
Actionsc1: connect to caller
Telephone System FSMLocal 4-digit exchange
A B C D Ed d d d/c1
h
StatesA: startB: 1 digit dialedC: 2 digits dialedD: 3 digits dialedE: call in progress
Eventsd: digit dialedh: hang up
Actionsc1: connect to caller
Problems with FSMs• The state explosion problem• Confusing when too many states• Requirements:
– “in all airborne states, when the yellow handle is pulled, the seat will be ejected”•maps event to large collection of states
– “when the selection button is pressed, enter the selected mode”• implies a clustering or grouping of states
Harel’s State Charts• Allows grouping or clustering of states
ab
cb
c
A
C
B
a
b
c
c
A
C
B
D
Clustering into new superstate D - reallyan abstraction. To be in D really means to be ineither A or C
Coke Machine
E
D F10
A
B
5
10C
5
5
10/coke
5/coke5
Coke Machine
A
B E
D F5
10C
5
10 5
10/coke
5/coke5
CR
CR
CR ouch!
No Money
(A)
Money Entered
No Money
(A)
Money Entered
5
10
CR
No Money
(A)
Money Entered
5
10
CR
B
5 10C5