DOCUMENTATION FOR MEDICAL STUDENTS Balasubramanian Thiagarajan.
1 Interacting Process Classes P.S. Thiagarajan National University of Singapore Joint with: Ankit...
-
Upload
abel-warner -
Category
Documents
-
view
221 -
download
1
Transcript of 1 Interacting Process Classes P.S. Thiagarajan National University of Singapore Joint with: Ankit...
1
Interacting Process Classes
P.S. ThiagarajanNational University of Singapore
Joint with: Ankit Goel, Abhik Roychoudhury, Sun Meng
To be presented at ICSE 2006
2
Outline
• Many reactive systems consist of classes of active objects interacting with each other.
• Processes, agents:– Phones, trains, airplanes, …
• Similar behaviors:– Take part in the same types of transactions.– Play same types of roles in these
transactions.
3
Goals
• Develop – a modeling technique.
• Using familiar notations
– A symbolic simulation technique• Time and space efficient
– Do not maintain a name space.• Thousands of objects in a class.• Don’t want to fix the number of objects in a
class.
– Symbolic verification techniques.
13
A Process Class (Multiple Instances)
c rdd’
But the actions c, r, d, d’ can represent transactions between different objects of the same class.
22
Interacting Process Classes
• Multiple process Classes• Transactions:
– Can involve multiple objects• Belonging to the same class• Belonging to different classes
– Will have guards• Histories of the participating objects• States of the participating objects
– Values of the variables of the objects.
• Static and dynamic associations.
23
g2g1 g3
g1:
a regular expression over the local “actions” [(TR, role)] of the transition system of C1.
(r1, C1)
24
(r1, C1)
1
1: A boolean predicate over the values of the variables associated with the object in C1 chosen to play the role r1.
25
(r1, C1) (r2, C2)
Local Call
(x, y) in SAME_AREA
Static associations capture the structural constraints.
Relations with fixed extensions.
26
Local Call
(x, y) in CONNECTED
Dynamic Associations:
Established across classes.
Relations with changing extensions.
28
Symbolic Simulation
• Do not maintain name spaces.• Group the objects of a class into
behavioral subclasses.• Track only the number of objects in a
behavioral subclass.• When a transaction executes these counts
will be updated– Behavioral subclasses get split and merged.
29
Symbolic simulation
• At a configuration, two objects belong to the same behavioral subclass iff:– They are in the same control location.– Satisfy the same static and dynamic
associations.– Satisfy the same history predicates
associated with the guards.– Satisfy the same (boolean) predicates on the
respective local variables.
30
Symbolic simulation
• This is an (over) approximation.
• There may be spurious symbolic runs with no corresponding concrete runs.
• But one can check –not efficiently!- whether a symbolic run corresponds to a concrete run.– quite useful.
31
Current Status
• Drastically cuts simulation time/memory for realistic controllers– CTAS weather update controller– Rail Shuttle system from Paderborn
• Benchmarks for State & Seq. Diagram modeling
– Rail car (from LSCs)– Telephone switch network (from SPIN)
• Simulator found realizable bugs in the examples
34
Current Issues
• Abstraction-based verification methods.– Currently underway.
• What is a good first order temporal logic for this model?– Will suffice to have an efficient model
checking procedure.– The non-logical vocabulary is fixed by the
model.– Interpretations only over finite sets.