+ All Categories
Home > Documents > System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation,...

System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation,...

Date post: 31-May-2020
Category:
Upload: others
View: 3 times
Download: 0 times
Share this document with a friend
46
System Validation Mohammad Mousavi 6. Parallel Processes: Theory
Transcript
Page 1: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

System Validation

Mohammad Mousavi

6. Parallel Processes: Theory

Page 2: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Parallel Processes

Mohammad Mousavi

TU/Eindhoven

System Validation, 2012-2013TU Delft

Mousavi: Parallel Processes TU/e

Page 3: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Overview

I Motivation

I Parallel Composition and Expansion Law

I Communication, Allow and Block

I Hiding

Mousavi: Parallel Processes TU/e

Page 4: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Outline

Parallel Composition

Communication and Allow

Hiding

Mousavi: Parallel Processes TU/e

Page 5: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Motivating Examples

Decomposing a Two-Place Buffer

2-Place FIFOin(d)? out(d)!

1-Place FIFO 1-Place FIFOin(d)? int(d)?

int(d)!

out(d)!

τ{int(d)}∂{int(d)?,int(d)!}

Mousavi: Parallel Processes TU/e

Page 6: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Parallel Composition

Semantics of p || q

I pα→ p′, then p || q α→ p′ || q,

I qα→ q′, then p || q α→ p || q′, and

I pα→ p′ and q

β→ q′, then p || q α|β→ p′ || q′.

Mousavi: Parallel Processes TU/e

Page 7: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Parallel Composition

Semantics of p || qI p

α→ p′, then p || q α→ p′ || q,

I qα→ q′, then p || q α→ p || q′, and

I pα→ p′ and q

β→ q′, then p || q α|β→ p′ || q′.

Mousavi: Parallel Processes TU/e

Page 8: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Parallel Composition

Semantics of p || qI p

α→ p′, then p || q α→ p′ || q,

I qα→ q′, then p || q α→ p || q′, and

I pα→ p′ and q

β→ q′, then p || q α|β→ p′ || q′.

Mousavi: Parallel Processes TU/e

Page 9: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Parallel Composition

a · a || b · b

a b

a | b

a b

b

a | b

a

a

b

a | b

a

a

b

b

a | b

Mousavi: Parallel Processes TU/e

Page 10: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

The Saga of Axiomatizing Parallel Composition

Challenge

(Dish1+Dish2) ||Coke ?= (Dish1 ||Coke)+(Dish2 ||Coke)

Faron Moller’s ResultParallel composition (without auxiliary operators)cannot be finitely axiomatized.

Mousavi: Parallel Processes TU/e

Page 11: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

The Saga of Axiomatizing Parallel Composition

Challenge

(Dish1+Dish2) ||Coke ?= (Dish1 ||Coke)+(Dish2 ||Coke)

Faron Moller’s ResultParallel composition (without auxiliary operators)cannot be finitely axiomatized.

Mousavi: Parallel Processes TU/e

Page 12: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

The Saga of Axiomatizing Parallel Composition

Bergstra and Klop’s Invention

Axiomatize parallel composition using:

I Left merge (‖ ): pα→ p′, then p‖ q α→ p′ || q,

I Communication merge (|): pα→ p′ and q

β→ q′, then

p|q α|β→ p′ || q′.

Expansion Law

p || q = (p‖ q) + (q‖ p) + (p|q)

Mousavi: Parallel Processes TU/e

Page 13: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

The Saga of Axiomatizing Parallel Composition

Bergstra and Klop’s Invention

Axiomatize parallel composition using:

I Left merge (‖ ): pα→ p′, then p‖ q α→ p′ || q,

I Communication merge (|): pα→ p′ and q

β→ q′, then

p|q α|β→ p′ || q′.

Expansion Law

p || q = (p‖ q) + (q‖ p) + (p|q)

Mousavi: Parallel Processes TU/e

Page 14: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

The Saga of Axiomatizing Parallel Composition

‖ and |: Raisons d’etre

(Dish1 + Dish2)‖ Coke ↔ (Dish1‖ Coke) + (Dish2‖ Coke)

(Dish1 + Dish2)|Coke ↔ (Dish1|Coke) + (Dish2|Coke)

Mousavi: Parallel Processes TU/e

Page 15: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Parallel Composition: Axioms

Axioms for Untimed Processes

M x ‖ y = x ‖ y + y ‖ x + x |y

LM1 α‖ x = α·xLM2 δ‖ x = δLM3 α·x ‖ y = α·(x ‖ y)LM4 (x + y)‖ z = x ‖ z + y ‖ zLM5 (

∑d :D X (d))‖ y =

∑d :D X (d)‖ y

Mousavi: Parallel Processes TU/e

Page 16: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Parallel Composition: Axioms

Axioms for Untimed Processes (Cont’d)S1 x |y = y |xS2 (x |y)|z = x |(y |z)S3 x |τ = xS4 α|δ = δS5 (α·x)|β = α|β·xS6 (α·x)|(β·y) = α|β·(x ‖ y)S7 (x + y)|z = x |z + y |zS8 (

∑d :D X (d))|y =

∑d :D X (d)|y

TC1 (x ‖ y)‖ z = x ‖ (y ‖ z)TC2 x ‖ δ = x ·δTC3 (x |y)‖ z = x |(y ‖ z)

Mousavi: Parallel Processes TU/e

Page 17: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

The Saga of Axiomatizing Parallel Composition

Expanding Parallel Composition

(a · a) || b = M

((a · a)‖ b) + (b‖ (a · a)) + ((a · a)|b) = LM3,LM1,S5(a · (a || b)) + (b · a · a) + ((a | b) · a) = M(a · ((a‖ b) + (b‖ a) + (a|b))) + (b · a · a) + ((a | b) · a) = LM1,LM1(a · ((a · b) + (b · a) + (a | b))) + (b · a · a) + ((a | b) · a)

Mousavi: Parallel Processes TU/e

Page 18: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

The Saga of Axiomatizing Parallel Composition

Expanding Parallel Composition

(a · a) || b = M((a · a)‖ b) + (b‖ (a · a)) + ((a · a)|b) = LM3,LM1,S5

(a · (a || b)) + (b · a · a) + ((a | b) · a) = M(a · ((a‖ b) + (b‖ a) + (a|b))) + (b · a · a) + ((a | b) · a) = LM1,LM1(a · ((a · b) + (b · a) + (a | b))) + (b · a · a) + ((a | b) · a)

Mousavi: Parallel Processes TU/e

Page 19: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

The Saga of Axiomatizing Parallel Composition

Expanding Parallel Composition

(a · a) || b = M((a · a)‖ b) + (b‖ (a · a)) + ((a · a)|b) = LM3,LM1,S5(a · (a || b)) + (b · a · a) + ((a | b) · a) = M

(a · ((a‖ b) + (b‖ a) + (a|b))) + (b · a · a) + ((a | b) · a) = LM1,LM1(a · ((a · b) + (b · a) + (a | b))) + (b · a · a) + ((a | b) · a)

Mousavi: Parallel Processes TU/e

Page 20: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

The Saga of Axiomatizing Parallel Composition

Expanding Parallel Composition

(a · a) || b = M((a · a)‖ b) + (b‖ (a · a)) + ((a · a)|b) = LM3,LM1,S5(a · (a || b)) + (b · a · a) + ((a | b) · a) = M(a · ((a‖ b) + (b‖ a) + (a|b))) + (b · a · a) + ((a | b) · a) = LM1,LM1

(a · ((a · b) + (b · a) + (a | b))) + (b · a · a) + ((a | b) · a)

Mousavi: Parallel Processes TU/e

Page 21: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

The Saga of Axiomatizing Parallel Composition

Expanding Parallel Composition

(a · a) || b = M((a · a)‖ b) + (b‖ (a · a)) + ((a · a)|b) = LM3,LM1,S5(a · (a || b)) + (b · a · a) + ((a | b) · a) = M(a · ((a‖ b) + (b‖ a) + (a|b))) + (b · a · a) + ((a | b) · a) = LM1,LM1(a · ((a · b) + (b · a) + (a | b))) + (b · a · a) + ((a | b) · a)

Mousavi: Parallel Processes TU/e

Page 22: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Outline

Parallel Composition

Communication and Allow

Hiding

Mousavi: Parallel Processes TU/e

Page 23: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Motivating Examples

Decomposing a Two-Place Buffer

2-Place FIFOin(d)? out(d)!

1-Place FIFO 1-Place FIFOin(d)? int(d)?

int(d)!

out(d)!

τ{int(d)}∂{int(d)?,int(d)!}

Mousavi: Parallel Processes TU/e

Page 24: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Communication

Communication

I Idea: Give a name to the multi-action resulting fromcommunication.

I Goal: To synchronize different parties.

I Example: Γ{snd |rcv→comm}(snd(1) ||∑i :N rcv(i)).

Mousavi: Parallel Processes TU/e

Page 25: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Communication

Axioms for Communication

C1 ΓC (α) = γC (α)C2 ΓC (δ) = δC3 ΓC (x + y) = ΓC (x) + ΓC (y)C4 ΓC (x ·y) = ΓC (x)·ΓC (y)C5 ΓC (

∑d :D X (d)) =

∑d :D ΓC (X (d))

Mousavi: Parallel Processes TU/e

Page 26: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Definition of γC

γ∅(α) = αγC1∪C2(α) = γC1(γC2(α))

γ{a1 | ··· | an → b}(α) =

b(d) | γ{a1 | ··· | an → b}(α \ (a1(d)| · · · |an(d)))

if a1(d)| · · · |an(d) v α for some d .α otherwise.

Examples

γ{a|b→c}((a(1) | b(1)) | a(2)) = c(1) | γ{a|b→c}(a(2)) = c(1) | a(2)

γ{a|b→c}(a(2) | b(2)) = c(2) | γ{a|b→c}τ = c(2) | τ = c(2)

Mousavi: Parallel Processes TU/e

Page 27: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Definition of γC

γ∅(α) = αγC1∪C2(α) = γC1(γC2(α))

γ{a1 | ··· | an → b}(α) =

b(d) | γ{a1 | ··· | an → b}(α \ (a1(d)| · · · |an(d)))

if a1(d)| · · · |an(d) v α for some d .α otherwise.

Examples

γ{a|b→c}((a(1) | b(1)) | a(2)) = c(1) | γ{a|b→c}(a(2)) = c(1) | a(2)

γ{a|b→c}(a(2) | b(2)) = c(2) | γ{a|b→c}τ = c(2) | τ = c(2)

Mousavi: Parallel Processes TU/e

Page 28: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Γ{snd |rcv→comm}(snd(1) || rcv(1)) = M

Γ{snd |rcv→comm}((snd(1)‖ rcv(1)) + (rcv(1)‖ snd(1)) +(snd(1)|rcv(1))) = LM1,LM1

Γ{snd |rcv→comm}((snd(1) · rcv(1)) + (rcv(1) · snd(1)) +(snd(1)|rcv(1))) = C3

Γ{snd |rcv→comm}(snd(1) · rcv(1)) +Γ{snd |rcv→comm}(rcv(1) · snd(1)) +Γ{snd |rcv→comm}(snd(1)|rcv(1))) = C4

(Γ{snd |rcv→comm}(snd(1)) · Γ{snd |rcv→comm}(rcv(1))) +(Γ{snd |rcv→comm}(rcv(1)) · Γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = C1×3

(γ{snd |rcv→comm}(snd(1)) · γ{snd |rcv→comm}(rcv(1))) +(γ{snd |rcv→comm}(rcv(1)) · γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = Def. of γ

(snd(1) · rcv(1)) + (rcv(1) · snd(1)) + comm(1)

Mousavi: Parallel Processes TU/e

Page 29: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Γ{snd |rcv→comm}(snd(1) || rcv(1)) = MΓ{snd |rcv→comm}((snd(1)‖ rcv(1)) + (rcv(1)‖ snd(1)) +

(snd(1)|rcv(1))) = LM1,LM1

Γ{snd |rcv→comm}((snd(1) · rcv(1)) + (rcv(1) · snd(1)) +(snd(1)|rcv(1))) = C3

Γ{snd |rcv→comm}(snd(1) · rcv(1)) +Γ{snd |rcv→comm}(rcv(1) · snd(1)) +Γ{snd |rcv→comm}(snd(1)|rcv(1))) = C4

(Γ{snd |rcv→comm}(snd(1)) · Γ{snd |rcv→comm}(rcv(1))) +(Γ{snd |rcv→comm}(rcv(1)) · Γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = C1×3

(γ{snd |rcv→comm}(snd(1)) · γ{snd |rcv→comm}(rcv(1))) +(γ{snd |rcv→comm}(rcv(1)) · γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = Def. of γ

(snd(1) · rcv(1)) + (rcv(1) · snd(1)) + comm(1)

Mousavi: Parallel Processes TU/e

Page 30: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Γ{snd |rcv→comm}(snd(1) || rcv(1)) = MΓ{snd |rcv→comm}((snd(1)‖ rcv(1)) + (rcv(1)‖ snd(1)) +

(snd(1)|rcv(1))) = LM1,LM1Γ{snd |rcv→comm}((snd(1) · rcv(1)) + (rcv(1) · snd(1)) +

(snd(1)|rcv(1))) = C3

Γ{snd |rcv→comm}(snd(1) · rcv(1)) +Γ{snd |rcv→comm}(rcv(1) · snd(1)) +Γ{snd |rcv→comm}(snd(1)|rcv(1))) = C4

(Γ{snd |rcv→comm}(snd(1)) · Γ{snd |rcv→comm}(rcv(1))) +(Γ{snd |rcv→comm}(rcv(1)) · Γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = C1×3

(γ{snd |rcv→comm}(snd(1)) · γ{snd |rcv→comm}(rcv(1))) +(γ{snd |rcv→comm}(rcv(1)) · γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = Def. of γ

(snd(1) · rcv(1)) + (rcv(1) · snd(1)) + comm(1)

Mousavi: Parallel Processes TU/e

Page 31: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Γ{snd |rcv→comm}(snd(1) || rcv(1)) = MΓ{snd |rcv→comm}((snd(1)‖ rcv(1)) + (rcv(1)‖ snd(1)) +

(snd(1)|rcv(1))) = LM1,LM1Γ{snd |rcv→comm}((snd(1) · rcv(1)) + (rcv(1) · snd(1)) +

(snd(1)|rcv(1))) = C3Γ{snd |rcv→comm}(snd(1) · rcv(1)) +

Γ{snd |rcv→comm}(rcv(1) · snd(1)) +Γ{snd |rcv→comm}(snd(1)|rcv(1))) = C4

(Γ{snd |rcv→comm}(snd(1)) · Γ{snd |rcv→comm}(rcv(1))) +(Γ{snd |rcv→comm}(rcv(1)) · Γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = C1×3

(γ{snd |rcv→comm}(snd(1)) · γ{snd |rcv→comm}(rcv(1))) +(γ{snd |rcv→comm}(rcv(1)) · γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = Def. of γ

(snd(1) · rcv(1)) + (rcv(1) · snd(1)) + comm(1)

Mousavi: Parallel Processes TU/e

Page 32: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Γ{snd |rcv→comm}(snd(1) || rcv(1)) = MΓ{snd |rcv→comm}((snd(1)‖ rcv(1)) + (rcv(1)‖ snd(1)) +

(snd(1)|rcv(1))) = LM1,LM1Γ{snd |rcv→comm}((snd(1) · rcv(1)) + (rcv(1) · snd(1)) +

(snd(1)|rcv(1))) = C3Γ{snd |rcv→comm}(snd(1) · rcv(1)) +

Γ{snd |rcv→comm}(rcv(1) · snd(1)) +Γ{snd |rcv→comm}(snd(1)|rcv(1))) = C4

(Γ{snd |rcv→comm}(snd(1)) · Γ{snd |rcv→comm}(rcv(1))) +(Γ{snd |rcv→comm}(rcv(1)) · Γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = C1×3

(γ{snd |rcv→comm}(snd(1)) · γ{snd |rcv→comm}(rcv(1))) +(γ{snd |rcv→comm}(rcv(1)) · γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = Def. of γ

(snd(1) · rcv(1)) + (rcv(1) · snd(1)) + comm(1)

Mousavi: Parallel Processes TU/e

Page 33: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Γ{snd |rcv→comm}(snd(1) || rcv(1)) = MΓ{snd |rcv→comm}((snd(1)‖ rcv(1)) + (rcv(1)‖ snd(1)) +

(snd(1)|rcv(1))) = LM1,LM1Γ{snd |rcv→comm}((snd(1) · rcv(1)) + (rcv(1) · snd(1)) +

(snd(1)|rcv(1))) = C3Γ{snd |rcv→comm}(snd(1) · rcv(1)) +

Γ{snd |rcv→comm}(rcv(1) · snd(1)) +Γ{snd |rcv→comm}(snd(1)|rcv(1))) = C4

(Γ{snd |rcv→comm}(snd(1)) · Γ{snd |rcv→comm}(rcv(1))) +(Γ{snd |rcv→comm}(rcv(1)) · Γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = C1×3

(γ{snd |rcv→comm}(snd(1)) · γ{snd |rcv→comm}(rcv(1))) +(γ{snd |rcv→comm}(rcv(1)) · γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = Def. of γ

(snd(1) · rcv(1)) + (rcv(1) · snd(1)) + comm(1)

Mousavi: Parallel Processes TU/e

Page 34: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Γ{snd |rcv→comm}(snd(1) || rcv(1)) = MΓ{snd |rcv→comm}((snd(1)‖ rcv(1)) + (rcv(1)‖ snd(1)) +

(snd(1)|rcv(1))) = LM1,LM1Γ{snd |rcv→comm}((snd(1) · rcv(1)) + (rcv(1) · snd(1)) +

(snd(1)|rcv(1))) = C3Γ{snd |rcv→comm}(snd(1) · rcv(1)) +

Γ{snd |rcv→comm}(rcv(1) · snd(1)) +Γ{snd |rcv→comm}(snd(1)|rcv(1))) = C4

(Γ{snd |rcv→comm}(snd(1)) · Γ{snd |rcv→comm}(rcv(1))) +(Γ{snd |rcv→comm}(rcv(1)) · Γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = C1×3

(γ{snd |rcv→comm}(snd(1)) · γ{snd |rcv→comm}(rcv(1))) +(γ{snd |rcv→comm}(rcv(1)) · γ{snd |rcv→comm}(snd(1))) +γ{snd |rcv→comm}(snd(1)|rcv(1)) = Def. of γ

(snd(1) · rcv(1)) + (rcv(1) · snd(1)) + comm(1)

Mousavi: Parallel Processes TU/e

Page 35: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Allow

I Idea: To enforce synchronization by only allowing for theresults of communication.

I Goal: To synchronize different parties.

I Example: ∇commΓ{snd |rcv→comm}(snd(1) ||∑i :N rcv(i)).

Mousavi: Parallel Processes TU/e

Page 36: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Allow

Axioms for Allow

V1 ∇V (α) = α if α ∈ V ∪ {τ}V2 ∇V (α) = δ if α /∈ V ∪ {τ}V3 ∇V (δ) = δV4 ∇V (x + y) = ∇V (x) +∇V (y)V5 ∇V (x ·y) = ∇V (x)·∇V (y)V6 ∇V (

∑d :D X (d)) =

∑d :D ∇V (X (d))

TV1 ∇V (∇W (x)) = ∇V∩W (x)

Mousavi: Parallel Processes TU/e

Page 37: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

∇{comm}Γ{snd |rcv→comm}(snd(1) || rcv(1)) =Prev. Ex.

∇{comm}((snd(1) · rcv(1))+(rcv(1) · snd(1)) + comm(1)) = V4

∇{comm}(snd(1) · rcv(1))+∇{comm}(rcv(1) · snd(1)) +∇{comm}(comm(1)) = V5

(∇{comm}(snd(1)) · ∇{comm}(rcv(1)))+(∇{comm}(rcv(1)) · ∇{comm}(snd(1))) +∇{comm}(comm(1))= V1,V5

δ · δ + δ · δ + comm(1) = A7,A3δ + comm(1) = A1,A6comm(1)

Mousavi: Parallel Processes TU/e

Page 38: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

∇{comm}Γ{snd |rcv→comm}(snd(1) || rcv(1)) =Prev. Ex.∇{comm}((snd(1) · rcv(1))+

(rcv(1) · snd(1)) + comm(1)) = V4

∇{comm}(snd(1) · rcv(1))+∇{comm}(rcv(1) · snd(1)) +∇{comm}(comm(1)) = V5

(∇{comm}(snd(1)) · ∇{comm}(rcv(1)))+(∇{comm}(rcv(1)) · ∇{comm}(snd(1))) +∇{comm}(comm(1))= V1,V5

δ · δ + δ · δ + comm(1) = A7,A3δ + comm(1) = A1,A6comm(1)

Mousavi: Parallel Processes TU/e

Page 39: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

∇{comm}Γ{snd |rcv→comm}(snd(1) || rcv(1)) =Prev. Ex.∇{comm}((snd(1) · rcv(1))+

(rcv(1) · snd(1)) + comm(1)) = V4∇{comm}(snd(1) · rcv(1))+∇{comm}(rcv(1) · snd(1)) +∇{comm}(comm(1)) = V5

(∇{comm}(snd(1)) · ∇{comm}(rcv(1)))+(∇{comm}(rcv(1)) · ∇{comm}(snd(1))) +∇{comm}(comm(1))= V1,V5

δ · δ + δ · δ + comm(1) = A7,A3δ + comm(1) = A1,A6comm(1)

Mousavi: Parallel Processes TU/e

Page 40: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

∇{comm}Γ{snd |rcv→comm}(snd(1) || rcv(1)) =Prev. Ex.∇{comm}((snd(1) · rcv(1))+

(rcv(1) · snd(1)) + comm(1)) = V4∇{comm}(snd(1) · rcv(1))+∇{comm}(rcv(1) · snd(1)) +∇{comm}(comm(1)) = V5

(∇{comm}(snd(1)) · ∇{comm}(rcv(1)))+(∇{comm}(rcv(1)) · ∇{comm}(snd(1))) +∇{comm}(comm(1))= V1,V5

δ · δ + δ · δ + comm(1) = A7,A3δ + comm(1) = A1,A6comm(1)

Mousavi: Parallel Processes TU/e

Page 41: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

∇{comm}Γ{snd |rcv→comm}(snd(1) || rcv(1)) =Prev. Ex.∇{comm}((snd(1) · rcv(1))+

(rcv(1) · snd(1)) + comm(1)) = V4∇{comm}(snd(1) · rcv(1))+∇{comm}(rcv(1) · snd(1)) +∇{comm}(comm(1)) = V5

(∇{comm}(snd(1)) · ∇{comm}(rcv(1)))+(∇{comm}(rcv(1)) · ∇{comm}(snd(1))) +∇{comm}(comm(1))= V1,V5

δ · δ + δ · δ + comm(1) = A7,A3

δ + comm(1) = A1,A6comm(1)

Mousavi: Parallel Processes TU/e

Page 42: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

∇{comm}Γ{snd |rcv→comm}(snd(1) || rcv(1)) =Prev. Ex.∇{comm}((snd(1) · rcv(1))+

(rcv(1) · snd(1)) + comm(1)) = V4∇{comm}(snd(1) · rcv(1))+∇{comm}(rcv(1) · snd(1)) +∇{comm}(comm(1)) = V5

(∇{comm}(snd(1)) · ∇{comm}(rcv(1)))+(∇{comm}(rcv(1)) · ∇{comm}(snd(1))) +∇{comm}(comm(1))= V1,V5

δ · δ + δ · δ + comm(1) = A7,A3δ + comm(1) = A1,A6

comm(1)

Mousavi: Parallel Processes TU/e

Page 43: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

∇{comm}Γ{snd |rcv→comm}(snd(1) || rcv(1)) =Prev. Ex.∇{comm}((snd(1) · rcv(1))+

(rcv(1) · snd(1)) + comm(1)) = V4∇{comm}(snd(1) · rcv(1))+∇{comm}(rcv(1) · snd(1)) +∇{comm}(comm(1)) = V5

(∇{comm}(snd(1)) · ∇{comm}(rcv(1)))+(∇{comm}(rcv(1)) · ∇{comm}(snd(1))) +∇{comm}(comm(1))= V1,V5

δ · δ + δ · δ + comm(1) = A7,A3δ + comm(1) = A1,A6comm(1)

Mousavi: Parallel Processes TU/e

Page 44: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Outline

Parallel Composition

Communication and Allow

Hiding

Mousavi: Parallel Processes TU/e

Page 45: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Hiding

I Idea: To rename the irrelevant actions to τ .

I Example:τ{comm}∇comm,showΓ{snd |rcv→comm}(snd(1) ||∑i :N rcv(i).show(i)).

I N.B.: Use communication, allow and hiding only theabove-specified order.

Mousavi: Parallel Processes TU/e

Page 46: System Validation - TU Delft OCW › ... › Slides_System_Validation_6.pdfSystem Validation, 2012-2013 TU Delft Mousavi: Parallel Processes TU/e Parallel CompositionCommunication

Parallel Composition Communication and Allow Hiding

Hiding

Axioms for Hiding

H1 τI (τ) = τH2 τI (a(d)) = τ if a ∈ IH3 τI (a(d)) = a(d) if a 6∈ IH4 τI (α|β) = τI (α)|τI (β)H5 τI (δ) = δH6 τI (x+y) = τI (x) + τI (y)H7 τI (x ·y) = τI (x)·τI (y)H8 τI (

∑d :D X (d)) =

∑d :D τI (X (d))

H10 τI (τI ′(x)) = τI∪I ′(x)

Mousavi: Parallel Processes TU/e


Recommended