week 6fall 2001 cs5991 the statemate semantics of statecharts d. harel and a. naamand ahmad alsawi...
TRANSCRIPT
![Page 1: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/1.jpg)
Week 6 Fall 2001 CS599 1
The STATEMATE Semantics of Statecharts
D. Harel and A. Naamand
Ahmad Alsawi 1-4
Bob Chen 5-8
Dapeng Xie 9-11
![Page 2: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/2.jpg)
Week 6 Fall 2001 CS599 2
Introduction to STATEMATE
• STATEMATE is a system
• Statechart is a language (executable semantics)
• Initial version 10 years ago
• Simulation, dynamic tests, and code generation tools of STATEMATE since ‘87
![Page 3: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/3.jpg)
Week 6 Fall 2001 CS599 3
STATEMATE Design Objectives
• Intended for “real engineers in real systems”
• Support different styles of modeling• Simple• Intuitive• Straightforward
– To enable fast simulation of models– To generate s/w and h/w codes
![Page 4: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/4.jpg)
Week 6 Fall 2001 CS599 4
Basics (1)
• Used for modeling reactive systems• Based on structured analysis paradigm
– Activity-chart (hierarchical data-flow diagram)• Functional description: Activities, data elements, and signals
• Behavior desc.: Control-activities
• Functional semantics is dynamically noncommitting– Only activities can happen
– But no will happen, when, or why (behavior desc.)
![Page 5: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/5.jpg)
Week 6 Fall 2001 CS599 5
Basic (2)
• Activity's statechart controls dynamics of – Sub activities– Data flow
• Activate and deactivate activities
• Write, read, and update data
• Send and sense signals
• Defining semantics of activity-chart is the core for how the tool works
![Page 6: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/6.jpg)
Week 6 Fall 2001 CS599 6
Terminology
• State Types– OR-states have XOR substates– AND-states have AND substates– Basic state no substates
• Root: no parent state• Event e• Condition c• Action a
![Page 7: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/7.jpg)
Week 6 Fall 2001 CS599 7
Syntax
• General syntax: e[c]/a
• All are optional
• Special e, c, and a– Start(P), st!(P) causes the activity P to start– Entered(S), en(S) is an event
• Events and conditions are closed under Boolean ops: or, and, and not
![Page 8: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/8.jpg)
Week 6 Fall 2001 CS599 8
Timing of Conditions
• Actions associated with entrance to S are executed in the step in which S is entered
same as
• Actions on the transition leading into S
• Events are sensed one step after it happened– Ex(S) is sensed one step after S was existed
![Page 9: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/9.jpg)
Week 6 Fall 2001 CS599 9
Static Reactions
• Event/action orthogonal AND-subset
![Page 10: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/10.jpg)
Week 6 Fall 2001 CS599 10
Behavior
• Run: a set of possible behavior– A series of snapshots of system responses to
external environment stimuli
• Status: a snapshot of system situation
• Step: transition between two snapshots
![Page 11: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/11.jpg)
Week 6 Fall 2001 CS599 11
Some Timing Issues
• An activity A is active within state S, means throughout S
• Schedule(a,d): d is time units• Timeout(e, d)• The execution takes zero time• The time between two consecutive steps is
excluded from step semantics (this is part of user control)
![Page 12: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/12.jpg)
Week 6 Fall 2001 CS599 12
Principles in Defining the semantics
• Reactions to events, and changes occurred within a step, can be sensed only after the step
• Events live in the step following their occurrence, for one step only.
• Calculations are based on situation at the beginning of the step
• A maximal subset of nonconflicting transactions and SRs is always executed
![Page 13: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/13.jpg)
Week 6 Fall 2001 CS599 13
Configuration
• A maximum set of states (C) that the system can be simultaneously in
• C contains root state• If C contains OR-state A, it must contain
only one of A’s substates• If C contains AND-state A, it must contain
all of A’s substates• The only states in C are the above no extra
![Page 14: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/14.jpg)
Week 6 Fall 2001 CS599 14
Configuration (cont)
• Configurations are closed upward– system in state A, and it must be in A’s parent
state
• Basic configuration is a maximal set of basic states that the system can be in simultaneously
![Page 15: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/15.jpg)
Week 6 Fall 2001 CS599 15
Basic configuration
Full configuration (all parents and root)
![Page 16: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/16.jpg)
Week 6 Fall 2001 CS599 16
Racing
• X:=X+1; Y:=X*5; if …. else
• Semicolon means “do this in parallel” not “do this in sequence”
• In this case, no problematic racing– The value of x is changed at the end of step
![Page 17: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/17.jpg)
Week 6 Fall 2001 CS599 17
Compound Transitions (CT)
• Execution of a setup must lead to a legal configuration
• Statechart cannot be in non basic state without being able to enter appropriate substate
• CT is full transitions, combined triggers and concatenated actions
![Page 18: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/18.jpg)
Week 6 Fall 2001 CS599 18
ANDFork
Join
![Page 19: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/19.jpg)
Week 6 Fall 2001 CS599 19
OR condition, selection and junction
condition
![Page 20: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/20.jpg)
Week 6 Fall 2001 CS599 20
CT
• Initial CT
• Continuation CT
• Full CT is an initial CT and possibly several continuation CTs
• See figures
![Page 21: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/21.jpg)
Week 6 Fall 2001 CS599 21
Full CT
Initial {t1, t2}
Continuation CT{t5, t3} and {t5, t4}
![Page 22: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/22.jpg)
Week 6 Fall 2001 CS599 22
Part II by Bob Chen
![Page 23: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/23.jpg)
Week 6 Fall 2001 CS599 23
![Page 24: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/24.jpg)
Week 6 Fall 2001 CS599 24
DEALING WITH HISTORY
• Algorithm
![Page 25: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/25.jpg)
Week 6 Fall 2001 CS599 25
DEALING WITH HISTORY
• T1 to target state: B1 {t1, t2}
• T1 to target state: B2 {t1, t3}
• T1 to target state: B {t1, t4, t2}
![Page 26: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/26.jpg)
Week 6 Fall 2001 CS599 26
DEALING WITH HISTORY• t1, t2 has priority
over t3• C1 is false t3 is
executed• C2 is false it is a
loop• STATEMATE
will detective a loop
![Page 27: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/27.jpg)
Week 6 Fall 2001 CS599 27
DEALING WITH HISTORY
• Clear history of S first, or
• Enter S via its history first
• Answer is latter• hc! = history clear
![Page 28: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/28.jpg)
Week 6 Fall 2001 CS599 28
SCOPE OF TRANSITIONS
• CT is enabled– At the beginning of the step the system is in all the states
of its source set & if its trigger is true
• CT often pass different levels of statechart hierarchy
• tr – scope of a CT the lowest OR-state in the hierarchy of
states that is a proper common ancestor of all the sources and targets of tr
– Includes nonbasic states that are explicit sources or targets of transition arrow appearing in tr
![Page 29: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/29.jpg)
Week 6 Fall 2001 CS599 29
SCOPE OF TRANSITIONS
• Scope of t1 is S• Implies exiting
states B2, B, A, C either C1 or C2
![Page 30: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/30.jpg)
Week 6 Fall 2001 CS599 30
SCOPE OF TRANSITIONS
• Scope of t4 is U• Implies exiting
states W & V• Entering states V &
W• U is not exited
![Page 31: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/31.jpg)
Week 6 Fall 2001 CS599 31
CONFLICTING TRANSITIONS
• Two CTs are in conflict– There are common state that would be exited if any one
of them were to be taken.
![Page 32: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/32.jpg)
Week 6 Fall 2001 CS599 32
CONFLICT - example
• t1 & t2 are in conflict. – They would each
imply exiting state A.
• t4 is in conflict with all of t1, t2, t3.– When t4 is taken
system must be in U and also in one of its substates. Therefore t1, t4 cannot both be taken in the same step
![Page 33: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/33.jpg)
Week 6 Fall 2001 CS599 33
TREATING CONFLICTS
Two kinds of conflict in the example– First trigger of both t1 & t2, nondeterminism
– Second conflict, t4 has priority over t1, t2, t3, no nondeterminism
– Priority: outside-in • tx and ty be conflict transition Sx & Sy be their scope
• If Sx = Sy then tx & ty has equal priority, nondeterministic
![Page 34: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/34.jpg)
Week 6 Fall 2001 CS599 34
NONDETERMINISM
• STATEMATE simulation tool– Wait selection from user
– Dynamic, tries every possibility exhaustively
• Nondeterminism– Two or more conflicting CTs with same priority
![Page 35: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/35.jpg)
Week 6 Fall 2001 CS599 35
BASIC STEP ALGORITHM
• Schematic description of the algorithm that executes a single step
![Page 36: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/36.jpg)
Week 6 Fall 2001 CS599 36
BASIC STEP ALGORITHM
![Page 37: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/37.jpg)
Week 6 Fall 2001 CS599 37
BASIC STEP ALGORITHM• Stage 2 Compute the contents of the step• Stage 3 Execute the CTs and SRs• Example
![Page 38: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/38.jpg)
Week 6 Fall 2001 CS599 38
BASIC STEP ALGORITHM
• Possible Steps
![Page 39: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/39.jpg)
Week 6 Fall 2001 CS599 39
Part III by Xie
![Page 40: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/40.jpg)
Week 6 Fall 2001 CS599 40
Two Models of Time
1. Synchronous time model
2. Asynchronous time model
![Page 41: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/41.jpg)
Week 6 Fall 2001 CS599 41
Two Models of Time (2)
Synchronous time model assumes that system executes a single step every time unit, reacting to all the external changes that occur in the one time unit that elapsed since the completion of the previous
step.
![Page 42: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/42.jpg)
Week 6 Fall 2001 CS599 42
Two Models of Time (3)
Asynchronous time model assumes that the system reacts whenever an external change occurs, allowing for several external changes to occur simultaneously and, most importantly, allowing several steps to take
place within a single point in time.
![Page 43: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/43.jpg)
Week 6 Fall 2001 CS599 43
Two Models of Time (4)
Superstep: a collection of steps which can take place within a single point in time.
In the simulation and dynamic test tools, various code generators, different circumstances, the way the
two models of time are reflected in the execution differs slightly among them.
![Page 44: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/44.jpg)
Week 6 Fall 2001 CS599 44
Two Models of Time (5)
This paper will concentrate on the way time is treated in the simulation tool.
The synchronous time model fits systems that are highly synchronous.
The asynchronous time model fits most kinds of asynchronous systems.
![Page 45: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/45.jpg)
Week 6 Fall 2001 CS599 45
Two Models of Time (6)
For example, in asynchronous time model, there are several different GO commands that let the user control the advance of time during simulation.
![Page 46: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/46.jpg)
Week 6 Fall 2001 CS599 46
Two Models of Time (7)
For example, in asynchronous time model, there are several different GO commands that let the user control the advance of time during simulation.
![Page 47: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/47.jpg)
Week 6 Fall 2001 CS599 47
Two Models of Time (8)
GO-REPEAT: the most important and frequently
used GO command.
GO-REPEAT does not increment the internal clock, so that many steps may be executed at the same
point in time.
![Page 48: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/48.jpg)
Week 6 Fall 2001 CS599 48
Two Models of Time (9)
GO-REPEAT command may result in an infinite loop.
There are several other GO commands, like GO-ADVANCE, GO-STEP, GO-NEXT, and GO-
EXTENDED.
![Page 49: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/49.jpg)
Week 6 Fall 2001 CS599 49
Two Models of Time (10)
Dynamic test toolsHardware Code generator:
1. RTL code style 2. Behavioral code style
Software code generator: 1. CPU clock time. 2. simulated clock.
![Page 50: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/50.jpg)
Week 6 Fall 2001 CS599 50
Racing condition
Reason: Racing conditions arise when the value of an element is modified more than
once or is both modified and used at a single point in time.
![Page 51: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/51.jpg)
Week 6 Fall 2001 CS599 51
Racing condition (2)
More precise description: A race situation is one in which, had we executed the enabled transitions in a different order, we might have obtained different
results in one or more of the data-items or conditions.
![Page 52: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/52.jpg)
Week 6 Fall 2001 CS599 52
Racing condition (3)
Sample: t1: e / f
t2: f / x: =5
t3: f t4: /Y:=x+1
![Page 53: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/53.jpg)
Week 6 Fall 2001 CS599 53
Multiple StatechartsDefination: Multiple statechart applies in all its aspects to
several statecharts running simultaneously, which in STATEMATE occurs when they represent activities that
happen to be active concurrently.
![Page 54: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/54.jpg)
Week 6 Fall 2001 CS599 54
Multiple Statecharts (2)Multiple active statecharts are treated basically as orthogonal componets at the highest level of a single statechart, except
that when one of the statecharts becomes nonactive, the other charts continue to be active.
![Page 55: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/55.jpg)
Week 6 Fall 2001 CS599 55
Multiple Statecharts (3)In the asynchronous time model, the steps in multiple statecharts are carried out in synchronization, just as they would have if they were
represented as orthogonal components of one big statechart.
In the synchronous time model, on the other hand, each chart may have its own clock, telling it when to execute a step.
![Page 56: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/56.jpg)
Week 6 Fall 2001 CS599 56
Strength
• Nice formal (theoretical) approach
• Good marketing for STATEMATE!
• Covered the topic with many examples and figures
• Quite valuable appendix
![Page 57: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/57.jpg)
Week 6 Fall 2001 CS599 57
Weakness
• Failed to reference the relationship it has with automata theory
• Lack of definitions for many terms
• Lack of definitions for figure notations
![Page 58: Week 6Fall 2001 CS5991 The STATEMATE Semantics of Statecharts D. Harel and A. Naamand Ahmad Alsawi 1-4 Bob Chen 5-8 Dapeng Xie 9-11](https://reader035.vdocuments.us/reader035/viewer/2022062322/56649c7c5503460f9493124d/html5/thumbnails/58.jpg)
Week 6 Fall 2001 CS599 58
Relevance
• Statechart modeling addresses many issues related to embedded software:– environmental triggers and events– Concurrency– Timing– Non determinism– Etc