Structure Preserving Bisimilarity,

Similar documents
The State Explosion Problem

Trace Refinement of π-calculus Processes

Structure Preserving Bisimilarity, Supporting an Operational Petri Net Semantics of CCSP

A Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980

Models of Concurrency

Communication and Concurrency: CCS

A Modern Mathematical Theory of Co-operating State Machines

On Synchronous and Asynchronous Interaction in Distributed Systems

An introduction to process calculi: Calculus of Communicating Systems (CCS)

MAKING THE UNOBSERVABLE, UNOBSERVABLE.

On the Expressiveness of Higher Dimensional Automata. R.J. van Glabbeek 1,2

conflict structure bis hpb test pt causality

Ready to Preorder: The Case of Weak Process Semantics

Communicating Parallel Processes. Stephen Brookes

Some techniques and results in deciding bisimilarity

On the Expressiveness of Higher Dimensional Automata. R.J. van Glabbeek 1,2

Models for Concurrency

Alan Bundy. Automated Reasoning LTL Model Checking

Liveness of Communicating Transactions

The unfolding of general Petri nets

Sequence convergence, the weak T-axioms, and first countability

A Weak Bisimulation for Weighted Automata

Module 03 Lecture 14 Inferential Statistics ANOVA and TOI

Communication in Petri nets

Bounded Retransmission in Event-B CSP: a Case Study

ON THE AXIOMATIZABILITY OF IMPOSSIBLE FUTURES

Abstractions and Decision Procedures for Effective Software Model Checking

Observing \True" Concurrency. Lalita Jategaonkar. S.B., Electrical Engineering and Computer Science. Massachusetts Institute of Technology (1989)

Decidable Subsets of CCS

WORKSHEET ON NUMBERS, MATH 215 FALL. We start our study of numbers with the integers: N = {1, 2, 3,...}

Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur

An Introduction to Temporal Logics

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication

statistical physics of communicating processes Vincent Danos U of Edinburgh, CNRS SynThsys Centre

Structural Operational Semantics

A Unique Decomposition Theorem for Ordered Monoids with Applications in Process Theory

Understanding Process Semantics

Numbers, proof and all that jazz.

Formal Techniques for Software Engineering: CCS: A Calculus for Communicating Systems

CS173 Strong Induction and Functions. Tandy Warnow

Notes 11: OLS Theorems ECO 231W - Undergraduate Econometrics

Branching vs. Linear Time: Semantical Perspective

The Decent Philosophers: An exercise in concurrent behaviour

Clojure Concurrency Constructs, Part Two. CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014

Distributed transactions and reversibility

39 A Logic for True Concurrency

x + 2y + 3z = 8 x + 3y = 7 x + 2z = 3

Probabilistic Action System Trace Semantics

How to prove it (or not) Gerry Leversha MA Conference, Royal Holloway April 2017

Introduction. Pedro Cabalar. Department of Computer Science University of Corunna, SPAIN 2013/2014

Correcting a Space-Efficient Simulation Algorithm

A Logical Viewpoint on Process-Algebraic Quotients

Trace semantics: towards a unification of parallel paradigms Stephen Brookes. Department of Computer Science Carnegie Mellon University

Agreement. Today. l Coordination and agreement in group communication. l Consensus

Semantics and Verification

Overview. overview / 357

Trace-based Process Algebras for Real-Time Probabilistic Systems

An Intuitive Introduction to Motivic Homotopy Theory Vladimir Voevodsky

Hoare Logic and Model Checking

Petri nets. s 1 s 2. s 3 s 4. directed arcs.

ON CHARACTERISING DISTRIBUTABILITY

Characterizing Fault-Tolerant Systems by Means of Simulation Relations

Safety and Liveness. Thread Synchronization: Too Much Milk. Critical Sections. A Really Cool Theorem

Probabilistic Models. Models describe how (a portion of) the world works

Specification models and their analysis Petri Nets

Rooted Branching Bisimulation as a Congruence

Roberto Bruni, Ugo Montanari DRAFT. Models of Computation. Monograph. May 18, Springer

Reactive Turing Machines

Modal and Temporal Logics

Automata-Theoretic Model Checking of Reactive Systems

Concurrency theory. proof-techniques for syncronous and asynchronous pi-calculus. Francesco Zappa Nardelli. INRIA Rocquencourt, MOSCOVA research team

METRIC SEMANTICS FOR REACTIVE PROBABILISTIC PROCESSES GETHIN JOSIAH NORMAN

7. Queueing Systems. 8. Petri nets vs. State Automata

Tutorial on Mathematical Induction

A Characterization of Regular Expressions under Bisimulation

A Thread Algebra with Multi-level Strategic Interleaving

MATH 25 CLASS 21 NOTES, NOV Contents. 2. Subgroups 2 3. Isomorphisms 4

Multicore Semantics and Programming

Extreme values: Maxima and minima. October 16, / 12

CH 24 IDENTITIES. [Each product is 35] Ch 24 Identities. Introduction

Fermat s Last Theorem for Regular Primes

Asynchronous Communication 2

Edexcel AS and A Level Mathematics Year 1/AS - Pure Mathematics

A Canonical Contraction for Safe Petri Nets

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège

Partition Numbers. Kevin Y.X. Wang. September 5, School of Mathematics and Statistics The University of Sydney

Simulation Preorder on Simple Process Algebras

Shared-Variable Concurrency

Time and Timed Petri Nets

Compositional Reachability in Petri Nets

A Brief Introduction to Model Checking

BRICS. On Plain and Hereditary History-Preserving Bisimulation

Probability as Logic

14.75: Leaders and Democratic Institutions

Ordinary Differential Equation Introduction and Preliminaries

the time it takes until a radioactive substance undergoes a decay

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice

Math 414, Fall 2016, Test I

Transcription:

Structure Preserving Bisimilarity, Supporting an Operational Petri Net Semantics of CCSP Rob van Glabbeek NICTA, Sydney, Australia University of New South Wales, Sydney, Australia September 2015

Milner: CCS [[ ]] op LTS

Milner: CCS [[ ]] op LTS Hoare: CSP [[ ]] den failures model

Milner: CCS [[ ]] op LTS Hoare: [[ ]] op LTS CSP [[ ]] den failures model [Olderog & Hoare 86]

CCS [[ ]] op LTS [[ ]] op LTS CSP

Nielsen: Olderog: CCSP [[ ]] op LTS

Goltz & Mycroft Winskel van Glabbeek & Vaandrager: Petri nets [[ ]] den CCSP [[ ]] op LTS but no treatment of recursion.

Degano, De Nicola and Montanari: [[ ]] op [[ ]] den Petri nets CCSP [[ ]] op LTS including a treatment of recursion.

Degano, De Nicola and Montanari: [[ ]] op [[ ]] den Petri nets CCSP [[ ]] op LTS including a treatment of recursion. But initial concurrency is not respected.

c [[(ad b)+c]] DDM op = a b d b a d

Olderog, 1987: [[ ]] op [[ ]] den Petri nets CCSP [[ ]] op LTS including a treatment of recursion. Concurrency is fully respected.

a c b [[(ad b)+c]] Old op = d

a c b [[(ad b)+c]] Old op = d This is the same result as for the denotational Petri net found in the literature.

How to formalise the statement that Olderog s operational respects concurrency?

How to formalise the statement that Olderog s operational respects concurrency? We use the well-known fact that the denotational from the literature respects concurrency, at least for those expressions P for which it is defined (the recursion-free ones).

How to formalise the statement that Olderog s operational respects concurrency? We use the well-known fact that the denotational from the literature respects concurrency, at least for those expressions P for which it is defined (the recursion-free ones). So we want to prove: [[P]] op = [[P]] den.

How to formalise the statement that Olderog s operational respects concurrency? We use the well-known fact that the denotational from the literature respects concurrency, at least for those expressions P for which it is defined (the recursion-free ones). So we want to prove: [[P]] op = [[P]] den. But this fails in the same way as the operational versus denotational of CCSP in terms of labelled transition systems:

How to formalise the statement that Olderog s operational respects concurrency? We use the well-known fact that the denotational from the literature respects concurrency, at least for those expressions P for which it is defined (the recursion-free ones). So we want to prove: [[P]] op = [[P]] den. But this fails in the same way as the operational versus denotational of CCSP in terms of labelled transition systems: [[a+a]] op [[a+a]] den.

How to formalise the statement that Olderog s operational respects concurrency? We use the well-known fact that the denotational from the literature respects concurrency, at least for those expressions P for which it is defined (the recursion-free ones). So we want to prove: [[P]] op = [[P]] den. But this fails in the same way as the operational versus denotational of CCSP in terms of labelled transition systems: [[a+a]] op [[a+a]] den. So instead one shows [[P]] op [[P]] den for a suitable relation.

Showing agreement between an operational and denotational net of CCSP Aim: propose a relation between nets, and show [[P]] op [[P]] den.

Showing agreement between an operational and denotational net of CCSP Aim: propose a relation between nets, and show [[P]] op [[P]] den. Which requirements to impose on?

Showing agreement between an operational and denotational net of CCSP Aim: propose a relation between nets, and show [[P]] op [[P]] den. Which requirements to impose on? 1. [[P]] op [[P]] den for any P for which both sides are defined.

Showing agreement between an operational and denotational net of CCSP Aim: propose a relation between nets, and show [[P]] op [[P]] den. Which requirements to impose on? 1. [[P]] op [[P]] den for any P for which both sides are defined. 2. respects concurrency.

Showing agreement between an operational and denotational net of CCSP Aim: propose a relation between nets, and show [[P]] op [[P]] den. Which requirements to impose on? 1. [[P]] op [[P]] den for any P for which both sides are defined. 2. respects concurrency. 3. is a congruence relation for CCSP. R = P Q PN

Showing agreement between an operational and denotational net of CCSP Olderog proposes a relation between nets, called strong bisimulation.

Showing agreement between an operational and denotational net of CCSP Olderog proposes a relation between nets, called strong bisimulation. 1. [[P]] op [[P]] den for any P for which both sides are defined.

Showing agreement between an operational and denotational net of CCSP Olderog proposes a relation between nets, called strong bisimulation. 1. [[P]] op [[P]] den for any P for which both sides are defined. 2. respects concurrency.

Showing agreement between an operational and denotational net of CCSP Olderog proposes a relation between nets, called strong bisimulation. 1. [[P]] op [[P]] den for any P for which both sides are defined. 2. respects concurrency. 3. has the typical congruence properties.

Showing agreement between an operational and denotational net of CCSP Olderog proposes a relation between nets, called strong bisimulation. 1. [[P]] op [[P]] den for any P for which both sides are defined. 2. respects concurrency. 3. has the typical congruence properties. But it fails to be transitive!

Showing agreement between an operational and denotational net of CCSP Olderog proposes a relation between nets, called strong bisimulation. 1. [[P]] op [[P]] den for any P for which both sides are defined. 2. respects concurrency. 3. has the typical congruence properties. But it fails to be transitive! This is not a problem, because can be seen as just a tool to proof things about causal equivalence caus. N 1 caus N 2 if they have the same processes or causal nets.

Showing agreement between an operational and denotational net of CCSP Olderog proposes a relation between nets, called strong bisimulation. 1. [[P]] op [[P]] den for any P for which both sides are defined. 2. respects concurrency. 3. has the typical congruence properties. But it fails to be transitive! This is not a problem, because can be seen as just a tool to proof things about causal equivalence caus. N 1 caus N 2 if they have the same processes or causal nets. N 1 N 2 N 1 caus N 2.

Showing agreement between an operational and denotational net of CCSP Olderog proposes a relation between nets, called strong bisimulation. 1. [[P]] op [[P]] den for any P for which both sides are defined. 2. respects concurrency. 3. has the typical congruence properties. But it fails to be transitive! This is not a problem, because can be seen as just a tool to proof things about causal equivalence caus. N 1 caus N 2 if they have the same processes or causal nets. caus respects concurrency. N 1 N 2 N 1 caus N 2.

Showing agreement between an operational and denotational net of CCSP caus is a linear time equivalence: [[a(b +c)]] op caus [[ab +ac]]. This is less good for capturing phenomena like deadlock behaviour.

Showing agreement between an operational and denotational net of CCSP caus is a linear time equivalence: [[a(b +c)]] op caus [[ab +ac]]. This is less good for capturing phenomena like deadlock behaviour. My contribution today is the proposal of a new branching time equivalence that can play the rôle of caus. I call it structure preserving bisimilarity sp.

Structure Preserving Bisimulation N 1 N 2

Structure Preserving Bisimulation N 1 N 2 a

Structure Preserving Bisimulation N 1 N 2 a a

Structure Preserving Bisimulation N 1 N 2 a a

Structure Preserving Bisimulation N 1 N 2 a a

Criteria for choosing this equivalence 2. It should capture concurrency. a b ab + ba causality 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Criteria for choosing this equivalence 1. It should be a branching time equivalence. 2. It should capture concurrency. a b ab + ba causality 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Criteria for choosing this equivalence 1. It should be a branching time equivalence. 2. It should capture concurrency. a b ab + ba causality 3. It should respect inevitability. [Mazurkiewicz] 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Criteria for choosing this equivalence 1. It should be a branching time equivalence. 2. It should capture concurrency. a b ab + ba causality 3. It should respect inevitability. [Mazurkiewicz] 4. It should be real-time consistent. a and b one minute each 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Criteria for choosing this equivalence 1. It should be a branching time equivalence. 2. It should capture concurrency. a b ab + ba causality 3. It should respect inevitability. [Mazurkiewicz] 4. It should be real-time consistent. a and b one minute each 5. It should be preserved under action refinement. a a 1 ;a 2 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Criteria for choosing this equivalence 1. It should be a branching time equivalence. 2. It should capture concurrency. a b ab + ba causality 3. It should respect inevitability. [Mazurkiewicz] 4. It should be real-time consistent. a and b one minute each 5. It should be preserved under action refinement. a a 1 ;a 2 6. It should be finer than caus. 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Criteria for choosing this equivalence 1. It should be a branching time equivalence. 2. It should capture concurrency. a b ab + ba causality 3. It should respect inevitability. [Mazurkiewicz] 4. It should be real-time consistent. a and b one minute each 5. It should be preserved under action refinement. a a 1 ;a 2 6. It should be finer than caus. 7. It should not distinguish nets whose behaviours are patently the same, i.e. when differing only in unreachable parts. 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Semantic equivalences on Petri nets branching time linear time abstract from causality/concurrency capture causality/concurrency

Semantic equivalences on Petri nets branching time bisimulation ib linear time trace it abstract from causality/concurrency capture causality/concurrency

Semantic equivalences on Petri nets branching time tree bisimulation ib linear time trace it abstract from causality/concurrency capture causality/concurrency

Semantic equivalences on Petri nets tree branching time bisimulation ib sb 2b STb h linear time trace it interleaving st step 2t split STt ST pt partial order abstract from causality/concurrency capture causality/concurrency

Semantic equivalences on Petri nets tree branching time bisimulation ib sb 2b STb h linear time trace it interleaving st step 2t split STt ST pt partial order caus structure preserving abstract from causality/concurrency capture causality/concurrency

Semantic equivalences on Petri nets tree branching time bisimulation ib sb 2b STb h pb linear time trace it interleaving st step 2t split STt ST pt partial order caus structure preserving abstract from causality/concurrency capture causality/concurrency

Semantic equivalences on Petri nets tree occ branching time bisimulation ib sb 2b STb h pb linear time trace it interleaving st step 2t split STt ST pt partial order caus structure preserving abstract from causality/concurrency capture causality/concurrency

Semantic equivalences on Petri nets tree occ branching time bisimulation ib sb 2b STb h pb linear time trace it interleaving st step 2t split STt ST pt partial order caus structure preserving abstract from causality/concurrency capture causality/concurrency

Semantic equivalences on Petri nets tree occ branching time bisimulation ib sb 2b STb h sp pb linear time trace it interleaving st step 2t split STt ST pt partial order caus structure preserving abstract from causality/concurrency capture causality/concurrency

Semantic equivalences on Petri nets branching time tree occ h (collective) bisimulation ib sb 2b STb h sp pb linear time trace it interleaving st step 2t split STt ST pt partial order caus structure preserving abstract from causality/concurrency capture causality/concurrency

Criteria for choosing this equivalence 1. It should be a branching time equivalence. 2. It should capture concurrency. a b ab + ba causality 3. It should respect inevitability. [Mazurkiewicz] 4. It should be real-time consistent. a and b one minute each 5. It should be preserved under action refinement. a a 1 ;a 2 6. It should be finer than caus. 7. It should not distinguish nets whose behaviours are patently the same, i.e. when differing only in unreachable parts. 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Semantic equivalences on Petri nets branching time tree occ h (collective) bisimulation ib sb 2b STb h sp pb linear time trace it st 2t STt pt caus interleaving step split ST partial order structure preserving abstract from causality/concurrency capture causality/concurrency

Criteria for choosing this equivalence 1. It should be a branching time equivalence. 2. It should capture concurrency. a b ab + ba causality 3. It should respect inevitability. [Mazurkiewicz] 4. It should be real-time consistent. a and b one minute each 5. It should be preserved under action refinement. a a 1 ;a 2 6. It should be finer than caus. 7. It should not distinguish nets whose behaviours are patently the same, i.e. when differing only in unreachable parts. 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Semantic equivalences on Petri nets branching time tree occ h (collective) bisimulation ib sb 2b STb h sp pb linear time trace it st 2t STt pt caus interleaving step split ST partial order structure preserving abstract from causality/concurrency capture causality/concurrency

Criteria for choosing this equivalence 1. It should be a branching time equivalence. 2. It should capture concurrency. a b ab + ba causality 3. It should respect inevitability. [Mazurkiewicz] 4. It should be real-time consistent. a and b one minute each 5. It should be preserved under action refinement. a a 1 ;a 2 6. It should be finer than caus. 7. It should not distinguish nets whose behaviours are patently the same, i.e. when differing only in unreachable parts. 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Semantic equivalences on Petri nets branching time tree occ h (collective) bisimulation ib sb 2b STb h sp pb linear time trace it st 2t STt pt caus interleaving step split ST partial order structure preserving abstract from causality/concurrency capture causality/concurrency

Criteria for choosing this equivalence 1. It should be a branching time equivalence. 2. It should capture concurrency. a b ab + ba causality 3. It should respect inevitability. [Mazurkiewicz] 4. It should be real-time consistent. a and b one minute each 5. It should be preserved under action refinement. a a 1 ;a 2 6. It should be finer than caus. 7. It should not distinguish nets whose behaviours are patently the same, i.e. when differing only in unreachable parts. 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Semantic equivalences on Petri nets branching time tree occ h (collective) bisimulation ib sb 2b STb h sp pb linear time trace it st 2t STt pt caus interleaving step split ST partial order structure preserving abstract from causality/concurrency capture causality/concurrency

Criteria for choosing this equivalence 1. It should be a branching time equivalence. 2. It should capture concurrency. a b ab + ba causality 3. It should respect inevitability. [Mazurkiewicz] 4. It should be real-time consistent. a and b one minute each 5. It should be preserved under action refinement. a a 1 ;a 2 6. It should be finer than caus. 7. It should not distinguish nets whose behaviours are patently the same, i.e. when differing only in unreachable parts. 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Semantic equivalences on Petri nets branching time tree occ h (collective) bisimulation ib sb 2b STb h sp pb linear time trace it st 2t STt pt caus interleaving step split ST partial order structure preserving abstract from causality/concurrency capture causality/concurrency

Criteria for choosing this equivalence 1. It should be a branching time equivalence. 2. It should capture concurrency. a b ab + ba causality 3. It should respect inevitability. [Mazurkiewicz] 4. It should be real-time consistent. a and b one minute each 5. It should be preserved under action refinement. a a 1 ;a 2 6. It should be finer than caus. 7. It should not distinguish nets whose behaviours are patently the same, i.e. when differing only in unreachable parts. 8. It should be a congruence for CCSP. 9. [[P]] op [[P]] den for any P for which both sides are defined.

Inevitability I will show you Petri nets featuring a transition b. I will ask you by a show of hands whether you hold b to be inevitable.

Inevitability I will show you Petri nets featuring a transition b. I will ask you by a show of hands whether you hold b to be inevitable. Question 0: Are you insufficiently familiar with Petri nets to answer such questions, or decline to answer for any other reason? Question 1: b (CCSP expression: b)

Inevitability Question 2: a b (CCSP expression: a+b)

Inevitability Question 3: a b (CCSP expression: E with E def = a.e +b.)

Inevitability Question 4: a c b (CCSP expression: E with E def = a.c.e +b.)

Inevitability Question 5: a b (CCSP expression: A b with A def = a.a.)

Fairness In the literature I found only 4 meaningful types of fairness assumptions: 1. Progress 2. Justness 3. Weak Fairness 4. Strong Fairness These form a hierarchy, thus creating 5 assumptional states.

Fairness Shop with 2 customers. When in the shop, a customer is waiting expectantly to be served. Upon being served, the customer leaves the shop, but usually returns right away to buy something else. A customer may leave the shop anytime, and possibly return later.

Fairness Shop with 2 customers. When in the shop, a customer is waiting expectantly to be served. Upon being served, the customer leaves the shop, but usually returns right away to buy something else. A customer may leave the shop anytime, and possibly return later. Failure of weak fairness: Customer A remains forever in the shop, ready to be served, but is never served, because the clerk is always busy serving customer B.

Fairness Shop with 2 customers. When in the shop, a customer is waiting expectantly to be served. Upon being served, the customer leaves the shop, but usually returns right away to buy something else. A customer may leave the shop anytime, and possibly return later. Failure of weak fairness: Customer A remains forever in the shop, ready to be served, but is never served, because the clerk is always busy serving customer B. Failure of strong fairness: Customer A occasionally leaves the shop, but always returns in the hope to get served. Yet, this never occurs, because the clerk is always busy serving customer B.

Fairness Shop with 2 customers. When in the shop, a customer is waiting expectantly to be served. Upon being served, the customer leaves the shop, but usually returns right away to buy something else. A customer may leave the shop anytime, and possibly return later. Failure of weak fairness: Customer A remains forever in the shop, ready to be served, but is never served, because the clerk is always busy serving customer B. Failure of strong fairness: Customer A occasionally leaves the shop, but always returns in the hope to get served. Yet, this never occurs, because the clerk is always busy serving customer B. Failure of progress: Customer A remains forever in the shop, ready to be served, but no-one is ever served. The clerk stares pathetically at the customer(s) without doing anything.

Fairness Shop with 2 customers. When in the shop, a customer is waiting expectantly to be served. Upon being served, the customer leaves the shop, but usually returns right away to buy something else. A customer may leave the shop anytime, and possibly return later. Failure of weak fairness: Customer A remains forever in the shop, ready to be served, but is never served, because the clerk is always busy serving customer B. Failure of strong fairness: Customer A occasionally leaves the shop, but always returns in the hope to get served. Yet, this never occurs, because the clerk is always busy serving customer B. Failure of progress: Customer A remains forever in the shop, ready to be served, but no-one is ever served. The clerk stares pathetically at the customer(s) without doing anything. Failure of justness: There are two counters with a clerk each. Customer A is the only customer at counter 1, yet never is served, while customer B is being served repeatedly at counter 2.

Fairness in CCSP Are the following processes guaranteed to do action b eventually? Assuming b a+b E with E def = a.e +b. E with E def = a.c.e +b. A b with A def = a.a nothing progr. justness wk. f. str. fair.

Fairness in CCSP Are the following processes guaranteed to do action b eventually? Assuming nothing progr. justness wk. f. str. fair. b a+b E with E def = a.e +b. E with E def = a.c.e +b. A b with A def = a.a

Fairness in CCSP Are the following processes guaranteed to do action b eventually? Assuming nothing progr. justness wk. f. str. fair. b a+b E with E def = a.e +b. E with E def = a.c.e +b. A b with A def = a.a

Fairness in CCSP Are the following processes guaranteed to do action b eventually? Assuming nothing progr. justness wk. f. str. fair. b a+b E with E def = a.e +b. E with E def = a.c.e +b. A b with A def = a.a

Fairness in CCSP Are the following processes guaranteed to do action b eventually? Assuming nothing progr. justness wk. f. str. fair. b a+b E with E def = a.e +b. E with E def = a.c.e +b. A b with A def = a.a

Fairness in CCSP Are the following processes guaranteed to do action b eventually? Assuming nothing progr. justness wk. f. str. fair. b a+b E with E def = a.e +b. E with E def = a.c.e +b. A b with A def = a.a

Fairness in CCSP Are the following processes guaranteed to do action b eventually? Assuming nothing progr. justness wk. f. str. fair. b a+b E with E def = a.e +b. E with E def = a.c.e +b. A b with A def = a.a

Fairness in process algebra Strong or weak fairness can be indispensable for certain applications, such as a correctness proof of the alternating bit protocol. patently wrong when used where not appropriate. E with E def = a.e +b.0.

Fairness in process algebra Strong or weak fairness can be indispensable for certain applications, such as a correctness proof of the alternating bit protocol. patently wrong when used where not appropriate. E with E def = a.e +b.0. could be a spec. of a mobile phone b is a successful dialling attempt a is an unsuccessful dialling attempt. Fairness amounts to saying that if you try often enough, dialling will succeed. This is wishful thinking. The real world is not fair.

Fairness in process algebra Strong or weak fairness can be indispensable for certain applications, such as a correctness proof of the alternating bit protocol. patently wrong when used where not appropriate. E with E def = a.e +b.0. could be a spec. of a mobile phone b is a successful dialling attempt a is an unsuccessful dialling attempt. Fairness amounts to saying that if you try often enough, dialling will succeed. This is wishful thinking. The real world is not fair. When assuming strong or weak fairness, we loose the ability to finitely specify a system like E above that does allow an infinite sequences of as without a b.

Semantic equivalences on Petri nets branching time tree occ h (collective) bisimulation ib sb 2b STb h sp pb linear time trace it st 2t STt pt caus interleaving step split ST partial order structure preserving abstract from causality/concurrency capture causality/concurrency

HP bisimilarity does not respect inevitability...... s 2 2 b s 1 1 a t l 2 t2 r a s 3 1 t b 2 s 2 1 b s 1 0 a t l 1 t1 r a s 3 0 t b 1 s 0 s 4 s 2 0

HP bisimilarity does not respect inevitability...... s 2 2 b s 1 1 a t l 2 t2 r a s 3 1 t b 2 s 2 1 b s 1 0 a t l 1 t1 r a s 3 0 t b 1 s 0 s 4 s 2 0

Causal equivalence does not respect inevitability b a a... The causal nets of both systems are the infinite one above, and all its finite prefixes.

Conclusion 1. I proposed 9 requirements on semantic equivalences on Petri nets. 2. None of the existing equivalences satisfies all (or almost all) of these requirements. 3. I propose a new equivalence that does. 4. A major motivation of this equivalence is its suitability in establishing agreement between the denotational and operational Petri net of CCSP.