Dipartimento di Informatica Università di Pisa Nested Commits for Mobile Calculi: Extending Join Roberto Bruni, Hernán Melgratti and Ugo Montanari.

Slides:



Advertisements
Similar presentations
©2003, Karl Aberer, EPFL, School of Computer and Communication Sciences Some Requirements for Semantic Web Serivce from CROSSFLOW and OPELIX Karl Aberer.
Advertisements

CommUnity, Tiles and Connectors joint work with Roberto Bruni José Luiz Fiadeiro Antónia Lopes Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
Connectors and Concurrency joint work with Ugo Montanari Roberto Bruni Dipartimento di Informatica Università di Pisa Dagstuhl Seminar #04241, September.
Budapesti Műszaki és Gazdaságtudományi Egyetem Méréstechnika és Információs Rendszerek Tanszék Model Transformation Lab From UML Activities to Petri nets.
On the Dynamics of PB Systems with Volatile Membranes Giorgio Delzanno* and Laurent Van Begin** * Università di Genova, Italy ** Universitè Libre de Bruxelles,
Equivalence of open Petri nets Modeling and analysis with Petri net components. Marc Voorhoeve (AIS)
Roberto Pisa, Italy 13 June 2008 WADT Tiles for Reo Roberto Bruni Dipartimento di Informatica Università di Pisa WADT th International.
Foundations of Interaction ETAPS `05 0 Ex nihilo: a reflective higher- order process calculus The  -calculus L.G. Meredith 1 & Matthias Radestock.
Adding Organizations and Roles as Primitives to the JADE Framework NORMAS’08 Normative Multi Agent Systems, Matteo Baldoni 1, Valerio Genovese 1, Roberto.
Dynamic Graph Transformation Systems Hernán Melgratti IMT Lucca Institute for Advance Studies Joint Work with Roberto Bruni Dipartimento di Informatica,
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.
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.
1 Nominal Calculi for Transactions: JOIN Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration.
1 Ivan Lanese Computer Science Department University of Bologna Roberto Bruni Computer Science Department University of Pisa A mobile calculus with parametric.
1 Formal Models for Distributed Negotiations Description Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias Informaticas.
1 Formal Models for Distributed Negotiations Zero-Safe Nets 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)
1 Formal Models for Distributed Negotiations Transactions in Linda Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias.
1 Formal Models for Distributed Negotiations Concurrent Languages Translation Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela.
Hernán Melgratti joint work with Roberto Bruni and Ugo Montanari Dipartimento di Informatica - Università di Pisa Flat Committed Join in Join.
A 14← department of mathematics and computer science PROSE Checking Properties of Adaptive Workflow Nets K. van Hee, I. Lomazova, O. Oanea,
1 Formal Models for Distributed Negotiations Committed Join Calculus Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias.
1 Formal Models for Distributed Negotiations Exercises Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias Informaticas.
1 Ivan Lanese Dipartimento di Informatica Università di Pisa Ugo Montanari From Graph Rewriting to Logic Programming joint work with.
1 Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming joint work with Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
Synchronized Hyperedge Replacement for Heterogeneous Systems joint work with Emilio Tuosto Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
Formalizing an Adaptive Security Infrastructure in Mob adtl Laura Semini & Carlo Montangero dip. Informatica, Pisa Outline Mob adtl instance ASI Mob adtl.
1 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
1 Formal Models for Transactions: Zero Safe Nets Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and.
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.
1 Formal Models for Distributed Negotiations From Petri Nets to Join Calculus Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela.
Modeling a Service and Session Calculus with Hierarchical Graph Transformation Roberto Bruni, Andrea Corradini, Ugo Montanari (based on joint work with.
Translating Orc Features into Petri Nets and the Join Calculus Hernán Melgratti IMT Lucca Institute for Advance Studies Joint Work with Roberto Bruni and.
Ivan Lanese Computer Science Department University of Bologna/INRIA Italy Fault in the Future Joint work with Gianluigi Zavattaro and Einar Broch Johnsen.
Modeling Community with Tiles joint work with Ivan Lanese Ugo Montanari Dipartimento di Informatica Università di Pisa Roberto Bruni Dipartimento di Informatica.
A Klaim specification of the Handover protocol: logic-based and type-based analysis Michele Loreti and Daniele Gorla Dipartimento di Sistemi e Informatica.
1 Programming SAGAs in SOCK Ivan Lanese Computer Science Department University of Bologna Italy Joint work with Gianluigi Zavattaro The SOCK saga.
1 Formal Languages for Flow Composition and Compensation: Sagas Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination.
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.
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.
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.
Web Services Glossary Summary of Holger Lausen
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Dipartimento di Informatica Università di Pisa Alberto Baragatti, Roberto Bruni, Hernán Melgratti, Ugo Montanari and Giorgio Spagnolo Prototype Platforms.
Roles and Coordination in powerJava M. Baldoni, G. Boella Dipartimento di Informatica, Università degli Studi di Torino (Italy) and L. van der Torre SEN3.
Lecture 13 Advanced Transaction Models. 2 Protocols considered so far are suitable for types of transactions that arise in traditional business applications,
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.
95-843: Service Oriented Architecture 1 Master of Information System Management Service Oriented Architecture Lecture 8: More BPEL Notes selected from.
Business Transaction Management Software for Application Coordination All current ws-bpel usage scenarios want BTM…  EAN.UCC Simple-EB explicitly calls.
1 SOA Seminar Service Oriented Architecture Lecture 8: More BPEL Notes selected from the paper “Formal Semantics and Analysis of control flow in WS-BPEL.
Constraints for Service Contracts Ugo Montanari Università di Pisa, Italy Marzia Buscemi formerly IMT Lucca, Italy Mario Coppo Università di Torino, Italy.
Rewriting Nested Graphs, through Term Graphs Roberto Bruni, Andrea Corradini, Fabio Gadducci Alberto Lluch Lafuente and Ugo Montanari Dipartimento di Informatica,
Cloud Computing Web Services.
Service-Oriented Computing: Semantics, Processes, Agents
Web Ontology Language for Service (OWL-S)
Outline Introduction Background Distributed DBMS Architecture
Service-Oriented Computing: Semantics, Processes, Agents
Presentation transcript:

Dipartimento di Informatica Università di Pisa Nested Commits for Mobile Calculi: Extending Join Roberto Bruni, Hernán Melgratti and Ugo Montanari

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Motivation To develop a process description language with primitives for agreements or negotiations Multiway (several parties can start separately but commit on reached agreement) Non-perfect compensations (certain actions cannot be undone) Programmable abort / compensation Different levels of abstraction

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join (cJoin) Join + primitives for negotiations Syntax: P,Q ::= 0 | x  ŷ  | def D in P | P|Q D,E ::= J  P | D  E J,K ::= x  ŷ  | J|K Processes Definitions Patterns

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join (cJoin) Join + primitives for negotiations Syntax: M,N ::= 0 | x  ŷ  | M|N P,Q ::= 0 | x  ŷ  | def D in P | P|Q D,E ::= J  P | D  E J,K ::= x  ŷ  | J|K Processes Definitions Patterns Messages

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join (cJoin) Join + primitives for negotiations Syntax: M,N ::= 0 | x  ŷ  | M|N P,Q ::= M | def D in P | P|Q D,E ::= J  P | D  E J,K ::= x  ŷ  | J|K Processes Definitions Patterns Messages

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join (cJoin) Join + primitives for negotiations Syntax: M,N ::= 0 | x  ŷ  | M|N P,Q ::= M | def D in P | P|Q | abort | [P:Q] D,E ::= J  P | D  E | J  P J,K ::= x  ŷ  | J|K Processes Definitions Patterns Programmable abort Negotiation Compensation Merge definition Messages

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join (cJoin) Operational Semantics (CHAM Style): 0  P|Q  P,Q DEDE  D,E def D in P  D  dn(D), P  dn(D) range(  ) fresh J  P, J   J  P, P  heating and cooling reaction

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join (cJoin) Operational Semantics (CHAM Style): 0  P|Q  P,Q DEDE  D,E def D in P  D  dn(D), P  dn(D) range(  ) fresh J  P, J   J  P, P  [P:Q]  {[ P,   Q  ]} Contract P evolves in isolation Compensation Q is kept frozen

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join (cJoin) Operational Semantics (CHAM Style): 0  P|Q  P,Q DEDE  D,E def D in P  D  dn(D), P  dn(D) range(  ) fresh J  P, J   J  P, P  [P:Q]  {[ P,   Q  ]} {[ M|def D in 0,   Q  ]}  M Global Resources Commit

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join (cJoin) Operational Semantics (CHAM Style): 0  P|Q  P,Q DEDE  D,E def D in P  D  dn(D), P  dn(D) range(  ) fresh J  P, J   J  P, P  [P:Q]  {[ P,   Q  ]} {[ M|def D in 0,   Q  ]}  M {[ abort |P,   Q  ]}  Q Compensation on Abort

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join (cJoin) Operational Semantics (CHAM Style): 0  P|Q  P,Q DEDE  D,E def D in P  D  dn(D), P  dn(D) range(  ) fresh J  P, J   J  P, P  [P:Q]  {[ P,   Q  ]} {[ M|def D in 0,   Q  ]}  M {[ abort |P,   Q  ]}  Q J 1 |…|J n  P,  i {[ J i , S i,   Q i  ]}  J 1 |…|J n  P, {[  i S i, P ,   i Q i  ]} Merge n ongoing contracts

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August {[ M | def D in 0,   Q  ]}  M Committed Join Features Commit means termination

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join Features Commit means termination Global resources produced inside a negotiation are available at commit

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join Features Commit means termination Global resources produced inside a negotiation are available at commit Explicit abort and compensation {[ abort | P,   Q  ]}  Q

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join Features Commit means termination Global resources produced inside a negotiation are available at commit Explicit abort and compensation Cooperation between contracts are given by merging definitions (multiway contracts) …,J 1 |J 2  P, [J 1  | P 1  :Q 1 ], [J 2  | P 2  : Q 2 ]  …,J 1 |J 2  P, [P  | P 1 | P 2  : Q 1 | Q 2 ]

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join Features Commit means termination Global resources produced inside a negotiation are available at commit Explicit abort and compensation Cooperation between contracts are given by merging definitions (multiway contracts) Multi-level nesting [ [P 1 :Q 1 ] | [P 2 :Q 2 ] : Q]

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join Features Commit means termination Global resources produced inside a negotiation are available at commit Explicit abort and compensation Cooperation between contracts are given by merging definitions (multiway contracts) Multi-level nesting [ [P 1 :Q 1 ] | [P 2 :Q 2 ] : Q]  * [ M 1 | [P 2 :Q 2 ] : Q]

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join Features Commit means termination Global resources produced inside a negotiation are available at commit Explicit abort and compensation Cooperation between contracts are given by merging definitions (multiway contracts) Multi-level nesting [ [P 1 :Q 1 ] | [P 2 :Q 2 ] : Q]  * [ M 1 | [P 2 :Q 2 ] : Q]  * [ M 1 | M 2 : Q]

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join Features Commit means termination Global resources produced inside a negotiation are available at commit Explicit abort and compensation Cooperation between contracts are given by merging definitions (multiway contracts) Multi-level nesting [ [P 1 :Q 1 ] | [P 2 :Q 2 ] : Q]  * [ M 1 | [P 2 :Q 2 ] : Q]  * [ M 1 | M 2 : Q]  M 1 | M 2

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join Features Commit means termination Global resources produced inside a negotiation are available at commit Explicit abort and compensation Cooperation between contracts are given by merging definitions (multiway contracts) Multi-level nesting [ [P 1 :Q 1 ] | [P 2 :Q 2 ] : Q]  * [ [abort | P 1 ’ :Q 1 ] | [P 2 :Q 2 ] : Q]

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join Features Commit means termination Global resources produced inside a negotiation are available at commit Explicit abort and compensation Cooperation between contracts are given by merging definitions (multiway contracts) Multi-level nesting [ [P 1 :Q 1 ] | [P 2 :Q 2 ] : Q]  * [ [abort | P 1 ’ :Q 1 ] | [P 2 :Q 2 ] : Q]  [ Q 1 | [P 2 :Q 2 ] : Q]

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join Features Commit means termination Global resources produced inside a negotiation are available at commit Explicit abort and compensation Cooperation between contracts are given by merging definitions (multiway contracts) Multi-level nesting [ [P 1 :Q 1 ] | [P 2 :Q 2 ] : Q]  * [ [abort | P 1 ’ :Q 1 ] | [P 2 :Q 2 ] : Q]  [ Q 1 | [P 2 :Q 2 ] : Q]  * [ abort | Q 1 ’ | [P 2 :Q 2 ] : Q]

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Committed Join Features Commit means termination Global resources produced inside a negotiation are available at commit Explicit abort and compensation Cooperation between contracts are given by merging definitions (multiway contracts) Multi-level nesting [ [P 1 :Q 1 ] | [P 2 :Q 2 ] : Q]  * [ [abort | P 1 ’ :Q 1 ] | [P 2 :Q 2 ] : Q]  [ Q 1 | [P 2 :Q 2 ] : Q]  * [ abort | Q 1 ’ | [P 2 :Q 2 ] : Q]  Q

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Example I: Hotel Booking H  def WaitBooking    [ def request  o   o  $  | price  $   price  $  | confirm  v   BookedRoom  v   price  $   abort in offeringRoom  request,confirm  : Q ]  BookedRoom  v   … in WaitBooking   | …

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Example I: Hotel Booking H  def WaitBooking    [ def request  o   o  $  | price  $   price  $  | confirm  v   BookedRoom  v   price  $   abort in offeringRoom  request,confirm  : Q ]  BookedRoom  v   … in WaitBooking   | … C  def BookingHotel    [def hotelMsg  r,c   def offer  $   c  visa  | HotelFound  offer  $   abort in r  offer  in searchRoom  hotelMsg  : Q’ ] in BookingHotel   | …

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Example I: Hotel Booking H  def WaitBooking    [ def request  o   o  $  | price  $   price  $  | confirm  v   BookedRoom  v   price  $   abort in offeringRoom  request,confirm  : Q ]  BookedRoom  v   … in WaitBooking   | … C  def BookingHotel    [def hotelMsg  r,c   def offer  $   c  visa  | HotelFound    offer  $   abort in r  offer  in searchRoom  hotelMsg  : Q’ ] in BookingHotel   | … HB  def searchRoom  hm  | offeringRoom  r,c   hm  r,c  in H | C

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Example I: Hotel Booking …, WaitBooking  , BookingHotel     …, […, offeringRoom  request,confirm  : Q ], […, searchRoom  hotelMsg  : Q’]  …, […, hotelMsg  request,confirm  : Q | Q’]  …, […, request  offer  : Q | Q’]  …, […, offer  $ , price  $  : Q | Q’]  …, […, confirm  visa , HotelFound, price  $  : Q | Q’]  …, […, BookedRoom  visa , HotelFound   : Q | Q’]  …, BookedRoom  visa , HotelFound  

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Example I: Trip Booking I H as before F  def WaitBooking    [ def request  o   o  $  | price  $   price  $  | confirm  v   BookedFlight  v   price  $   abort in offeringFlight  request,confirm  : Q ]  BookedFlight  v   … in WaitBooking   | … local name, different from homonym name in H

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Example I: Trip Booking II C  def hotelOK  fc  | flightOK  hc   fc   | hc    BookingHotel    [def hotelMsg  r,c   def offer  $   c  visa  | hotelOK  flightConf   offer  $   abort  flightConf  HotelFound   in r  offer  in searchRoom  hotelMsg  : Q’ ]  BookingFlight    [def flightlMsg  r,c   def offer  $   c  visa  | flightOK  hotelConf   offer  $   abort  hotelConf  FlightFound   in r  offer  in searchFlight  flightMsg  : Q’’ ] in BookingHotel | BookingFlight | … both needed to commit

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Example I: Trip Booking II C  def hotelOK  fc  | flightOK  hc   fc   | hc    BookingHotel    [def hotelMsg  r,c   def offer  $   c  visa  | hotelOK  flightConf   offer  $   abort  flightConf  HotelFound   in r  offer  in searchRoom  hotelMsg  : Q’ ]  BookingFlight    [def flightlMsg  r,c   def offer  $   c  visa  | flightOK  hotelConf   offer  $   abort  hotelConf  FlightFound   in r  offer  in searchFlight  flightMsg  : Q’’ ] in BookingHotel | BookingFlight | … TB  def searchRoom  hm  | offeringRoom  r,c   hm  r,c   searchFlight  fm  | offeringFlight  r,c   fm  r,c  in H | F | C both needed to commit

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Zero-safe nets Synchronization mechanism for transitions Places are divided in Stable: Ordinary places Zero-safe: Idealized resources, invisible to external observers

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Zero-safe nets Synchronization mechanism for transitions Places are divided in Stable: Ordinary places Zero-safe: Idealized resources, invisible to external observers S+Z [  S’+Z’  T (S+S’’,Z+Z’’)  T (S’+S’’,Z’+Z’’) (Firing) (S 1,Z 1 )  T (S 1 ’,Z 1 ’) (S 2,Z 2 )  T (S 2 ’,Z 2 ’) (S 1 +S 2,Z 1 +Z 2 )  T (S 1 ’+S 2 ’,Z 1 ’ + Z 2 ’) (Step) (S 1,Z)  T (S 1 ’,Z’’) (S 2,Z’’)  T (S 2 ’,Z’) (S 1 +S 2,Z)  T (S 1 ’+S 2 ’,Z’) (Concatenation) (S,  )  T (S’,  ) (S,  )  T (S’,  ) (Close)

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Zero-safe nets sendreceive Synchronization mechanism for transitions Places are divided in Stable: Ordinary places Zero-safe: Idealized resources, invisible to external observers S+Z [  S’+Z’  T (S+S’’,Z+Z’’)  T (S’+S’’,Z’+Z’’) (Firing) (S 1,Z 1 )  T (S 1 ’,Z 1 ’) (S 2,Z 2 )  T (S 2 ’,Z 2 ’) (S 1 +S 2,Z 1 +Z 2 )  T (S 1 ’+S 2 ’,Z 1 ’ + Z 2 ’) (Step) (S 1,Z)  T (S 1 ’,Z’’) (S 2,Z’’)  T (S 2 ’,Z’) (S 1 +S 2,Z)  T (S 1 ’+S 2 ’,Z’) (Concatenation) (S,  )  T (S’,  ) (S,  )  T (S’,  ) (Close)

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Zero-safe nets sendreceive Synchronization mechanism for transitions Places are divided in Stable: Ordinary places Zero-safe: Idealized resources, invisible to external observers S+Z [  S’+Z’  T (S+S’’,Z+Z’’)  T (S’+S’’,Z’+Z’’) (Firing) (S 1,Z 1 )  T (S 1 ’,Z 1 ’) (S 2,Z 2 )  T (S 2 ’,Z 2 ’) (S 1 +S 2,Z 1 +Z 2 )  T (S 1 ’+S 2 ’,Z 1 ’ + Z 2 ’) (Step) (S 1,Z)  T (S 1 ’,Z’’) (S 2,Z’’)  T (S 2 ’,Z’) (S 1 +S 2,Z)  T (S 1 ’+S 2 ’,Z’) (Concatenation) (S,  )  T (S’,  ) (S,  )  T (S’,  ) (Close)

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Zero-safe nets sendreceive Synchronization mechanism for transitions Places are divided in Stable: Ordinary places Zero-safe: Idealized resources, invisible to external observers S+Z [  S’+Z’  T (S+S’’,Z+Z’’)  T (S’+S’’,Z’+Z’’) (Firing) (S 1,Z 1 )  T (S 1 ’,Z 1 ’) (S 2,Z 2 )  T (S 2 ’,Z 2 ’) (S 1 +S 2,Z 1 +Z 2 )  T (S 1 ’+S 2 ’,Z 1 ’ + Z 2 ’) (Step) (S 1,Z)  T (S 1 ’,Z’’) (S 2,Z’’)  T (S 2 ’,Z’) (S 1 +S 2,Z)  T (S 1 ’+S 2 ’,Z’) (Concatenation) (S,  )  T (S’,  ) (S,  )  T (S’,  ) (Close)

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Zero-safe nets sendreceive Synchronization mechanism for transitions Places are divided in Stable: Ordinary places Zero-safe: Idealized resources, invisible to external observers S+Z [  S’+Z’  T (S+S’’,Z+Z’’)  T (S’+S’’,Z’+Z’’) (Firing) (S 1,Z 1 )  T (S 1 ’,Z 1 ’) (S 2,Z 2 )  T (S 2 ’,Z 2 ’) (S 1 +S 2,Z 1 +Z 2 )  T (S 1 ’+S 2 ’,Z 1 ’ + Z 2 ’) (Step) (S 1,Z)  T (S 1 ’,Z’’) (S 2,Z’’)  T (S 2 ’,Z’) (S 1 +S 2,Z)  T (S 1 ’+S 2 ’,Z’) (Concatenation) (S,  )  T (S’,  ) (S,  )  T (S’,  ) (Close)

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Zero-safe nets: Encoding Given a ZS net N=(T,S): Places ports Transitions firing rules Tokens messages Encoding of a marking S: [[E]] ::= E   [[S 1 +S 2 ]] ::= [[S 1 ]] | [[S 2 ]]

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Zero-safe nets: Encoding Encoding of (basic) transitions open E e calc e1e1 e2e2 fork e e1e1 e2e2 close e E drop e fork e1e1 e2e2 e

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Zero-safe nets: Encoding open E e calc e1e1 e2e2 fork e e1e1 e2e2 close e E drop e fork e1e1 e2e2 e E    [ def z    0 in e  z  : E   ]e1z  e2ze1z  e2z e  z   e 1  z  | e 2  z  e 1  z 1  | e 2  z 2   e  z 1  e  z   E   e  z   0 Encoding of (basic) transitions

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Zero-safe nets: Encoding cJoin process for a ZS net Let N=(T,S) be a ZS net, P N = def [[ T ]] in [[ S ]] Theorem Let N=(T,S) be a ZS net. (S,  )  * (S’,  ) iff def [[ T ]] in [[ S ]]  * def [[ T ]] in [[ S’ ]]

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Serializability A serializable transaction admits an abstract representation as a single transition cJoin negotiations may interact with other negotiations (not serializable in the previous sense) But all cooperating negotiations can be viewed as a single transition Moreover, we would like this property to hold at every level of nesting

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Serializability:Shallowness Shallow processes: any computation increases the height of nesting structure in at most 1 P is shallow if every definition D in P satisfies nest( 0 ) = nest( abort ) = nest( x  ŷ  ) = 0 nest( def D in P ) = nest(P ) nest( [ P : Q ]) = nest(P ) + 1 nest( P | Q ) = max{nest( P ), nest( Q )} D = J  P, where nest(P ) = 0, or P = [ R : Q ] and nest( R | Q ) = 0 D = J  P, and nest(P ) = 0

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Serializability Serializability as big step reduction relation (  ) between shallow processes Theorem: S  * cJ S’ iff S  S’ D ├ P  D ├ P’ D ├ Q  D ├ Q’ D ├ P | Q  D ├ P’ | Q’ (Par) D ├ P  D ├ P’’ D ├ P’’  D ├ P’ D ├ P  D ├ P’ (Seq) D  J  P ├ J   D  J  P ├ P  (Global Firing) |B| ├ S  |B| ├ S’ D  B ├ [S : Q]  D  B ├ [S’ : Q] (Local Firing) D   i J i  S ├  I [ D i ├ J i  | S i : Q i ]  D   I J i  S ├ [  i D i ├  I S i | S  :  I Q i ] (Merge) D ├ [M | D’ ├ 0 : S]  D ├ M (Local Commit) D ├ [abort | P : S]  D ├ S (Abort) D ├ P  D ├ P (Idle)

Hernán Melgratti Università di Pisa IFIP-TCS 2004, Toulouse, August Final Remarks cJoin models multi-way transactions by describing interacting agents but not their global structure Compensations do not undo precommitted activities. Can such compensations be encoded in cJoin? Are cJoin primitives implementable? We plan to use the D2PC protocol The subcalculus of flat processes can be implemented