1 Formal Languages for Flow Composition and Compensation: Sagas Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination.

Slides:



Advertisements
Similar presentations
CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
Advertisements

Connectors and Concurrency joint work with Ugo Montanari Roberto Bruni Dipartimento di Informatica Università di Pisa Dagstuhl Seminar #04241, September.
1 Ivan Lanese Computer Science Department University of Bologna Italy Managing faults and compensations in SOCK Joint work with Claudio Guidi, Fabrizio.
Signals and Systems March 25, Summary thus far: software engineering Focused on abstraction and modularity in software engineering. Topics: procedures,
1 Reversibility for Recoverability Ivan Lanese Computer Science Department FOCUS research group University of Bologna/INRIA Bologna, Italy.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Fault in the Future Joint work with Gianluigi Zavattaro and Einar Broch Johnsen.
Dependable Composition of Web Services and Process Calculi Manuel Mazzara Newcastle University.
C. Varela; Adapted w/permission from S. Haridi and P. Van Roy1 Declarative Computation Model Defining practical programming languages Carlos Varela RPI.
1 Ivan Lanese Computer Science Department University of Bologna Italy Towards a Unifying Theory for Web Services Composition Manuel Mazzara Faculty of.
1 Nominal Calculi for Transactions: CJOIN Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration.
From Theory to Practice in Transactional Composition of Web Services Daniele Strollo Roberto Bruni, Gianluigi Ferrari, Hernàn Melgratti, Ugo Montanari,
1 The SOCK SAGA Ivan Lanese Computer Science Department University of Bologna Italy Joint work with Gianluigi Zavattaro.
1 Synchronization strategies for global computing models Ivan Lanese Computer Science Department University of Bologna.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy On the Expressive Power of Primitives for Compensation Handling Joint work with.
Distributed DBMSPage © 1998 M. Tamer Özsu & Patrick Valduriez Outline Introduction Background Distributed DBMS Architecture Distributed Database.
IBM WebSphere survey Kristian Bisgaard Lassen. University of AarhusIBM WebSphere survey2 Tools  WebSphere Application Server Portal Studio Business Integration.
1 Formal Models for Distributed Negotiations Description Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias Informaticas.
Comparing Two Approaches to Compensable Flow Composition joint work with Michael Butler Carla Ferreira Tony Hoare Hernán Melgratti Ugo Montanari CONCUR.
Synchronization Algebras with Mobility for Graph Transformations joint work with Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese.
1 Formal Models for Distributed Negotiations Workflows, BizTalk and ZSN Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias.
1 Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni, GianLuigi Ferrari, Hernan Melgratti, Emilio Tuosto (Pisa) Cosimo Laneve (Bologna)
Chapter 13: Process Specifications Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
1 Formal Models for Distributed Negotiations Concurrent Languages Translation Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela.
1 Ivan Lanese Computer Science Department University of Bologna Italy Evolvable systems: some ideas for modelling With input from Davide Sangiorgi, Fabrizio.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
Hernán Melgratti joint work with Roberto Bruni and Ugo Montanari Dipartimento di Informatica - Università di Pisa Flat Committed Join in Join.
Programming Language Semantics Mooly SagivEran Yahav Schrirber 317Open space html://
1 Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Error Handling: From Theory to Practice Joint work with Fabrizio Montesi italianaSoftware.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
1 Formal Languages for Flow Composition and Compensation: cCSP Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination.
1 Formal Models for Transactions: Zero Safe Nets Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and.
1 Joint work with Claudio Antares Mezzina (INRIA), Jean-Bernard Stefani (INRIA) and Alan Schmitt (INRIA) Controlling Reversibility in Rhopi Ivan Lanese.
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
1 CoMeta, final workshop, /12/2003 Ivan Lanese Dipartimento di Informatica Università di Pisa Ugo Montanari A graphical Fusion Calculus Joint work.
Semantics with Applications Mooly Sagiv Schrirber html:// Textbooks:Winskel The.
1 WS Technologies III BPEL4WS Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration IMT-
1 Programming SAGAs in SOCK Ivan Lanese Computer Science Department University of Bologna Italy Joint work with Gianluigi Zavattaro The SOCK saga.
1 Ivan Lanese Computer Science Department University of Bologna Italy On the expressive power of primitives for compensation handling Joint work with Catia.
An algebra of Connectors for modeling CommUnity with Tiles joint work with Roberto Bruni Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan.
1 Formal Models for Transactions: BizTalk as ZSN Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and.
1 WS Technologies III Orchestration Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration.
1 WS Technologies II API Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration IMT- Institutions.
1 Formal Models for Distributed Negotiations A Calculus of Compensations Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias.
Calculi for Committed Choices and Compensations Roberto Bruni - Dipartimento di Informatica, Università di Pisa joint work with Gianluigi Ferrari Hernán.
1 Ivan Lanese Computer Science Department University of Bologna Italy Towards a Unifying Theory for Web Services Composition Manuel Mazzara Faculty of.
Dipartimento di Informatica Università di Pisa Nested Commits for Mobile Calculi: Extending Join Roberto Bruni, Hernán Melgratti and Ugo Montanari.
1 Formal Models for Distributed Negotiations Introduction Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias Informaticas.
Complete Axioms for Stateless Connectors joint work with Roberto Bruni and Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
1 WS Technologies III Transactions Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration.
Chapter 13: Process Specifications Service-Oriented Computing: Semantics, Processes, Agents – Munindar P. Singh and Michael N. Huhns, Wiley, 2005.
A Survey on Service Composition Languages and Models Antonio Bucchiarone Antonio Bucchiarone and Stefania Gnesi Istituto di Scienza e Tecnologie dell’Informazione.
Workflow Early Start Pattern and Future's Update Strategies in ProActive Environment E. Zimeo, N. Ranaldo, G. Tretola University of Sannio - Italy.
Dipartimento di Informatica Università di Pisa Alberto Baragatti, Roberto Bruni, Hernán Melgratti, Ugo Montanari and Giorgio Spagnolo Prototype Platforms.
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.
“Dynamic fault handling mechanisms for service-oriented applications” Fabrizio Montesi, Claudio Guidi, Ivan Lanese and Gianluigi Zavattaro Department of.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Decidability Results for Dynamic Installation of Compensation Handlers Joint.
Modeling a Service and Session Calculus with Hierarchical Graph Transformation Joint work with Roberto Bruni and Andrea Corradini, second part Ugo Montanari.
16/11/ Web Services Choreography Requirements Presenter: Emilia Cimpian, NUIG-DERI, 07April W3C Working Draft.
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.
1 Joint work with Claudio Antares Mezzina and Jean-Bernard Stefani Controlled Reversibility and Compensations Ivan Lanese Focus research group Computer.
Course: COMS-E6125 Professor: Gail E. Kaiser Student: Shanghao Li (sl2967)
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
WP5: Dynamic Analysis Presented by Pierpaolo Degano Dipartimento di Informatica Università di Pisa at the Final review of DEGAS, 6 April 2005.
Operational Semantics Mooly Sagiv Tel Aviv University Sunday Scrieber 8 Monday Schrieber.
Architectural Design Rewriting as Architectural Description Language R. Bruni A. LLuch-Lafuente U. Montanari E. Tuosto.
Operational Semantics Mooly Sagiv Reference: Semantics with Applications Chapter 2 H. Nielson and F. Nielson
Business Process Execution Language (BPEL) Pınar Tekin.
Rewriting Nested Graphs, through Term Graphs Roberto Bruni, Andrea Corradini, Fabio Gadducci Alberto Lluch Lafuente and Ugo Montanari Dipartimento di Informatica,
Outline Introduction Background Distributed DBMS Architecture
Presentation transcript:

1 Formal Languages for Flow Composition and Compensation: Sagas Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration IMT- Institutions Markets Technologies - Alti Studi Lucca

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 2 Models and Languages for Coordination and Orchestration cCSP and Sagas Independently from cCSP a similar calculus has been devised in Pisa inspired by sagas (rather than BPEL4WS) different compensation policies for parallel processes any action can succeed or fail THROW and YIELD are not explicit in the language big-step SOS semantics

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 3 Models and Languages for Coordination and Orchestration Outline Sequential Sagas Graphical representation Syntax Big Step Semantics Adequacy results Parallel Sagas Nested Sagas Additional features Comparison with cCSP Implementation issues

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 4 Models and Languages for Coordination and Orchestration Sequential Sagas: Syntax Accept Order Refuse Order Update Credit Refund Money Prepare Order Update Stock S = { AO % RO ; UC % RM ; PO % US } (Step) X::=0 | A | A % B (Process)P::=X | P;P (Saga)S::={ P }

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 5 Models and Languages for Coordination and Orchestration Sequential Sagas: Semantics Preliminaries I Syntactic sugar inert compensations are immaterial A  A % 0 sequential composition is associative ( P;Q ) ; R  P ; ( Q;R ) 0 is the identity for sequential composition 0;P  P;0  P

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 6 Models and Languages for Coordination and Orchestration Sequential Sagas: Semantics Preliminaries II An activity A either commits (A  ) aborts (A  )  = { A 1 ,…, A n  }

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 7 Models and Languages for Coordination and Orchestration Sequential Sagas: Semantics Preliminaries III A saga S = { P } under  either commits ( ) aborts ( ) fails ( )  is the observable flow  S        *

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 8 Models and Languages for Coordination and Orchestration A process P under  either commits ( ) aborts ( ) fails ( ) aborts = successfully compensated ß, ß’ are the installed compensations Sequential Sagas: Semantics         *

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 9 Models and Languages for Coordination and Orchestration Sequential Sagas: Semantics (f-cmp) A ,         * (saga)       {P}      0 (zero) A ,    A (s-act)  (s-cmp) A ,       

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 10 Models and Languages for Coordination and Orchestration Sequential Sagas: Semantics (a-step’)       (a-step’’)       * * (s-step)    ’’    ;’;’

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 11 Models and Languages for Coordination and Orchestration Sequential Sagas: Adequacy  S    and  = A 1 ;…;A n A1A1 AjAj AkAk AnAn  S    and  = A 1 ;…;A k-1 ;B k-1 ;…;B 1 A1A1 AjAj AkAk AnAn BjBj B1B1  S    and  = A 1 ;…;A k-1 ;B k-1 ;…;B j+1 A1A1 AjAj AkAk AnAn BjBj B1B1 *

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 12 Models and Languages for Coordination and Orchestration Parallel Sagas: Syntax S = { AO % RO ; UC % RM | PO % US } (Step) X::=0 | A | A % B (Process)P::=X | P;P | P|P (Saga)S::={ P } Accept Order Refuse Order Update Credit Refund Money Prepare Order Update Stock

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 13 Models and Languages for Coordination and Orchestration Parallel Sagas: Naïvely B1B1 BjBj BnBn C1C1 CkCk CmCm A1A1 A2A2 B’ 1 B’ j A’ 1 C’ 1 C’ k C’ m A 1 ;(B 1 ;…;B j-1 ;B’ j-1 ;…;B’ 1 | C 1 ;…;C m ;C’ m ;…;C’ 1 );A’ 1

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 14 Models and Languages for Coordination and Orchestration Parallel Sagas: Revised A 1 ;(B 1 ;…;B j-1 ;B’ j-1 ;…;B’ 1 | 0);A’ 1 A 1 ;(B 1 ;…;B j-1 ;B’ j-1 ;…;B’ 1 | C 1 ;C’ 1 );A’ 1 … A 1 ;(B 1 ;…;B j-1 ;B’ j-1 ;…;B’ 1 | C 1 ;…;C m ;C’ m ;…;C’ 1 );A’ 1 B1B1 BjBj BnBn C1C1 CkCk CmCm A1A1 A2A2 B’ 1 B’ j A’ 1 C’ 1 C’ k C’ m

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 15 Models and Languages for Coordination and Orchestration Digression: Parallel Sagas in cCSP A 1 ; B 1 ;…;B j-1 ;B’ j-1 ;…;B’ 1 ;A’ 1 A 1 ; ((B 1 ;…;B j-1 )|C 1 ) ; ((B’ j-1 ;…;B’ 1 )|C’ 1 ) ;A’ 1 … A 1 ; ((B 1 ;…;B j-1 )|(C 1 ;…;C m )) ; ((B’ j-1 ;…;B’ 1 )|(C’ m ;…;C’ 1 )) ;A’ 1 B1B1 BjBj BnBn C1C1 CkCk CmCm A1A1 A2A2 B’ 1 B’ j A’ 1 C’ 1 C’ k C’ m

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 16 Models and Languages for Coordination and Orchestration Sequential Sagas: Semantics Preliminaries I Syntactic sugar parallel composition is AC1 A  A % 0 ( P;Q ) ; R  P ; ( Q;R ) 0;P  P;0  P ( P|Q ) | R  P | ( Q|R ) P | 0  P P | Q  Q | P

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 17 Models and Languages for Coordination and Orchestration   A process P under  either commits ( ) aborts ( ) fails ( ) is forced to abort ( ) is forced to fail ( )  is the observable concurrent flow     Parallel Sagas: Semantics Preliminaries II           * *

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 18 Models and Languages for Coordination and Orchestration Parallel Sagas: SemanticsI (saga) (forced-abt’)       (forced-abt’’)       *   {,, } *       {P}   

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 19 Models and Languages for Coordination and Orchestration   Parallel Sagas: SemanticsII (s-par)    ’’    |’|’

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 20 Models and Languages for Coordination and Orchestration Parallel Sagas: SemanticsIII    ’’       |  ’;  (c-par’)      1,  2  {, }      * * * * * * * ** **

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 21 Models and Languages for Coordination and Orchestration Parallel Sagas: SemanticsIV (c-par’’)      * * * * * * * ** **    ’’       |  ’;       1,  2  {, } *

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 22 Models and Languages for Coordination and Orchestration Parallel Sagas: SemanticsV    ’’      |’|’ (f-par)  1  {, }  2  {,,, } * * * *      * * * * * * * ** **

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 23 Models and Languages for Coordination and Orchestration Parallel Sagas: AdequacyI Completion

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 24 Models and Languages for Coordination and Orchestration Parallel Sagas: Adequacy II Successful Compensation

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 25 Models and Languages for Coordination and Orchestration Parallel Sagas: Adequacy III Failed Compensation

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 26 Models and Languages for Coordination and Orchestration Nested Sagas: Graphically Accept Order Refuse Order Update Credit Refund Money Prepare Order Update Stock Add Points Subtract Points

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 27 Models and Languages for Coordination and Orchestration Nested Sagas: Syntax (Step) X::=0 | A | A % B | S (Process)P::=X | P;P | P|P (Saga)S::={ P }

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 28 Models and Languages for Coordination and Orchestration Nested Sagas: Syntax S  { AO % RO ; UC % RM | PO % US | {AP % SP} } Accept Order Refuse Order Update Credit Refund Money Prepare Order Update Stock Add Points Subtract Points

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 29 Models and Languages for Coordination and Orchestration Nested Sagas: SemanticsI (sub-cmt)       (sub-abt)       (sub-fail)       ß’ acts as default compensation * *

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 30 Models and Languages for Coordination and Orchestration Nested Sagas: SemanticsII (sub-forced-1) (sub-forced-2’)     *   * (sub-forced-2’’)  {, } *        ;; *      ;;

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 31 Models and Languages for Coordination and Orchestration Nested Sagas: Adequacy I Completion

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 32 Models and Languages for Coordination and Orchestration Nested Sagas: AdequacyII Successful Compensation

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 33 Models and Languages for Coordination and Orchestration Failed Compensation Nested Sagas: AdequacyIII

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 34 Models and Languages for Coordination and Orchestration Additional Features Exception handling try S with P Used to catch crashes during backward computation Forward recovery strategies try S or P Can be used to retry or to improve activities P is tried when S aborts and is successfully compensated Fully programmable compensations S % P More expressive than default compensation (sub-cmt) Choices: Discriminator P  Q Choices: Internal P  Q Data dependencies A  B Valid executions must satisfy dependency constraints

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 35 Models and Languages for Coordination and Orchestration Sagas vs cCSP I Executions of activities always successful in cCSP dependent on the context  in Sagas Failures raised by primitive THROW in cCSP raised by activities that fail in  in Sagas Yielding to interrupt both explicit and implicit in cCSP only implicit in Sagas

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 36 Models and Languages for Coordination and Orchestration Sagas vs cCSP II Abnormal termination successful compensation and abnormal termination of a transaction block are silent to parent processes in cCSP but not in Sagas where e.g. try S or P can be introduced Adequacy results via self-cancelling in cCSP simple and intuitive but imprecise via complex adequacy theorems in Sagas more precise but less intuitive, can give more insights

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 37 Models and Languages for Coordination and Orchestration Sagas vs cCSP III Trace models interleaving in cCSP (centralized) concurrent in Sagas (more distributed) Compensation policy of parallel processes coordinated interruption in cCSP no interruption but distributed compensation in Sagas naive distributed interruption in Sagas revised

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 38 Models and Languages for Coordination and Orchestration More on Compensation Policies for Parallel Processes The difference can be nicely illustrated in terms of semantic equivalence [ A % A° | B % B° | THROWW ] = traces 1. (A|B) ; (A°|B°) 2. (A;A°) | (B;B°) 3. SKIP + (A;A°) + (B;B°) + (A|B);(A°|B°) 4. SKIP + (A;A°) + (B;B°) + (A;A°)|(B;B°) cCSP revised Sagas naive Sagas   

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 39 Models and Languages for Coordination and Orchestration Implementation Methodology GOAL: Automatic generation of the “coordination code” from a description of a composed WS design as well-formed flow diagrams or as processes in a suitable language automatic generation of coordination wrappers for invoking involved services in a sound way for managing commitments and compensations

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 40 Models and Languages for Coordination and Orchestration Java Transactional Web Services (JTWS) Java Signal Core Layer (JSCL) Java Transactional Layer (JTL) JTWS Approach

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 41 Models and Languages for Coordination and Orchestration JTWS and JSCL JTWS tailored to long running transactions JTWS is based on signal exchanges, publish/subscribe, event notification JSCL gives a minimal set of functionalities for creation/dismissal of new signal types signal emitters / handlers as services describing connections between components asynchronous / synchronous typed, peer-to-peer, unidirectional broadcast and bidirectional just requires additional links management of flow sessions

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 42 Models and Languages for Coordination and Orchestration JTL Specialized kind of JTWS component API for (paradigms of) connectors only a minimal subset of signals is considered three signals can encode compensable transactions onInvoke onRollBack onCommit

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 43 Models and Languages for Coordination and Orchestration JTL Transactional Component WS1 iRb In iCt Out oRb oCt WS2 WS1 % WS2 links are dynamically established depending on the internal state

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 44 Models and Languages for Coordination and Orchestration JTL Sequence InOut iRb iCt oRb oCt JTL1 ; JTL2

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 45 Models and Languages for Coordination and Orchestration Some Concluding Remarks cCSP and Sagas abstract away from low-level computations can be easily extended independent from the coordination mechanisms that implement the primitives Allow to reason about program properties adequacy process equivalence correctness of implementation

Roberto IMT Lucca 12 April 2005 Institutions Markets Technologies IMT 46 Models and Languages for Coordination and Orchestration References A trace semantics for long-running transactions (Proc. 25 Years of CSP) M. Butler, C. Ferreira, T. Hoare Theoretical foundations for compensations in flow composition languages (Proc. POPL'05) R. Bruni, H. Melgratti, U. Montanari Models and languages for global computing transactions (PhD Thesis, Univ. of Pisa, 2005) H. Melgratti Composizionalità di transazioni e Web Services nell'ambito della telefonia mobile (MSc Thesis 2005) D. Strollo