Department of Computer Science University of Toronto Lecture 13 Modelling State What is State statespace for an object concrete vs abstract states Finite State Machines states and transitions events and actions Modularized State machine models Statecharts superstates and substates Guidelines for drawing statecharts 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 1 Department of Computer Science University of Toronto Getting objects to behave All objects have state The object either exists or it doesn t If it exists then it has a value for each of its attributes Each possible assignment of values to attributes is a state and non existence of the object is also a state E g For a stack object Push new empty Push 1 item Pop Top Push 2 items Pop Top Push 3 items Pop Top 4 items Pop Top 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 2 Department of Computer Science University of Toronto What does the model mean Finite State Machines There are a finite number of states all attributes have finite ranges E g imagine a stack with max length 3 Push new empty Push 1 item Pop Top Push 2 items Pop Top 3 items Pop Top The model specifies a set of traces E g new Push Push Top Pop Push E g new Push Pop Push Pop There may be an infinite number of traces and traces may be of infinite length The model excludes some behaviours E g no trace can start with a Pop E g no trace may have more Pops than Pushes E g no trace may have more than 3 Pushes without a Pop in between 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 3 Department of Computer Science University of Toronto Abstraction The state space of most objects is enormous State space size is the product of the range of each attribute 5 E g object with five boolean attributes 2 1 states E g object with five integer attributes maxint 5 1 states E g object with five real valued attributes If we ignore computer representation limits the state space is infinite Only part of that state space is interesting Some states are not reachable Integer and real values usually only vary within some relevant range Often we re only interested in certain thresholds E g for Age we may be interested in age 18 18 age 65 and age 65 E g for Cost we may want to distinguish cost budget cost 0 cost budget and cost budget 10 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 4 Department of Computer Science University of Toronto Collapsing the state space Push new empty Push 1 item Pop Top Push 2 items Pop Top 3 items Pop Push new empty Push Top 4 items Pop Top Push not empty Pop sc 1 Top Pop sc 1 The abstraction usually permits more traces E g this model does not prevent traces with more pops than pushes But it still says something useful 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 5 University of Toronto Department of Computer Science What are we modelling Application Domain D domain properties R requirements Machine Domain C computers P programs D Observed states of an application domain entity E g a phone can be idle ringing connected Model shows the states an entity can be in and how events can change its state This is an indicative model R Required behaviour of an application domain entity E g a telephone switch shall connect the phones only when the callee accepts the call Model distinguishes between traces that are desired and those that are not This is an optative model S Specified behaviour of a machine domain entity E g when the user presses the connect button the incoming call shall be connected Model specifies how the machine should respond to input events This is an optative model in which all events are shared phenomena 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 6 Department of Computer Science University of Toronto Is this model indicative or optative on hook busy Dial callee busy idle off hook Callee disconnects dial tone Dial callee idle ringing Callee accepts connected on hook on hook on hook 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 7 University of Toronto the world vs the machine person age havebirthday Department of Computer Science person dateOfBirth dateOfDeath recordBirth setDOB recordDeath setDateofDeath blank recordBirth setDOB havebirthday age 18 child havebirthday age 18 havebirthday age 65 adult havebirthday age 65 havebirthday senior child when thisyear birthyear 18 adult when thisyear birthyear 65 senior recordDeath setDateofDeath deceased 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 8 Department of Computer Science University of Toronto StateCharts Notation States interesting configurations of the values of an object s attributes may include a specification of action to be taken on entry or exit States may be nested States may be on or off at any given moment Transitions Are enabled when the state is on disabled otherwise Every transition has an event that acts as a trigger A transition may also have a condition or guard A transitions may also cause some action to be taken When a transition is enabled it can fire if the trigger event occurs and it guard is true Syntax event guard action Events occurrence of stimuli that can trigger an object to change its state determine when transitions can fire 2004 5 Steve Easterbrook This presentation is available free for non commercial use with attribution under a creative commons license 9 Department of Computer Science University of Toronto Superstates States can be nested to make diagrams simpler A superstate contains one or more substates Superstates make it possible to view a state diagram at different levels of abstraction OR superstates when the superstate is on only one of its substates is on employed probationary AND superstates concurrent substates When the superstate is on all of its states are also on Usually the AND substates will be nested further as OR superstates employed on payroll after 6
View Full Document
Unlocking...