Structure Preserving Bisimilarity,

Size: px
Start display at page:

Download "Structure Preserving Bisimilarity,"

Transcription

1 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

2 Milner: CCS [[ ]] op LTS

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

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

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

6 Nielsen: Olderog: CCSP [[ ]] op LTS

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

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

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

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

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

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

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

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

15 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).

16 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.

17 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:

18 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.

19 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.

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

21 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?

22 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.

23 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.

24 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

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

26 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.

27 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.

28 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.

29 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!

30 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.

31 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.

32 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.

33 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.

34 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.

35 Structure Preserving Bisimulation N 1 N 2

36 Structure Preserving Bisimulation N 1 N 2 a

37 Structure Preserving Bisimulation N 1 N 2 a a

38 Structure Preserving Bisimulation N 1 N 2 a a

39 Structure Preserving Bisimulation N 1 N 2 a a

40 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.

41 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.

42 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.

43 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.

44 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.

45 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.

46 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.

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

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

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

50 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

51 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

52 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

53 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

54 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

55 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

56 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

57 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.

58 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

59 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.

60 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

61 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.

62 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

63 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.

64 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

65 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.

66 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

67 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.

68 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.

69 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)

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

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

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

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

74 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.

75 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.

76 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.

77 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.

78 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.

79 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.

80 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.

81 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

82 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

83 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

84 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

85 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

86 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

87 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.

88 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.

89 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.

90 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

91 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

92 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

93 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.

94 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.

The State Explosion Problem

The State Explosion Problem The State Explosion Problem Martin Kot August 16, 2003 1 Introduction One from main approaches to checking correctness of a concurrent system are state space methods. They are suitable for automatic analysis

More information

Trace Refinement of π-calculus Processes

Trace Refinement of π-calculus Processes Trace Refinement of pi-calculus Processes Trace Refinement of π-calculus Processes Manuel Gieseking manuel.gieseking@informatik.uni-oldenburg.de) Correct System Design, Carl von Ossietzky University of

More information

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

Structure Preserving Bisimilarity, Supporting an Operational Petri Net Semantics of CCSP Structure Preserving Bisimilarity, Supporting an Operational Petri Net Semantics of CCSP Rob J. van Glabbeek 12 1 NICTA, Sydney, Australia 2 Computer Science and Engineering, UNSW, Sydney, Australia Abstract.

More information

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

A Note on Scope and Infinite Behaviour in CCS-like Calculi p.1/32 A Note on Scope and Infinite Behaviour in CCS-like Calculi GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Joint work with Pablo Giambiagi and Frank Valencia A

More information

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

Communication and Concurrency: CCS. R. Milner, A Calculus of Communicating Systems, 1980 Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics, to be handled on

More information

Models of Concurrency

Models of Concurrency Models of Concurrency GERARDO SCHNEIDER UPPSALA UNIVERSITY DEPARTMENT OF INFORMATION TECHNOLOGY UPPSALA, SWEDEN Thanks to Frank Valencia Models of Concurrency p.1/57 Concurrency is Everywhere Concurrent

More information

Communication and Concurrency: CCS

Communication and Concurrency: CCS Communication and Concurrency: CCS R. Milner, A Calculus of Communicating Systems, 1980 cours SSDE Master 1 Why calculi? Prove properties on programs and languages Principle: tiny syntax, small semantics,

More information

A Modern Mathematical Theory of Co-operating State Machines

A Modern Mathematical Theory of Co-operating State Machines 201 A Modern Mathematical Theory of Co-operating State Machines Antti Valmari Abstract Valmari, Antti (2005). A Modern Mathematical Theory of Co-operating State Machines In Proceedings of the Algorithmic

More information

On Synchronous and Asynchronous Interaction in Distributed Systems

On Synchronous and Asynchronous Interaction in Distributed Systems On Synchronous and Asynchronous Interaction in Distributed Systems Rob van Glabbeek 1,2, Ursula Goltz 3 and Jens-Wolfhard Schicke 3 1 NICTA, Sydney, Australia 2 School of Computer Sc. and Engineering,

More information

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

An introduction to process calculi: Calculus of Communicating Systems (CCS) An introduction to process calculi: Calculus of Communicating Systems (CCS) Lecture 2 of Modelli Matematici dei Processi Concorrenti Paweł Sobociński University of Southampton, UK Intro to process calculi:

More information

MAKING THE UNOBSERVABLE, UNOBSERVABLE.

MAKING THE UNOBSERVABLE, UNOBSERVABLE. MAKING THE UNOBSERVABLE, UNOBSERVABLE. 3 PAPERS FROM THE LAST 365 DAYS AVAILABLE TO READ NOW ON YOUR COMPUTER PAWEL SOBOCINSKI AND JULIAN RATHKE GO TO www.ecs.soton.ac.uk/~ps/publications.php Plan of the

More information

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

On the Expressiveness of Higher Dimensional Automata. R.J. van Glabbeek 1,2 On the Expressiveness of Higher Dimensional Automata (extended abstract) R.J. van Glabbeek 1,2 National ICT Australia and School of Computer Science and Engineering The University of New South Wales Locked

More information

conflict structure bis hpb test pt causality

conflict structure bis hpb test pt causality Causal Testing Ursula Goltz and Heike Wehrheim Institut fur Informatik, University of Hildesheim Postfach 101363, D{31113 Hildesheim, Germany Fax: (+49)(05121)883-768 fgoltz,wehrheimg@informatik.uni-hildesheim.de

More information

Ready to Preorder: The Case of Weak Process Semantics

Ready to Preorder: The Case of Weak Process Semantics Ready to Preorder: The Case of Weak Process Semantics Taolue Chen CWI PO Box 94079, 1090 GB Amsterdam, NL chen@cwi.nl Wan Fokkink Vrije Universiteit De Boelelaan 1081a, 1081 HV Amsterdam, NL wanf@cs.vu.nl

More information

Communicating Parallel Processes. Stephen Brookes

Communicating Parallel Processes. Stephen Brookes Communicating Parallel Processes Stephen Brookes Carnegie Mellon University Deconstructing CSP 1 CSP sequential processes input and output as primitives named parallel composition synchronized communication

More information

Some techniques and results in deciding bisimilarity

Some techniques and results in deciding bisimilarity Some techniques and results in deciding bisimilarity Petr Jančar Dept of Computer Science Technical University Ostrava (FEI VŠB-TU) Czech Republic www.cs.vsb.cz/jancar Talk at the Verification Seminar,

More information

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

On the Expressiveness of Higher Dimensional Automata. R.J. van Glabbeek 1,2 On the Expressiveness of Higher Dimensional Automata R.J. van Glabbeek 1,2 National ICT Australia and School of Computer Science and Engineering The University of New South Wales Locked Bag 6016, Sydney,

More information

Models for Concurrency

Models for Concurrency Models for Concurrency (A revised version of DAIMI PB-429) Glynn Winskel Mogens Nielsen Computer Science Department, Aarhus University, Denmark November 1993 Abstract This is, we believe, the final version

More information

Alan Bundy. Automated Reasoning LTL Model Checking

Alan Bundy. Automated Reasoning LTL Model Checking Automated Reasoning LTL Model Checking Alan Bundy Lecture 9, page 1 Introduction So far we have looked at theorem proving Powerful, especially where good sets of rewrite rules or decision procedures have

More information

Liveness of Communicating Transactions

Liveness of Communicating Transactions (joint work with Vasileios Koutavas and Matthew Hennessy) TRINITY COLLEGE DUBLIN COLÁISTE NA TRÍONÓIDE, BAILE ÁTHA CLIATH Dublin Concurrency Workshop 2011 Traditional Transactions Transactions provide

More information

The unfolding of general Petri nets

The unfolding of general Petri nets Foundations of Software Technology and Theoretical Computer Science (Bangalore) 2008. Editors: R. Hariharan, M. Mukund, V. Vinay; pp - The unfolding of general Petri nets Jonathan Hayman and Glynn Winskel

More information

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

Sequence convergence, the weak T-axioms, and first countability Sequence convergence, the weak T-axioms, and first countability 1 Motivation Up to now we have been mentioning the notion of sequence convergence without actually defining it. So in this section we will

More information

A Weak Bisimulation for Weighted Automata

A Weak Bisimulation for Weighted Automata Weak Bisimulation for Weighted utomata Peter Kemper College of William and Mary Weighted utomata and Semirings here focus on commutative & idempotent semirings Weak Bisimulation Composition operators Congruence

More information

Module 03 Lecture 14 Inferential Statistics ANOVA and TOI

Module 03 Lecture 14 Inferential Statistics ANOVA and TOI Introduction of Data Analytics Prof. Nandan Sudarsanam and Prof. B Ravindran Department of Management Studies and Department of Computer Science and Engineering Indian Institute of Technology, Madras Module

More information

Communication in Petri nets

Communication in Petri nets Communication in Petri nets Kamal Lodaya work in progress with Ramchandra Phawade The Institute of Mathematical Sciences, Chennai February 2010 Petri nets - introduction Mathematical model. Widely used

More information

Bounded Retransmission in Event-B CSP: a Case Study

Bounded Retransmission in Event-B CSP: a Case Study Available online at www.sciencedirect.com Electronic Notes in Theoretical Computer Science 280 (2011) 69 80 www.elsevier.com/locate/entcs Bounded Retransmission in Event-B CSP: a Case Study Steve Schneider

More information

ON THE AXIOMATIZABILITY OF IMPOSSIBLE FUTURES

ON THE AXIOMATIZABILITY OF IMPOSSIBLE FUTURES Logical Methods in Computer Science Vol. 11(3:17)2015, pp. 1 30 www.lmcs-online.org Submitted Jan. 4, 2015 Published Sep. 22, 2015 ON THE AXIOMATIZABILITY OF IMPOSSIBLE FUTURES TAOLUE CHEN a, WAN FOKKINK

More information

Abstractions and Decision Procedures for Effective Software Model Checking

Abstractions and Decision Procedures for Effective Software Model Checking Abstractions and Decision Procedures for Effective Software Model Checking Prof. Natasha Sharygina The University of Lugano, Carnegie Mellon University Microsoft Summer School, Moscow, July 2011 Lecture

More information

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

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

More information

Decidable Subsets of CCS

Decidable Subsets of CCS Decidable Subsets of CCS based on the paper with the same title by Christensen, Hirshfeld and Moller from 1994 Sven Dziadek Abstract Process algebra is a very interesting framework for describing and analyzing

More information

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

WORKSHEET ON NUMBERS, MATH 215 FALL. We start our study of numbers with the integers: N = {1, 2, 3,...} WORKSHEET ON NUMBERS, MATH 215 FALL 18(WHYTE) We start our study of numbers with the integers: Z = {..., 2, 1, 0, 1, 2, 3,... } and their subset of natural numbers: N = {1, 2, 3,...} For now we will not

More information

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

Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur Modern Algebra Prof. Manindra Agrawal Department of Computer Science and Engineering Indian Institute of Technology, Kanpur Lecture 02 Groups: Subgroups and homomorphism (Refer Slide Time: 00:13) We looked

More information

An Introduction to Temporal Logics

An Introduction to Temporal Logics An Introduction to Temporal Logics c 2001,2004 M. Lawford Outline Motivation: Dining Philosophers Safety, Liveness, Fairness & Justice Kripke structures, LTS, SELTS, and Paths Linear Temporal Logic Branching

More information

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras

Introduction to Model Checking. Debdeep Mukhopadhyay IIT Madras Introduction to Model Checking Debdeep Mukhopadhyay IIT Madras How good can you fight bugs? Comprising of three parts Formal Verification techniques consist of three parts: 1. A framework for modeling

More information

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

Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication Decentralized Control of Discrete Event Systems with Bounded or Unbounded Delay Communication Stavros Tripakis Abstract We introduce problems of decentralized control with communication, where we explicitly

More information

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

statistical physics of communicating processes Vincent Danos U of Edinburgh, CNRS SynThsys Centre statistical physics of communicating processes Vincent Danos U of Edinburgh, CNRS SynThsys Centre 1 ideas idea I two aspects in solving a distributed problem: - local steps towards a solution - backtracking

More information

Structural Operational Semantics

Structural Operational Semantics Structural Operational Semantics Luca Aceto Wan Fokkink Chris Verhoef Contents 1 Introduction 5 2 Preliminaries 8 2.1 Labelled Transition Systems................... 8 2.2 Behavioural Equivalences and Preorders............

More information

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

A Unique Decomposition Theorem for Ordered Monoids with Applications in Process Theory A Unique Decomposition Theorem for Ordered Monoids with Applications in Process Theory (Extended Abstract) Bas Luttik Dept. of Theoretical Computer Science, Vrije Universiteit Amsterdam De Boelelaan 1081a,

More information

Understanding Process Semantics

Understanding Process Semantics TU München March, 2017 Understanding Process Semantics David de Frutos Escrig In collaboration with: Carlos Gregorio Rodríguez, Miguel Palomino and Ignacio Fábregas Departamento de Sistemas Informáticos

More information

Numbers, proof and all that jazz.

Numbers, proof and all that jazz. CHAPTER 1 Numbers, proof and all that jazz. There is a fundamental difference between mathematics and other sciences. In most sciences, one does experiments to determine laws. A law will remain a law,

More information

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

Formal Techniques for Software Engineering: CCS: A Calculus for Communicating Systems Formal Techniques for Software Engineering: CCS: A Calculus for Communicating Systems Rocco De Nicola IMT Institute for Advanced Studies, Lucca rocco.denicola@imtlucca.it June 2013 Lesson 10 R. De Nicola

More information

CS173 Strong Induction and Functions. Tandy Warnow

CS173 Strong Induction and Functions. Tandy Warnow CS173 Strong Induction and Functions Tandy Warnow CS 173 Introduction to Strong Induction (also Functions) Tandy Warnow Preview of the class today What are functions? Weak induction Strong induction A

More information

Notes 11: OLS Theorems ECO 231W - Undergraduate Econometrics

Notes 11: OLS Theorems ECO 231W - Undergraduate Econometrics Notes 11: OLS Theorems ECO 231W - Undergraduate Econometrics Prof. Carolina Caetano For a while we talked about the regression method. Then we talked about the linear model. There were many details, but

More information

Branching vs. Linear Time: Semantical Perspective

Branching vs. Linear Time: Semantical Perspective Branching vs. Linear Time: Semantical Perspective Moshe Y. Vardi Rice University Updated version of paper posted on home page. Joint work with Sumit Nain Formal Verification Today Verification as debugging:

More information

The Decent Philosophers: An exercise in concurrent behaviour

The Decent Philosophers: An exercise in concurrent behaviour Fundamenta Informaticae 80 (2007) 1 9 1 IOS Press The Decent Philosophers: An exercise in concurrent behaviour Wolfgang Reisig Humboldt-Universität zu Berlin Institute of Informatics Unter den Linden 6,

More information

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

Clojure Concurrency Constructs, Part Two. CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014 Clojure Concurrency Constructs, Part Two CSCI 5828: Foundations of Software Engineering Lecture 13 10/07/2014 1 Goals Cover the material presented in Chapter 4, of our concurrency textbook In particular,

More information

Distributed transactions and reversibility

Distributed transactions and reversibility Distributed transactions and reversibility Pawel Sobocinski, University of Cambridge Southampton, 26 September 2006 based on joint work with Vincent Danos and Jean Krivine Motivation Reversible CCS (RCCS)

More information

39 A Logic for True Concurrency

39 A Logic for True Concurrency 39 A Logic for True Concurrency PAOLO BALDAN, University of Padova SILVIA CRAFA, University of Padova We propose a logic for true concurrency whose formulae predicate about events in computations and their

More information

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

x + 2y + 3z = 8 x + 3y = 7 x + 2z = 3 Chapter 2: Solving Linear Equations 23 Elimination Using Matrices As we saw in the presentation, we can use elimination to make a system of linear equations into an upper triangular system that is easy

More information

Probabilistic Action System Trace Semantics

Probabilistic Action System Trace Semantics Probabilistic Action System Trace Semantics Larissa Meinicke April 007 Technical Report SSE-007-0 Division of Systems and Software Engineering Research School of Information Technology and Electrical Engineering

More information

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

How to prove it (or not) Gerry Leversha MA Conference, Royal Holloway April 2017 How to prove it (or not) Gerry Leversha MA Conference, Royal Holloway April 2017 My favourite maxim It is better to solve one problem in five different ways than to solve five problems using the same method

More information

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

Introduction. Pedro Cabalar. Department of Computer Science University of Corunna, SPAIN 2013/2014 Introduction Pedro Cabalar Department of Computer Science University of Corunna, SPAIN cabalar@udc.es 2013/2014 P. Cabalar ( Department Introduction of Computer Science University of Corunna, SPAIN2013/2014

More information

Correcting a Space-Efficient Simulation Algorithm

Correcting a Space-Efficient Simulation Algorithm Correcting a Space-Efficient Simulation Algorithm Rob van Glabbeek 1,2 rvg@cs.stanford.edu Bas Ploeger 3 s.c.w.ploeger@tue.nl 1 National ICT Australia, Locked Bag 6016, Sydney, NSW1466, Australia 2 School

More information

A Logical Viewpoint on Process-Algebraic Quotients

A Logical Viewpoint on Process-Algebraic Quotients ! A Logical Viewpoint on Process-Algebraic Quotients Antonín Kučera and avier sparza Faculty of nformatics, Masaryk University, Botanická 68a, 62 Brno, Czech Republic, nstitut für nformatik, Technische

More information

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

Trace semantics: towards a unification of parallel paradigms Stephen Brookes. Department of Computer Science Carnegie Mellon University Trace semantics: towards a unification of parallel paradigms Stephen Brookes Department of Computer Science Carnegie Mellon University MFCSIT 2002 1 PARALLEL PARADIGMS State-based Shared-memory global

More information

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

Agreement. Today. l Coordination and agreement in group communication. l Consensus Agreement Today l Coordination and agreement in group communication l Consensus Events and process states " A distributed system a collection P of N singlethreaded processes w/o shared memory Each process

More information

Semantics and Verification

Semantics and Verification Semantics and Verification Lecture 2 informal introduction to CCS syntax of CCS semantics of CCS 1 / 12 Sequential Fragment Parallelism and Renaming CCS Basics (Sequential Fragment) Nil (or 0) process

More information

Overview. overview / 357

Overview. overview / 357 Overview overview6.1 Introduction Modelling parallel systems Linear Time Properties Regular Properties Linear Temporal Logic (LTL) Computation Tree Logic syntax and semantics of CTL expressiveness of CTL

More information

Trace-based Process Algebras for Real-Time Probabilistic Systems

Trace-based Process Algebras for Real-Time Probabilistic Systems Trace-based Process Algebras for Real-Time Probabilistic Systems Stefano Cattani A thesis submitted to The University of Birmingham for the degree of Doctor of Philosophy School of Computer Science The

More information

An Intuitive Introduction to Motivic Homotopy Theory Vladimir Voevodsky

An Intuitive Introduction to Motivic Homotopy Theory Vladimir Voevodsky What follows is Vladimir Voevodsky s snapshot of his Fields Medal work on motivic homotopy, plus a little philosophy and from my point of view the main fun of doing mathematics Voevodsky (2002). Voevodsky

More information

Hoare Logic and Model Checking

Hoare Logic and Model Checking Hoare Logic and Model Checking Kasper Svendsen University of Cambridge CST Part II 2016/17 Acknowledgement: slides heavily based on previous versions by Mike Gordon and Alan Mycroft Introduction In the

More information

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

Petri nets. s 1 s 2. s 3 s 4. directed arcs. Petri nets Petri nets Petri nets are a basic model of parallel and distributed systems (named after Carl Adam Petri). The basic idea is to describe state changes in a system with transitions. @ @R s 1

More information

ON CHARACTERISING DISTRIBUTABILITY

ON CHARACTERISING DISTRIBUTABILITY Logical Methods in Computer Science Vol. 9(3:17)2013, pp. 1 34 www.lmcs-online.org Submitted Jul. 22, 2012 Published Sep. 17, 2013 ON CHARACTERISING DISTRIBUTABILITY ROB VAN GLABBEEK a, URSULA GOLTZ b,

More information

Characterizing Fault-Tolerant Systems by Means of Simulation Relations

Characterizing Fault-Tolerant Systems by Means of Simulation Relations Characterizing Fault-Tolerant Systems by Means of Simulation Relations TECHNICAL REPORT Ramiro Demasi 1, Pablo F. Castro 2,3, Thomas S.E. Maibaum 1, and Nazareno Aguirre 2,3 1 Department of Computing and

More information

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

Safety and Liveness. Thread Synchronization: Too Much Milk. Critical Sections. A Really Cool Theorem Safety and Liveness Properties defined over an execution of a program Thread Synchronization: Too Much Milk Safety: nothing bad happens holds in every finite execution prefix Windows never crashes No patient

More information

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

Probabilistic Models. Models describe how (a portion of) the world works Probabilistic Models Models describe how (a portion of) the world works Models are always simplifications May not account for every variable May not account for all interactions between variables All models

More information

Specification models and their analysis Petri Nets

Specification models and their analysis Petri Nets Specification models and their analysis Petri Nets Kai Lampka December 10, 2010 1 30 Part I Petri Nets Basics Petri Nets Introduction A Petri Net (PN) is a weighted(?), bipartite(?) digraph(?) invented

More information

Rooted Branching Bisimulation as a Congruence

Rooted Branching Bisimulation as a Congruence Rooted Branching Bisimulation as a Congruence Wan Fokkink University of Wales Swansea Department of Computer Science Singleton Park, Swansea SA2 8PP, Wales w.j.fokkink@swan.ac.uk Abstract This article

More information

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

Roberto Bruni, Ugo Montanari DRAFT. Models of Computation. Monograph. May 18, Springer Roberto Bruni, Ugo Montanari Models of Computation Monograph May 18, 2016 Springer Mathematical reasoning may be regarded rather schematically as the exercise of a combination of two facilities, which

More information

Reactive Turing Machines

Reactive Turing Machines Reactive Turing Machines Jos C. M. Baeten, Bas Luttik, and Paul van Tilburg Eindhoven University of Technology {j.c.m.baeten,s.p.luttik,p.j.a.v.tilburg}@tue.nl Abstract. We propose reactive Turing machines

More information

Modal and Temporal Logics

Modal and Temporal Logics Modal and Temporal Logics Colin Stirling School of Informatics University of Edinburgh July 23, 2003 Why modal and temporal logics? 1 Computational System Modal and temporal logics Operational semantics

More information

Automata-Theoretic Model Checking of Reactive Systems

Automata-Theoretic Model Checking of Reactive Systems Automata-Theoretic Model Checking of Reactive Systems Radu Iosif Verimag/CNRS (Grenoble, France) Thanks to Tom Henzinger (IST, Austria), Barbara Jobstmann (CNRS, Grenoble) and Doron Peled (Bar-Ilan University,

More information

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

Concurrency theory. proof-techniques for syncronous and asynchronous pi-calculus. Francesco Zappa Nardelli. INRIA Rocquencourt, MOSCOVA research team Concurrency theory proof-techniques for syncronous and asynchronous pi-calculus Francesco Zappa Nardelli INRIA Rocquencourt, MOSCOVA research team francesco.zappa nardelli@inria.fr together with Frank

More information

METRIC SEMANTICS FOR REACTIVE PROBABILISTIC PROCESSES GETHIN JOSIAH NORMAN

METRIC SEMANTICS FOR REACTIVE PROBABILISTIC PROCESSES GETHIN JOSIAH NORMAN METRIC SEMANTICS FOR REACTIVE PROBABILISTIC PROCESSES by GETHIN JOSIAH NORMAN A thesis submitted to the Faculty of Science of The University of Birmingham for the Degree of DOCTOR OF PHILOSOPHY School

More information

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

7. Queueing Systems. 8. Petri nets vs. State Automata Petri Nets 1. Finite State Automata 2. Petri net notation and definition (no dynamics) 3. Introducing State: Petri net marking 4. Petri net dynamics 5. Capacity Constrained Petri nets 6. Petri net models

More information

Tutorial on Mathematical Induction

Tutorial on Mathematical Induction Tutorial on Mathematical Induction Roy Overbeek VU University Amsterdam Department of Computer Science r.overbeek@student.vu.nl April 22, 2014 1 Dominoes: from case-by-case to induction Suppose that you

More information

A Characterization of Regular Expressions under Bisimulation

A Characterization of Regular Expressions under Bisimulation A Characterization of Regular Expressions under Bisimulation J. C. M. BAETEN Technische Universiteit Eindhoven, Eindhoven, The Netherlands F. CORRADINI Università di Camerino, Camerino, Italy AND C. A.

More information

A Thread Algebra with Multi-level Strategic Interleaving

A Thread Algebra with Multi-level Strategic Interleaving Theory of Computing Systems manuscript No. (will be inserted by the editor) A Thread Algebra with Multi-level Strategic Interleaving J.A. Bergstra 1,2, C.A. Middelburg 3,1 1 Programming Research Group,

More information

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

MATH 25 CLASS 21 NOTES, NOV Contents. 2. Subgroups 2 3. Isomorphisms 4 MATH 25 CLASS 21 NOTES, NOV 7 2011 Contents 1. Groups: definition 1 2. Subgroups 2 3. Isomorphisms 4 1. Groups: definition Even though we have been learning number theory without using any other parts

More information

Multicore Semantics and Programming

Multicore Semantics and Programming Multicore Semantics and Programming Peter Sewell Tim Harris University of Cambridge Oracle October November, 2015 p. 1 These Lectures Part 1: Multicore Semantics: the concurrency of multiprocessors and

More information

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

Extreme values: Maxima and minima. October 16, / 12 Extreme values: Maxima and minima October 16, 2015 1 / 12 Motivation for Maxima and Minima Imagine you have some model which predicts profits / cost of doing something /.... Then you probably want to find

More information

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

CH 24 IDENTITIES. [Each product is 35] Ch 24 Identities. Introduction 139 CH 4 IDENTITIES Introduction First we need to recall that there are many ways to indicate multiplication; for eample the product of 5 and 7 can be written in a variety of ways: 5 7 5 7 5(7) (5)7 (5)(7)

More information

Fermat s Last Theorem for Regular Primes

Fermat s Last Theorem for Regular Primes Fermat s Last Theorem for Regular Primes S. M.-C. 22 September 2015 Abstract Fermat famously claimed in the margin of a book that a certain family of Diophantine equations have no solutions in integers.

More information

Asynchronous Communication 2

Asynchronous Communication 2 Asynchronous Communication 2 INF4140 22.11.12 Lecture 11 INF4140 (22.11.12) Asynchronous Communication 2 Lecture 11 1 / 37 Overview: Last time semantics: histories and trace sets specification: invariants

More information

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

Edexcel AS and A Level Mathematics Year 1/AS - Pure Mathematics Year Maths A Level Year - Tet Book Purchase In order to study A Level Maths students are epected to purchase from the school, at a reduced cost, the following tetbooks that will be used throughout their

More information

A Canonical Contraction for Safe Petri Nets

A Canonical Contraction for Safe Petri Nets A Canonical Contraction for Safe Petri Nets Thomas Chatain and Stefan Haar INRIA & LSV (CNRS & ENS Cachan) 6, avenue du Président Wilson 935 CACHAN Cedex, France {chatain, haar}@lsvens-cachanfr Abstract

More information

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

Temporal logics and explicit-state model checking. Pierre Wolper Université de Liège Temporal logics and explicit-state model checking Pierre Wolper Université de Liège 1 Topics to be covered Introducing explicit-state model checking Finite automata on infinite words Temporal Logics and

More information

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

Partition Numbers. Kevin Y.X. Wang. September 5, School of Mathematics and Statistics The University of Sydney Partition Numbers Kevin Y.X. Wang School of Mathematics and Statistics The University of Sydney September 5, 2017 Outline 1 Introduction 2 Generating function of partition numbers 3 Jacobi s Triple Product

More information

Simulation Preorder on Simple Process Algebras

Simulation Preorder on Simple Process Algebras Simulation Preorder on Simple Process Algebras Antonín Kučera and Richard Mayr Faculty of Informatics MU, Botanická 68a, 6000 Brno, Czech Repubic, tony@fi.muni.cz Institut für Informatik TUM, Arcisstr.,

More information

Shared-Variable Concurrency

Shared-Variable Concurrency University of Science and Technology of China 12/17/2013 Parallel Composition (or Concurrency Composition) Syntax: (comm) c ::=... c 0 c 1... Note we allow nested parallel composition, e.g., (c 0 ; (c

More information

Time and Timed Petri Nets

Time and Timed Petri Nets Time and Timed Petri Nets Serge Haddad LSV ENS Cachan & CNRS & INRIA haddad@lsv.ens-cachan.fr DISC 11, June 9th 2011 1 Time and Petri Nets 2 Timed Models 3 Expressiveness 4 Analysis 1/36 Outline 1 Time

More information

Compositional Reachability in Petri Nets

Compositional Reachability in Petri Nets Compositional Reachability in Petri Nets Julian Rathke, Pawe l Sobociński, and Owen Stephens ECS, University of Southampton, UK Abstract. We introduce a divide-and-conquer algorithm for a modified version

More information

A Brief Introduction to Model Checking

A Brief Introduction to Model Checking A Brief Introduction to Model Checking Jan. 18, LIX Page 1 Model Checking A technique for verifying finite state concurrent systems; a benefit on this restriction: largely automatic; a problem to fight:

More information

BRICS. On Plain and Hereditary History-Preserving Bisimulation

BRICS. On Plain and Hereditary History-Preserving Bisimulation BRICS Basic Research in Computer Science BRICS RS-99-4 Fröschle & Hildebrandt: On Plain and Hereditary History-Preserving Bisimulation On Plain and Hereditary History-Preserving Bisimulation Sibylle B.

More information

Probability as Logic

Probability as Logic Probability as Logic Prakash Panangaden 1 1 School of Computer Science McGill University Estonia Winter School March 2015 Panangaden (McGill University) Probabilistic Languages and Semantics Estonia Winter

More information

14.75: Leaders and Democratic Institutions

14.75: Leaders and Democratic Institutions 14.75: Leaders and Democratic Institutions Ben Olken Olken () Leaders 1 / 23 Do Leaders Matter? One view about leaders: The historians, from an old habit of acknowledging divine intervention in human affairs,

More information

Ordinary Differential Equation Introduction and Preliminaries

Ordinary Differential Equation Introduction and Preliminaries Ordinary Differential Equation Introduction and Preliminaries There are many branches of science and engineering where differential equations arise naturally. Now days, it finds applications in many areas

More information

the time it takes until a radioactive substance undergoes a decay

the time it takes until a radioactive substance undergoes a decay 1 Probabilities 1.1 Experiments with randomness Wewillusethetermexperimentinaverygeneralwaytorefertosomeprocess that produces a random outcome. Examples: (Ask class for some first) Here are some discrete

More information

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice

A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice A Behavioral Congruence for Concurrent Constraint Programming with Nondeterministic Choice Luis Pino*, Filippo Bonchi** and Frank Valencia* (Presented by: Jorge A. Pe rez) *E quipe Come te, LIX, Laboratoire

More information

Math 414, Fall 2016, Test I

Math 414, Fall 2016, Test I Math 414, Fall 2016, Test I Dr. Holmes September 23, 2016 The test begins at 10:30 am and ends officially at 11:45 am: what will actually happen at 11:45 is that I will give a five minute warning. The

More information