1 University of Pennsylvania Grigoris Karvounarakis February 2004 Conversation Specification: A New Approach to Design and Analysis of E- Service Composition.

Slides:



Advertisements
Similar presentations
Context-Free and Noncontext-Free Languages
Advertisements

Natural Language Processing - Formal Language - (formal) Language (formal) Grammar.
Pushdown Automata Chapter 12. Recognizing Context-Free Languages We need a device similar to an FSM except that it needs more power. The insight: Precisely.
Introduction to Computability Theory
1 Introduction to Computability Theory Lecture7: PushDown Automata (Part 1) Prof. Amos Israeli.
1 Introduction to Computability Theory Lecture5: Context Free Languages Prof. Amos Israeli.
Fall 2005 CSE 467/567 1 Formal languages regular expressions regular languages finite state machines.
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,
Fall 2006Costas Busch - RPI1 Non-Deterministic Finite Automata.
CSC 361Finite Automata1. CSC 361Finite Automata2 Formal Specification of Languages Generators Grammars Context-free Regular Regular Expressions Recognizers.
Costas Busch - LSU1 Non-Deterministic Finite Automata.
Conversation Specification: A New Approach to Design and Specification of E-Service Composition T. Bultan X. Fu R. Hull J. Su University of California.
PZ03A Programming Language design and Implementation -4th Edition Copyright©Prentice Hall, PZ03A - Pushdown automata Programming Language Design.
Grammars, Languages and Finite-state automata Languages are described by grammars We need an algorithm that takes as input grammar sentence And gives a.
Final Exam Review Cummulative Chapters 0, 1, 2, 3, 4, 5 and 7.
Regular Model Checking Ahmed Bouajjani,Benget Jonsson, Marcus Nillson and Tayssir Touili Moran Ben Tulila
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 7 Mälardalen University 2010.
Pushdown Automata.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL 103.
::ICS 804:: Theory of Computation - Ibrahim Otieno SCI/ICT Building Rm. G15.
1 Undecidability Reading: Chapter 8 & 9. 2 Decidability vs. Undecidability There are two types of TMs (based on halting): (Recursive) TMs that always.
Computing languages by (bounded) local sets Dora Giammarresi Università di Roma “Tor Vergata” Italy.
Process Composition. Web Services: CSP/Pi-Calculus/Mealy 2 Process Composition Hierarchies Control: Centralized control: e.g., RPC/WSDL Mediated or orchestrated.
Computability Construct TMs. Decidability. Preview: next class: diagonalization and Halting theorem.
1 CD5560 FABER Formal Languages, Automata and Models of Computation Lecture 11 Midterm Exam 2 -Context-Free Languages Mälardalen University 2005.
Pushdown Automata Chapters Generators vs. Recognizers For Regular Languages: –regular expressions are generators –FAs are recognizers For Context-free.
1 Theory of Computation 計算理論 2 Instructor: 顏嗣鈞 Web: Time: 9:10-12:10 PM, Monday Place: BL.
 2005 SDU Lecture13 Reducibility — A methodology for proving un- decidability.
UNIT - I Formal Language and Regular Expressions: Languages Definition regular expressions Regular sets identity rules. Finite Automata: DFA NFA NFA with.
Ordering of Events in Distributed Systems UNIVERSITY of WISCONSIN-MADISON Computer Sciences Department CS 739 Distributed Systems Andrea C. Arpaci-Dusseau.
1 Turing Machines and Equivalent Models Section 13.1 Turing Machines.
BİL711 Natural Language Processing1 Regular Expressions & FSAs Any regular expression can be realized as a finite state automaton (FSA) There are two kinds.
Grammar Set of variables Set of terminal symbols Start variable Set of Production rules.
Theory of Languages and Automata By: Mojtaba Khezrian.
Theory of Computation. Introduction to The Course Lectures: Room ( Sun. & Tue.: 8 am – 9:30 am) Instructor: Dr. Ayman Srour (Ph.D. in Computer Science).
2003/2/23conversation pattern figures1 Figures in connection with Conversation Patterns November 19, 2002.
Topic 3: Automata Theory 1. OutlineOutline Finite state machine, Regular expressions, DFA, NDFA, and their equivalence, Grammars and Chomsky hierarchy.
Formal Languages, Automata and Models of Computation
Pushdown Automata.
Linear Bounded Automata LBAs
Pushdown automata Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
FORMAL LANGUAGES AND AUTOMATA THEORY
Natural Language Processing - Formal Language -
Pushdown Automata PDAs
Pushdown Automata PDAs
Pushdown Automata PDAs
PDAs Accept Context-Free Languages
Pushdown Automata PDAs
Chapter 7 PUSHDOWN AUTOMATA.
OTHER MODELS OF TURING MACHINES
CSE 105 theory of computation
CSE322 Chomsky classification
CSE322 The Chomsky Hierarchy
A HIERARCHY OF FORMAL LANGUAGES AND AUTOMATA
4. Properties of Regular Languages
Non-Deterministic Finite Automata
Closure Properties of Regular Languages
Time Complexity Classes
Pushdown automata Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
… NPDAs continued.
CSE 105 theory of computation
Pushdown automata Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Pushdown automata Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Sub: Theoretical Foundations of Computer Sciences
Theoretical Foundations of Computer Sciences
The Chomsky Hierarchy Costas Busch - LSU.
Pushdown automata Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
Pushdown automata Programming Language Design and Implementation (4th Edition) by T. Pratt and M. Zelkowitz Prentice Hall, 2001 Section
CSE 105 theory of computation
Presentation transcript:

1 University of Pennsylvania Grigoris Karvounarakis February 2004 Conversation Specification: A New Approach to Design and Analysis of E- Service Composition T. Bultan, X. Fu, R. Hull, J. Su (UCSB and Bell Labs) presented by: Grigoris Karvounarakis Univ. of Pennsylvania DB seminar February 26, 2004

2 University of Pennsylvania Grigoris Karvounarakis February 2004 A model of an e-service (peer) (Read input from input queue) + (Send output to other service) + halt input queue …

3 University of Pennsylvania Grigoris Karvounarakis February 2004 Discrete vs. interactive services Discrete: RPC-like, output only depends on input Interactive: long-running services, responding to asynchronous events/messages

4 University of Pennsylvania Grigoris Karvounarakis February 2004 What about composition? A lot of research on modeling and implementing e-services (local properties of atomic e-services)… … but no work on formalizing their composition and the relationship between global properties of composite e-service and local properties of atomic e-services This paper: a framework for modeling and specifying the global behavior of e-service compositions

5 University of Pennsylvania Grigoris Karvounarakis February 2004 A simple example application store warehouse1 bank warehouse2 a k o1o1 o2o2 p1p1 r1r1 r2r2 b1b1 p2p2 b2b2 a: authorize k: ok o: order r: receipt b: bill p: payment

6 University of Pennsylvania Grigoris Karvounarakis February 2004 Definitions e-composition schema (ec-schema) is a triple (M,P,C) M = message classes P = e-services (peers) C = communication channels Σ in p Σ out p : set of message classes accepted by p as input : set of message classes produced by p as output

7 University of Pennsylvania Grigoris Karvounarakis February 2004 A simple example application store warehouse1 bank warehouse2 a k o1o1 o2o2 p1p1 r1r1 r2r2 b1b1 p2p2 b2b2 M = {A,K,O,R,P,B} P = {store, bank, warehouse1, warehouse2} C = {(store, bank, a), (store, warehouse1, o), …} Σ in store Σ out store = {r, k} = {o, a}

8 University of Pennsylvania Grigoris Karvounarakis February 2004 Mealy ec-implementations (T, s,,, F, δ) Σ in p Σ out p δ: one of the “peers”: l consumes a non-empty input l produces a non-empty output l makes a move on empty string ec-configuration: ( Q 1, t 1, Q 2, t 2,…, Q n, t n, w) w is a halting conversation for I if: ( ε, s 1, ε, s 2,…, ε, s n, ε) → * ( ε, t 1, ε, t 2,…, ε, t n, w)

9 University of Pennsylvania Grigoris Karvounarakis February 2004 W = ako 1 b 1 p 1 r 1 !a?k ?r 1 !o 1 !o 2 ?r 2 !o 2 ?r 2 !o 1 ?r 1 Store Mealy ec-implementations ?a!k !p 1 ?b 1 ?b 2 !p 2 ?b 2 !p 2 ?b 1 !p 1 Bank ?o 1 !b 1 ?p 1 !r 1 !b 1 ?p 1 Warehouse1 ε W = ako 1 b 1 p 1 r 1

10 University of Pennsylvania Grigoris Karvounarakis February 2004 Mealy ec-implementations !a?k ?r 1 !o 1 !o 2 ?r 2 !o 2 ?r 2 !o 1 ?r 1 Store ?a!k !p 1 ?b 1 ?b 2 !p 2 ?b 2 !p 2 ?b 1 !p 1 Bank ?o 1 !b 1 ?p 1 !r 1 !b 1 ?p 1 Warehouse1 ε W = ako 1 b 1 r 1 p 1

11 University of Pennsylvania Grigoris Karvounarakis February 2004 Ec-languages Ec-language (C(I)): set of all halting conversations w for mealy implementation I. This example: L = ak SH ( (o 1 SH (r 1, b 1 p 1 ) )*, (o 2 SH (r 2, b 2 p 2 ) )* ) (is it the same?: L = ak ( (o 1 (r 1 || b 1 p 1 ) )* || (o 2 (r 2 || b 2 p 2 ) )* ) ) Is it the case that such ec-languages are always regular?

12 University of Pennsylvania Grigoris Karvounarakis February 2004 Ec-languages are not regular p1p1 p2p2 c 1 = (p 1, p 2, {a}) c 2 = (p 2, p 1, {b}) !a?b p1p1 ?a !b p2p2 L = {a b | n≥0}, not regular! nn In general: not even guaranteed to be context-free …

13 University of Pennsylvania Grigoris Karvounarakis February 2004 Properties of ec-languages l Context Sensitive l There exists a quasi-realtime automaton M with 3 queues that accepts C(I) Book & Greibach: “Quasi-realtime languages are the languages accepted by nondeterministic multitape Turing machines in real time. The family of quasi-realtime languages forms an abstract family of languages closed under intersection, linear erasing, and reversal. It is identical with the family of languages accepted by nondeterministic multitape Turing machines in linear time. Every quasi-realtime language can be accepted in real time by a non- deterministic one stack, one pushdown store machine, and can be expressed as the length- preserving homomorphic image of the intersection of three context-free languages” l C(I) is regular when queue length is bounded by a fixed constant (of course it is also regular if communication is synchronous …)

14 University of Pennsylvania Grigoris Karvounarakis February 2004 The synthesis problem Given an ec-schema S and some peer implementations, we can build an ec-implementation I (expecting that the composition will generate some language L).  Can we characterize the relationship between C(I) and the languages accepted by the peers (which are regular, since peers are FSAs)? The inverse problem is also interesting: given an ec- implementation I, can we find a regular language at its “core?”?

15 University of Pennsylvania Grigoris Karvounarakis February 2004 PREPONE l Swap messages in a conversation when they are “independent”: l Disjoint senders/receivers l Receiver of 2 nd is also sender of 1 st l Ec-languages are: l Closed under PREPONE l The family of C(I)s is strictly contained in the family of context-sensitive languages (since not all cf languages are closed under PREPONE)

16 University of Pennsylvania Grigoris Karvounarakis February 2004 Joining local views p1p1 L 1 = {a} p2p2 c 1 =(p 1, p 2, {a}) p3p3 p4p4 c 2 = (p 3, p 4, {b}) c 2 = (p 4, p 3, {c}) … but their composition is not {a, bc}! C(I) = {ε, a, bc, abc, bac, bca} L 2 = {bc}

17 University of Pennsylvania Grigoris Karvounarakis February 2004 Joining local views L i = {w | for all I, π p (w) in L i } closure(L): minimal superset of L closed under prepone and join closure(L) ≤ C(I) Unfortunately, there are cases when closure(L) != C(I)

18 University of Pennsylvania Grigoris Karvounarakis February 2004 PREPONE is not enough p1p1 p2p2 c 1 = (p 1, p 2, {a}) c 2 = (p 2, p 1, {b}) L = {ab, bac} closure(L) = L p3p3 c 3 =(p 2, p 3, {c}) I(p 1 ) !a ?b I(p 2 ) !b ?a !c … but C(I) != closure(L) (e.g., it also includes abc)

19 University of Pennsylvania Grigoris Karvounarakis February 2004 Local prepone l Applies locally (on each peer), i.e.: LP i l Extends prepone by allowing to swap messages m 1, m 2 when receiver(m 1 ) = sender(m 2 ) (doesn’t this mean we get all permutations? What about possible dependencies?) ecc(L) = i LP i ( π p i (L)) ecc(L) = i LP i (L(I(p i ))) * *

20 University of Pennsylvania Grigoris Karvounarakis February 2004 A different approach Start from a conversation specification S for ec-schema S, build an ec-implementation I that conforms to S or realizes S. For every regular language L we can construct a Mealy ec-implementation I such that: C(I) = ecc(L) (construct automaton for L and “project” it on individual peers)

21 University of Pennsylvania Grigoris Karvounarakis February 2004 The inverse problem It is not the case of course that for every I there exists a regular language s.t. C(I) = ecc(L) … but this is true for tree-based schemas (i.e., schemas whose undirected corresponding graph is a tree)

22 University of Pennsylvania Grigoris Karvounarakis February 2004 Bottom-Up vs. Top-Down Two approaches for designing composite e-services:  Bottom-Up: Synthesize from atomic e-services Design each service individually and compose them (through join and prepone) yields C(I) >= closure(L) Conversely, given a I, we cannot find a regular language that it implements  Top-Down: may be conceptually cleaner First, define a conversation specification S of the composition For every regular language we can construct a Mealy ec- implementation I that realizes it (i.e., C(I) = ecc(L))