Analysis of Communication Models in Web Service Compositions Marco Pistore pistore@dit.unitn.it University of Trento Joint work with Raman Kazhamiakin.

Slides:



Advertisements
Similar presentations
Synthesis of Protocol Converter Using Timed Petri-Nets Anh Dang Balaji Krishnamoorthy Manoj Iyer Presented by:
Advertisements

Analysis of Communication Models in Web Service Compositions Marco Pistore University of Trento Joint work with Raman Kazhamiakin.
Auto-Generation of Test Cases for Infinite States Reactive Systems Based on Symbolic Execution and Formula Rewriting Donghuo Chen School of Computer Science.
Toward an Agent-Based and Context- Oriented Approach for Web Services Composition IEEE TRANSACTIONS ON KNOWLEDGE AND DATA ENGINEERING, VOL. 17, NO. 5,
Model Checking for an Executable Subset of UML Fei Xie 1, Vladimir Levin 2, and James C. Browne 1 1 Dept. of Computer Sciences, UT at Austin 2 Bell Laboratories,
Translation-Based Compositional Reasoning for Software Systems Fei Xie and James C. Browne Robert P. Kurshan Cadence Design Systems.
Knowledge Based Synthesis of Control for Distributed Systems Doron Peled.
1 Intention of slide set Inform WSMOLX of what is planned for Choreography & Orhestration in DIP CONTENTS Terminology Clarification / what will be described.
Automatic Verification Book: Chapter 6. What is verification? Traditionally, verification means proof of correctness automatic: model checking deductive:
Lecture 3Dr. Verma1 COSC 6397 – Information Assurance Module M2 – Protocol Specification and Verification University of Houston Rakesh Verma Lecture 3.
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
1 Spin Model Checker Samaneh Navabpour Electrical and Computer Engineering Department University of Waterloo SE-464 Summer 2011.
An Automata-based Approach to Testing Properties in Event Traces H. Hallal, S. Boroday, A. Ulrich, A. Petrenko Sophia Antipolis, France, May 2003.
1 Flexible Subtyping Relations for Component- Oriented Formalisms and their Verification David Hurzeler PhD Examination, 9/11/2004.
A. Bucchiarone / Pisa/ 30 Jan 2007 Dynamic Software Architectures for Global Computing Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S.
Reasoning Tasks and Mediation on Choreography and Orchestration in WSMO Michael Stollberg WIW 2005, June 6-7, Innsbruck, Austria.
Abstractions. Outline Informal intuition Why do we need abstraction? What is an abstraction and what is not an abstraction A framework for abstractions.
CPSC 668Set 16: Distributed Shared Memory1 CPSC 668 Distributed Algorithms and Systems Fall 2006 Prof. Jennifer Welch.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
Lecture 4&5: Model Checking: A quick introduction Professor Aditya Ghose Director, Decision Systems Lab School of IT and Computer Science University of.
ECE Synthesis & Verification1 ECE 667 Spring 2011 Synthesis and Verification of Digital Systems Verification Introduction.
Developing Verifiable Concurrent Software Tevfik Bultan Department of Computer Science University of California, Santa Barbara
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.
TRAVEL RESERVATION SYSTEM USING WEB SERVICES COMPOSITION LANGUAGE
1 Ivan Lanese Computer Science Department University of Bologna Italy Streaming Services in SSCC Joint work with Francisco Martins, Vasco Vasconcelos and.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR ESM'2009, October 26-28, 2009, Holiday Inn Leicester, Leicester, United Kingdom.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Cheng/Dillon-Software Engineering: Formal Methods Model Checking.
Towards a Logic for Wide- Area Internet Routing Nick Feamster Hari Balakrishnan.
Model-based Methods for Web Service Verification.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
1 The CeNTIE project is supported by the Australian Government through the Advanced Networks Program of the Department of Communications, Information Technology.
Institute e-Austria in Timisoara 1 Author: prep. eng. Calin Jebelean Verification of Communication Protocols using SDL ( )
WSMX Execution Semantics Executable Software Specification Eyal Oren DERI
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Refining middleware functions for verification purpose Jérôme Hugues Laurent Pautet Fabrice Kordon
Performance evaluation of component-based software systems Seminar of Component Engineering course Rofideh hadighi 7 Jan 2010.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
1 Qualitative Reasoning of Distributed Object Design Nima Kaveh & Wolfgang Emmerich Software Systems Engineering Dept. Computer Science University College.
Enabling Grids for E-sciencE Astronomical data processing workflows on a service-oriented Grid architecture Valeria Manna INAF - SI The.
BPEL Business Process Engineering Language A technology used to build programs in SOA architecture.
16/11/ Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April W3C Working Draft.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
A Mediated Approach towards Web Service Choreography Michael Stollberg, Dumitru Roman, Juan Miguel Gomez DERI – Digital Enterprise Research Institute
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Modelling and Analysis of Time-related Properties in Web Service Compositions Raman KazhamiakinParitosh K. PandyaMarco Pistore
Theory-Aided Model Checking of Concurrent Transition Systems Guy Katz, Clark Barrett, David Harel New York University Weizmann Institute of Science.
Wscomp An Approach for the Automated Composition of BPEL Processes Annapaola Marconi ITC–irst / University of Trento Joint work.
Developing a Framework for Simulation, Verification and Testing of SDL Specifications Olga Shumsky Lawrence Henschen Northwestern University
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
SystemC Semantics by Actors and Reduction Techniques in Model Checking Marjan Sirjani Formal Methods Lab, ECE Dept. University of Tehran, Iran MoCC 2008.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
1 modeling BPEL4WS composition for verification: communication models Theoretical level : message alphabet over queues Practical level : number of queues.
Maurice H. ter Beek (ISTI–CNR, Pisa, Italy)
LPV: a new technique, based on linear programming, to formally prove or disprove safety properties J-L Lambert, valiosys.
CPE555A: Real-Time Embedded Systems
Chapter 8 – Software Testing
Deadlock Freedom by Construction
Daniel Amyot and Jun Biao Yan
Service-centric Software Engineering
Model Checking for an Executable Subset of UML
CSSSPEC6 SOFTWARE DEVELOPMENT WITH QUALITY ASSURANCE
BPMN - Business Process Modeling Notations
Program correctness Transition systems
Program correctness Model-checking CTL
Presentation transcript:

Analysis of Communication Models in Web Service Compositions Marco Pistore pistore@dit.unitn.it University of Trento Joint work with Raman Kazhamiakin and Luca Santuari

Context ASTRO project Provide tools that support the design and execution of service compositions Component services are stateful and long-running (e.g., WS-BPEL services) One of the techniques provided by ASTRO is formal verification Formal check of the correctness of the composition behavior Interaction mechanisms are complex and implementation-dependent Complex queues and message management mechanisms Scenarios with message overpasses and losses are possible Diversity of implementations Necessity to define an appropriate formal communication models Tradeoff between expressiveness and complexity of the analysis 24.05.2006 WWW'06 - Edinburgh 1

Motivating example 24.05.2006 WWW'06 - Edinburgh 3

Motivating example: Virtual Travel Agency Provide combined flight and hotel booking service Integrate separate Hotel and Flight booking services Participants are represented with their BPEL specifications Flight Request Flight Flight Offer/NA VTA Request Flight Ack/Nack Offer/NA Flight Ticket Ack/NAck Ticket Hotel Request Hotel User Hotel Offer/NA Hotel Ack/Nack Hotel Ticket 24.05.2006 WWW'06 - Edinburgh 3

VTA Processes Flight VTA User Hotel 24.05.2006 WWW'06 - Edinburgh 4 invoke (Request) on message (NA) (Offer) case (NAck) case (Ack) (NAck) (Ack) receive (Ticket) (F.NA) (F.Offer) (F.Request) (H.Request) (H.NA) (H.Offer) (F.NAck) (F.Ack) (F.Ticket) (H.Ack) (H.Ticket) (H.NAck) case (Not Available) (Available) VTA Flight User Hotel 24.05.2006 WWW'06 - Edinburgh 4

Composition Properties The composition is synchronizable At any moment of time only one component emits a message The receiver is immediately ready to consume the message Synchronous communication model Components synchronize on shared actions Efficient reasoning techniques Universally used in verification tools for web service compositions The synchronous communication model is adequate for synchronizable compositions The presence of queues in the implementation does not add new behaviors Not applicable to the wide range of systems E.g. cancellation scenarios 24.05.2006 WWW'06 - Edinburgh 5

VTA Processes – Cancellation invoke (Ack) receive (Ticket) on message (F.Ack) (F.Cancel) on alarm (F.Ticket) case (No Cancel) (Cancel) (YES) (F.YES) . . . Flight VTA User 24.05.2006 WWW'06 - Edinburgh 6

VTA Processes – Cancellation invoke (Ack) receive (Ticket) on message (F.Ack) (F.Cancel) on alarm (F.Ticket) case (No Cancel) (Cancel) (YES) (F.YES) . . . Flight VTA User Deadlock? 24.05.2006 WWW'06 - Edinburgh 6

VTA Processes – Cancellation invoke (Ack) receive (Ticket) on message (F.Ack) (F.Cancel) on alarm (F.Ticket) case (No Cancel) (Cancel) (YES) (F.YES) . . . Flight VTA User Deadlock? No! 24.05.2006 WWW'06 - Edinburgh 6

VTA Processes – Cancellation invoke (Ack) receive (Ticket) on message (F.Ack) (F.Cancel) on alarm (F.Ticket) case (No Cancel) (Cancel) (YES) (F.YES) . . . Flight VTA User 24.05.2006 WWW'06 - Edinburgh 6

Composition Properties The synchronous communication model is violated The concurrent emission of messages is possible in the same time point: F.Cancel and F.Ticket The real execution is correct Engines support non-blocking message emissions and message queues In the scenario, all message are eventually consumed, and cancellation is performed correctly An adequate communication model is needed to formally verify this scenario! Asynchronous ordered communication model Emission and reception of a message do not have to happen at the same time The order of message emission and the order of message reception between two processes should be the same (no message overpass) Intuitively: an ordered queue between each pair of processes 24.05.2006 WWW'06 - Edinburgh 7

VTA Processes – Complex Cancellation invoke (Ack) receive (Ticket) on message (F.Ack) (F.Cancel) on alarm (F.Ticket) case (No Cancel) (Cancel) (YES) (NO) (F.YES) (F.NO) . . . VTA Flight User 24.05.2006 WWW'06 - Edinburgh 8

VTA Processes – Complex Cancellation invoke (Ack) receive (Ticket) on message (F.Ack) (F.Cancel) on alarm (F.Ticket) case (No Cancel) (Cancel) (YES) (NO) (F.YES) (F.NO) . . . VTA Flight User Deadlock? No! 24.05.2006 WWW'06 - Edinburgh 8

VTA Processes – Complex Cancellation invoke (Ack) receive (Ticket) on message (F.Ack) (F.Cancel) on alarm (F.Ticket) case (No Cancel) (Cancel) (YES) (NO) (F.YES) (F.NO) . . . VTA Flight User 24.05.2006 WWW'06 - Edinburgh 8

Composition Properties The ordered communication model is violated The order of emissions of messages F.Ticket and F.NO is different from the order of receptions The real execution is be correct Engines support message overpasses In the scenario, all message are eventually consumed, and cancellation is performed correctly Also in this case, an adequate communication model is needed to model and formally verify this scenario! Asynchronous unordered communication model No restrictions on the message order Intuitively, one queue for each message type (very similar to real implementations) 24.05.2006 WWW'06 - Edinburgh 9

Our approach Define a set of communication models Different levels of complexity Different interaction mechanisms Common framework Given a certain composition scenario determine an adequate communication model Represents all real executions of the composition Preserves behavioral properties Incremental analysis process From simpler to complex communication models Check if the communication model is adequate w.r.t. the scenario If yes, perform the formal verification against this model 24.05.2006 WWW'06 - Edinburgh 2

Our approach: formal definitions Three main ingredients: Component services are formally modeled as State Transition Systems The modalities of the communications are formalized as a Communication Model The composite behavior of the component services according to a specific communication model is formally described as a Global State Transition System 24.05.2006 WWW'06 - Edinburgh 2

From BPEL to STS State Transition System Σ = ‹S,S0,I,O,R› where S – finite set of states S0 – set of initial states I – set of input actions O – set of output actions – transition relation receive (F.Request) case (Not Available) (Available) invoke (F.NA) (F.Offer) on message (F.NAck) (F.Ack) (F.Ticket) PROCESS Flight STATES {Start, switch_IsAvailable, OUT_FNA, SUCCESSS,…} INPUT FRequest, FNAck, FAck OUTPUT FNA, FOffer, FTicket INIT state = Start TRANS Start – [IN FRequest] -> switch_IsAvailable switch_IsAvailable – [TAU] -> OUT_FNA switch_IsAvailable – [TAU] -> OUT_FOffer … 24.05.2006 WWW'06 - Edinburgh 11

Communication Model A communication model Δ is defined by a set of queues ‹Q1, Q2, …, Qn› where each queue Qi has associated: A set of messages Mi A (finite or infinite) bound Bi on the messages it can contain Synchronous communication model: A single queue with bound 1 Ordered asynchronous communication model: One unbounded queue for (the messages exchanged between) each pair of services Unordered asynchronous communication model: One unbounded queue for each message type 24.05.2006 WWW'06 - Edinburgh 12

Communication Model A communication model Δ is defined by a set of queues ‹Q1, Q2, …, Qn› where each queue Qi has associated: A set of messages Mi A (finite or infinite) bound Bi on the messages it can contain Other communication models are possible: One queue per process (locally ordered model): see paper Mixed synchronous and asynchronous communications (e.g., manage only tickets/cancellations as asynchronous communications) Mixed bounded/unbounded queues … 24.05.2006 WWW'06 - Edinburgh 12

Global State Transition System A Global State Transition System (GSTS): defines the composite behavior of the system. is parametric wrt a communication model Δ A GSTS is a tuple G = ‹GS,GS0,A,T›, where: GS are the global states; each state has the form gs = (<s1,s2,…,sn>, <q1, q2, …, qm>), where: si is the state of the i-th component STS qj describes the content of the j-th queue GS0 are the initial global states A are the input-output actions T  GS x A x GS is the transition relation 24.05.2006 WWW'06 - Edinburgh 12

GSTS: transitions The transition relation T  GS x A x GS is defined as follows: If the i-th STS performs an output: update the status of the STS add the emitted message to the associated queue If the i-th STS performs an input: consume a message from the associated queue (the queue has to be non-empty!) If the i-th STS performs a TAU action: 24.05.2006 WWW'06 - Edinburgh 12

Implementation Verification Properties Translation NuSMV/Spin W1 . Wn Σ1 . Σn STS Composition VERIFICATION Valid Property Counterexample BPEL2STS Translation STS to NuSMV/Spin Validity Analysis Component Services Global STS Communication Model Validity Counterexample 24.05.2006 WWW'06 - Edinburgh 16

Experiments Instances of VTA Case Study Different communication models Different verification properties: deadlock, LTL properties (F User.state = SUCCESS) ↔ ((F Hotel.state = SUCCESS) & F (Flight.state = SUCCESS)) Instance Model Translation Validity Deadlock LTL Example 1 Sync. 0.5 sec 1 sec (Valid) Example 2 2 sec 4 sec (Invalid) − Ordered 4 sec 3 sec (Valid) 3 sec Example 3 5 sec (Invalid) 8 sec 7 sec (Invalid) Unordered 11 sec 6 sec (Valid) 5 sec 24.05.2006 WWW'06 - Edinburgh 17

Conclusions An unified framework for the analysis of Web service compositions under different communication models is presented The framework allows for validation of the composition against communication model and for verification of the valid composition A prototype tool based on the framework is implemented Future works: Better support for data (application of “knowledge level” and “abstraction based” reasoning techniques) Conformance problem: verify a WS-BPEL process against a WS-CDL choreography specification 24.05.2006 WWW'06 - Edinburgh 18

? Any question 24.05.2006 WWW'06 - Edinburgh 19