460 likes | 584 Vues
In Week 3 of our core modeling course, we explore the intricacies of time as it relates to system processes. We discuss how to accurately model systems that change over time to predict their behavior effectively. Key topics include state and state charts, applying these concepts to real-world examples like a virtual 4-color ballpoint pen, and differentiating between partially and totally ordered time. Through various examples, including a parking garage system, students will learn to optimize state representations by managing exposed and hidden properties for improved modeling efficiency.
E N D
A Core Course on Modeling Week 3- Time for Change Contents • Change needs Time • Introduction to Processes • States and State Charts • Applying State Charts • Time and State Transitions • Partially Ordered Time • Totally Ordered Time • Totally Ordered Time; Equal Intervals • Totally Ordered Time; Infinitesimal Intervals • Summary • References to lecture notes + book • References to quiz-questions and homework assignments (lecture notes)
A Core Course on Modeling Week 3- Time for Change Contents 2 Question: • how to model systems … • … that vary over time … • … such that their behavior • can be predicted, • can be specified, • can be verified, • can be … ?
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 3 Running example: 4-color ballpoint pen Purpose: the model should … • simulate a virtual 4-color ballpoint, or • warn when one of the pens is about to run out, or • train users to handle a 4-color ballpoint, or • specificatin of a Photoshop plugin
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 4 Running example: 4-color ballpoint pen Step 1: conceptual model with properties: myPen: fourCPen; fourCPen: [red: pen, green: pen, blue: pen, black: pen, use: {TRUE,FALSE}]; pen:[level: {0…99}%,inOut: {in,out}] myPen.use is true if there is a pen p with p.level>0 and p.inOut=out
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 5 Describe processes: statecharts Process = series of states All four pens are in and contain some ink Red pen is out; other three pens are in; red pen contains some ink Red pen is out; other three pens are in; red pen contains less ink write with red pen red pen goes out
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 6 • State = all properties in the conceptual model with their values • State space = the collection of all states • A behavior = a route through statespace • A process = the collection of behaviors of a system
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 7 Green pen is out; other three pens are in; red pen contains some ink Red pen is out; other three pens are in; red pen contains some ink Green pen is out; other three pens are in; green pen contains some ink All four pens are in and contains some ink Blue pen is out; other three pens are in; blue pen contains some ink Red pen is out; other three pens are in; red pen contains less ink All four pens are in and contain some ink Red pen is out; other three pens are in; red pen contains some ink All four pens are in and contain some ink Red pen is out; other three pens are in; red pen contains no ink
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 8 A real-life example: controlling a parking garage
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 9 • With n quantities, each mi values, nr states = i=1 … n mi • Number of behaviors with p steps = j=1 … p i=1 … n mi • State and process explosion
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 10 For the 4-color ballpoint, myPen:fourCPen; fourCPen: [red: pen,green: pen, blue: pen,black: pen, use: {TRUE,FALSE}]; pen: [level:{0…99}%, inOut: {in,out}] the state space contains 100 x 100 x 100 x 100 x 2 x 2 x 2 x 2 = 1600000000 states Parking garage: 1080 states (including folded cars!)
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 11 Idea: hiding and exposing quantities or values
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 12 Individualproperties: use is visible level is notvisible inOut … dependsonpurpose make use an exposed quantity make level a hidden quantity make inOutexposed if color of a pen matters; otherwise hidden
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 13 • Decrease amount of states: • distinguish exposed and hidden quantities or values • focus on the exposed ones
writing A Core Course on Modeling Week 3- Time for Change Introduction to Processes 14 Example: 4-color pen Simples process description: just two states myPen.use=TRUE myPen.use=FALSE
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 15 Example: 4-color pen The 2-state model is too naive: • pen must be out to write • only one pen out at a time • ink only decreases if a pen is out
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 16 Denote state and state transitions: statechart red.inOut=out red.level>0 red.inOut=out red.level=0 black.inOut=out black.level=0 green.inOut=out green.level>0 red.inOut=in green.inOut=in blue.inOut=in black.inOut=in green.inOut=out green.level=0 black.inOut=out black.level>0 blue.inOut=out blue.level>0 blue.inOut=out blue.level=0
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 17 Denote state and state transitions: statechart red.inOut=out black.inOut= out red.inOut=in green.inOut=in blue.inOut=in black.inOut=in green.inOut=out blue.inOut=out
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 18 Denote state and state transitions: statechart red.level=0 red.level>0 green.level=0 green.level>0 blue.level>0 blue.level=0 black.level>0 black.level=0
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 19 Now we have a state chart model. So what? garage model was reduced to 3.3 x 106states … and couldbeanalysedby computer
A Core Course on Modeling Week 3- Time for Change Introduction to Processes 20 Now we have a state chart model. So what? • predict: how will process run? • specify: desired state, process • verify: undesired state won’t occur • analyse: no deadlocks? • analyse: reachability • analyse: correct order? • analyse: only permitted transitions?
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 21 Let’s start talking about time.
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 22 state S0 transition T1 state S1 transition T2 state S2 transition T3 state S3
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 23 Flavours of time partial order for 0 pairs of T1, T2, earlier(T1,T2) or later(T1,T2) total order for all pairs of T1, T2, earlier (T1,T2) or later(T1,T2)
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 24 Flavours of time specify coin operated vending machine: ealier(insertCoin,giveProduct) earlier(makeChoice,giveProduct) earlier(insertCoin,giveChange) earlier(makeChoice,giveChange) earlier(giveProduct,giveChange) ? earlier(giveChange,giveProduct) ?
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 25 Flavours of time (applications) partial order
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 26 Flavours of time (applications) total order for all pairs of T1, T2, earlier (T1,T2) or later(T1,T2)
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 27 Flavours of time (applications) total order + equal intervals
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 28 Flavours of time (applications) total order + infinitesimal intervals
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 29 Causality: Qcurr=F(Qprev,Pprev) Forbidden: Qcurr=F(Qcurr,…)
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 30 Causality: Qcurr=F(Qprev,Pprev) Forbidden: Qcurr=F(Qcurr,…) F is a recursive function
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 31 Arbitrary intervals a 20 km march route; 15 control posts; every post: a box of bananas; a list of ‘efforts’ (kCal) between posts, {Ei}. At which posts should you pick banana(s)?
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 32 Arbitrary intervals Qi=amount of kCal in stomach at post i, i > 0 Q0=amount of kCal in stomach at start. Qi+1 = Qi - Ei (don’t eat); Qi+1 = Qi – Ei + niB (eat n bananas at post i); ni such that i, Qi+1 > 0, and as small as possible. Qi+1 = Qi – Ei + niB; Qi – Ei + niB > 0, so niB > Ei - Qi; ni = max(0,(Ei - Qi) / B), so Qi+1 = Qi – Ei + B * max(0,(Ei - Qi) / B) or: Qi+1 = F(Qi,Pi)
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 33 Equal intervals a mass-spring system.
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 34 Equal intervals a mass-spring system. K = ma K = C(urest-u) a = v’ v = u’ t = i
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 35 Equal intervals a mass-spring system. K = ma K(t) Ki K = C(urest-u) a(t) (v(t+)-v(t))/ = (vi+1 - vi) / a = v’ v(t) (u(t+ )-u(t))/ = (ui+1 - ui) / v = u’ t = i
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 36 Equal intervals a mass-spring system. K = ma K(t) Ki K = C(urest-u) a(t) (v(t+)-v(t))/ = (vi+1 - vi) / a = v’ v(t) (u(t+ )-u(t))/ = (ui+1 - ui) / v = u’ ui+1 = ui + vi t = i vi+1 = vi + ai = vi + K/m = vi + C(urest-ui) /m
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 37 Equal intervals a mass-spring system. K = ma K(t) Ki K = C(urest-u) a(t) (v(t+)-v(t))/ = (vi+1 - vi) / a = v’ v(t) (u(t+ )-u(t))/ = (ui+1 - ui) / v = u’ ui+1 = ui + vi t = i vi+1 = vi + ai = vi + K/m = vi + C(urest-ui) /m So Qcurr = F(Qprev, Pprev): ucurr = F1(uprev,vprev) = uprev+vprev vcurr = F2(vprev,uprev) = vprev+ C(urest-uprev) /m, with given u0 and v0
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 38 Equal intervals a mass-spring system with damping. K = ma K(t) Ki K = C(urest-u) - v a(t) (v(t+)-v(t))/ = (vi+1 - vi) / a = v’ v(t) (u(t+ )-u(t))/ = (ui+1 - ui) / v = u’ ui+1 = ui + vi t = i vi+1 = vi + ai = vi + K/m = vi + (C(urest-ui) - vi ) /m So Qcurr = F(Qprev, Pprev): ucurr = F1(uprev,vprev) = uprev+vprev vcurr = F2(vprev,uprev) = vprev+(C(urest-uprev)-vprev )/m, with given u0 and v0
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 39 Equal intervals a mass-spring system with damping. 39
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 40 Infinitesimal intervals a mass-spring system with damping.
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 41 Infinitesimal intervals a mass-spring system with damping. K = K(t), u = u(t), K = C(urest-u) - v. First try for = 0: u = urest+A sin(t/T) u’’ = -T-2Asin(t/T) Substitute back: -mT-2Asin(t/T) = C(urest-urest-Asin(t/T), mT-2 = C, or T = m/C ( =:T0)
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 42 Infinitesimal intervals a mass-spring system with damping. K = K(t), u = u(t), K = C(urest-u) - v. Next try for 0: u = urest + A et C(urest-u) - u’ = mu’’ and use u’ = Aet; u’’ = A2et. C(urest-urest-Aet) - Aet = mA2et .Must hold for any t, so C + + m2 = 0, hence 1,2 = (- (2-4mC))/2m Let 0 = (4mC). For = 0 critical damping; for < 0 oscillations; T=T0 /(1- (/0)2) for > 0 super critical damping
A Core Course on Modeling Week 3- Time for Change Summary 43 Purpose exposed and hidden variables Purpose partial order or total order ? If total order: unknown or known intervals? What determines (sampling) intervals? If verification or specification: consider statecharts and process models If simulation or prediction: use Qcurr=F(Qprev,Pprev) interested in outcomes? use simplest possible numerical techniques, small :accuracy large :performance interested in insight? try symbolic methods
A Core Course on Modeling Week 3- Time for Change Time and State Transitions 44 Equal intervals Playing a CD: a series of 44100 samples/sec. Playing the sound: take a sample Pi Process the sound (e.g., Qi+1=Qi+(1-)Pi) Output Qi+1 to the speaker Qi+1 = F(Qi,Pi)
the reconstructed signal samples taken every 1/44100 sec original sound A Core Course on Modeling Week 3- Time for Change Time and State Transitions 45 Equal intervals Playing a CD: a series of 44100 samples/sec.
A Core Course on Modeling Week 3- Time for Change Summary 46 • State= snapshot of a conceptual model at some time point; • State space= collection of all states; • Change = transitionsbetween states; state chart= graph; nodes (states) and arrows (transitions); • Behavior= path through state space; • State space explosion: number of states is huge for non trivial cases • Projection: given a purpose, distinguish exposedand hiddenproperties or value sets; • Multiple flavors of time: • partially ordered time, e.g. specification and verification; • totally ordered time, e.g. prediction, steering and control; • A recursivefunction Qi+1 = F(Qi , Qi-1 , Qi-2, …. , Pi , Pi-1 , Pi-2 , …) to evaluate or unrolla behavior; • equal intervals: closed form evaluation (e.g.,: periodic financial transactions; sampling); • equal, small intervals: approximation, sampling error (examples: moving point mass, … ); • infinitesimal intervals: continuoustime, differential equations (examples: mass-spring system);