Title: PowerPoint-presentatie
1A 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)
2A 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 ?
3A 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, say, as a
plug-in in Photoshop, or - warn when one of the pens is about to run out, or
- train users to handle a 4-color ballpoint, or
- specification of a Photoshop plugin
4A 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 penlevel
099,inOut in,out myPen.use is true if
there is a pen p with p.levelgt0 and p.inOutout
Is my 4CP ready for writing ?
Is this pen in or out?
What is the ink level in this pen (in
percentile, so level0 means ink between 0.00
and 0.01 of maximum)?
5A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
5
Describe processes statecharts intuition
describe a process by relating states (freezes
or snapshots) of the system
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
6A 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
7A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
7
- 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
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
8A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
8
- 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 collection of behaviors of a system
- Examples from real life
- parking garage 1080 states
- after some approximations 3.3 x 106 states
9A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
9
- 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 collection of behaviors of a system
- With n quantities, each assuming mi values, nr
states ?i1 n mi - Number of behaviors with p steps ?j1 p
?i1 n mi - State and process explosion
10A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
10
For the 4-color ballpoint, myPenfourCPen four
CPen red pen,green pen, blue pen,black
pen, use TRUE,FALSE pen level099,
inOut in,out the state space contains 100 x
100 x 100 x 100 x 2 x 2 x 2 x 2 1600000000
states Is this really necessary ??
red.level
green.level
blue.level
black.level
red.inOut
green.inOut
blue.inOut
black.inOut
11A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
11
Let us look at individual properties use is
relevant level is not relevant (not
visible) inOut is relevant depends on purpose
12A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
12
Let us look at individual properties use is
relevant level is not relevant (not
visible) inOut is relevant depends on
purpose make use an exposed quantity make level a
hidden quantity make inOut exposed if color of a
pen matters otherwise hidden use is true if a
pen p with p.levelgt0 has p.inOutout
13A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
13
- Partial remedy to decrease amount of states
distinguish exposed and hidden quantities or
values, and focus on the exposed ones - Exposed quantities or values externally visible
or accessible - Hidden quantities or values internal behaviour,
may help explaining seemingly uncausal exposed
behavior
14A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
14
- Partial remedy to decrease amount of states
distinguish exposed and hidden quantities or
values, and focus on the exposed ones - Which quantities need exposure depends on
purpose of the model - Which quantities may be hidden as much as
possible to simplify model
15A Core Course on Modeling
Week 3- Time for Change
Assume that initially there is one pen out
? ? ? ? ? Introduction to Processes ? ? ? ? ?
15
- Example 4-color pen
- The simplest process description contains merely
two states, only involving the most crucial
exposed quantity use
myPen.useTRUE
myPen.useFALSE
16A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
16
- Example 4-color pen
- The 2-state model is presumably too naive
- does not take into account that a pen must be out
to write - does not take into account that only one pen can
be out at a time - does not take into account that ink only
decreases if a pen is out - need to denote a process without having to resort
to full state space
17A Core Course on Modeling
state red pen is out no ink left in red pen
state red pen is out levelgt0 in red pen
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
17
Denote state and state transitions statechart
red.inOutout red.levelgt0
red.inOutout red.level0
black.inOutout black.level0
green.inOutout green.levelgt0
red pen, running out of ink only possible when
out
red.inOutin green.inOutin blue.inOutin black.in
Outin
clicking red pen, levelgt0, in and out
clicking red pen, with no ink, in and out
green.inOutout green.level0
black.inOutout black.levelgt0
state all pens are in (say nothing about ink
levels)
blue.inOutout blue.levelgt0
blue.inOutout blue.level0
18A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
18
Denote state and state transitions statechart
- This model behaves like a true 4-color ballpoint
- shows how eventually, every pen.level will become
0 - shows how in the useFALSE state, we can only
click empty pens in and out - never more than 1 pen is out.
- of the 16000000 states, we projected out only 9
relevant ones
Using projection, we reduced multiple states
with irrelevant differences to only one state
red.inOutout red.levelgt0
red.inOutout red.level0
black.inOutout black.level0
green.inOutout green.levelgt0
red.inOutin green.inOutin blue.inOutin black.in
Outin
green.inOutout green.level0
black.inOutout black.levelgt0
blue.inOutout blue.levelgt0
blue.inOutout blue.level0
19A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
19
Projection one conceptual model ? different
statecharts, depending on the choice for exposed
quantities
red.inOutout
black.inOut out
red.inOutin green.inOutin blue.inOutin black.in
Outin
Purpose just clicking behavior is
interesting Only exposed quantities are the
inOut properties
green.inOutout
blue.inOutout
20A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
20
Projection one conceptual model ? different
statecharts, depending on the choice for exposed
quantities
None of the simplified statecharts shows
relations between level and inOut Carefully
select exposed quantities. Balance simplicity ??
expressive power (given the purpose) Advanced
hierarchical states, conditional transitions,
orthogonal regions (see lecture series process
modeling)
red.level0
red.levelgt0
green.level0
green.levelgt0
Purpose warn user when pen runs out Only exposed
quantities are the level properties
blue.levelgt0
blue.level0
black.levelgt0
black.level0
21A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Introduction to Processes ? ? ? ? ?
21
- Now we have a state chart model. So what?
- predict see when/if a particular state occurs
(or a state with a certain property), or examine
the properties of a given (future) state - specify give desired properties of some final
state - verify check that a certain state cannot occur
- analyse if there no are deadlocks (dead end
routes) - analyse if states that should be reached can be
reached - analyse if states that should be reached in some
order are reached in that order - analyse if occurring transitions are permitted
(while monitoring a system)
22A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
22
- Flavours of time
- Transitions happen instantaneous (take no time)
- States may last
- States and Transitions alternate
23A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
23
- Flavours of time
- partial order
- for zero or more pairs of transitions T1, T2,
you can specify or verify earlier(T1,T2) or
later(T1,T2) - application specification or verification
e.g., manufacturing, control, parallel
calculations, - total order
- for all pairs of transitions T1, T2, you can
determine earlier (T1,T2) or later(T1,T2) - application prediction or documentation
(logging) e.g., physics, material engineering,
24A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
24
- Flavours of time
- example of partial order
- specify coin operated vending machine
- ealier(insertCoin,giveProduct)
- earlier(makeChoice,giveProduct)
- earlier(insertCoin,giveChange)
- earlier(makeChoice,giveChange)
- earlier(giveProduct,giveChange) ?
- earlier(giveChange,giveProduct) ?
these transitions are not ordered ? no total order
25A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
25
- Flavours of time (applications)
- partial order
- specification or verification see earlier
sheets - total order
- time table problems, scheduling, games,
protocols, - total order equal intervals
- compound interest, clocks with counting mechanism
(pendulum, tuning fork and electronic clocks) - total order infinitesimal intervals
- lumped physical quantities (not fundamental
physics!) -
26A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
26
Causality forbids that something depends on its
future. Any quantitys value in the current state
can only depend on the previous
state(s) QcurrF(Qprev,Pprev) Since dependency
works from previous to current, Qprev and
Pprev have no dependence on Qcurr. So we wont
have QcurrF(Qcurr,) If we stick to these rules,
we can straightforwardly evaluate F for each of
the quantities Q, and the order of evaluation
doesnt matter.
Various forms of perpetuum mobiles assume some
circular causality.
27A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
27
Causality forbids that something depends on its
future. Any quantitys value in the current state
can only depend on the previous
state(s) QcurrF(Qprev,Pprev) Since dependency
works from previous to current, Qprev and
Pprev have no dependence on Qcurr. So we wont
have QcurrF(Qcurr,) F is called a recursive
function it calculates Q taking an earlier value
of Q as argument.
HELP!!! I dont see an F
Various forms of perpetuum mobiles assume some
circular causality.
so lets look at some examples
28A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
28
- Arbitrary intervals consider a leisure sports
event - a 20 km march route
- 15 control posts, to be visited in right order
(no shortcuts! ? total order, no partial
order!!!) - every post features a box full of bananas
- a list of efforts (kCal) between subsequent
posts (uphill, downhill, rough road, ), Ei - question at which posts should you pick
banana(s) (each containing B kCal)?
29A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
29
Arbitrary intervals consider a leisure sports
event Qiamount of kCal in stomach at post i, i
gt 0 Q0amount of kCal in stomach at
start Qi1Qi-Ei if you dont eat Qi1Qi-EiniB
if you eat n bananas at post i What is ni?
Answer ni should be such that Qi1gt0, and as
small as possible (weight!) Qi1Qi-EiniB
Qi-EiniBgt0, so niBgtEi-Qi nimax(0,?(Ei-Qi)/B?),
so Qi1Qi-EiBmax(0,?(Ei-Qi)/B?) or
Qi1F(Qi,Pi)
max(0,) you cant eat a negative amount of
bananas
?? rounding up you dont want to eat a
fraction of a banana
30A Core Course on Modeling
Week 3- Time for Change
and now with damping
? ? ? ? ? Time and State Transitions? ? ? ? ?
30
t ? i? K(t) ? Ki u(t) ? ui u(t) ?
(u(t?)-u(t))/? (ui1-ui)/? v(t)
?(v(t?)-v(t))/? (vi1-vi)/? So ui1 ui?vi
vi1 vi?ai vi?Ki/m
vi? C(urest-ui) /m
Equal intervals a mass-spring system. From
physics, we know Kma where KC(urest-u)
and au. Write vu, then av. Here, KK(t),
uu(t). Let us approximate by sampling. For ? ?0
Remember order of evaluation F1, F2 is irrelevant
-?v
So again QcurrF(Qprev,Pprev) ucurrF1(uprev,vpre
v)uprev?vprev vcurrF2(vprev,uprev)
vprev? C(urest-uprev) /m, with
suitable u0 and v0
u(t?) u(i??) u((i1)?)
ui1, and similar for v
( -?vprev)
( -?vi)
31A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
31
WARNING ? ? 0 is not the same as ?small. The
substitutions for u(t) and v(t) are
approximations only. As we saw in the previous
sampling example, aliasing errors are worse when
the sampled signal changes rapidly, compared to
the sampling rate. Concrete unless ? is much
smaller than the period of the oscillation
(?m/C), the approximations are bad with the
risk of instability.
t ? i? K(t) ? Ki u(t) ? ui u(t) ?
(u(t?)-u(t))/? (ui1-ui)/? v(t)
?(v(t?)-v(t))/? (vi1-vi)/? So ui1 ui?vi
vi1 vi?ai vi?Fi/m
vi? C(urest-ui) /m
Equal intervals a mass-spring system. From
physics, we know Kma where KC(urest-u)
and au. Write vu, then av. Here, KK(t),
uu(t). Let us approximate by sampling. For ? ?0
-?v
So again QcurrF(Qprev,Pprev) ucurrF1(uprev,vpre
v)uprev?vprev vcurrF2(vprev,uprev)
vprev? C(urest-uprev) /m, with
suitable u0 and v0.
( -?vprev)
( -?vi)
32A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
32
Infinitesimal intervals the mass-spring system
revisited. From physics, we know Kma where
KC(urest-u) and au. Sometimes, the numerical
solution (sampling) is not acceptable given the
purpose Interested in outcome? ? use better
numerical methods Interested in insight? ? try to
use symbolic methods, i.e. analysing
differential equations Only possible in very few
special cases In particular linear (sets of)
DEs.
33A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
33
With damping try uurestAe?t, then C??m?20,
or ?1,2(- ???(?2-4mC))/2m Let ?0?(4mC). For ?
?0? critical damping for ? lt ?0? oscillations
TT0/?(1- (? /?0)2) for ? gt ?0? super critical
damping (further details lectures dynamical
systems)
Infinitesimal intervals the mass-spring system
revisited. From physics, we know Kma where
KC(urest-u) and au. Here, KK(t), uu(t).
Let us try a solution of the form uurestA
sin(t/T) u -AT-2sin(t/T) Substitute
back -mAT-2sin(t/T)C(urest-urest-Asin(t/T), mT-2
C, or T ?m/C ( T0)
34A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Summary ? ? ? ? ?
34
From purpose, propose clever exposed and hidden
variables From purpose, determine what
time-concept you need partial order or total
order If total order unknown or known intervals?
What determines (sampling) intervals? If emphasis
on verification or specification consider
statecharts and process models If emphasis on
simulation or prediction use QcurrF(Qprev,Pprev)
interested in outcomes? ? use simplest
possible numerical techniques, be aware for
accuracy (perhaps decrease ? ? performance
!!) interested in insight? ? try symbolic
methods
35If ? is (close to) 0, we get the original
samples if ? is closer to 1, Qi1 is more
similar to Qi, so no fast changes in Q higher
frequencies are reduced low-pass filtering
A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
35
Equal intervals playing a CD. Sound on a CD is
represented as a series of 44100 samples/sec of
the amplitude. Playing the sound take a sample
Pi Do a calculation to process the sound (e.g.,
Qi1?Qi(1-?)Pi) Next, output Qi1 to the
speaker. So again Qi1F(Qi,Pi)
36A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Time and State Transitions? ? ? ? ?
36
Equal intervals playing a CD. Sound on a CD is
represented as a series of 44100 samples/sec of
the amplitude. Playing the sound take a sample
Pi Do a calculation to process the sound (e.g.,
Qi1?Qi(1-?)Pi) Next, output Qi1 to the
speaker. So again Qi1F(Qi,Pi)
A remedy to aliasing, is to apply a low-pass
filter on the input signal. This is also a
dynamic system of the form QcurrF(Qprev,Pprev)
(details fall beyond the scope of this lecture)
The reconstructed sound will contain a pitch that
was not present initially!! (sampling ? aliasing)
37A Core Course on Modeling
Week 3- Time for Change
? ? ? ? ? Summary ? ? ? ? ?
37
- State snapshot of a conceptual model at some
time point - State space collection of all states
- Change transitions between 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 exposed
and hidden properties 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 recursive function Qi1 F(Qi , Qi-1 ,
Qi-2, . , Pi , Pi-1 , Pi-2 , ) to evaluate or
unroll a behavior - equal intervals closed form evaluation
(e.g., periodic financial transactions
sampling) - equal, small intervals approximation,
sampling error (examples moving point mass, ) - infinitesimal intervals continuous time,
differential equations (examples mass-spring
system)