1 Interacting Process Classes P.S. Thiagarajan National University of Singapore Joint with: Ankit Goel, Abhik Roychoudhury, Sun Meng To be presented at.

Slides:



Advertisements
Similar presentations
1 Verification by Model Checking. 2 Part 1 : Motivation.
Advertisements

Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
ES Seminar1 Communicating Transaction Processes P.S. Thiagarajan National University of Singapore Joint Work with: Abhik Roychoudhury; ……
Introduction to Formal Methods for SW and HW Development 09: SAT Based Abstraction/Refinement in Model-Checking Roberto Sebastiani Based on work and slides.
SAT Based Abstraction/Refinement in Model-Checking Based on work by E. Clarke, A. Gupta, J. Kukula, O. Strichman (CAV’02)
Abstraction and Modular Reasoning for the Verification of Software Corina Pasareanu NASA Ames Research Center.
Linked List Implementation class List { private List next; private Object data; private static List root; private static int size; public static void addNew(Object.
Mahadevan Subramaniam and Bo Guo University of Nebraska at Omaha An Approach for Selecting Tests with Provable Guarantees.
UPPAAL Introduction Chien-Liang Chen.
Hybrid Systems Presented by: Arnab De Anand S. An Intuitive Introduction to Hybrid Systems Discrete program with an analog environment. What does it mean?
3 Decision Making: Equality and Relational Operators A condition is an expression that can be either true or false. Conditions can be formed using the.
Verification of Hybrid Systems An Assessment of Current Techniques Holly Bowen.
SYMBOLIC MODEL CHECKING: STATES AND BEYOND J.R. Burch E.M. Clarke K.L. McMillan D. L. Dill L. J. Hwang Presented by Rehana Begam.
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Succinct Approximations of Distributed Hybrid Behaviors P.S. Thiagarajan School of Computing, National University of Singapore Joint Work with: Yang Shaofa.
UML Class Diagram. UML Class Diagrams2 Agenda What is a Class Diagram? Essential Elements of a UML Class Diagram Tips.
The Language Theory of Bounded Context-Switching Gennaro Parlato (U. of Illinois, U.S.A.) Joint work with: Salvatore La Torre (U. of Salerno, Italy) P.
Using Statically Computed Invariants Inside the Predicate Abstraction and Refinement Loop Himanshu Jain Franjo Ivančić Aarti Gupta Ilya Shlyakhter Chao.
Logic Based LSC Consistency Testing Presenter: Anup Niroula.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
FunState – An Internal Design Representation for Codesign A model that enables representations of different types of system components. Mixture of functional.
Temporal Logic of Actions (TLA) Leslie Lamport
Embedded Systems Laboratory Department of Computer and Information Science Linköping University Sweden Formal Verification and Model Checking Traian Pop.
Discrete models of biochemical networks Algebraic Biology 2007 RISC Linz, Austria July 3, 2007 Reinhard Laubenbacher Virginia Bioinformatics Institute.
An algebra of Connectors for modeling CommUnity with Tiles joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan.
Unified Modeling Language
Timed UML State Machines Ognyana Hristova Tutor: Priv.-Doz. Dr. Thomas Noll June, 2007.
1 DISTRIBUTION A. Approved for public release; Distribution unlimited. (Approval AFRL PA # 88ABW , 09 April 2014) Reducing the Wrapping Effect.
Introduction to ASMs Dumitru Roman Digital Enterprise Research Institute
1 Object-Oriented Modeling Using UML (2) CS 3331 Fall 2009.
Model-based Methods for Web Service Verification.
Copyright 2002 Prentice-Hall, Inc. Modern Systems Analysis and Design Third Edition Jeffrey A. Hoffer Joey F. George Joseph S. Valacich Chapter 20 Object-Oriented.
Reliable Design of Safety Critical Systems Dr. Abhik Roychoudhury School of Computing
Yang Liu, Jun Sun and Jin Song Dong School of Computing National University of Singapore.
Lab 04.
Dynamic Analysis of Multithreaded Java Programs Dr. Abhik Roychoudhury National University of Singapore.
Compactly Representing Parallel Program Executions Ankit Goel Abhik Roychoudhury Tulika Mitra National University of Singapore.
November 21, 2005 Center for Hybrid and Embedded Software Systems Example To illustrate how changes in DB can be used to efficiently update a block diagram,
Fast Simulation Techniques for Design Space Exploration Daniel Knorreck, Ludovic Apvrille, Renaud Pacalet
Interacting Process Classes Abhik Roychoudhury National University of Singapore Joint work with Ankit Goel and P.S. Thiagarajan.
Databases : Data Modeling 2007, Fall Pusan National University Ki-Joune Li.
Advanced Topics in Software Engineering Marjan Sirjani Tehran University Faculty of Engineering ECE Department Tehran,
Information System Design IT60105
Design Model Lecture p6 T120B pavasario sem.
UNIFIED MODELING LANGUAGE(UML) BY Touseef Tahir Lecturer CS COMSATS Institute of Information Technology, Lahore.
Outline The role of information What is information? Different types of information Controlling information.
Reasoning about the Behavior of Semantic Web Services with Concurrent Transaction Logic Presented By Dumitru Roman, Michael Kifer University of Innsbruk,
CS212: Object Oriented Analysis and Design Lecture 33: Class and Sequence Diagram.
Essentials of Visual Modeling w/ UML Instructor Notes
UML Activity Diagrams.
Learning Universally Quantified Invariants of Linear Data Structures Pranav Garg 1, Christof Loding, 2 P. Madhusudan 1 and Daniel Neider 2 1 University.
Requirement Analysis SOFTWARE ENGINEERING. What are Requirements? Expression of desired behavior Deals with objects or entities, the states they can be.
Specifying Multithreaded Java semantics for Program Verification Abhik Roychoudhury National University of Singapore (Joint work with Tulika Mitra)
Copyright © 2009 Pearson Education, Inc. Publishing as Prentice Hall Appendix A Object-Oriented Analysis and Design A.1.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Abstraction and Abstract Interpretation. Abstraction (a simplified view) Abstraction is an effective tool in verification Given a transition system, we.
UML (Unified Modeling Language)
The PLA Model: On the Combination of Product-Line Analyses 강태준.
Language = Syntax + Semantics + Vocabulary
CIS 842: Specification and Verification of Reactive Systems
Planning as model checking, (OBDDs)
SNSCT_CSE_PROGRAMMING PARADIGM_CS206
UML Activity Diagrams & State Charts
CSEP590 – Model Checking and Automated Verification
Over-Approximating Boolean Programs with Unbounded Thread Creation
Chapter 20 Object-Oriented Analysis and Design
Use Case Analysis – continued
UML State Diagrams.
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 c r d d’

5 A Process c r d d’

6 A Process c r d d’

7 A Process c r d d’

8 A Process Class (Multiple Instances) c r d d’

9 A Process Class (Multiple Instances) c r d d’

10 A Process Class (Multiple Instances) c r d d’

11 A Process Class (Multiple Instances) c r d d’

12 A Process Class (Multiple Instances) c r d d’

13 A Process Class (Multiple Instances) c r d d’ But the actions c, r, d, d’ can represent transactions between different objects of the same class.

14 A Process Class (Multiple Instances) TR1 cr TR1 c TR1 r

15 A Process Class (Multiple Instances) TR1 c TR1 cr TR1 r

16 A Process Class (Multiple Instances) TR1 c TR1 cr TR1 r

17 A Process Class (Multiple Instances) TR1 c TR2 dd’ TR1 r TR2 d TR2 d’

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 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  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.

27 Disconnect (x, y) in CONNECTED (x, y) not in CONNECTED

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) |   |    ’ |  |  UNTIL  ’ | (  x) 

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