1 Formal Models for Transactions: Zero Safe Nets Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and.

Slides:



Advertisements
Similar presentations
Intalio, The Business Process Management CompanyCopyright © 2003 Intalio, Inc. Causality models for WS Choreography
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.
Models of Concurrency Manna, Pnueli.
1 SE-561 Formal Methods in Software Petri Nets - I.
Knowledge Based Synthesis of Control for Distributed Systems Doron Peled.
A university for the world real R © 2009, Chapter 3 Advanced Synchronization Moe Wynn Wil van der Aalst Arthur ter Hofstede.
On the Dynamics of PB Systems with Volatile Membranes Giorgio Delzanno* and Laurent Van Begin** * Università di Genova, Italy ** Universitè Libre de Bruxelles,
Roberto Pisa, Italy 13 June 2008 WADT Tiles for Reo Roberto Bruni Dipartimento di Informatica Università di Pisa WADT th International.
Dynamic Graph Transformation Systems Hernán Melgratti IMT Lucca Institute for Advance Studies Joint Work with Roberto Bruni Dipartimento di Informatica,
Activity Diagrams [Arlow and Neustadt, 2005] CS 425 / 625 Seminar on Software Engineering University of Nevada, Reno Department of Computer Science & Engineering.
Synthesis of Embedded Software Using Free-Choice Petri Nets.
10. Petri Nets Prof. O. Nierstrasz. Roadmap  Definition: —places, transitions, inputs, outputs —firing enabled transitions  Modelling: —concurrency.
Introduction in algorithms and applications Introduction in algorithms and applications Parallel machines and architectures Parallel machines and architectures.
1 Nominal Calculi for Transactions: CJOIN Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration.
Tiling Transactions in Rewriting Logic Roberto Bruni (Pisa/Illinois) José Meseguer (Illinois) Ugo Montanari (Pisa) WRLA 2002 Pisa, Italia, Sept.
1 Nominal Calculi for Transactions: JOIN Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration.
1 Formal Models for Transactions: Petri Nets 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.
CP — Concurrent Programming 12. Petri Nets Prof. O. Nierstrasz Wintersemester 2005 / 2006.
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.
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.
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 Petri Nets Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias Informaticas.
1 Formal Models for Distributed Negotiations Exercises Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias Informaticas.
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 Static vs dynamic SAGAs Ivan Lanese Computer Science Department University of Bologna/INRIA Italy.
Pre-nets, (read arcs) and unfolding: A functorial presentation Paolo Baldan (Venezia) Roberto Bruni (Pisa/Illinois) Ugo Montanari (Pisa) WADT Frauenchiemsee,
1 Ivan Lanese Computer Science Department University of Bologna Italy Concurrent and located synchronizations in π-calculus.
1 Formal Models for Distributed Negotiations From Petri Nets to Join Calculus Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela.
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.
1 WS Technologies III BPEL4WS Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration IMT-
1 Formal Languages for Flow Composition and Compensation: Sagas Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination.
Advanced Behavioral Modeling
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 II API Roberto Bruni Dipartimento di Informatica Università di Pisa Models and Languages for Coordination and Orchestration IMT- Institutions.
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.
Petri Nets An Overview IE 680 Presentation April 30, 2007 Renata Kopach- Konrad.
Benjamin Gamble. What is Time?  Can mean many different things to a computer Dynamic Equation Variable System State 2.
An Introduction to Petri Nets Marjan Sirjani Formal Methods Laboratory University of Tehran.
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
1 Levi Lúcio © A Test Selection Language for CO-OPN Specifications Levi Lúcio, Luis Pedro and Didier Buchs University of Geneva.
An Ontological Framework for Web Service Processes By Claus Pahl and Ronan Barrett.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
Modelling by Petri nets
Unified Modeling Language User Guide Section 4 - Basic Behavioral Modeling Chapter 19 – Activity Diagrams.
Ch5: Software Specification. 1 Petri Nets  Introduced by C. Adams Petri in  Widely used in the modeling and analysis of computer systems.  Basic.
Qusay H. Mahmoud CIS* CIS* Service-Oriented Computing Qusay H. Mahmoud, Ph.D.
CAP 4800/CAP 5805: Computer Simulation Concepts
CIS 540 Principles of Embedded Computation Spring Instructor: Rajeev Alur
Diagnostic Information for Control-Flow Analysis of Workflow Graphs (aka Free-Choice Workflow Nets) Cédric Favre(1,2), Hagen Völzer(1), Peter Müller(2)
Rewriting Nested Graphs, through Term Graphs Roberto Bruni, Andrea Corradini, Fabio Gadducci Alberto Lluch Lafuente and Ugo Montanari Dipartimento di Informatica,
Requirements Techniques, cont.
2. Specification and Modeling
Clockless Computing COMP
CAP 4800/CAP 5805: Computer Simulation Concepts
CAP 4800/CAP 5805: Computer Simulation Concepts
An Introduction to Petri Nets
CAP 4800/CAP 5805: Computer Simulation Concepts
Presentation transcript:

1 Formal Models for Transactions: Zero Safe Nets 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 13 April 2005 Institutions Markets Technologies IMT 2 Models and Languages for Coordination and Orchestration Contents Orchestration with Petri Nets Transactions with Zero Safe Nets From BizTalk to Zero Safe Nets

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 3 Models and Languages for Coordination and Orchestration Why Extending Petri Nets P/T nets can naturally model control flow data flow message passing The basic P/T net model does not offer any synchronization between transitions (only token synchronization) that would be useful for expressing transactions

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 4 Models and Languages for Coordination and Orchestration Why Zero-Safe Nets Zero-Safe Nets offers a basis for modeling distributed transactions and workflows simple and natural extension of Petri nets based on a concept easily exportable to other paradigms offering both refined / abstract views admit distributed interpreters / implementations based on unfolding, no backtracking based on join-calculus easy to combine with other net flavors (e.g. read arcs)

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 5 Models and Languages for Coordination and Orchestration The Idea Zero-Safe Nets are like P/T Petri nets but places are partitioned in Stable places ordinary places defining observable states Zero-Safe places (or just zero places) idealized resources empty in all observable states temporarily used during transactions (coordinating activities) Transactions as transition synchronizations a computation from observable states to observable states via non-stable markings transactions can end when all tokens in zero places have been consumed

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 6 Models and Languages for Coordination and Orchestration Rendez-Vous sendreceive The message can be sent

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 7 Models and Languages for Coordination and Orchestration Rendez-Vous sendreceive Sender is blocked until message is received Frozen!

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 8 Models and Languages for Coordination and Orchestration Rendez-Vous sendreceive Ready to commit

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 9 Models and Languages for Coordination and Orchestration Rendez-Vous sendreceive Coordinated commit

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 10 Models and Languages for Coordination and Orchestration Nondeterministic Rendez-Vous send receive

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 11 Models and Languages for Coordination and Orchestration Origin of the Name In classic Petri net Theory A place a is n-safe if in any reachable marking it contains at most n tokens A net is n-safe if all its places are such Thus a place / net is 0-safe if in any reachable marking it is empty! Useless? We write zero-safe, not 0-safe Zero places must be empty in any observable marking

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 12 Models and Languages for Coordination and Orchestration From Free-Choice to Non-Deadlocking turn left right

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 13 Models and Languages for Coordination and Orchestration From Free-Choice to Non-Deadlocking turn left right

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 14 Models and Languages for Coordination and Orchestration From Free-Choice to Non-Deadlocking turn left right

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 15 Models and Languages for Coordination and Orchestration From Free-Choice to Non-Deadlocking turn left right Success!

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 16 Models and Languages for Coordination and Orchestration From Free-Choice to Non-Deadlocking turn left right

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 17 Models and Languages for Coordination and Orchestration From Free-Choice to Non-Deadlocking turn left right Deadlock!

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 18 Models and Languages for Coordination and Orchestration From Free-Choice to Non-Deadlocking turn left right Only successful choices by design!

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 19 Models and Languages for Coordination and Orchestration No Reuse of Stable Tokens Before Commit sendreceive The message can be sent…

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 20 Models and Languages for Coordination and Orchestration No Reuse of Stable Tokens Before Commit sendreceive …but no-one can receive it!

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 21 Models and Languages for Coordination and Orchestration Multicasting b a z c 2 new receive send reset copy

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 22 Models and Languages for Coordination and Orchestration Multicasting b a z c 2 new receive send reset copy

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 23 Models and Languages for Coordination and Orchestration Multicasting b a z c 2 new receive send reset copy

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 24 Models and Languages for Coordination and Orchestration Multicasting b a z c 2 new receive send reset copy

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 25 Models and Languages for Coordination and Orchestration Multicasting b a z c 2 new receive send reset copy

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 26 Models and Languages for Coordination and Orchestration Formal Definition A Zero-Safe net is B=(S ,T,pre,post,u 0,Z) N B =(S ,T,pre,post,u 0 ) is the underlying P/T Petri net Z  S is the set of zero places L=S-Z is the set of stable places u 0  L  is the initial marking Note: S  = (L  Z)   L   Z  Markings can be represented as pairs (u,x) u  L  x  Z 

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 27 Models and Languages for Coordination and Orchestration Operational Semantics We can exploit the operational semantics (step semantics) of the underlying P/T Petri net N B uxNBvyuxNBvy (u,x)  B (v,y) [underlying steps] (u,  )  B (v,  ) uBvuBv [commit] (u,x)  B (v,x’) (u’,x’)  B (v’,y) (u  u’,x)  B (v  v’,y) [horizontal composition] The key feature is horizontal composition it acts as sequential composition on zero places it acts as parallel composition on stable places

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 28 Models and Languages for Coordination and Orchestration Transactions as Transitions The admissible behaviors of the net are those that can be committed Such concurrent transactions can be regarded as atomic activities at the higher level of abstraction In general there can be several P/T Petri nets N such that  N   B We should select an abstract net A (B) which is an ordinary P/T Petri net its places are the stable places of B its transitions are the (minimal) transactions of B not decomposable in parallel activities all other steps can be inferred

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 29 Models and Languages for Coordination and Orchestration Rendez-Vous sendreceive B A (B)

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 30 Models and Languages for Coordination and Orchestration From Free-Choice to Non-Deadlocking turn left right turn-Lturn-R B A (B)

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 31 Models and Languages for Coordination and Orchestration Collective or Individual? Different philosophies can yield different abstract nets Define an algebra of computations Careful axiomatization of horizontal composition  *  Select only those computations  such that  goes from stable marking to stable marking If there exist ,  with  =  then either  =  or  =  Computations are processes of NB Select only those processes that satisfy suitable conditions connected – not decomposable in parallel active processes all and only minimal / maximal places stable full – no idle place CTPh ITPh

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 32 Models and Languages for Coordination and Orchestration Multicasting CTPh b a c new 1-1 reset n n+1 …… Infinitely many transitions!

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 33 Models and Languages for Coordination and Orchestration Multicasting ITPh b a c new 1-1 reset n n+1 …… 1-n n+1 … Different copy policies are distinguished! Infinitely many transitions!

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 34 Models and Languages for Coordination and Orchestration Concurrent Copies sendcopy receive

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 35 Models and Languages for Coordination and Orchestration Sequential Copies send copy receive

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 36 Models and Languages for Coordination and Orchestration The ITPh “Monster” BCTPhITPh 2 2 n n ……

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 37 Models and Languages for Coordination and Orchestration FIFTH HOMEWORK Show that given any Zero Safe net B, we can always find a corresponding Zero Safe net B base that: B base yields the same abstract net as B and B base contains only transitions of the form below: fork open join close drop

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 38 Models and Languages for Coordination and Orchestration Extensions of Zero-Safe Nets Read arcs multiple concurrent reading of the same token Data values colored tokens / high level nets Dynamic net reconfiguration many others currently under investigation

Roberto IMT Lucca 13 April 2005 Institutions Markets Technologies IMT 39 Models and Languages for Coordination and Orchestration References Zero-safe nets: comparing the collective and individual token approaches (Information and Computation 156(1-2):46-89, 2000) R. Bruni, U. Montanari Extending the zero-safe approach to colored, reconfigurable and dynamic nets (Advances in Petri Nets, LNCS 3098, pp , 2002) R. Bruni, H. Melgratti, U. Montanari