1 / 36

Interacting Process Classes

Interacting Process Classes. P.S. Thiagarajan National University of Singapore Joint with: Ankit Goel, Abhik Roychoudhury, Sun Meng To be presented at ICSE 2006. Outline. Many reactive systems consist of classes of active objects interacting with each other. Processes, agents:

denise
Download Presentation

Interacting Process Classes

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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. • Don’t 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 TR1r c r TR1

  16. A Process Class (Multiple Instances) TR1c TR1r c r TR1

  17. A Process Class (Multiple Instances) TR2d’ TR1c TR1r d d’ 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. g1 g2 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) |   |   ’ | <tr(x, y, z)> |  UNTIL ’ | (x) 

  36. Conclusion • Multiple active objects of a class interacting with each other is a useful modelling idea • Other applications? • Introduce stochastic dynamics.

More Related