WS-CDL and a Theoretical Basis for Communication-Centred Programming 5th December 2006 Marco Carbone Imperial College London.

Slides:



Advertisements
Similar presentations
Web Services Choreography and Process Algebra 29th April 2004 Steve Ross-Talbot Chief Scientist, Enigmatec Corporation LtdEnigmatec Corporation Ltd Chair.
Advertisements

Pi4soa Implementation Issues WS-CDL Candidate Recommendation December 2005 Pi4 Technologies Ltd.
Π4π4 Dancing with Services 10th January 2005 Steve Ross-Talbot Pi4 Technologies.
Web Services Choreography Description Language Overview 24th November2004 Steve Ross-Talbot Chief Scientist, Enigmatec Corporation Ltd Chair W3C Web Services.
Aggregating Web Services: Choreography and WS-CDL Nickolaos Kavantzas, Web Services Architect Designer and Lead Editor of WS-CDL Oracle Corporation, April.
Jeff Mischkinsky Nickolas Kavantzas Goran Olsson Web Services Choreography.
Web Services Choreography Description Language Overview 6th December 2004 JP Morgan Steve Ross-Talbot Chair W3C Web Services Activity Co-chair W3C Web.
SOA Modelling By Rajat Goyal.
Web Services Choreography Description Language (WS-CDL) Jacek Kopecký June 2004.
Inference of progress properties for (multi party) sessions Mario Coppo (Universita’ di Torino) joint work with Mariangiola Dezani, Nobuko Yoshida Lisbon,
1 Intention of slide set Inform WSMOLX of what is planned for Choreography & Orhestration in DIP CONTENTS Terminology Clarification / what will be described.
SECOND MIDTERM REVIEW CS 580 Human Computer Interaction.
Π 4 Technologies Building distributed systems using WS-CDL 10th June 2007 Steve Ross-Talbot Chair Pi4 Technologies Foundation CTO Hattrick Software Ltd.
ISBN Chapter 3 Describing Syntax and Semantics.
Implementation Advice: When Intelligent Agents Meet RDF 2004 년 1 학기 - 인간과 컴퓨터 상호작용 인공지능연구실, 부산대학교 최성자.
Formal Methods in Software Engineering Credit Hours: 3+0 By: Qaisar Javaid Assistant Professor Formal Methods in Software Engineering1.
OASIS Reference Model for Service Oriented Architecture 1.0
A. Bucchiarone / Pisa/ 30 Jan 2007 Dynamic Software Architectures for Global Computing Antonio Bucchiarone PhD Student – IMT Graduate School Piazza S.
Nadia Ranaldo - Eugenio Zimeo Department of Engineering University of Sannio – Benevento – Italy 2008 ProActive and GCM User Group Orchestrating.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
Business Process Orchestration
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
1 WS Technologies III Orchestration Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration.
CS 290C: Formal Models for Web Software Lectures 14 and 15: Choreography and Orchestration Modeling with Process Algebras Instructor: Tevfik Bultan.
Models of Computation as Program Transformations Chris Chang
Π 4 Technologies Building distributed systems using WS-CDL and FpML 16th May 2007 Steve Ross-Talbot CTO Hattrick Software Chair W3C Web Services Choreography.
Background Data validation, a critical issue for the E.S.S.
Use-Cases / Technology Session DE Cluster Meeting, Brussels nd May, 2007.
A Survey on Service Composition Languages and Models Antonio Bucchiarone Antonio Bucchiarone and Stefania Gnesi Istituto di Scienza e Tecnologie dell’Informazione.
-Nikhil Bhatia 28 th October What is RUP? Central Elements of RUP Project Lifecycle Phases Six Engineering Disciplines Three Supporting Disciplines.
1 Web Service Choreography Interface (WSCI) 1.0 W3C Note 8 August Dumitru Roman.
Web Services Glossary Summary of Holger Lausen
Model-based Methods for Web Service Verification.
Dynamic Choreographies Safe Runtime Updates of Distributed Applications Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint.
Model Based Conformance Testing for Extensible Internet Protocols Anastasia Tugaenko Scientific Adviser: Nikolay Pakulin, PhD.
Architecting Web Services Unit – II – PART - III.
Formal Methods for Service Composition Maurice H. ter Beek (ISTI–CNR, Pisa, Italy) Saturday, December 1 SEEFM 2007  joint work with: Antonio Bucchiarone.
Towards Global and Local Types for Adaptation Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Joint work with Mario Bravetti,
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Amending Choreographies Joint work with Fabrizio Montesi and Gianluigi Zavattaro.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
The GOOD the BAD the UGLY WS-CDL: the GOOD the BAD the UGLY.
Abstract Processes in BPEL4WS Tony Andrews Software Architect Microsoft.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 7: BPEL Some notes selected from.
FDT Foil no 1 On Methodology from Domain to System Descriptions by Rolv Bræk NTNU Workshop on Philosophy and Applicablitiy of Formal Languages Geneve 15.
The Business Choreography Language (BCL) A Domain-Specific Language for Global Choreographies Institute for Software Technology and Interactive Systems.
Enabling Grids for E-sciencE Astronomical data processing workflows on a service-oriented Grid architecture Valeria Manna INAF - SI The.
A Quantitative Trust Model for Negotiating Agents A Quantitative Trust Model for Negotiating Agents Jamal Bentahar, John Jules Ch. Meyer Concordia University.
A theory of DbC for multiparty distributed interactions Emilio Tuosto University of Leicester Nobuko Yoshida Imperial College London Kohei Honda Queen.
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
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.
Semantic Analysis II Type Checking EECS 483 – Lecture 12 University of Michigan Wednesday, October 18, 2006.
1. 2 Purpose of This Presentation ◆ To explain how spacecraft can be virtualized by using a standard modeling method; ◆ To introduce the basic concept.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Towards Decentralized Resource Allocation for Collaborative Peer- to-Peer Learning Environments Xavier Vilajosana, Daniel Lázaro and Joan Manuel Marquès.
1 Seminar on SOA Seminar on Service Oriented Architecture BPEL Some notes selected from “Business Process Execution Language for Web Services” by Matjaz.
Compositional Choreographies By Fabrizio Montesi and Nobuko Yoshida
Liaison Report to WS-BPEL Technical Committee of Oasis
Architecting Web Services
Choreography Proposal
Deadlock Freedom by Construction
Architecting Web Services
Liaison Report to WS-BPEL Technical Committee of Oasis Update
Presentation transcript:

WS-CDL and a Theoretical Basis for Communication-Centred Programming 5th December 2006 Marco Carbone Imperial College London

Agenda Choreography – WS-CDL – Tools for code generation, monitoring, etc. Modelling WS-CDL – The Global Calculus – Formalizing code generation (EPP) Conclusions and Future Work

In collaboration with : –Kohei Honda, Nobuko Yoshida and myself (Theory) –Gary Brown and Steve Ross-Talbot (Pi4Tech) and W3C WS-CDL working group (Practice)

WS-CDL “Web Services Choreography Description Language” Language developed by W3C (WS-CDL working- group) from January 2003; in collaboration with many private companies e.g. Pi4Tech, Adobe, Oracle, Sun, etc. π-calculus experts invited in 2004 (R. Milner and us); soon a W3C standard

What is CDL? CDL is an XML-based description language for designing systems Initially tasked with defining business processes in a Web Service context Focus became a behavioral contract language for distributed systems (e.g. collaboration protocols of cooperating [Web] Service participants)

A CDL-based description is a multi-participant contract that describes, from a neutral or global viewpoint, the common observable behaviour of the collaborating Service participants in order to achieve the same goal The main idea is: “Dancers dance following a global scenario without a single point of control” What is CDL? (2)

What is CDL? (3) Alice … int x, y; y = ch1.receive(Bob); x = ch2.receive(Dave); … Bob … int y; y = ch1.send(Alice,m); … Dave … ch2.send(Alice, n); … What about writing something like: Bob → Alice. Dave → Alice or (xml-style)

WS-CDL - An example What about writing alternative options e.g. a QuoteReject? …or spawning parallel behaviours? …or recursive behaviours (e.g. while, repeat, etc.) ?

WS-CDL - An example

WS-CDL - Structure

Why/how would I use it? More robust Services as they can be validated statically and at runtime against a choreography description To ensure effective interoperability of Services as they will have to conform to a common behavioral multi-party contract specified in the CDL To reduce the implementation cost by ensuring conformance to expected behaviour described in CDL To formally encode agreed multi-party business protocols such as fpML, FIX, SWIFT and TWIST so that those parties that use these protocols can be sure of conformance across parties All things above “to be” supported by theory

WS-CDL - Tools Open Source Eclipse pluginswww.pi4soa.org –Validating editor (graphical and tree based) –Behavioral Monitoring –CDL2Java (1.4, 1.5), CDL2BPEL (1.X, 2.0), CDL2WSDL (1.1, 2.0) and CDLEPP (soon available) Project members –Steve Ross-Talbot, Gary Brown (lead), Nobuko Yoshida, Kohei Honda, Marco Carbone, Robin Milner, Charlton Barretto

WS-CDL - Tools Graphical Grammar

WS-CDL - Tools Graphical Grammar

WS-CDL - Tools Graphical Grammar

WS-CDL - Tools Graphical Grammar

WS-CDL - Tools Code Generation and Deployment

WS-CDL - Tools Behavioral Monitor

Few more questions… How do we map WS-CDL to executable processes? What is the behaviour underlying CDL? How can we offer formal foundations for static and dynamic validation of WS-CDL? Can we precisely relate CDL to theories of processes? Are there good programming/type disciplines for CDL? What is structured programming for communication and concurrency?

Formalising WS-CDL The Global Calculus and a Theory of End-Point Projection

Syntax of the Global Calculus I ::= A → B : ch(s 1,…, s k ). I (init) | A → B : s(op, e, y). I (comm) | := e. I (assign) | if then I 1 else I 2 (cond) | I 1 | I 2 (par) | I 1 + I 2 (sum) | (υs) I (new) | X (recvar) | μX. I (rec) | 0(inaction)

Formal Semantics Between configurations: (σ, I) → (σ’, I’) where σ is an environment. It maps, for each participant A, local variables to their stored values. Example rules: (σ, A → B : s(op, V, x). I) → → V], I ) (σ, ::= V. I) → → V], I )

Buyer-Seller Examples (1) Buyer → Seller : ch1( s, t). Buyer → Seller : s ( QuoteReq, product, x ). Seller → Buyer : t ( QuoteRes, quote, y ). Buyer → Seller : s ( QuoteAcc, creditcard, z ). { Seller → Shipper : ch2( r ). Seller → Shipper : r ( ShipReq, z, x ). Shipper → Seller : r ( ShipConf ). Seller → Buyer : t ( OrderConf ). 0 | Seller → Database : ch3( r’ ). Seller → Database : r’ ( Transaction, z, x ). Shipper → Seller : r’ ( Conf ).0 }

Buyer-Seller Examples (2) Buyer → Seller : ch1( s, t). Buyer → Seller : s ( QuoteReq, product, x ). Seller → Buyer : t ( QuoteRes, quote, y ). Buyer → Seller : s ( QuoteAcc, creditcard, z ). Seller → Shipper : ch2( r ). · · · (as before) · · · + Buyer → Seller : s ( QuoteNoGood ). 0

Buyer-Seller Examples (3) Buyer → Seller : ch1( s, t). Buyer → Seller : s ( QuoteReq, product, x ). Seller → Buyer : t ( QuoteRes, quote, y ). if then Buyer → Seller : s ( QuoteAcc, creditcard, z ). Seller → Shipper : ch2( r ). · · · (as before) · · · else Buyer → Seller : s ( QuoteNoGood ). 0

Buyer-Seller Examples (4) Buyer → Seller : ch1( s, t). Buyer → Seller : s ( QuoteReq, product, x ). μX. Seller → Buyer : t ( QuoteRes, quote, y ). if then Buyer → Seller : s ( QuoteAcc, creditcard, z ). Seller → Shipper : ch2( r ). · · · (as before) · · · else Buyer → Seller : s ( QuoteNoGood ). X

Session Types Each service channel ch has a type α which specifies how the two participants opening a session exchange information (protocol) each channel ch belongs to only one participant Communications are linear Properties: Subject Reduction, Minimal Typing,...

The End-Point Projection EPP projects a global description to multiple end-points: I → → EPP A[ P ] | B[ Q ] | C[ R ] | · · · Desirable properties: Type preservation: the typing is preserved through EPP. Soundness: nothing but behaviours in I are in its EPP. Completeness: all behaviours in I are in its EPP. Code running at each peer

How does EPP work? A ! B : b( s). A ! B : shgoi. B ! C : c( t). C ! A : a( r ). A ! C : r hhii. C ! B : thacci. B ! A : shoki. … A will behave as Req(b,s). Out (s,go). In(s,ok)... par !Serv(a,r). Out (r,hi).... B will behave as !Serv(b,s). Out(s,go). Req(c,t). In(t,acc). Out(s,ok).... C will behave as !In(c,t). Req(a,r). In(r,hi). Out(t,acc)…

Three Principles for EPP 1.Connectedness: a causality principle 2.Well-threadedness: a local causality principle 3.Coherence: consistent behaviour of the same service scattered over a global description These properties can be (in)validated algorithmically.

Results on EPP Theorem. If a well-typed global interaction I enjoys the three principles then EPP(I) is well defined and –Types are preserved –The projection can simulate the global description –No unwanted behaviour in the projection

Final Remarks We first write down a global description and... Produce a prototype code (only communication behaviour). Produce a full application. Produce a run-time monitor. Do a conformance checking (can we really use that web service for this protocol?) Do a conformance checking for team programming (is my code conformant to a global specification?).

Current Status The current implementation of EPP in the pi4soa tool is independently designed by Gary Brown, and closely follows the presented framework. The implementation of a formally-based EPP is currently underway for the pi4soa code base. A W3C working note presenting an EPP theory is already available at:

Thank you

Comparing BPEL with CDL BPEL –Orchestration implies a centralized control mechanism. –Recursive Web Service Composition. –Executable language. –Requires Web Services. CDL –Choreography has no centralized control. Instead control is shared between domains. –Description language. –Does not need Web Services but is targeted to deliver over them. –Can be used to generate BPEL and so complimentary.

Connectedness Good... i. A → B : b( s). ii. A → B : s (go). iii. B → C : c( t).... Bad... *. A → B : b( s). **. A → B : s (go). ***. C → D : t (hello).... ** is “disconnected” from ***. we must synchronise either A or B with either C or D connectedness: in A → B. C → D we have {A, B} ∩ {C, D} ≠ Ø