Interacting Process Classes - PowerPoint PPT Presentation

About This Presentation
Title:

Interacting Process Classes

Description:

Many reactive systems consist of classes of active objects interacting with each ... Rail car (from LSCs) Telephone switch network (from SPIN) ... – PowerPoint PPT presentation

Number of Views:34
Avg rating:3.0/5.0
Slides: 37
Provided by: wwwveri
Category:

less

Transcript and Presenter's Notes

Title: Interacting Process Classes


1
Interacting Process Classes
  • P.S. Thiagarajan
  • National 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.
  • Dont want to fix the number of objects in a
    class.
  • Symbolic verification techniques.

4
A Process
d
c
r
d
5
A Process
d
c
r
d
6
A Process
d
c
r
d
7
A Process
d
c
r
d
8
A Process Class (Multiple Instances)
d
c
r
d
9
A Process Class (Multiple Instances)
d
c
r
d
10
A Process Class (Multiple Instances)
d
c
r
d
11
A Process Class (Multiple Instances)
d
c
r
d
12
A Process Class (Multiple Instances)
d
c
r
d
13
A Process Class (Multiple Instances)
d
c
r
d
But the actions c, r, d, d can represent
transactions between different objects of the
same class.
14
A Process Class (Multiple Instances)
c
r
TR1c
TR1r
TR1
15
A Process Class (Multiple Instances)
TR1c
c
r
TR1r
TR1
16
A Process Class (Multiple Instances)
TR1c
c
r
TR1r
TR1
17
A Process Class (Multiple Instances)
TR2d
TR1c
d
d
TR1r
TR2d
TR2
18
Phone Class
19
Switch Class
20
Call
MSCs Depict Two way flow of information. Define
roles.
21
Call
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
g2
g1
g3
(r1, C1)
g1 a regular expression over the local
actions (TR, role) of the transition system
of C1.
24
?1
(r1, C1)
?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)
(x, y) in SAME_AREA
Local Call
Static associations capture the structural
constraints. Relations with fixed extensions.
26
(x, y) in CONNECTED
Local Call
Dynamic Associations Established across
classes. Relations with changing extensions.
27
(x, y) in CONNECTED
(x, y) not in CONNECTED
Disconnect
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

32
The number of behavioral subclasses remain small.
33
This is all very well in practice but What about
the theory?
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.

35
A Specification Logic
  • C(x) R(x, y)
  • ? ? ? ? ?
  • lttr(x, y, z)gt? ? UNTIL ?
  • (?x) ?

36
Conclusion
  • Multiple active objects of a class interacting
    with each other is a useful modelling idea
  • Other applications?
  • Introduce stochastic dynamics.
Write a Comment
User Comments (0)
About PowerShow.com