8 May 2008IPA Lentedagen Dynamic Consistency in Process Algebra: From Paradigm to ACP Suzana Andova (FM TU/e) Luuk Groenewegen (LIACS Leiden Univ.) Erik.

Slides:



Advertisements
Similar presentations
CS 267: Automated Verification Lecture 8: Automata Theoretic Model Checking Instructor: Tevfik Bultan.
Advertisements

Process Algebra (2IF45) Abstraction in Process Algebra Suzana Andova.
Temporal Logic and the NuSMV Model Checker CS 680 Formal Methods Jeremy Johnson.
Game-theoretic simulation checking tool Peter Bulychev, Vladimir Zakharov, Igor Konnov Moscow State University.
UPPAAL Introduction Chien-Liang Chen.
Timed Automata.
Process Algebra (2IF45) Abstraction and Recursions in Process Algebra Suzana Andova.
August Moscow meeting1August Moscow meeting1August Moscow meeting11 Deductive tools in insertion modeling verification A.Letichevsky.
PRAM (Parallel Random Access Machine)
Process Algebra (2IF45) Probabilistic Process Algebra Suzana Andova.
Process Algebra (2IF45) Probabilistic Process Algebra Suzana Andova.
Process Algebra (2IF45) Dr. Suzana Andova. 1 Process Algebra (2IF45) Practical issues Lecturer - Suzana Andova - Group: Software Engineering and Technology.
Process Algebra (2IF45) Probabilistic extension: semantics Parallel composition Dr. Suzana Andova.
Anna Philippou Department of Computer Science University of Cyprus Joint work with Mauricio Toro Department of Comp. Sc. EAFIT University Christina Kassara.
Ordering and Consistent Cuts Presented By Biswanath Panda.
Architecture-driven Modeling and Analysis By David Garlan and Bradley Schmerl Presented by Charita Feldman.
Dynamic adaptation of parallel codes Toward self-adaptable components for the Grid Françoise André, Jérémy Buisson & Jean-Louis Pazat IRISA / INSA de Rennes.
Web Ontology Language for Service (OWL-S). Introduction OWL-S –OWL-based Web service ontology –a core set of markup language constructs for describing.
Model Checking. Used in studying behaviors of reactive systems Typically involves three steps: Create a finite state model (FSM) of the system design.
1 Carnegie Mellon UniversitySPINFlavio Lerda SPIN An explicit state model checker.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
Principles of Object-Oriented Software Development Behavioral refinement.
1 CS 425 Software Engineering Project Preparation Use Case Modeling [Based on Chapters 3 & 4, Arlow and Neustadt, “UML and the Unified Process,” Addison-Wesley,
Branching Bisimulation Congruence for Probabilistic Transition Systems
1 IFM 2005 – November 30, 2005 EXP.OPEN 2.0 A flexible tool integrating partial order, compositional, and on-the-fly verification methods Frédéric Lang.
Review of the automata-theoretic approach to model-checking.
1 Formal Engineering of Reliable Software LASER 2004 school Tutorial, Lecture1 Natasha Sharygina Carnegie Mellon University.
On the purpose of Object Oriented Analysis Geri Magne Høydalsvik and Guttorm Sindre.
Process Algebra (2IF45) Basic Process Algebra (Soundness proof) Dr. Suzana Andova.
Formal Methods 1. Software Engineering and Formal Methods  Every software engineering methodology is based on a recommended development process  proceeding.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Methods of Proof & Proof Strategies
STRATEGIES INVOLVED IN REMOTE COMPUTATION
1 Introduction to Parsing Lecture 5. 2 Outline Regular languages revisited Parser overview Context-free grammars (CFG’s) Derivations.
1 SFWR ENG 3KO4 Software Development Statemate I-CASE Tool for Designing Software Systems from Different Views Statemate I-CASE Tool for Designing Software.
©Ian Sommerville 2000Software Engineering, 6th edition. Chapter 9 Slide 1 Formal Specification l Techniques for the unambiguous specification of software.
Process Algebra (2IF45) Probabilistic Branching Bisimulation: Exercises Dr. Suzana Andova.
Model-based Methods for Web Service Verification.
WXGE6103 Software Engineering Process and Practice Formal Specification.
Methodology - Conceptual Database Design. 2 Design Methodology u Structured approach that uses procedures, techniques, tools, and documentation aids to.
Methodology: Conceptual Databases Design
Reactive systems – general
Methodology - Conceptual Database Design
C O R P O R A T E T E C H N O L O G Y Information & Communications Security A Formal Security Model of the Infineon SLE88 Smart Card Memory Management.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Bob Travica MIS 2000 Class 9 Group Processes and Group Support Systems Updated: 7 October 2012.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor.
CS212: Object Oriented Analysis and Design Lecture 34: UML Activity and Collaboration diagram.
1 Lecture 8: Concurrency: Mutual Exclusion and Synchronization Advanced Operating System Fall 2012.
Transparent First-class Futures and Distributed Components Introduction: components, futures, and challenges Statically Representing Futures An Example.
Modelling and Analysis of Time-related Properties in Web Service Compositions Raman KazhamiakinParitosh K. PandyaMarco Pistore
Process Algebra (2IF45) Basic Process Algebra (Completeness proof) Dr. Suzana Andova.
Properties as Processes : FORTE slide Properties as Processes: their Specification and Verification Joel Kelso and George Milne School of Computer.
Modeling collaboration systems with Paradigm Suzana Andova joint work with Luuk Groenewegen (LIACS) and Erik de Vink (FSA)
1 CSEP590 – Model Checking and Automated Verification Lecture outline for July 9, 2003.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Process Algebra (2IF45) Abstraction Parallel composition (short intro) Suzana Andova.
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
CS5270 Lecture 41 Timed Automata I CS 5270 Lecture 4.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
Complexity of Compositional Model Checking of Computation Tree Logic on Simple Structures Krishnendu Chatterjee Pallab Dasgupta P.P. Chakrabarti IWDC 2004,
Formal Specification.
Process Algebra (2IF45) Extending Process Algebra: Abstraction
Remote Procedure Call (RPC) Neil Tang 11/26/2008
Introduction to SMV 2/19/2003.
CS 420/620 HCI Use Case Modeling Project Preparation
CS 425 Software Engineering
CS 425/625 Software Engineering
Introduction to verification
Programming Languages and Compilers (CS 421)
Presentation transcript:

8 May 2008IPA Lentedagen Dynamic Consistency in Process Algebra: From Paradigm to ACP Suzana Andova (FM TU/e) Luuk Groenewegen (LIACS Leiden Univ.) Erik de Vink (FM TU/e)

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 2 of 35 Outline Paradigm via two examples ACP and translation into ACP mCRL2 specification of the examples and results Conclusions

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 3 of 35 Introduction Paradigm: a coordination specification language

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 4 of 35 Paradigm Component collaboration ?

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 5 of 35 Paradigm Employee Manager subprocesses = “phases” global behaviour trap partition = “particular view on the component” = subprocesses + traps

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 6 of 35 Running example Client – Server (Critical section)  1 Server and n clients trying to get service Chosen way of modeling:  Server = manager  Clients = employees

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 7 of 35 Clients – detailed dynamics With:Without:Interrupt: AtDoor OutWaiting leave enter AtDoor OutWaiting leave Waiting Busy AtDoor explain thank subprocesses = “phases” enter thank explainleave Out Waiting Busy AtDoor

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 8 of 35 With: Clients – from detailed to global dynamics Without:Interrupt: AtDoor OutWaiting notYet Waiting Busy AtDoor explain thank AtDoor OutWaiting triv request done trap constraints and partition CS enter thank explainleave Out Waiting Busy AtDoor

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 9 of 35 With: Clients – global dynamics in Paradigm Without:Interrupt: AtDoor OutWaiting notYet Waiting Busy AtDoor enter thank explainleave Out Waiting Busy AtDoor OutWaiting triv request done Without With Interrupt notYet triv request done triv Without With Interrupt notYet triv request done notYet triv request done [request] Interrupt [triv] [notYet] Without [triv] [done] [triv] With done notYet request

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 10 of 35 With: Clients – consistency of detailed and global dynamics Without:Interrupt: AtDoor OutWaiting notYet Waiting Busy AtDoor OutWaiting triv request done triv notYet triv request done [request] Interrupt [triv] [notYet] Without [triv] [done] [triv] With done notYet request

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 11 of 35 Synchronizing composition – manager and employees Client 1 Client 2 Client 3 Client 1 (CS)Client 2 (CS)Client 3 (CS) P r o t o c o l Server Collaboration CS Employ 1 Employ n Role 1 Role n P r o t o c o l Manager m Manager 1... Role 2 1 Role 2 m P r o t o c o l Manager 2 k Manager consistency rules

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 12 of 35 Server as a manager – nondeterministic Idle Checking 1 Helping 1 check 1 refuse permitcontinue Checking n Helping n check n refuse permitcontinue

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 13 of 35 Consistency rules = consistent dynamics (ND server) Idle Checking 1 Helping 1 check 1 refuse permitcontinue Checking n Helping n check n refuse permitcontinue Without With Interrupt notYet triv request done

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 14 of 35 Server as a manager – Round-robin

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 15 of 35 Consistency rules = consistent dynamics (RR server) Without With Interrupt notYet triv request done

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 16 of 35 From Paradigm... via ACP

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 17 of 35 PA notions essential for Paradigm  parallel composition  Paradigm components run in parallel  with communication (synchronization) function  for consistency rules  abstraction  for different levels of abstraction in Paradigm  equivalence relations  for reasoning about Paradigm models via PA to automated verification of Paradigm models using mCRL2  direct translation of ACP specification to mCRL2 language  properties checking using model checking  relating models using equivalence relations (e.g. branching bisimulation) Why Process Algebra?

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 18 of 35 Parametrized by Act and cf : Act x Act  Act Operators: +, , ||, |,  I,… Axioms: ax || by = a(x || by) + b(ax || y) + cf(a,b)(x || y) Recursive specifications: Out i = enter i Waiting i Waiting i = explain i Busy i Busy i = thank i AtDoor i AtDoor i = leave i Out i ACP in one slide

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 19 of 35 Translation notYet triv request done Interrupt Without With Client 1 Client 2 Client 3 Client 1 (CS)Client 2 (CS)Client 3 (CS) P r o t o c o l Server ?

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 20 of 35 Translation (cont.) notYet triv request done Interrupt Without With - Can I do “enter” and start waiting? - Yes, it is ok!(enter) / No - Are you waiting at “Waiting” so I can do “request”? - Yes, at!(Waiting) / No

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 21 of 35 Translation (cont.) Client i : NDServer: Client i (CS): notYet triv request done Interrupt Without With

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 22 of 35 Translation (cont.) Communication: Collaboration process: CSNDet =   ( Client 1 || Client 1 (CS) || …|| Client n || Client n (CS) || NDServer)

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 23 of 35 Translation (cont. RRServer) Client i : Client i (CS): RRServer:

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 24 of 35 Translation (cont.) Communication: Collaboration process: CSRR =   ( Client 1 || Client 1 (CS) || …|| Client n || Client n (CS) || RRServer)

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 25 of 35 From Paradigm... via ACP... to mCRL2

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 26 of 35 mCRL2 specification CSNDet

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 27 of 35 Client i (CS):

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 28 of 35 Collaboration process: CSNDet =   ( Client 1 || Client 1 (CS) || …|| Client 3 || Client 3 (CS) || NDServer)

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 29 of 35 CSNDet – properties checking % never two clients in critical section (valid) [ true*. ok(A,explain). (!ok(A,thank))*. ok(B,explain) ] false % the same from server point of view (valid) [ true*. sync(permit,A,request). (!sync(continue,A,done))*. sync(permit,B,request) ] false % two clients may approach the critical section (valid) true % fair reachability of critical section (valid) [ true*. ok(A,enter). (!ok(A,thank))* ] true % general reachability of critical section (not valid) [ true*. ok(A,enter) ] mu X. [ !ok(A,thank) ] X

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 30 of 35 CSNDet – equivalent behaviour % file ndserver-spec.mcrl2 % non-deterministic server for 3 clients sort CName = struct A | B | C ; act incs, outcs : CName ; proc Idle = sum i:CName. tau. CritSection(i) ; CritSection(i:CName) = incs(i). outcs(i). Idle ; init Idle ;

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 31 of 35 CSRR – properties checking % never two clients in critical section (valid) [ true*. ok(A,explain). (!ok(A,thank))*. ok(B,explain) ] false % the same from server point of view (valid) [ true*. sync(permit,A,request). (!sync(continue,A,done))*. sync(permit,B,request) ] false % two clients may approach the critical section (valid) true % fair reachability of critical section (valid) [ true*. ok(A,enter). (!ok(A,thank))* ] true % general reachability of critical section (valid) [ true*. ok(A,enter) ] mu X. [ !ok(A,thank) ] X

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 32 of 35 CSRR – equivalent behaviour

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 33 of 35 CSRR for n=2

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 34 of 35 After abstraction from internal activity B requested entrance to CS

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 35 of 35 CSRR for n=3 #st=270 #tr = 684

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 36 of 35 After abstraction from internal activity #st = 28 #tr = 60

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 37 of 35 CSRR for n=4 #st = 1080 #tr = 3456 for n=5 #states = 4050, #transitions=15660 for n=6 #states = 14580, #transitions=66096

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 38 of 35 After abstraction from internal activity #st = 77 #tr = 200 for n clients #states = (5x2 n-2 -1)xn + 1

Suzana Andova, Luuk Groenewegen, Erik de Vink Sheet 39 of 35 Conclusions: Paradigm models translated to ACP via ACP they can be analyzed formally mCRL2 used for our experiments (small components may still produce a big state space to be analyzed) Paradigm migration approach to self-adaptation Verification of self-adaptation straightforward