1 Formalizing Web Service Choreographies Antonio Brogi, Carlos Canal, Ernesto Pimentel, Antonio Vellecillo presented by Axel Polleres

Slides:



Advertisements
Similar presentations
Web Services Choreography Description Language Overview 24th November2004 Steve Ross-Talbot Chief Scientist, Enigmatec Corporation Ltd Chair W3C Web Services.
Advertisements

Web Services Choreography Description Language Overview 6th December 2004 JP Morgan Steve Ross-Talbot Chair W3C Web Services Activity Co-chair W3C Web.
Process Algebra Book: Chapter 8. The Main Issue Q: When are two models equivalent? A: When they satisfy different properties. Q: Does this mean that the.
Service Description: WSDL COMP6017 Topics on Web Services Dr Nicholas Gibbins –
WS Orchestration Eyal Oren DERI 2004/04/07
Semantics Static semantics Dynamic semantics attribute grammars
1 Intention of slide set Inform WSMOLX of what is planned for Choreography & Orhestration in DIP CONTENTS Terminology Clarification / what will be described.
Brewer’s Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services Authored by: Seth Gilbert and Nancy Lynch Presented by:
1 1 Regression Verification for Multi-Threaded Programs Sagar Chaki, SEI-Pittsburgh Arie Gurfinkel, SEI-Pittsburgh Ofer Strichman, Technion-Haifa Originally.
Programming Paradigms for Concurrency Lecture 11 Part III – Message Passing Concurrency TexPoint fonts used in EMF. Read the TexPoint manual before you.
Course on Probabilistic Methods in Concurrency (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 The pi-calculus and the asynchronous.
Reasoning Tasks and Mediation on Choreography and Orchestration in WSMO Michael Stollberg WIW 2005, June 6-7, Innsbruck, Austria.
Introduction to Computability Theory
Constraint Logic Programming Ryan Kinworthy. Overview Introduction Logic Programming LP as a constraint programming language Constraint Logic Programming.
CS 290C: Formal Models for Web Software Lecture 10: Language Based Modeling and Analysis of Navigation Errors Instructor: Tevfik Bultan.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
Kmi.open.ac.uk Semantic Execution Environments Service Engineering and Execution Barry Norton and Mick Kerrigan.
Lesson 6. Refinement of the Operator Model This page describes formally how we refine Figure 2.5 into a more detailed model so that we can connect it.
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
C++ fundamentals.
1 Adapting BPEL4WS for the Semantic Web The Bottom-Up Approach to Web Service Interoperation Daniel J. Mandell and Sheila McIlraith Presented by Axel Polleres.
1 Object-Oriented Testing CIS 375 Bruce R. Maxim UM-Dearborn.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
 Copyright 2005 Digital Enterprise Research Institute. All rights reserved. Towards Translating between XML and WSML based on mappings between.
1 Web Service Choreography Interface (WSCI) 1.0 W3C Note 8 August Dumitru Roman.
Formal Model for Simulations Instructor: DR. Lê Anh Ngọc Presented by – Group 6: 1. Nguyễn Sơn Hùng 2. Lê Văn Hùng 3. Nguyễn Xuân Hậu 4. Nguyễn Xuân Tùng.
Modeling Process CSCE 668Set 14: Simulations 2 May be several algorithms (processes) runs on each processor to simulate the desired communication system.
Agent Model for Interaction with Semantic Web Services Ivo Mihailovic.
Model-based Methods for Web Service Verification.
MATH 224 – Discrete Mathematics
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
SDS Foil no 1 Process Algebra Process Algebra – calculating with behaviours.
Practical Object-Oriented Design with UML 2e Slide 1/1 ©The McGraw-Hill Companies, 2004 PRACTICAL OBJECT-ORIENTED DESIGN WITH UML 2e Chapter 9: Interaction.
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
10/18/20151 Business Process Management and Semantic Technologies B. Ramamurthy.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Amending Choreographies Joint work with Fabrizio Montesi and Gianluigi Zavattaro.
CS5204 – Operating Systems 1  -Calculus Reasoning about concurrency and communication (Part 1).
ISBN Chapter 3 Describing Semantics -Attribute Grammars -Dynamic Semantics.
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Web Services Flow Language Guoqiang Wang Oct 7, 2002.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
By, Venkateswara Reddy. Tallapu Reddy. 1.Introduction. 2.What is X-Machine Testing..?? 3.Methods of X-Machine Testing. 4.Variants of X- Machine. 5.Stream.
1 Capturing Requirements As Use Cases To be discussed –Artifacts created in the requirements workflow –Workers participating in the requirements workflow.
2. Regular Expressions and Automata 2007 년 3 월 31 일 인공지능 연구실 이경택 Text: Speech and Language Processing Page.33 ~ 56.
WSMO Presentation „A formal Approach to Component Adaption“ – Summary on a paper by A. Bracciali, A. Brogi and C. Canal … to appear in The Journal of Systems.
16/11/ Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April W3C Working Draft.
Lecture 5 1 CSP tools for verification of Sec Prot Overview of the lecture The Casper interface Refinement checking and FDR Model checking Theorem proving.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
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.
Dr. Rebhi S. Baraka Advanced Topics in Information Technology (SICT 4310) Department of Computer Science Faculty of Information Technology.
Modelling and Analysis of Time-related Properties in Web Service Compositions Raman KazhamiakinParitosh K. PandyaMarco Pistore
Chapter 8 Asynchronous System Model by Mikhail Nesterenko “Distributed Algorithms” by Nancy A. Lynch.
Winter 2007SEG2101 Chapter 121 Chapter 12 Verification and Validation.
Fusion Design Overview Object Interaction Graph Visibility Graph Class Descriptions Inheritance Graphs Fusion: Design The overall goal of Design is to.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
1 Theoretical Foundations of Concurrency A formal study of concurrency enables: understanding the essential nature of concurrency reasoning about the behavior.
CEN6502, Spring Understanding the ORB: Client Side Structure of ORB (fig 4.1) Client requests may be passed to ORB via either SII or DII SII decide.
TTCN-3 Testing and Test Control Notation Version 3.
SE 548 Process Modelling WEB SERVICE ORCHESTRATION AND COMPOSITION ÖZLEM BİLGİÇ.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
Deriving Semantics from WS- BPEL Specifications of Parallel Business Processes on an Example Prof., Dr. Vladimir Dimitrov, University of Sofia, Faculty.
Deadlock Freedom by Construction
Chapter 10: Process Implementation with Executable Models
Business Process Management and Semantic Technologies
Presentation transcript:

1 Formalizing Web Service Choreographies Antonio Brogi, Carlos Canal, Ernesto Pimentel, Antonio Vellecillo presented by Axel Polleres

2 Overview Formalizing WSCI descriptions in a process algebra (CCS): – WSCI – CCS Exemplify how this formalization can be used to prove certain properties such as: – compatibility of services – automatic generation of adaptors – deadlock-freeness Use for WSMO? – Usability of WSCI for WSMO interface descriptions? – Interesting: suggested algorithm for automatic adaptor generation from a general mapping description.

3 WSCI Allows to describe more complex interface descriptions on top of WSDL: Describe message flow from the viewpoint of each web service. construct allows to model “externally observable behavior” of the service. construct: collection of interfaces and links between these interfaces: – allows for combination of two or more interface definitions and modeling their collaboration by linking symmetric WSDL operations of the respective interfaces.

4 WSCI: Constructs sequence, parallel, choice, switch, loop, activities etc. exceptions: onFault, onTimeout, onMessage calling (synchronous) or spawning (asynchronous) named processes

5 Running Example:... <action name=“ReceiveBooking” operation = “BStoTraveller/Book”/> placesAvailable <action name=“SendConfirmation” operation = “BStoTraveller/Confirmation”/> <action name=“SendRefusal” operation = “BStoTraveller/Refusal”/> Book Confirmation Refusal TravelAgencyWS bookingReq bookingAck bookingConf bookingRef Global Model:... <connect operations = “bos:BStoTraveller/Book tra:TravellerToBS/BookFlight” />...

6 CCS (Calculus of Communicating Systems) by Robin Milner Three kinds of atomic actions α : internal action … τ reception via channel a… a?(x) transmission via channel a … a!(x) Processes: P ::= 0 | α.P | P + P | P║P | A(x) A(x) = P … process definition, s.t. A(y) behaves like P{x/y}, allows also for recursive definitions Transition rule for synchronization: Formalizing WSCI P  P’Q  Q’ a!(x)a?(y) P║Q  P’║Q’{x/y}

7 Translating WSCI to CCS: Each WSDL message is represented by a CCS channel Connections between operations in WSCI global model are naturally modelled by putting the corresponding processes in parallel, and linking their channels accordinlgy to what is specified in the global model

8 Translating WSCI to CCS: [[in port/op/msg]]  port/op/msg?() [[out port/op/msg]]  port/op/msg!() [[empty]]  τ [[all P1 P2 … Pn]]  [[P1]] ║ [[P2]] ║ [[Pn]] Seq = sequence P1 P2 … Pn  [[Seq(sq 0, sq n )]] = [[P1 ]](sq 0, sq 1 ) || [[P2 ]](sq 1, sq 2 ) … [[Pn ]](sq n-1, sq n ) where [[P]](begin,end) = begin?().[[P]].end!() Similar translations for switch, choice, (by means of “+”), timeouts, exception handlers (by spawning a parallel Timer process or introducing an extra argument for aborting execution when timeout is reached or an exception is raised)

9 Example: [[BookTrip]]  BStoTraveller/Book/bookingReq?(). BSToTraveller/Book/bookingAck!(). ( τ. BSToTraveller/Confirmation/bookingConf!().0 + τ. BSToTraveller/Refusal/bookingRef!().0) Remark: τ in combination + with here models a local choice, only depending on an internal condition of the service which cannot be checked from outside.

10 Checking Web Service Compatibility A set of interfaces is compatible if the system formed by the several entities always performs a finite number of silent actions τ leading to the inaction 0. In case of infinite loops, we redefine this definition to: system fails, whenever it could get stuck by a finite set of silent actions leading to a process different from 0 which cannot perform any further action by itself. Weaker def. of compatibility: A system is compatible if it does not fail  check by recursively matching input and output actions on translated interfaces. For instance: Traveller = TravellerToBS/Book/bookingReq!(). TravellerToBS/Book/bookingAck?(). TravellerToBS/Book/bookingConf?().0 is NOT compatible with BookTrip!

11 Checking Web Service Replacability S1 is replaceable by S2 if – Required services of S2 are a subset of req services for S1 – Behavior of both services ist consistent (behavioral subtyping): (i)S2 preserves the semantics of WS1 (concerning global choices) (ii)S2 does not extend S1 (i.e. all actions in S2 are also in S1) (iii)WS2 terminates whenever WS1 does. For instance: ImprovedBookTrip = BStoTraveller/Book/bookingReq!(). BStoTraveller/Book/bookingAck?(). BStoTraveller/Confirmation/bookingConf?().0 Is a valid substitute for the original BookTrip. Remark: any behavioral subtype is compatible with more clients thant its supertype.

12 Web Service adaption Paper provides a notation for mappings of messages beyond simple (one-to-one) WSCI mappings for global model, for instance: S = { request!()<> bookingReq?(), bookingAck!(); reply?(“confirmed”) <> bookingConf!(); reply?(“refused”) <> bookingRef!()} Paper defines algorithm for incrementally building up an “adapter entity” from such a mapping spec. and the respective interface definitions which successfully establishes a compatible system.

13 Conclusion & Outlook Authors claim that formalization in a process algebra allows to apply model-checking techniques for checking complex properties (such as compatibility, replacability, and beyond) Compatibility & Replacebility only sketched but not formally explained here (references to previous work on a formal notion on behavioral compatibility using CORBA given). Mapping definitions more general than WSCI global model (not only one-to-one message mappings. “Adapter generation” is more like derivation of the interface of an adaptor, no hints whether this is possible in general. – This is rather checking whether the mapping is feasible than “adaptor generation”: Mapping between messages has to be given beforehand.

14 Use for WSMO More in-depth study of process algebras (CCS, CSP, etc. and their use for modeling choreographies!) Use case modeling necessary, the examples here can serve as a starting point First steps in the direction of process mediation (mediators including dynamics)