+ All Categories
Home > Documents > Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction...

Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction...

Date post: 19-Mar-2020
Category:
Upload: others
View: 0 times
Download: 0 times
Share this document with a friend
49
Static VS Dynamic Reversibility in CCS Research partly supported by the EU COST Action IC1405. Doriana Medi´ c in collaboration with Ivan Lanese and Claudio Antares Mezzina March 29, 2017
Transcript
Page 1: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Static VS Dynamic Reversibility in CCS

Research partly supported by the EU COST ActionIC1405.

Doriana Medic in collaboration withIvan Lanese and Claudio Antares Mezzina

March 29, 2017

Page 2: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Introduction

Two reversible variant of CCS:

I RCCS1, introduced by Danos and Krivine and

I CCSK2, proposed by Phillips and Ulidowski

We provide encodings between CCSK and RCCS and show theircorrectness in terms of strong back and forth bisimulation

1J. Krivine. A verification technique for reversible process algebra. In Reversible Computation, 4th InternationalWorkshop, RC 2012, Copenhagen, Denmark, July 2-3, 2012.

2I. C. C. Phillips and I. Ulidowski. Reversing algebraic process calculi. J. Log. Algebr. Program., 2007.

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 1/19

Page 3: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Reversible CCS

Syntax of RCCS is:

(CCS Processes) P,Q ::= 0 | α.P | (P|Q) |∑

αi .P | P\A

(RCCS Processes) R, S ::= m . P | (R|S) | R\A(Memories) m ::= 〈〉 | 〈i , α,P〉 ·m | 〈↑〉 ·m

where

I i is an identifier

I 〈↑〉 represents a splitting event

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 2/19

Page 4: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Extract of semantic rules:

(R-ACT) m . α.P + Q →iα

〈i , α,Q〉 ·m . P

〈i , α,Q〉 ·m . P iα m . α.P + Q

Extract of structural laws:

(SPLIT) m . (P|Q) ≡ 〈↑〉 ·m . P | 〈↑〉 ·m . Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 3/19

Page 5: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Extract of semantic rules:

(R-ACT) m . α.P + Q →iα 〈i , α,Q〉 ·m . P

〈i , α,Q〉 ·m . P iα m . α.P + Q

Extract of structural laws:

(SPLIT) m . (P|Q) ≡ 〈↑〉 ·m . P | 〈↑〉 ·m . Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 3/19

Page 6: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Extract of semantic rules:

(R-ACT) m . α.P + Q →iα 〈i , α,Q〉 ·m . P

〈i , α,Q〉 ·m . P iα m . α.P + Q

Extract of structural laws:

(SPLIT) m . (P|Q) ≡ 〈↑〉 ·m . P | 〈↑〉 ·m . Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 3/19

Page 7: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Extract of semantic rules:

(R-ACT) m . α.P + Q →iα 〈i , α,Q〉 ·m . P

〈i , α,Q〉 ·m . P iα m . α.P + Q

Extract of structural laws:

(SPLIT) m . (P|Q) ≡ 〈↑〉 ·m . P | 〈↑〉 ·m . Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 3/19

Page 8: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

CCS with communication keys(CCSK)

• Syntax of CCSK is:

(CCSK Processes) X ,Y ::= 0 |∑i∈I

πi .Xi | (X |Y ) | X\A

(CCSK Prefixes) π ::= α | α[i ]

where i is a key.

Definition (Reachable Process)

A CCSK process X is reachable if it can be derived from an CCSprocess P, by using semantics rules.

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 4/19

Page 9: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Extract of semantics rules:

(K-ACT1) α.Pα[i ]−−→

α[i ].P

α[i ].Pα[i ]

α.P

(K-SUM-L) α[i ].β.P + Qβ[j]−−→ α[i ].β[j ].P + Q

α[i ].β[j ].P + Qβ[j]

α[i ].β.P + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 5/19

Page 10: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Extract of semantics rules:

(K-ACT1) α.Pα[i ]−−→ α[i ].P

α[i ].Pα[i ]

α.P

(K-SUM-L) α[i ].β.P + Qβ[j]−−→ α[i ].β[j ].P + Q

α[i ].β[j ].P + Qβ[j]

α[i ].β.P + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 5/19

Page 11: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Extract of semantics rules:

(K-ACT1) α.Pα[i ]−−→ α[i ].P

α[i ].Pα[i ]

α.P

(K-SUM-L) α[i ].β.P + Qβ[j]−−→ α[i ].β[j ].P + Q

α[i ].β[j ].P + Qβ[j]

α[i ].β.P + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 5/19

Page 12: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Extract of semantics rules:

(K-ACT1) α.Pα[i ]−−→ α[i ].P

α[i ].Pα[i ]

α.P

(K-SUM-L) α[i ].β.P + Qβ[j]−−→

α[i ].β[j ].P + Q

α[i ].β[j ].P + Qβ[j]

α[i ].β.P + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 5/19

Page 13: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Extract of semantics rules:

(K-ACT1) α.Pα[i ]−−→ α[i ].P

α[i ].Pα[i ]

α.P

(K-SUM-L) α[i ].β.P + Qβ[j]−−→ α[i ].β[j ].P + Q

α[i ].β[j ].P + Qβ[j]

α[i ].β.P + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 5/19

Page 14: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Extract of semantics rules:

(K-ACT1) α.Pα[i ]−−→ α[i ].P

α[i ].Pα[i ]

α.P

(K-SUM-L) α[i ].β.P + Qβ[j]−−→ α[i ].β[j ].P + Q

α[i ].β[j ].P + Qβ[j]

α[i ].β.P + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 5/19

Page 15: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s consider the CCS process a.(b|c) + d

• RCCS:

〈〉 . a.(b|c) + d →ia 〈i , a, d〉 · 〈〉 . (b|c)

〈i , a, d〉 · 〈〉 . (b|c) ≡ 〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c →jb

〈j , b, 0〉 · 〈↑〉 · 〈i , a, d〉 · 〈〉 . 0 | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

• CCSK:

a.(b|c) + da[i ]−−→ a[i ].(b|c) + d

a[i ].(b|c) + db[j]−−→ a[i ].(b[j ]|c) + d

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 6/19

Page 16: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s consider the CCS process a.(b|c) + d

• RCCS:

〈〉 . a.(b|c) + d →ia 〈i , a, d〉 · 〈〉 . (b|c)

〈i , a, d〉 · 〈〉 . (b|c) ≡ 〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c →jb

〈j , b, 0〉 · 〈↑〉 · 〈i , a, d〉 · 〈〉 . 0 | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

• CCSK:

a.(b|c) + da[i ]−−→ a[i ].(b|c) + d

a[i ].(b|c) + db[j]−−→ a[i ].(b[j ]|c) + d

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 6/19

Page 17: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s consider the CCS process a.(b|c) + d

• RCCS:

〈〉 . a.(b|c) + d →ia 〈i , a, d〉 · 〈〉 . (b|c)

〈i , a, d〉 · 〈〉 . (b|c) ≡ 〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c →jb

〈j , b, 0〉 · 〈↑〉 · 〈i , a, d〉 · 〈〉 . 0 | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

• CCSK:

a.(b|c) + da[i ]−−→ a[i ].(b|c) + d

a[i ].(b|c) + db[j]−−→ a[i ].(b[j ]|c) + d

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 6/19

Page 18: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s consider the CCS process a.(b|c) + d

• RCCS:

〈〉 . a.(b|c) + d →ia 〈i , a, d〉 · 〈〉 . (b|c)

〈i , a, d〉 · 〈〉 . (b|c) ≡ 〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c →jb

〈j , b, 0〉 · 〈↑〉 · 〈i , a, d〉 · 〈〉 . 0 | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

• CCSK:

a.(b|c) + da[i ]−−→ a[i ].(b|c) + d

a[i ].(b|c) + db[j]−−→ a[i ].(b[j ]|c) + d

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 6/19

Page 19: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s consider the CCS process a.(b|c) + d

• RCCS:

〈〉 . a.(b|c) + d →ia 〈i , a, d〉 · 〈〉 . (b|c)

〈i , a, d〉 · 〈〉 . (b|c) ≡ 〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c →jb

〈j , b, 0〉 · 〈↑〉 · 〈i , a, d〉 · 〈〉 . 0 | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

• CCSK:

a.(b|c) + da[i ]−−→ a[i ].(b|c) + d

a[i ].(b|c) + db[j]−−→ a[i ].(b[j ]|c) + d

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 6/19

Page 20: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s consider the CCS process a.(b|c) + d

• RCCS:

〈〉 . a.(b|c) + d →ia 〈i , a, d〉 · 〈〉 . (b|c)

〈i , a, d〉 · 〈〉 . (b|c) ≡ 〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c →jb

〈j , b, 0〉 · 〈↑〉 · 〈i , a, d〉 · 〈〉 . 0 | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

• CCSK:

a.(b|c) + da[i ]−−→ a[i ].(b|c) + d

a[i ].(b|c) + db[j]−−→ a[i ].(b[j ]|c) + d

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 6/19

Page 21: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s consider the CCS process a.(b|c) + d

• RCCS:

〈〉 . a.(b|c) + d →ia 〈i , a, d〉 · 〈〉 . (b|c)

〈i , a, d〉 · 〈〉 . (b|c) ≡ 〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

〈↑〉 · 〈i , a, d〉 · 〈〉 . b | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c →jb

〈j , b, 0〉 · 〈↑〉 · 〈i , a, d〉 · 〈〉 . 0 | 〈↑〉 · 〈i , a, d〉 · 〈〉 . c

• CCSK:

a.(b|c) + da[i ]−−→ a[i ].(b|c) + d

a[i ].(b|c) + db[j]−−→ a[i ].(b[j ]|c) + d

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 6/19

Page 22: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Encoding CCSK in RCCS

If PK and PR are the sets of processes from CCSK and RCCS,respectively, and M is the set of all the memories, the encodingfunction J·K : PK ×M→ PR , is inductively defined as follows:

JX K = JX , 〈〉KJP,mK = m . P

Jα[i ].X +∑j∈J

αj .Pj ,mK = JX , 〈i , α,∑j∈J

αj .Pj〉 ·mK

JX\A,mK = JX ,mK\AJX |Y ,mK = JX , 〈↑〉 ·mK|JY , 〈↑〉 ·mK

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 7/19

Page 23: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Encoding CCSK in RCCS

If PK and PR are the sets of processes from CCSK and RCCS,respectively, and M is the set of all the memories, the encodingfunction J·K : PK ×M→ PR , is inductively defined as follows:

JX K = JX , 〈〉KJP,mK = m . P

Jα[i ].X +∑j∈J

αj .Pj ,mK = JX , 〈i , α,∑j∈J

αj .Pj〉 ·mK

JX\A,mK = JX ,mK\AJX |Y ,mK = JX , 〈↑〉 ·mK|JY , 〈↑〉 ·mK

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 7/19

Page 24: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Example:

Let X = a + c[i ].(d [h]|P)

Encoding is:

JX , 〈〉K = Jc[i ].(d [h]|P) + a, 〈〉K

= Jd [h]|P, 〈i , c , a〉 · 〈〉K= Jd [h], 〈↑〉 · 〈i , c , a〉 · 〈〉K | JP, 〈↑〉 · 〈i , c , a〉 · 〈〉K= J0, 〈h, d , 0〉 · 〈↑〉 · 〈i , c , a〉 · 〈〉K | 〈↑〉 · 〈i , c , a〉 · 〈〉.P= 〈h, d , 0〉 · 〈↑〉 · 〈i , c , a〉 · 〈〉 . 0 | 〈↑〉 · 〈i , c , a〉 · 〈〉 . P

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 8/19

Page 25: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Example:

Let X = a + c[i ].(d [h]|P)

Encoding is:

JX , 〈〉K = Jc[i ].(d [h]|P) + a, 〈〉K= Jd [h]|P, 〈i , c , a〉 · 〈〉K

= Jd [h], 〈↑〉 · 〈i , c , a〉 · 〈〉K | JP, 〈↑〉 · 〈i , c , a〉 · 〈〉K= J0, 〈h, d , 0〉 · 〈↑〉 · 〈i , c , a〉 · 〈〉K | 〈↑〉 · 〈i , c , a〉 · 〈〉.P= 〈h, d , 0〉 · 〈↑〉 · 〈i , c , a〉 · 〈〉 . 0 | 〈↑〉 · 〈i , c , a〉 · 〈〉 . P

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 8/19

Page 26: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Example:

Let X = a + c[i ].(d [h]|P)

Encoding is:

JX , 〈〉K = Jc[i ].(d [h]|P) + a, 〈〉K= Jd [h]|P, 〈i , c , a〉 · 〈〉K= Jd [h], 〈↑〉 · 〈i , c , a〉 · 〈〉K | JP, 〈↑〉 · 〈i , c , a〉 · 〈〉K

= J0, 〈h, d , 0〉 · 〈↑〉 · 〈i , c , a〉 · 〈〉K | 〈↑〉 · 〈i , c , a〉 · 〈〉.P= 〈h, d , 0〉 · 〈↑〉 · 〈i , c , a〉 · 〈〉 . 0 | 〈↑〉 · 〈i , c , a〉 · 〈〉 . P

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 8/19

Page 27: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Example:

Let X = a + c[i ].(d [h]|P)

Encoding is:

JX , 〈〉K = Jc[i ].(d [h]|P) + a, 〈〉K= Jd [h]|P, 〈i , c , a〉 · 〈〉K= Jd [h], 〈↑〉 · 〈i , c , a〉 · 〈〉K | JP, 〈↑〉 · 〈i , c , a〉 · 〈〉K= J0, 〈h, d , 0〉 · 〈↑〉 · 〈i , c , a〉 · 〈〉K | 〈↑〉 · 〈i , c , a〉 · 〈〉.P

= 〈h, d , 0〉 · 〈↑〉 · 〈i , c , a〉 · 〈〉 . 0 | 〈↑〉 · 〈i , c , a〉 · 〈〉 . P

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 8/19

Page 28: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Example:

Let X = a + c[i ].(d [h]|P)

Encoding is:

JX , 〈〉K = Jc[i ].(d [h]|P) + a, 〈〉K= Jd [h]|P, 〈i , c , a〉 · 〈〉K= Jd [h], 〈↑〉 · 〈i , c , a〉 · 〈〉K | JP, 〈↑〉 · 〈i , c , a〉 · 〈〉K= J0, 〈h, d , 0〉 · 〈↑〉 · 〈i , c , a〉 · 〈〉K | 〈↑〉 · 〈i , c , a〉 · 〈〉.P= 〈h, d , 0〉 · 〈↑〉 · 〈i , c , a〉 · 〈〉 . 0 | 〈↑〉 · 〈i , c , a〉 · 〈〉 . P

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 8/19

Page 29: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Definition (Back and Forth (BF) Bisimulation)

Given a bijective function γ : Lc1 → Lc2 , a relation

c1Rc2 ⊆ Pc1 × Pc2 is a strong back and forth simulation ifwhenever Pc1Rc2R:

I P`−→c1 Q implies R

γ(`)−−→c2 S with Qc1Rc2S

I P`c1 Q implies R

γ(`)

c2 S with Qc1Rc2S

A relation c1Rc2 ⊆ Pc1 × Pc2 is called a strong back and forthbisimulation if c1Rc2 and (c1Rc2)−1 are strong back and forthsimulations. We call strong bisimilarity, noted c1 ∼c2 , the largestbisimulation with respect to calculi c1 and c2.

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 9/19

Page 30: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Theorem (Bisimilarity)

For any reachable CCSK process X , XCCSK∼RCCS JX , 〈〉K.

We show that the relation

R = {(X ,R) with X CCSK reachable ∧ R ≡ JX , 〈〉K}

is a strong back and forth bisimulation.

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 10/19

Page 31: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Encoding RCCS to CCSK

In RCCS via structural congruence it is possible to split a parallelcomposition of processes sharing the same memory into a parallelcomposition of different monitored processes.

Let us consider CCS process α.(β.P1|γ.P2) + Q

RCCS: 〈〉 . α.(β.P1|γ.P2) + Q →iα→

jβ R, where

R = 〈j , β, 0〉 · 〈↑〉 · 〈i , α,Q〉 · 〈〉 . P1 | 〈↑〉 · 〈i , α,Q〉 · 〈〉 . γ.P2

CCSK: α.(β.P1|γ.P2) + Qα[i ]−−→ β[j]−−→ X , where

X = α[i ].(β[j ].P1|γ.P2) + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 11/19

Page 32: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Encoding RCCS to CCSK

In RCCS via structural congruence it is possible to split a parallelcomposition of processes sharing the same memory into a parallelcomposition of different monitored processes.

Let us consider CCS process α.(β.P1|γ.P2) + Q

RCCS: 〈〉 . α.(β.P1|γ.P2) + Q →iα→

jβ R, where

R = 〈j , β, 0〉 · 〈↑〉 · 〈i , α,Q〉 · 〈〉 . P1 | 〈↑〉 · 〈i , α,Q〉 · 〈〉 . γ.P2

CCSK: α.(β.P1|γ.P2) + Qα[i ]−−→ β[j]−−→ X , where

X = α[i ].(β[j ].P1|γ.P2) + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 11/19

Page 33: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Encoding RCCS to CCSK

In RCCS via structural congruence it is possible to split a parallelcomposition of processes sharing the same memory into a parallelcomposition of different monitored processes.

Let us consider CCS process α.(β.P1|γ.P2) + Q

RCCS: 〈〉 . α.(β.P1|γ.P2) + Q →iα→

jβ R, where

R = 〈j , β, 0〉 · 〈↑〉 · 〈i , α,Q〉 · 〈〉 . P1 | 〈↑〉 · 〈i , α,Q〉 · 〈〉 . γ.P2

CCSK: α.(β.P1|γ.P2) + Qα[i ]−−→ β[j]−−→ X , where

X = α[i ].(β[j ].P1|γ.P2) + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 11/19

Page 34: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Encoding RCCS to CCSK

In RCCS via structural congruence it is possible to split a parallelcomposition of processes sharing the same memory into a parallelcomposition of different monitored processes.

Let us consider CCS process α.(β.P1|γ.P2) + Q

RCCS: 〈〉 . α.(β.P1|γ.P2) + Q →iα→

jβ R, where

R = 〈j , β, 0〉 · 〈↑〉 · 〈i , α,Q〉 · 〈〉 . P1 | 〈↑〉 · 〈i , α,Q〉 · 〈〉 . γ.P2

CCSK: α.(β.P1|γ.P2) + Qα[i ]−−→ β[j]−−→ X , where

X = α[i ].(β[j ].P1|γ.P2) + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 11/19

Page 35: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

In the exampleα[i ].(β[j ].P1 | γ.P2) + Q

the encoding has to join together processes β[j ].P1 and γ.P2 andput them in the context

α[i ].[•] + Q

In this case encoding cannot be compositional .

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 12/19

Page 36: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Definition

The function δ of a memory m, is inductively defined as follows:

δ(m · 〈↑〉) = δ(m) δ(∅) = 〈〉δ(m · 〈i , α,Q〉) = m · 〈i , α,Q〉 δ(〈↑〉) = 〈〉

Let PK and PR be the set of processes from CCSK and RCCS,respectively. The encoding function L·M : PR → PK is inductivelydefined as follows:

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 13/19

Page 37: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

LR\AM = LRM\A

L(∏

l∈I m0l · 〈↑〉 ·m . PlM = Hm,

∏l∈I Lδ(m0

l ) . PlMI if 〈↑〉 6∈ m

Lm . PM = Hm,PI

H〈i , α,Q〉 ·m,X I = Hm, α[i ].X + QI if Q 6= 0

H〈i , α, 0〉 ·m,X I = Hm, α[i ].X I

H〈〉,X I = X

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 14/19

Page 38: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s get back on our example and encode process R.

LRM = L〈j , β, 0〉 · 〈↑〉 · 〈i , α,Q〉 · 〈〉 . P1 | 〈↑〉 · 〈i , α,Q〉 · 〈〉 . γ.P2M

= H〈i , α,Q〉, Lδ(〈j , β, 0〉) . P1M | Lδ(∅) . γ.P2MI= H〈i , α,Q〉, L〈j , β, 0〉 . P1M | L〈〉 . γ.P2MI= H〈i , α,Q〉, H〈j , β, 0〉,P1I | H〈〉, γ.P2II= H〈i , α,Q〉, H〈〉, β[j ].P1I | γ.P2I= H〈i , α,Q〉, β[j ].P1 | γ.P2I= H〈〉, α[i ].(β[j ].P1 | γ.P2) + QI= α[i ].(β[j ].P1 | γ.P2) + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 15/19

Page 39: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s get back on our example and encode process R.

LRM = L〈j , β, 0〉 · 〈↑〉 · 〈i , α,Q〉 · 〈〉 . P1 | 〈↑〉 · 〈i , α,Q〉 · 〈〉 . γ.P2M= H〈i , α,Q〉, Lδ(〈j , β, 0〉) . P1M | Lδ(∅) . γ.P2MI

= H〈i , α,Q〉, L〈j , β, 0〉 . P1M | L〈〉 . γ.P2MI= H〈i , α,Q〉, H〈j , β, 0〉,P1I | H〈〉, γ.P2II= H〈i , α,Q〉, H〈〉, β[j ].P1I | γ.P2I= H〈i , α,Q〉, β[j ].P1 | γ.P2I= H〈〉, α[i ].(β[j ].P1 | γ.P2) + QI= α[i ].(β[j ].P1 | γ.P2) + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 15/19

Page 40: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s get back on our example and encode process R.

LRM = L〈j , β, 0〉 · 〈↑〉 · 〈i , α,Q〉 · 〈〉 . P1 | 〈↑〉 · 〈i , α,Q〉 · 〈〉 . γ.P2M= H〈i , α,Q〉, Lδ(〈j , β, 0〉) . P1M | Lδ(∅) . γ.P2MI= H〈i , α,Q〉, L〈j , β, 0〉 . P1M | L〈〉 . γ.P2MI

= H〈i , α,Q〉, H〈j , β, 0〉,P1I | H〈〉, γ.P2II= H〈i , α,Q〉, H〈〉, β[j ].P1I | γ.P2I= H〈i , α,Q〉, β[j ].P1 | γ.P2I= H〈〉, α[i ].(β[j ].P1 | γ.P2) + QI= α[i ].(β[j ].P1 | γ.P2) + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 15/19

Page 41: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s get back on our example and encode process R.

LRM = L〈j , β, 0〉 · 〈↑〉 · 〈i , α,Q〉 · 〈〉 . P1 | 〈↑〉 · 〈i , α,Q〉 · 〈〉 . γ.P2M= H〈i , α,Q〉, Lδ(〈j , β, 0〉) . P1M | Lδ(∅) . γ.P2MI= H〈i , α,Q〉, L〈j , β, 0〉 . P1M | L〈〉 . γ.P2MI= H〈i , α,Q〉, H〈j , β, 0〉,P1I | H〈〉, γ.P2II

= H〈i , α,Q〉, H〈〉, β[j ].P1I | γ.P2I= H〈i , α,Q〉, β[j ].P1 | γ.P2I= H〈〉, α[i ].(β[j ].P1 | γ.P2) + QI= α[i ].(β[j ].P1 | γ.P2) + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 15/19

Page 42: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s get back on our example and encode process R.

LRM = L〈j , β, 0〉 · 〈↑〉 · 〈i , α,Q〉 · 〈〉 . P1 | 〈↑〉 · 〈i , α,Q〉 · 〈〉 . γ.P2M= H〈i , α,Q〉, Lδ(〈j , β, 0〉) . P1M | Lδ(∅) . γ.P2MI= H〈i , α,Q〉, L〈j , β, 0〉 . P1M | L〈〉 . γ.P2MI= H〈i , α,Q〉, H〈j , β, 0〉,P1I | H〈〉, γ.P2II= H〈i , α,Q〉, H〈〉, β[j ].P1I | γ.P2I

= H〈i , α,Q〉, β[j ].P1 | γ.P2I= H〈〉, α[i ].(β[j ].P1 | γ.P2) + QI= α[i ].(β[j ].P1 | γ.P2) + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 15/19

Page 43: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s get back on our example and encode process R.

LRM = L〈j , β, 0〉 · 〈↑〉 · 〈i , α,Q〉 · 〈〉 . P1 | 〈↑〉 · 〈i , α,Q〉 · 〈〉 . γ.P2M= H〈i , α,Q〉, Lδ(〈j , β, 0〉) . P1M | Lδ(∅) . γ.P2MI= H〈i , α,Q〉, L〈j , β, 0〉 . P1M | L〈〉 . γ.P2MI= H〈i , α,Q〉, H〈j , β, 0〉,P1I | H〈〉, γ.P2II= H〈i , α,Q〉, H〈〉, β[j ].P1I | γ.P2I= H〈i , α,Q〉, β[j ].P1 | γ.P2I

= H〈〉, α[i ].(β[j ].P1 | γ.P2) + QI= α[i ].(β[j ].P1 | γ.P2) + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 15/19

Page 44: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s get back on our example and encode process R.

LRM = L〈j , β, 0〉 · 〈↑〉 · 〈i , α,Q〉 · 〈〉 . P1 | 〈↑〉 · 〈i , α,Q〉 · 〈〉 . γ.P2M= H〈i , α,Q〉, Lδ(〈j , β, 0〉) . P1M | Lδ(∅) . γ.P2MI= H〈i , α,Q〉, L〈j , β, 0〉 . P1M | L〈〉 . γ.P2MI= H〈i , α,Q〉, H〈j , β, 0〉,P1I | H〈〉, γ.P2II= H〈i , α,Q〉, H〈〉, β[j ].P1I | γ.P2I= H〈i , α,Q〉, β[j ].P1 | γ.P2I= H〈〉, α[i ].(β[j ].P1 | γ.P2) + QI

= α[i ].(β[j ].P1 | γ.P2) + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 15/19

Page 45: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Let’s get back on our example and encode process R.

LRM = L〈j , β, 0〉 · 〈↑〉 · 〈i , α,Q〉 · 〈〉 . P1 | 〈↑〉 · 〈i , α,Q〉 · 〈〉 . γ.P2M= H〈i , α,Q〉, Lδ(〈j , β, 0〉) . P1M | Lδ(∅) . γ.P2MI= H〈i , α,Q〉, L〈j , β, 0〉 . P1M | L〈〉 . γ.P2MI= H〈i , α,Q〉, H〈j , β, 0〉,P1I | H〈〉, γ.P2II= H〈i , α,Q〉, H〈〉, β[j ].P1I | γ.P2I= H〈i , α,Q〉, β[j ].P1 | γ.P2I= H〈〉, α[i ].(β[j ].P1 | γ.P2) + QI= α[i ].(β[j ].P1 | γ.P2) + Q

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 15/19

Page 46: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Theorem

Let R to be a RCCS reachable process. Then JLRM, 〈〉K = R.

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 16/19

Page 47: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Cross-fertilization results

I RCCS is causally consistent =⇒ CCSK is causally consistent

I CCSK has Reverse Diamond Property (Reverse transitions areconfluent) =⇒ Reverse Diamond Property holds in RCCS

I We can bring transactions from RCCS to CCSK

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 17/19

Page 48: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

Conclusion

We show that RCCS and CCSK are equivalent in terms of strongback and forth bisimulation

Future work:

I show that back and forth bisimulation is a congruence

I e.g. Forward-Reverse (FR) Bisimulation is a BFBisimulation

I show that two bisimilar CCSK terms are translated into twobisimimilar RCCS terms.

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 18/19

Page 49: Static VS Dynamic Reversibility in CCS - unibo.itlanese/work/Belgrado2017-Medic.pdf · Introduction Two reversible variant of CCS: IRCCS1, introduced by Danos and Krivine and ICCSK2,

References

I J. Krivine. A verification technique for reversible processalgebra. In Reversible Computation, 4th InternationalWorkshop, RC 2012, Copenhagen, Denmark, July 2-3, 2012.

I I. C. C. Phillips and I. Ulidowski. Reversing algebraic processcalculi. J. Log. Algebr. Program., 2007.

I V. Danos and J. Krivine. Reversible communicating systems.In CONCUR 2004 - Concurrency Theory, 15th InternationalConference, London, UK, August 31 - September 3, 2004

I D. Medic and C. A. Mezzina. Static VS dynamic reversibilityin CCS. In S. J. Devitt and I. Lanese, editors, ReversibleComputation - 8th International Conference, RC 2016,Bologna, Italy

Doriana Medic, Ivan Lanese, Claudio Antares Mezzina 19/19


Recommended