1 modeling BPEL4WS composition for verification: communication models Theoretical level : message alphabet over queues Practical level : number of queues.

Slides:



Advertisements
Similar presentations
Analysis of Communication Models in Web Service Compositions Marco Pistore University of Trento Joint work with Raman Kazhamiakin.
Advertisements

Parallel Processing & Parallel Algorithm May 8, 2003 B4 Yuuki Horita.
1 Model checking. 2 And now... the system How do we model a reactive system with an automaton ? It is convenient to model systems with Transition systems.
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
Token-Dased DMX Algorithms n LeLann’s token ring n Suzuki-Kasami’s broadcast n Raymond’s tree.
Synchronization Chapter clock synchronization * 5.2 logical clocks * 5.3 global state * 5.4 election algorithm * 5.5 mutual exclusion * 5.6 distributed.
Reachability analysis A reachability analysis shows the product space of the two processes and the signal queues of their input ports. Say we have an SDL.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
I MPLEMENTING S YNCHRONOUS M ODELS ON L OOSELY T IME T RIGGERED A RCHITECTURES Discussed by Alberto Puggelli.
Enforcing Mutual Exclusion Message Passing. Peterson’s Algorithm for Processes P0 and P1 void P0() { while( true ) { flag[ 0 ] = false; /* remainder */
CS 582 / CMPE 481 Distributed Systems
Ordering and Consistent Cuts Presented By Biswanath Panda.
Cache Table. ARP Modules Output Module Sleep until IP packet is received from IP Software Check cache table for entry corresponding to the destination.
Inter Process Communication:  It is an essential aspect of process management. By allowing processes to communicate with each other: 1.We can synchronize.
Computer Science Lecture 12, page 1 CS677: Distributed OS Last Class Vector timestamps Global state –Distributed Snapshot Election algorithms.
CIS 720 Distributed algorithms. “Paint on the forehead” problem Each of you can see other’s forehead but not your own. I announce “some of you have paint.
Chapter 3: Processes. 3.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts - 7 th Edition, Feb 7, 2006 Process Concept Process – a program.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
Coordination and Agreement. Topics Distributed Mutual Exclusion Leader Election.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
Probabilistic Verification of GBN Group Members: Lin Huang(lh2647), Yuechen Qin(yq2158), Xi Chen(xc2257), Runxi Zhou(rz2286), Shuang Zhang(sz2426) 04/08/2014.
Actors: a model of concurrent computation in Distributed Systems Amin Saremi Hamid Mohamadi.
Synchronization Methods in Message Passing Model.
1 Chapter 11 Global Properties (Distributed Termination)
Probabilistic Verification Tong Wang tw2436 Yihan Zou yz2575 Hang Yin hy2368 Miaoqiong Wang mw2908 of Go-Back-N.
Introduction to AP Notation So far we have discussed the Internet Protocol informally Now, we need to learn about a formal notation, called the Abstract.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved DISTRIBUTED SYSTEMS.
6. Pushdown Automata CIS Automata and Formal Languages – Pei Wang.
Scaling the Network Chapters 3-4 Part 2
CS Data Structures Chapter 6 Stacks Mehmet H Gunes
Comparing Communication Types
SMTP: simple mail transfer protocol
Chapter 3: Process Concept
WEB SERVICES From Chapter 19 of Distributed Systems Concepts and Design,4th Edition, By G. Coulouris, J. Dollimore and T. Kindberg Published by Addison.
CPE555A: Real-Time Embedded Systems
PROTOCOL CORRECTNESS Tutorial 3 Theoretical
Operating System Concepts
e-Health Platform End 2 End encryption
Chapter 2 Processes and Threads Today 2.1 Processes 2.2 Threads
CHAPTER 3 Architectures for Distributed Systems
Analysis of Communication Models in Web Service Compositions Marco Pistore University of Trento Joint work with Raman Kazhamiakin.
Event Relation Graphs and Extensions in Ptolemy II
DISTRIBUTED SYSTEMS Principles and Paradigms Second Edition ANDREW S
Recap OS manages and arbitrates resources
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
High-Level Abstraction of Concurrent Finite Automata
Distributed Mutual Exclusion
Operating System Concepts
PERSPECTIVES ON THE CAP THEOREM
UML Interaction diagrams
Mutual Exclusion CS p0 CS p1 p2 CS CS p3.
Communication Two Way Street.
Channels.
Subject : T0152 – Programming Language Concept
An explicit state model checker
Internet Control Message Protocol
Typically for using the shared memory the processes should:
Program to find equivalence classes
CSCE 668 DISTRIBUTED ALGORITHMS AND SYSTEMS
Linear Time Properties
WEB SERVICES From Chapter 19, Distributed Systems
Channels.
Channels.
PHP and JSON Topics Review JSON.
Distributed algorithms
CSE 486/586 Distributed Systems Mutual Exclusion
Mr. M. D. Jamadar Assistant Professor
Chandy-Lamport Example
Presentation transcript:

1 modeling BPEL4WS composition for verification: communication models Theoretical level : message alphabet over queues Practical level : number of queues functions for manipulating queues controls on fireable transitions Hierarchy : 1. synchronous model 2.locally ordered asynchronous model 3.mutually ordered asynchronous model 4.unordered asynchronous model = Most General model

2 Synchronous model the most restrictive model rendezvous communications : the sender can send the message only when the receiver is ready to receive one queue of size 1 each peer interacts with their partners through this queue enabled actions : output : the queue must be empty the receiver must be ready to receive input : the queue must contain the message tau : the queue must be empty

3 VTA Flight Hotel User 1 Synchronous model

4 Locally ordered asynchronous model each process has its own queue for receiving messages as many queues as the number of processes enabled actions : output : always enabled input : the queue must contain the message at the top of the queue tau : always enabled

5 VTA Flight Hotel User Locally ordered asynchronous model

6 Mutually ordered asynchronous model two queues for each communication channel one queue for each way of communication no matter how many operations the channel supports unique channel between a pair of interacting peers enabled actions : output : always enabled input : the queue must contain the message at the top of the queue tau : always enabled

7 VTA Flight Hotel User Mutually ordered asynchronous model

8 Unordered asynchronous model equivalent to the Most General model as many queues as the number of message types each queue can store only a message type enabled actions : output : always enabled input : the queue must contain the message at the top of the queue tau : always enabled

9 VTA Flight Hotel User User request VTA reply Flight reply VTA to Flight request VTA to Hotel request Hotel reply Unordered asynchronous model

10 CheckAdequacy algorithm Objects: States : stack of global states of the DFS path Visited : set of completely visited global states Transitions : set of transitions Incomplete : set of termination states with non-empty queues Unbounded : set of marked states that demonstrate unboundedness Methods: fireable() : returns a set of fireable transitions according to the firing conditions of the current model fireableInGeneral() : returns a set of fireable transitions according to the firing conditions of the Most General model isEmptyChannels(s) : returns true if all the queues of s are empty

11 CheckAdequacy algorithm updateModel() : lead the system from the current model to the next updates the model ID creates a brand new queue structure for every already visited state maps each message of the old queue(s) to the new queue structure checkUnboundednessRelation(s,States) : checks the States set for a global state where the unboundedness relation holds, that is : it has the same control state of s, and the content of the queues is the same of s, or it is growing and the content of the queues of s is the prefix of its queues

12 CheckAdequacy algorithm procedure checkAdequacy(s) begin push(s,States); current_state := s; Fireable := fireable(current_state); FireableInGeneral := fireableInGeneral(current_state); while !(Fireable  FireableInGeneral) updateModel(); if(Fireable ≠ )  transition t  Fireable do add(t,Transitions); target_state:= transition.target; if (target_state  States  Visited) if(checkUnboundednessRelation(target_state,States)) add(target_state,Unbounded) else checkAdequacy(target_state);

13 CheckAdequacy algorithm else if( (target_state  States) && ! isEmptyChannels(target_state) add(target_state,Incomplete); else if(Fireable  ) if(! isEmptyChannels(target_state)) add(target_state,Incomplete); add(target_state,Visited); pop(States); end