A Tool for Choreography Analysis Using Collaboration Diagrams Tevfik Bultan University of California Santa Barbara Xiang Fu Hofstra University Chris Ferguson.

Slides:



Advertisements
Similar presentations
웹 서비스 개요.
Advertisements

Web Services Architecture An interoperability architecture for the World Wide Service Network.
Seyedehmehrnaz Mireslami, Mohammad Moshirpour, Behrouz H. Far Department of Electrical and Computer Engineering University of Calgary, Canada {smiresla,
1 University of Pennsylvania Grigoris Karvounarakis February 2004 Conversation Specification: A New Approach to Design and Analysis of E- Service Composition.
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.
Understand Web Services
Introduction To System Analysis and Design
A New Computing Paradigm. Overview of Web Services Over 66 percent of respondents to a 2001 InfoWorld magazine poll agreed that "Web services are likely.
An Overview of Web Service Standards Tevfik Bultan Department of Computer Science University of California, Santa Barbara.
Pervasive Enablement of Business Process 徐天送 2004/11/2.
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.
Specification of Realizable Service Conversations Using Collaboration Diagrams Tevfik Bultan Department of Computer Science University of California, Santa.
2006 IEEE International Conference on Web Services ICWS 2006 Overview.
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
Analyzing Interactions of Asynchronously Communicating Systems Tevfik Bultan Department of Computer Science University of California, Santa Barbara
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
Web Service Architecture Part I- Overview and Models (based on W3C Working Group Note Frank.
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.
Web service testing Group D5. What are Web Services? XML is the basis for Web services Web services are application components Web services communicate.
THE NEXT STEP IN WEB SERVICES By Francisco Curbera,… Memtimin MAHMUT 2012.
Chapter 9 Web Services Architecture and XML. Objectives By study in the chapter, you will be able to: Describe what is the goal of the Web services architecture.
UML Collaboration Diagram. Recap System Sequence Diagrams (SSD) UML for SSD Examples.
CS 290C: Formal Models for Web Software Lectures 13: An Overview of Web Services Instructor: Tevfik Bultan.
Web Services Glossary Summary of Holger Lausen
Chapter 6 Introduction to Web Services. Objectives By study of the chapter, you will be able to: Describe what is Web services Describe what are differences.
Model-based Methods for Web Service Verification.
International Telecommunication Union Geneva, 9(pm)-10 February 2009 ITU-T Security Standardization on Mobile Web Services Lee, Jae Seung Special Fellow,
Architecting Web Services Unit – II – PART - III.
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
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.
Hwajung Lee.  Interprocess Communication (IPC) is at the heart of distributed computing.  Processes and Threads  Process is the execution of a program.
Introduction to Semantic Web Service Architecture ► The vision of the Semantic Web ► Ontologies as the basic building block ► Semantic Web Service Architecture.
Analyzing Interactions of Asynchronously Communicating Software Components Tevfik Bultan Department of Computer Science University of California, Santa.
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
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.
Slide 1 Service-centric Software Engineering. Slide 2 Objectives To explain the notion of a reusable service, based on web service standards, that provides.
Web Services An Introduction Copyright © Curt Hill.
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.
Web Services Architecture Presentation for ECE8813 Spring 2003 By: Mohamed Mansour.
2005 Microsoft PAKISTAN DEVELOPER CONFERENCE June 13-15, 2005.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
SE 548 Process Modelling WEB SERVICE ORCHESTRATION AND COMPOSITION ÖZLEM BİLGİÇ.
XML 1. Chapter 8 © 2013 Pearson Education, Inc. Publishing as Prentice Hall SAMPLE XML SCHEMA (XSD) 2 Schema is a record definition, analogous to the.
Sequence diagrams Lecture 5. Main terms  Interaction  Life line  Activation  Executable behavior and derived behavior  Messages  Trajectory  Frame.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
SAP Integration with Oracle 11g Muhammad Raza Fatmi.
Business Process Execution Language (BPEL) Pınar Tekin.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
Unit – 5 JAVA Web Services
Business Process Management and Semantic Technologies
Toward an Ontology-Driven Architectural Framework for B2B E. Kajan, L
Presentation transcript:

A Tool for Choreography Analysis Using Collaboration Diagrams Tevfik Bultan University of California Santa Barbara Xiang Fu Hofstra University Chris Ferguson University of California Santa Barbara

Outline Modeling Service Interactions as Conversations Specification of Conversations Using Collaboration Diagrams Analyzing Collaboration Diagrams Collaboration Diagram Extensions Tool Architecture and Experiments

Web Services The World Wide Web Consortium (W3C) defines a Web service as –"a software system designed to support interoperable machine-to- machine interaction over a network” Web services support basic client/server style interactions Service Requester Service Provider Request Response SOAP WSDL Client Server

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.”

Web Services Standards Stack Data Type Service Orchestration Protocol Web Services Business Process Execution Language (WS-BPEL) Web Services Description Language (WSDL) Simple Object Access Protocol (SOAP) XML Schema (XSD) Extensible Markup Language (XML) Atomic Service Atomic Service Orchestrated Service SOAP WSDL Choreography Web Services Choreography Description Language (WS-CDL) WS-BPEL Orchestrated Service WS-BPEL SOAP WS-CDL

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 bookInquiry 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

Asynchronous Communication Model We assume that the messages among the peers are exchanged using reliable and asynchronous messaging –FIFO and unbounded message queues order CustomerStore order

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 allowed conversations for our simple example: There are also lots of un-allowed 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

A1:cdInquiry B1:bookInquiry {1,2,A1,A2,B1,B2} {2,A1,A2,B1,B2} 1:order {2,A2,B1,B2}{2,A1,A2,B2} {2,B1,B2} {2,A1,A2} A2:cdAvailability {2,A2,B2} B1:bookAvailability {2,B2} {2} B2:bookAvailabililty {2,A2} 2 : orderReply  A1:cdInquiry B1:bookInquiry B2:bookAvailability A2:cdAvailability B2:bookAvailability Automata (Conversation Protocol) Construction 1:order 1/A1:cdInquiry A2:cdAvailability 1/B1:bookInquiry B2:bookAvailability A2,B2/2:orderReply 1:order :Store :CDSupplier :Customer :BookSupplier A2,B2/2:orderReply 1/A1:cdInquiry A2:cdAvailability 1/B1:bookInquiry B2:bookAvailability

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 or not conditional or iterative –sender for e should be either the receiver or sender for e’ If e’ is an asynchronous send and conditional or iterative –sender for e should be the sender for e’ and the receiver for e should be the receiver for e’ –e should not be conditional or iterative, –e and e’ should not send the same message A collaboration diagram is realizable if all its events are well-informed

: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

Collaboration Diagram Extensions Collaboration Diagram Sets –The conversation set if the union of the conversation sets of each collaboration diagram in the collaboration diagram set Collaboration Diagram Graphs –Conversation set is obtained by concatenating the conversation sets of different collaboration diagrams according to the collaboration diagram graph

Collaboration Diagram Sets Collaboration diagram sets are more expressive than individual collaboration diagrams :P:Q 1:x 2:y :P:Q 2:x 3:y 3:z 1:z This collaboration diagram set specifies a set of interactions that cannot be specified by any single collaboration diagram P  Q: x P  Q: y P  Q: z P  Q: x P  Q: y Corresponding conversation protocol

:P:Q 1:x 2:y P  Q: x Q  P: y  Collaboration Diagram Graphs Collaboration diagram graphs are more expressive than collaboration diagram sets This collaboration diagram graph specifies a set of interactions that cannot be specified by any collaboration diagram set Corresponding conversation protocol

Analyzing Collaboration Diagram Extensions Realizability of collaboration diagram sets and collaboration diagram graphs cannot be determined using the well-informed event rule we discussed earlier However, collaboration diagram sets and collaboration diagram graphs can be converted to conversation protocols We can use the earlier results on realizability of conversation protocols to determine realizability of collaboration diagram sets and collaboration diagram graphs

Realizability Analyzer Dependency Graph Constructor Automata Constructor Conversation Protocol Translator Collaboration Diagrams Realizability Analysis with WSAT Promela Translator LTL Model Checking with SPIN Peer Synthesizer A Tool for Analyzing Collaboration Diagrams The tool is implemented as an Add-In to Sparx Systems Enterprise Architect UML Editor

Experiments Problem InstanceRealizability 1Realizability 2States Factory ManagerYESNO383 Order ItemNO 42 (after fix) Purchase OrderYESNO246 Company StoreYES 22 Information ExchangeYES 50 Voting BoothNO 59 (after fix) Causality ModelYESNO116

orderWindow: OrderEntryWindow order:Order macallanLine: OrderLine deliveryItem: DeliveryItem macallanStock: StockItem reorderItem: ReOrderItem 1:prepareOrder 2:prepareOrderLine 3:check 4:remove? 5:needToReorder 6:newReOrder 7:newDelivery? Order Item Example

Conclusions Collaboration diagrams are an appropriate specification mechanism for service conversations –There are conditions which guarantee realizability of collaboration diagrams Collaboration diagrams can be generalized to collaboration diagram sets and collaboration diagram graphs –Results on realizability of conversation protocols can be used to determine realizability of collaboration diagram sets and collaboration diagram graphs We implemented these results in a collaboration diagram development tool

THE END

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] –…

:P:Q 1:x 2:y :P:Q :R 3:z 1:y 2:x An unrealizable Collaboration Diagram Set which consists of realizable collaboration diagrams. :R

:P:Q 1:x 2:y 3:z An unrealizable Collaboration Diagram Set which consists of realizable collaboration diagrams. :R:P:Q:R 1:y 2:x

:P:Q 1:x :R:S 2:y A realizable Collaboration diagram set which consists of unrealizable collaboration diagrams :P:Q 2:x :R:S 1:y