1 Formal Models for Distributed Negotiations Concurrent Languages Translation Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela.

Slides:



Advertisements
Similar presentations
Process Algebra Book: Chapter 8. The Main Issue Q: When are two models equivalent? A: When they satisfy different properties. Q: Does this mean that the.
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.
Applying Petri Net Unfoldings for Verification of Mobile Systems Apostolos Niaouris Joint work with V. Khomenko, M. Koutny MOCA ‘06.
1.6 Behavioral Equivalence. 2 Two very important concepts in the study and analysis of programs –Equivalence between programs –Congruence between statements.
Event structures Mauro Piccolo. Interleaving Models Trace Languages:  computation described through a non-deterministic choice between all sequential.
Programming Paradigms for Concurrency Lecture 11 Part III – Message Passing Concurrency TexPoint fonts used in EMF. Read the TexPoint manual before you.
01/05/2015 Agay Spring School, March'02 Mobility 1 : the Pi Calculus Cédric Fournet Microsoft Research Cambridge.
Process Algebra (2IF45) Probabilistic Process Algebra Suzana Andova.
Process Algebra (2IF45) Probabilistic Process Algebra Suzana Andova.
1 Formal Models for Distributed Negotiations The 2PC in an Extended Pi-Calculus Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela.
Course on Probabilistic Methods in Concurrency (Concurrent Languages for Probabilistic Asynchronous Communication) Lecture 1 The pi-calculus and the asynchronous.
Roberto Pisa, Italy 13 June 2008 WADT Tiles for Reo Roberto Bruni Dipartimento di Informatica Università di Pisa WADT th International.
A Semantic Characterization of Unbounded-Nondeterministic Abstract State Machines Andreas Glausch and Wolfgang Reisig 1.
A denotational framework for comparing models of computation Daniele Gasperini.
1 Synchronization strategies for global computing models Ivan Lanese Computer Science Department University of Bologna.
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.
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 Formal Models for Distributed Negotiations Transactions in Linda Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias.
Bridging the gap between Interaction- and Process-Oriented Choreographies Talk by Ivan Lanese Joint work with Claudio Guidi, Fabrizio Montesi and Gianluigi.
New insights on architectural connectors joint work with Roberto Bruni University of Pisa, Italy Ugo Montanari University of Pisa, Italy José Luiz Fiadeiro.
1 GT-VC 2005, San Francisco, August 22, 2005 Ugo Montanari Università di Pisa Ivan Lanese Università di Pisa Hoare vs. Milner: Comparing Synchronizations.
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.
1 Mapping Fusion and Synchronized Hyperedge Replacement into Logic Programming joint work with Ugo Montanari Ivan Lanese Dipartimento di Informatica Università.
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 Pisa Prof. Ugo Montanari Synchronization strategies for global computing Relator: Thesis Progress.
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.
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 Formal Models for Distributed Negotiations A Calculus of Compensations Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias.
Mobile Ambients Luca Cardelli Digital Equipment Corporation, Systems Research Center Andrew D. Gordon University of Cambridge, Computer Laboratory Presented.
Dipartimento di Informatica Università di Pisa Nested Commits for Mobile Calculi: Extending Join Roberto Bruni, Hernán Melgratti and Ugo Montanari.
1 Ivan Lanese Computer Science Department University of Bologna Synchronization strategies for global computing models.
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.
Synchronizations with Mobility for Graph Transformations joint work with Ugo Montanari Dipartimento di Informatica Università di Pisa Ivan Lanese Dipartimento.
Mathematical Operational Semantics and Finitary System Behaviour Stefan Milius, Marcello Bonsangue, Robert Myers, Jurriaan Rot.
Coalgebraic Symbolic Semantics Filippo Bonchi Ugo Montanari.
Introduction to Formal Methods Based on Jeannette M. Wing. A Specifier's Introduction to Formal Methods. IEEE Computer, 23(9):8-24, September,
SDS Foil no 1 Process Algebra Process Algebra – calculating with behaviours.
Mathematical Operational Semantics and Finitary System Behaviour Stefan Milius, Marcello Bonsangue, Robert Myers, Jurriaan Rot.
Advanced Topics in SE Spring Process Algebra Hossein Hojjat Formal Methods Lab University of Tehran.
Reactive systems – general
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Operational Semantics And Process Algebra Mads Dam Reading: Peled 8.3, 8.4, 8.6 – rest of ch. 8.
Process Algebra Calculus of Communicating Systems Daniel Choi Provable Software Lab. KAIST.
Natallia Kokash (Accepted for PACO’2011) ACG, 31/05/ Input-output conformance testing for channel-based connectors 1.
Regular Expressions Chapter 6 1. Regular Languages Regular Language Regular Expression Finite State Machine L Accepts 2.
11/19/20151 Metodi formali nello sviluppo software a.a.2013/2014 Prof.Anna Labella.
Programming Languages and Design Lecture 3 Semantic Specifications of Programming Languages Instructor: Li Ma Department of Computer Science Texas Southern.
Laws of concurrent design Tony Hoare Microsoft ResearchCambridge FMCAD October.
MPRI 3 Dec 2007Catuscia Palamidessi 1 Why Probability and Nondeterminism? Concurrency Theory Nondeterminism –Scheduling within parallel composition –Unknown.
Weak Bisimilarity Coalgebraically Andrei Popescu Department of Computer Science University of Illinois.
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.
2G1516 Formal Methods2005 Mads Dam IMIT, KTH 1 CCS: Processes and Equivalences Mads Dam Reading: Peled 8.5.
2G1516/2G1521 Formal Methods2004 Mads Dam IMIT, KTH 1 CCS: Processes and Equivalences Mads Dam Reading: Peled 8.1, 8.2, 8.5.
Regular Expressions Chapter 6. Regular Languages Regular Language Regular Expression Finite State Machine L Accepts.
Duminda WijesekeraSWSE 623: Introduction1 Introduction to Formal and Semi- formal Methods Based on A Specifier's Introduction to Formal Methods (J. Wing)
Process Algebra (2IF45) Abstraction Parallel composition (short intro) Suzana Andova.
Process Algebra (2IF45) Basic Process Algebra Dr. Suzana Andova.
Rewriting Nested Graphs, through Term Graphs Roberto Bruni, Andrea Corradini, Fabio Gadducci Alberto Lluch Lafuente and Ugo Montanari Dipartimento di Informatica,
Formal Methods in software development
Algebraic Trace Theory
A MODULAR LTS FOR OPEN REACTIVE SYSTEMS
Expressive Power of CCS
Presentation transcript:

1 Formal Models for Distributed Negotiations Concurrent Languages Translation Roberto Bruni Dipartimento di Informatica Università di Pisa XVII Escuela de Ciencias Informaticas (ECI 2003), Buenos Aires, July

Formal Models for Distributed Negotiations2 Process Description Languages In concurrency there have been two mainstream paradigms Petri-net like Process Description Languages (PDL) Simplified concurrent programming languages Primitives resembles conceptual activities Focus on certain aspects of interaction Not mere mathematical abstraction Inspiration of real programming languages Role analogous to that of -calculus for sequential languages

Formal Models for Distributed Negotiations3 PDL Examples CCS [Milner] / CSP [Hoare] Calculus of Comm. Systems / Comm. Sequential Processes pi-calculus [Milner, Parrow, Walker] name passing ambient calculus [Cardelli, Gordon] mobile environments spi-calculus [Abadi, Gordon] / Security Process Algebra [Focardi, Gorrieri] cryptography / security join-calculus [Fournet, Gonthier] unique receptor Linda [Gelernter] / KLAIM [De Nicola, Ferrari, Pugliese] shared and distributed dataspaces

Formal Models for Distributed Negotiations4 PDL Ingredients Processes / Agents encode both states and programs Mostly based on message passing Syntax Processes are terms over a signature  e.g. parallel composition, input prefix, restriction, nondeterministic choice possibly modulo some structural axioms E e.g. associativity of parallel composition, commutativity of choice Operational semantics Labeled Transition System (LTS) over suitable observable actions Defined by SOS inference rules taking advantage of the signature The transitions of a complex agent are defined in terms of the transitions of its constituent agents Reduction semantics Often exploit structural axioms to give unconditional reduction

Formal Models for Distributed Negotiations5 Abstract Semantics Studying behavioral equivalences is fundamental More efficient agents can replace obsolete agents Trace equivalence  Set of possible executions Bisimilarity  Takes into account the branching structure of the LTS May / Must testing Test agents only under suitable scenarios Barbed bisimilarity Unlabeled bisimilarity + state predicates (barbs) Better be congruences! SOS formats can guarantee that

Formal Models for Distributed Negotiations6 Traces vs Bisimulation Bisimilarity is the largest binary relation  on agents such that if P  Q then: if P  P’ then there exists Q’ such that Q  Q’ and P’  Q’ vice versa a.b+a.ca.(b+c) bc 00 b+c 00 aa bc a bc  

Formal Models for Distributed Negotiations7 Simple Process Algebra (SPA) Syntax P ::= 0 | a?P | a!P | P\a | P|P Operational semantics Actions {a?,a!}  {  } a?P  P a? input prefix a!P  P a! output prefix P\a  Q\a P  Q  a!,a? channel restriction P|R  Q|R P  Q R|P  R|Q P  Q parallel composition P|Q  P’|Q’ P  P’ a?  Q  Q’ a! internal action

Formal Models for Distributed Negotiations8 Truly Concurrent Semantics The abstract semantics we have seen are called interleaving Actions are performed sequentially Petri nets can provide truly concurrent semantics in a natural way Encoding PDL in finite nets is not always possible (expressiveness gap) requires complex constructions (combinatorial explosion of states / transitions) e.g. parallel composition must synchronize all pairs of complementary actions

Formal Models for Distributed Negotiations9 Why Zero-Safe Nets To exploit Zero-Safe nets to compose the models of smaller systems according to the PDL signature The encoding must preserve “the semantics” NPNP … NQNQ … |= N P|Q a?a!a?a!  …

Formal Models for Distributed Negotiations10 Channels are encoded as zero places a? and a! Input, output and synchronization as transactions in a, out a, syn a Z({a 1,…,a n }) = Z a 1  …  Z a n The Idea in a out a syn a a?a! ZaZa

Formal Models for Distributed Negotiations11 A-interfaced net: I=(B,A,f) B is a Zero-Safe net A={a 1,…,a n } f:Z(A)  B is an injective map The agent P is modeled by a chan(P)-interfaced net [P], where chan(P) denote the non restricted channels of P We let u [P] denote the initial marking of [P] {a 1,…,a n }-Interfaced Nets [P] … f(Z a n )f(Z a 1 ) u [P]

Formal Models for Distributed Negotiations12 Inactive agent 0 [0] = (B 0, ,  ) Input prefix a?P If a  chan(P) We add a NEW place a?P A NEW transition t a?P :a?P  u [P]  a? u [a?P] = a?P otherwise We add the channel a to the interface We add a copy of Z a We extend the injective mapping in the obvious way We proceed as before The Encoding I B0B0

Formal Models for Distributed Negotiations13 Inactive agent 0 [0] = (B 0, ,  ) Input prefix a?P If a  chan(P) We add a NEW place a?P A NEW transition t a?P :a?P  u [P]  a? u [a?P] = a?P otherwise We add the channel a to the interface We add a copy of Z a We extend the injective mapping in the obvious way We proceed as before The Encoding I B0B0 [P] … f(Z a ) u [P]

Formal Models for Distributed Negotiations14 Inactive agent 0 [0] = (B 0, ,  ) Input prefix a?P If a  chan(P) We add a NEW place a?P A NEW transition t a?P :a?P  u [P]  a? u [a?P] = a?P otherwise We add the channel a to the interface We add a copy of Z a We extend the injective mapping in the obvious way We proceed as before The Encoding I B0B0 [P] … f(Z a ) u [P] B [a?P] a?P

Formal Models for Distributed Negotiations15 Inactive agent 0 [0] = (B 0, ,  ) Input prefix a?P If a  chan(P) We add a NEW place a?P A NEW transition t a?P :a?P  u [P]  a? u [a?P] = a?P otherwise We add the channel a to the interface We add a copy of Z a We extend the injective mapping in the obvious way We proceed as before The Encoding I B0B0 [P] … f(Z a ) u [P] B [a?P] t a?P

Formal Models for Distributed Negotiations16 Inactive agent 0 [0] = (B 0, ,  ) Input prefix a?P If a  chan(P) We add a NEW place a?P A NEW transition t a?P :a?P  u [P]  a? u [a?P] = a?P otherwise We add the channel a to the interface We add a copy of Z a We extend the injective mapping in the obvious way We proceed as before The Encoding I B0B0 [P] … f(Z a ) u [P] B [a?P] t a?P

Formal Models for Distributed Negotiations17 Output prefix a!P Analogous to input Restriction P\a Let [P]=(B,A,f) [P\a]=(B’,A’,f’) B’ is obtained from B by removing transitions f(in a ) and f(out a ), if present A’ = A-{a} f’ = f| Z(A’) u [P\a] = u [P] The Encoding II [P] … f(Z a ) u [P] B [P\a]

Formal Models for Distributed Negotiations18 [P 2 ] Parallel composition P 1 |P 2 Let [P 1 ]=(B 1,A 1,f 1 ) and [P 2 ]=(B 2,A 2,f 2 ) Let Z = Z(A 1 )  Z(A 2 ) [P 1 |P 2 ]=(B,A,f) A = A 1  A 2 B is the union of B 1 and B 2 where f 1 (Z) and f 2 (Z) are collapsed f = f 1  f 2 u [P 1 |P 2 ] = u [P 1 ]  u [P 2 ] The Encoding III [P 1 ] … u [P 1 ] B [P 1 |P 2 ] f 1 (Z) f 2 (Z) … u [P 2 ]

Formal Models for Distributed Negotiations19 Example: [a?0] t a?0 syn a 0 a?0 in a out a

Formal Models for Distributed Negotiations20 Example: [b?a?0] t a?0 syn a 0 a?0 t b?a?0 in a out a syn b in b out b

Formal Models for Distributed Negotiations21 Example: [a!0] syn a in a out a t a!0 0

Formal Models for Distributed Negotiations22 Example: [b?a?0|a!0] t a?0 syn a 0 a?0 t b?a?0 in a out a syn b in b out b t a!0 0

Formal Models for Distributed Negotiations23 Example: [(b?a?0|a!0)\a] t a?0 0 t b?a?0 syn b in b out b t a!0 0

Formal Models for Distributed Negotiations24 Abstract net t a?0 0 t b?a?0 syn b in b out b t a!0  0 a?0 b? b?a?0a!0 00 Proposition: The abstract net of [P] under the CTPh and ITPh coincide

Formal Models for Distributed Negotiations25 Semantic Correspondence Proposition Each transaction of [P]=(B,A,f) contains at most one occurrence of transitions in f(A) We can associate unambiguous labels to transactions:  (  ) = a? if a  chan(P) and f(in a ) is fired in transaction   (  ) = a! if a  chan(P) and f(out a ) is fired in transaction   (  ) =  otherwise Theorem P is “bisimilar” to A ([P]) (in the interleaving sense) matching labels in the LTS via the labeling  of transactions

Formal Models for Distributed Negotiations26 About Restriction The restriction operator P\a hides channel a from external observers Then a has just local scope No interaction on a is possible with the environment It is natural to consider equivalent two processes that differ just for the renaming of restricted names For such P and Q, we write P  res Q Two A-interfaced nets (B,A,f) and (B’,A,f’) are isomorphic if there exists a ZS net homomorphism  :B  B’ that respects interfaces i.e.  (f(x)) = f’(x) Proposition: If P  res Q then [P] is isomorphic to [Q]

Formal Models for Distributed Negotiations27 About Choice P+R  Q P  Q R+P  Q P  Q NPNP … NQNQ … += N P+Q … … … ……

Formal Models for Distributed Negotiations28 Recap We have seen Short introduction to PDL Operational and abstract semantics Encoding of SPA in ZSN Truly concurrent semantics Correspondence theorem

Formal Models for Distributed Negotiations29 References Zero-safe nets: comparing the collective and individual token approaches (Information and Computation 156(1-2):46-89, Academic Press 2000) R. Bruni, U. Montanari