Specification of Realizable Service Conversations Using Collaboration Diagrams Tevfik Bultan Department of Computer Science University of California, Santa.

Slides:



Advertisements
Similar presentations
Web Service Architecture
Advertisements

1 University of Pennsylvania Grigoris Karvounarakis February 2004 Conversation Specification: A New Approach to Design and Analysis of E- Service Composition.
Introduction to WSDL presented by Xiang Fu. Source WSDL 1.1 specification WSDL 1.1 specification – WSDL 1.2 working draft WSDL.
Interactive Systems Technical Design Seminar work: Web Services Janne Ojanaho.
1 Introduction to XML. XML eXtensible implies that users define tag content Markup implies it is a coded document Language implies it is a metalanguage.
Latest techniques and Applications in Interprocess Communication and Coordination Xiaoou Zhang.
A Tool for Choreography Analysis Using Collaboration Diagrams Tevfik Bultan University of California Santa Barbara Xiang Fu Hofstra University Chris Ferguson.
An Overview of Web Service Standards Tevfik Bultan Department of Computer Science University of California, Santa Barbara.
Supporting Adaptive Web-Service Orchestration with an Agent Conversation Framework Warren Blanchet, Eleni Stroulia, Renée Elio University of Alberta.
Business Process Orchestration
Developing Verifiable Concurrent Software Tevfik Bultan Department of Computer Science University of California, Santa Barbara
Chapter 13: Process Specifications Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
CS 290C: Formal Models for Web Software Lectures 13: Choreography Modeling with Message Sequence Charts and Collaboration Diagrams Instructor: Tevfik Bultan.
A Top-Down Approach to Modeling Global Behaviors of Web Services Xiang Fu, Tevfik Bultan and Jianwen Su Department of Computer Science University of California,
Tools for Automated Verification of Web Services Tevfik Bultan Department of Computer Science University of California, Santa Barbara
Our Research Background and Possible Research Directions in the Context of the Adapt Project Davide Rossi Università di Bologna IST
Analyzing Conversations of Web Services Tevfik Bultan Department of Computer Science University of California, Santa Barbara
Conversation Specification: A New Approach to Design and Specification of E-Service Composition T. Bultan X. Fu R. Hull J. Su University of California.
Service Choreography and Orchestration with Conversations Tevfik Bultan Department of Computer Science University of California, Santa Barbara
Chapter 13: Process Specifications Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Web Services Michael Smith Alex Feldman. What is a Web Service? A Web service is a message-oriented software system designed to support inter-operable.
Blaha and Rumbaugh Sections 7.2 and 8.2
Messaging Technologies Group: Yuzhou Xia Yi Tan Jianxiao Zhai.
Web service testing Group D5. What are Web Services? XML is the basis for Web services Web services are application components Web services communicate.
SOA, BPM, BPEL, jBPM.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Web Services Mohamed Fahmy Dr. Sherif Aly Hussein.
CS 290C: Formal Models for Web Software Lectures 13: An Overview of Web Services Instructor: Tevfik Bultan.
1 Web Service Choreography Interface (WSCI) 1.0 W3C Note 8 August Dumitru Roman.
Software Component Technology and Component Tracing CSC532 Presentation Developed & Presented by Feifei Xu.
Web Services Glossary Summary of Holger Lausen
Model-based Methods for Web Service Verification.
WSDL Tutorial Ching-Long Yeh 葉慶隆 Department of Computer Science and Engineering Tatung University
Web Services Description Language CS409 Application Services Even Semester 2007.
Web Services Kanda Runapongsa Dept. of Computer Engineering Khon Kaen University.
Chapter 13: Process Specifications Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
Introduction To System Analysis and Design
1 Advanced Software Architecture Muhammad Bilal Bashir PhD Scholar (Computer Science) Mohammad Ali Jinnah University.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Web Services. Abstract  Web Services is a technology applicable for computationally distributed problems, including access to large databases What other.
The GOOD the BAD the UGLY WS-CDL: the GOOD the BAD the UGLY.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
GSFL: A Workflow Framework for Grid Services Sriram Krishnan Patrick Wagstrom Gregor von Laszewski.
1 An Introduction to UML Interaction (Sequence and Communication) Diagrams Georgia State University CIS 3300 Spring, 2009.
Separating Operational and Control Behaviors Quan Z. Sheng, Zakaria Maamar, Hamdi Yahyaoui,Jamal Bentahar and Khouloud Boukadi Internet Computing, IEEE.
Analyzing Interactions of Asynchronously Communicating Software Components Tevfik Bultan Department of Computer Science University of California, Santa.
CIM LAB MEETING Presentation on UML Rakesh Mopidevi Kwangyeol Ryu.
An Introduction to Web Services Web Services using Java / Session 1 / 2 of 21 Objectives Discuss distributed computing Explain web services and their.
1 G52IWS: Web Services Chris Greenhalgh. 2 Contents The World Wide Web Web Services example scenario Motivations Basic Operational Model Supporting standards.
Week 04 Object Oriented Analysis and Designing. What is a model? A model is quicker and easier to build A model can be used in simulations, to learn more.
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.
Deciding Choreography Reliazability Samik Basu Iowa State University Tevfik Bultan University of California at Santa Barbara Meriem Ouederni University.
Intro to Web Services Dr. John P. Abraham UTPA. What are Web Services? Applications execute across multiple computers on a network.  The machine on which.
UML - Development Process 1 Software Development Process Using UML.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
December 9, 2004 EC511 Java Pet Store Demo Chandra Donipati.
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.
Added Value to XForms by Web Services Supporting XML Protocols Elina Vartiainen Timo-Pekka Viljamaa T Research Seminar on Digital Media Autumn.
Business Process Execution Language (BPEL) Pınar Tekin.
Service Oriented Architecture (SOA) Prof. Wenwen Li School of Geographical Sciences and Urban Planning 5644 Coor Hall
Object-Orientated Analysis, Design and Programming
UML Diagrams: Sequence Diagrams Dynamic Analysis Model
PASSI (Process for Agent Societies Specification and Implementation)
Presentation transcript:

Specification of Realizable Service Conversations Using Collaboration Diagrams Tevfik Bultan Department of Computer Science University of California, Santa Barbara Xiang Fu School of Computer and Information Science Georgia Southwestern State University

Outline Modeling Service Interactions as Conversations Specification of Conversations Using Collaboration Diagrams Realizability of Collaboration Diagrams

Characteristics of Web Services Loosely coupled, interaction through standardized interfaces Standardized data transmission via XML Asynchronous messaging Platform independent (.NET, J2EE) Data Type Interface Behavior (Orchestration) Message BPEL4WS Web Service Standards Implementation Platforms Microsoft.Net, Sun J2EE WSDL SOAP XML Schema XML WS-CDL Interaction (Choreography)

Service Interactions One of the main goals of service oriented computing is to facilitate integration and composition of services Modeling, specifying and analyzing interactions among services are crucial problems that need to be addressed in order to achieve this goal Different service developers that want their services to take part in a composition have to agree on how services will interact with each other Web Service-Choreography Description Language (WS-CDL) –WS-CDL specifications describe “peer-to-peer collaborations of Web Services participants by defining, from a global viewpoint, their common and complementary observable behavior; where ordered message exchanges result in accomplishing a common business goal.”

An Example Assume four peers (individual services): –Customer, Store, CDSupplier, BookSupplier Workflow: –Customer sends an order to the Store –Store checks the availability of the CDs and the books in the order by sending a cdInquiry message to CDSupplier and a book Inquiry message to BookSupplier –CDSupplier and BookSupplier send the cdAvailability and bookAvailibility back to the Store –Store sends orderReply to the Customer

A Model for Composite Web Services A composite web service consists of –a finite set of peers Customer, Store, CDSupplier, BookSupplier –and a finite set of messages Customer  Store: order Store  CDSupplier: cdInquiry Store  BookSupplier: bookInquiry CDSupplier  Store: cdAvailability BookSupplier  Store: bookAvailability Store  Customer: orderReply

Communication Model We assume that the messages among the peers are exchanged using reliable and asynchronous messaging –FIFO and unbounded message queues This model is similar to industry efforts such as –JMS (Java Message Service) –MSMQ (Microsoft Message Queuing Service) order CustomerStore order

Questions and Challenges Questions –How do we model the global interaction behavior? –How do we make sure that the global behavior is implemented faithfully by the services that participate to the composition? Challenges –Distributed nature, no central control –Asynchronous communication

Modeling Interactions as Conversations A conversation is the global sequence of messages recorded in the order they are sent [Bultan, Fu, Hull, Su WWW’03] Conversation order Customer CDStore Store cdInquiryorder cdInquirycdAvailability …

Specifying Conversations There are lots of allowable conversations for our simple example: There are also lots of unallowable conversations: cdInqordercdAvail … bookInqorderbookAvail bookInqordercdInq … orderbookInq … … cdAvailordercdInq bookInqordercdAvail cdInqbookInqcdAvail … … …

1:order :Store :CDSupplier :Customer :BookSupplier A2,B2/2:orderReply 1/A1:cdInquiry A2:cdAvailability 1/B1:bookInquiry B2:bookAvailability Specifying Conversations via Collaboration Diagrams message sequence label must precede

More On Collaboration Diagrams sequence label must precede A2, B2 / 2 : orderReply message asynchronous communication synchronous communication cdInquiry [has CD] conditional send order * iterative send

1:order 1/A1:cdInquiry A2:cdAvailability 1/B1:bookInquiry B2:bookAvailability A2,B2/2:orderReply Dependency Among Message Send Events Message send events are ordered based on two rules –Implicit: The sequence labels that have the same prefix must be ordered based on their sequence number –Explicit: The events listed before “/” must precede the current event initial event final event

Implementing a Conversation Specification Given a conversation specification in the form of a collaboration diagram –we would like to implement a composite service which generates exactly the set of conversations specified by the collaboration diagram The composite web service that generates the exact set of conversations specified by the collaboration diagram realizes the collaboration diagram We use finite state machines as the computational model for peers –Note that, each peer has an unbounded input queue for the incoming messages –This is similar to Communicating Finite State Machines model

Store CDSupplier ?cdInquiry !cdAvailability !cdInquiry !bookInquiry ?order ?cdAvailability !cdInquiry !bookInquiry ?cdAvailability !bookInquiry ?bookAvailability !cdInquiry ?cdAvailability !orderReply BookSupplier ?bookInquiry !bookAvailability Customer !order ?orderReply Implementation with Finite State Machines

Realizability of Collaboration Diagrams Not all collaboration diagrams are realizable! It is possible to specify interactions that cannot be realized by any peer implementation This is a problem! –Assume that we want to specify how several services should interact with each other –If we write a specification that is not realizable the implementation will not be faithful to the specification no matter what we do

:Customer:Store 1:order :Shipping:Depot 2:ship Realizability of Collaboration Diagrams :Customer:Store 1:order :Shipping:Depot 3:ship 2:orderInfo RealizableNot Realizable

Realizability of Collaboration Diagrams RealizableNot Realizable :Customer:Store :Accounting 2:bill 1:order :Customer:Store :Accounting 3:bill 1:order 2:orderInfo

A Sufficient Condition for Realizability We call a send event e well informed –If e is an initial event –Otherwise, let e’ be an immediate predecessor of e If e’ is a synchronous send and not conditional or iterative –sender for e should be either the receiver or sender for e’ If e is an asynchronous send or conditional or iterative –sender for e should be the sender for e’, e should not be conditional or iterative, e and e’ should not send the same message A separated collaboration diagram is realizable if all its events are well- informed

Separated Collaboration Diagrams A collaboration diagram is separated if two different message send events send the same message only if their sequence labels have the same prefix :P:Q A1:x A2:y B1:y B2:x :R B3:z A collaboration diagram with well-informed events that is not separated and not realizable

:Customer:Store 1:order :Shipping:Depot 2:ship Realizability of Collaboration Diagrams :Customer:Store 1:order :Shipping:Depot 3:ship 2:orderInfo RealizableNot Realizable this send event is not well-informed

Realizability of Collaboration Diagrams RealizableNot Realizable :Customer:Store :Accounting 2:bill 1:order :Customer:Store :Accounting 3:bill 1:order 2:orderInfo this send event is not well-informed

Related Work Message Sequence Charts (MSC) –Realizability [Alur, Etassami, Yannakakis ICSE 00, ICALP 01] –Implied scenarios [Uchitel, Kramer, Magee ACM TOSEM 04] Modeling agent conversations with Dooley graphs [Parunak, ICMAS 96] Conversation protocols [Fu, Bultan, Hull, Su WWW 03] [Fu, Bultan, Su, TCS 04, IEEE TSE 05] Modeling services using UML diagrams –[Benatallah, Sheng, Dumas, IEEE IC 03] –[Skogan, Gronmo, Solheim IEEE EDOCC 04] –[Blake ICWS 06] –…

Conclusions and Future Work Collaboration diagrams are an appropriate specification mechanism for service conversations We gave a realizability condition for a restricted class of collaboration diagrams We are currently working on –investigating the relationship between conversation protocols and collaboration diagrams –investigating extensions of collaboration diagrams –synthesizing implementations from realizable collaboration diagrams automatically

THE END