Conversation Specification: A New Approach to Design and Specification of E-Service Composition T. Bultan X. Fu R. Hull J. Su University of California.

Slides:



Advertisements
Similar presentations
IPC (Interprocess Communication)
Advertisements

Global States.
Lecture 24 MAS 714 Hartmut Klauck
1 University of Pennsylvania Grigoris Karvounarakis February 2004 Conversation Specification: A New Approach to Design and Analysis of E- Service Composition.
Lecture 8: Asynchronous Network Algorithms
Architecture Representation
PROTOCOL VERIFICATION & PROTOCOL VALIDATION. Protocol Verification Communication Protocols should be checked for correctness, robustness and performance,
1 1 CDT314 FABER Formal Languages, Automata and Models of Computation Lecture 3 School of Innovation, Design and Engineering Mälardalen University 2012.
Chapter 15 Basic Asynchronous Network Algorithms
Termination Detection of Diffusing Computations Chapter 19 Distributed Algorithms by Nancy Lynch Presented by Jamie Payton Oct. 3, 2003.
Distributed Databases John Ortiz. Lecture 24Distributed Databases2  Distributed Database (DDB) is a collection of interrelated databases interconnected.
Distributed Computing 8. Impossibility of consensus Shmuel Zaks ©
S NAPSHOT A LGORITHM. W HAT IS A S NAPSHOT - INTUITION Given a system of processors and communication channels between them, we want each processor to.
1 Introduction to Computability Theory Lecture12: Reductions Prof. Amos Israeli.
Convertibility Verification and Converter Synthesis: Two Faces of the Same Coin Jie-Hong Jiang EE249 Discussion 11/21/2002 Passerone et al., ICCAD ’ 02.
CPSC 411, Fall 2008: Set 12 1 CPSC 411 Design and Analysis of Algorithms Set 12: Undecidability Prof. Jennifer Welch Fall 2008.
An Introduction to Input/Output Automata Qihua Wang.
Presenter : Shih-Tung Huang Tsung-Cheng Lin Kuan-Fu Kuo 2015/6/15 EICE team Model-Level Debugging of Embedded Real-Time Systems Wolfgang Haberl, Markus.
Business Process Orchestration
Developing Verifiable Concurrent Software Tevfik Bultan Department of Computer Science University of California, Santa Barbara
Specification of Realizable Service Conversations Using Collaboration Diagrams Tevfik Bultan Department of Computer Science University of California, Santa.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
Software Engineering, COMP201 Slide 1 Protocol Engineering Protocol Specification using CFSM model Lecture 30.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
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
Computability and Complexity 3-1 Turing Machine Computability and Complexity Andrei Bulatov.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
Analyzing Conversations of Web Services Tevfik Bultan Department of Computer Science University of California, Santa Barbara
Chapter 1 Program Design
System-Level Types for Component-Based Design Paper by: Edward A. Lee and Yuhong Xiong Presentation by: Dan Patterson.
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.
[ §4 : 1 ] 4. Requirements Processes II Overview 4.1Fundamentals 4.2Elicitation 4.3Specification 4.4Verification 4.5Validation Software Requirements Specification.
02/06/05 “Investigating a Finite–State Machine Notation for Discrete–Event Systems” Nikolay Stoimenov.
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Chapter 8 Architecture Analysis. 8 – Architecture Analysis 8.1 Analysis Techniques 8.2 Quantitative Analysis  Performance Views  Performance.
Lecture #12 Distributed Algorithms (I) CS492 Special Topics in Computer Science: Distributed Algorithms and Systems.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
Triple-space computing* The Third International Semantic Web Conference Hiroshima, Japan, Dieter Fensel Digital Enterprise.
- 1 - Embedded Systems - SDL Some general properties of languages 1. Synchronous vs. asynchronous languages Description of several processes in many languages.
DISTRIBUTED COMPUTING PARADIGMS. Paradigm? A MODEL 2for notes
Requirements as Usecases Capturing the REQUIREMENT ANALYSIS DESIGN IMPLEMENTATION TEST.
COMPARISSON OF TECHNOLOGIES FOR CONNECTING BUSINESS PROCESSES AMONG ENTERPRISES Maja Pušnik, dr. Marjan Heričko.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Process Composition. Web Services: CSP/Pi-Calculus/Mealy 2 Process Composition Hierarchies Control: Centralized control: e.g., RPC/WSDL Mediated or orchestrated.
Web Services Flow Language Guoqiang Wang Oct 7, 2002.
The GOOD the BAD the UGLY WS-CDL: the GOOD the BAD the UGLY.
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.
GSFL: A Workflow Framework for Grid Services Sriram Krishnan Patrick Wagstrom Gregor von Laszewski.
Internal Talk, Oct Executable Specifications using Message Sequence Charts Abhik Roychoudhury School of Computing National University of Singapore.
Presented By Venkatavasishta Chemudupati
SOFTWARE DESIGN. INTRODUCTION There are 3 distinct types of activities in design 1.External design 2.Architectural design 3.Detailed design Architectural.
Scientific Workflow systems: Summary and Opportunities for SEEK and e-Science.
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.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
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.
Products of MSC-Graphs Philippe Darondeau Blaise Genest Loïc Hélouët IRISA Laboratory / CNRS&INRIA Rennes, France.
Automated Composition and Analysis. Web Services: Design and Analysis2 Automated Composition Given a specification of the composite service, find individual.
Fault tolerance and related issues in distributed computing Shmuel Zaks GSSI - Feb
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
Software Systems Verification and Validation Laboratory Assignment 4 Model checking Assignment date: Lab 4 Delivery date: Lab 4, 5.
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.
Communicating Timed Automata Pavel Krčál Wang Yi Uppsala University [CAV’06]
2003/2/23conversation pattern figures1 Figures in connection with Conversation Patterns November 19, 2002.
Web Ontology Language for Service (OWL-S)
Lecture One: Automata Theory Amjad Ali
Presentation transcript:

Conversation Specification: A New Approach to Design and Specification of E-Service Composition T. Bultan X. Fu R. Hull J. Su University of California at Santa Barbara Bell Labs, Lucent Technologies

May 24, 2003WWW The E-Services Paradigm  E-services : network-resident software services accessible via standardized protocols  In e-commerce, telecom, science  Possibility of automatic discovery, composition, invocation, monitoring  Primary roots :  Process description formalisms, including automata and workflow  Data management (including models, transforms, mediation, transactions)  Distributed computing middleware

May 24, 2003WWW E-Services Composition  Web  very flexible forms of distributed computing (SOAP, WSDL)  Composition: distributed, flexible, and complex  More flexible, less structured than CORBA  Data management plays a large role  Increased structure helps understanding fundamental issues  “Glue” languages: WSFL, XLANG, BPEL4WS, BPML  “Behavioral” signatures: automata-based, WSCL, “session types”  Formalisms to describe e-services: DAML-S pre- and post- conditions

May 24, 2003WWW Fundamental Issues in Composition  How to build composite e-services from atomic ones?  Various standards proposed; different disciplines addressed  Most pursue a procedural approach  Approaches to “synthesize” (automatic composition) e-compositions from desired global properties  How to analyze composite e-services?  “Correctness”, behaviors, composable? compatibility?  Tools for analysis of compositions  Formal foundations not yet clear

May 24, 2003WWW Summary of Contributions  Propose a model of global behaviors for composite e-services  E-service interactions via messaging (e.g. in the spirit of JMS, BizTalk): asynchronous + FIFO queue  Use formal language techniques  Technical results concerning Mealy machines as participating e-services: 1.Global behaviors are not always regular languages 2.The “prepone” and “join” closure of every regular language = global behavior of some composite e-service 3.The converse of 2. is not true  Implications to composition design:  Top-down is better than bottom-up  Bounded queues vs unbounded

May 24, 2003WWW Outline  A Model for E-services & Compositions  Conversations  Mealy Peers/Implementations  Conversation Specifications (Top-Down)  Related work  Conclusions

May 24, 2003WWW  An E-C schema is a triple (M, P, C ) Specifies the infrastructure of composition E-Composition Schema a uthorize  M : finite set of message classes ware- house2 ware- house1 store bank  P : finite set of peers (e-services) okok b ill 2 p ayment 2 o rder 1 r eceipt 1 o rder 2 r eceipt 2 p ayment 1 b ill 1  C : finite set of peer to peer channels “conservative” “aggressive”

May 24, 2003WWW Composition Infrastructure  Possible models:  Peer-to-peer (distributed control)  Hub-and-spoke (centralized control) ware- house2 ware- house1 store bank okok a uthorize o rder 2 r eceipt 2 p ayment 1 b ill 1 o rder 1 r eceipt 1 b ill 2 p ayment 2 a k’k’ r o b2b2 p2p2 r2r2 o2o2 r1r1 o1o1 b1b1 p1p1 k a’a’ b p ware- house2 ware- house1 store bank mediator  Our technical results do not rely on special roles of peers (in the spirit of P2P) w2w1 s b w2 w1 s b m

May 24, 2003WWW Communication Channels  Channels are assumed to be reliable  Asynchronous, for example, the following channel: ware- house1 store o rder 1 send Order 1 … o1o1 send Order 1 receive Receipt 1 …  Queues are FIFO, unbounded length  Can simulate synchronous and also bounded queues

May 24, 2003WWW Messages  Messages are classified into classes  Each class is associated with one channel  Each message class may have additional attributes which can carry the contents of messages  For this paper, analysis involves no contents  Results immediately apply to “finite domain” contents ware- house1 store o rder 1

May 24, 2003WWW Peers (E-services)  In the most general case, a peer can be a Turing machine input messages to other e-services Do until halt nondeterministic choice: read an input; send an output to some other peer; halt; end choice local store message log  Essence of BPEL4WS, BPML, etc. standards:  Finite control + data structures  Infinite state system and thus difficult to analyze  Our approach:  Finite control + (finite number of) message classes (+ finite domain contents)  Open to extend to allow data structures (not in this paper)  Impossible to analyze input messages to other e-services Do until halt nondeterministic choice: read an input; send an output to some other peer; halt; end choice local store message log

May 24, 2003WWW Outline  A Model for E-services & Compositions  Conversations  Mealy Peers/Implementations  Conversation Specifications (Top-Down)  Related work  Conclusions

May 24, 2003WWW Global Behaviors of Composition  Center around composition (collaboration)  Rather than individual E-services  “Behavioral type” checking: composability is an important issue  Our focus: Is the specification of a composite E-service “correct”?  How, when, and what do peers communicate?  Correctness: properties of communication during possible executions  Ignore port-level details

May 24, 2003WWW o rder 2 p ayment 1 b ill 1 Conversations  Watcher: “records” the messages (classes) as they are sent okok a uthorize r eceipt 2 o rder 1 r eceipt 1 b ill 2 p ayment 2 Watcher ware- house2 ware- house1 store bank ako1o1 b1b1 o2o2  A conversation is a sequence of messages the watcher sees in a successful run (or session)  E-composition (ec) language: the set of all possible conversations p1p1 r1r1 r2r2 b2b2 p2p2

May 24, 2003WWW Outline  A Model for E-services & Compositions  Conversations  Mealy Peers/Implementations  Conversation Specifications (Top-Down)  Related work  Conclusions

May 24, 2003WWW Peers Revisited  Again, ports and storages are ignored  Internal logic of peers : finite state control input messages to other e-services Do until halt nondeterministic choice: read an input; send an output to some other peer; halt; end choice local store message log

May 24, 2003WWW Mealy Peers  Mealy machines: Finite state machines with input (incoming messages) & output (outgoing messages) warehouse2 ?o2?o2 !r2!r2 !r2!r2 null !r2!r2 !b2!b2 !b2!b2 ?p2?p2 ?p2?p2

May 24, 2003WWW Executing a Mealy Composition  Execution halts if  All mealy peers are in final states  All queues are empty warehouse2 ?o2?o2 !r2!r2 !r2!r2 null !r2!r2 !b2!b2 !b2!b2 ?p2?p2 ?p2?p2 bank ?a?a !k!k … store !a!a ?k?k … !o2!o2 w1 ?o1?o1 … ako2o2 !o1!o1 …

May 24, 2003WWW Outline  A Model for E-services & Compositions  Conversations  Mealy Peers/Implementations  Conversation Specifications (Top-Down)  Related work  Conclusions

May 24, 2003WWW  E-C languages are not always regular  Example: ECL  a * b *  a n b n E-Composition Language  Regular ?b?b !a!a p1p1 p2p2 ?a?a !b!b a b  Not context free for some Mealy compositions  Causes: asynchronous communication & unbounded queue  Bounded queues or synchronous: ECL always regular

May 24, 2003WWW Practical Implications  Simply composing peers without a global sense can make the E-composition behaviors very complicated  Non regular means many model checking tools are out of reach (for correctness)  Bottom up won’t always work well

May 24, 2003WWW An Alternative  Given a regular language L as the global behavior, find Mealy peers so that the ECL  L  A quick answer: no  But, wait…

May 24, 2003WWW  Local view of a conversation for a peer: part of the execution that is related to the peer  Defined as projection:  p  w  for a conversation w  Two conversations cannot be distinguished if they have exactly the same set of local views  If abc is a part of a conversation, so are bac and bca   p i  abc  p i  bac  p i  bca  a for i    p i  abc  p i  bac  p i  bca  bc for i  Local Views a p2p2 p1p1 b c p4p4 p3p3

May 24, 2003WWW  Given languages L i over  i,   i  n  Conversations (ECLs) L are closed under “projection-join”: Join

May 24, 2003WWW Local Prepone  peer  w  should also allow a peer p !a!a !b!b c …ab… local view at p … ab……

May 24, 2003WWW A Synthesis Result  Given a regular language L, we can find a Mealy composition such that its ECL is the closure:  Intuitively: given a regular L (e.g., ako 1 …), we can find Mealy peers whose conversations are not arbitrary  Opportunity for automatic composition  But some Mealy compositions do not relate to any regular languages in this way

May 24, 2003WWW The Converse (General Case)  There is an Mealy compositions whose ECL is not for every regular languages L a b ?a?a !c!c p2p2 !b!b !a!a p1p1 p3p3 ?c?c ?b?b c ECL = { a i bc i | i  0 }

May 24, 2003WWW  When the peer-channel graph is a tree, then the Mealy composition has an ECL equal to for some regular languages L  Intuitively: the global behavior of bottom-up composition is still predictable if the composition infrastructure is a tree  In particular, adding an mediator (hub-spoke) isn’t a bad idea! The Tree Case

May 24, 2003WWW Hub-and-spoke  For every star-shaped E-composition infrastructure, and every regular language L, we can construct an Mealy composition whose ECL  L  Good news for hub-and-spoke!

May 24, 2003WWW Summary of Technical Results 1.ECLs of some Mealy compositions are not regular, some others not context free 2.The “prepone” and “join” closure of every regular language = ECL of some composite Mealy E-services 3.The converse of 2. is not true in general, true in special cases  However: if bounded queue or synchronous: ECL of every Mealy composition is regular  Design time decision! Need to be explicit in specifications (BPEL4WS, BPLM, …)

May 24, 2003WWW Outline  A Model for E-services & Compositions  Conversations  Mealy Peers/Implementations  Conversation Specifications (Top-Down)  Related work  Conclusions

May 24, 2003WWW Related Work  Similar E-service models:  BPEL4WS (WSFL, XLANG), BPML, WSCL  Workflow, 1-safe Petri-nets   -calculus: synchronous but can simulate unbounded buffer effect  Other synchronous models  CSP [Hoare ’85], I/O automata [Lynch-Tuttle ’87], interface automata [Henzinger et al ’01 ]  Other asynchronous models  Communicating FSA [Brand-Zafiropulo ’82], Message Sequence Charts [Alur et al ’00]

May 24, 2003WWW Conclusions  Conversations are an interesting model for global behaviors  Only a beginning, more need to be understood (see also [Hull et al PODS ’03])  Would like ECLs to be regular, some sufficient conditions are given in [Fu-Bultan-S. CIAA ’03]  Infinite domain message contents?  Design tools, e.g., verification tools?  Spawning new processes?  …