vault backup: 2025-04-14 16:50:00
This commit is contained in:
parent
3b2ae57b43
commit
81ff94637d
3 changed files with 12 additions and 24 deletions
1
.obsidian/workspace.json
vendored
1
.obsidian/workspace.json
vendored
|
@ -240,6 +240,7 @@
|
||||||
},
|
},
|
||||||
"active": "84845736e00d5c98",
|
"active": "84845736e00d5c98",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
|
"Pasted image 20250414164549.png",
|
||||||
"Concurrent Systems/slides/class 12.pdf",
|
"Concurrent Systems/slides/class 12.pdf",
|
||||||
"Concurrent Systems/notes/12 - CCS (che non so cosa voglia dire).md",
|
"Concurrent Systems/notes/12 - CCS (che non so cosa voglia dire).md",
|
||||||
"Concurrent Systems/notes/images/Pasted image 20250414082824.png",
|
"Concurrent Systems/notes/images/Pasted image 20250414082824.png",
|
||||||
|
|
|
@ -91,48 +91,35 @@ Sure Marco! Let's go step-by-step through the **CCS process transition example**
|
||||||
---
|
---
|
||||||
|
|
||||||
#### Example
|
#### Example
|
||||||
|

|
||||||
|
|
||||||
|
#### Example, but explained
|
||||||
##### 📘 Definitions
|
##### 📘 Definitions
|
||||||
|
|
||||||
We start with the following **process definitions**:
|
We start with the following **process definitions**:
|
||||||
|
|
||||||
- $A \triangleq a.A'$
|
- $A \triangleq a.A'$
|
||||||
- $A' \triangleq \bar{b}.A$
|
- $A' \triangleq \bar{b}.A$
|
||||||
- $B \triangleq b.B'$
|
- $B \triangleq b.B'$
|
||||||
- $B' \triangleq \bar{c}.B$
|
- $B' \triangleq \bar{c}.B$
|
||||||
|
|
||||||
Our **initial process** is: $A \mid B$
|
Our **initial process** is: $A \mid B$
|
||||||
|
|
||||||
##### ▶️ Step 1: Transition from A
|
##### ▶️ Step 1: Transition from A
|
||||||
From the definition:
|
From the definition:
|
||||||
|
|
||||||
- $A \triangleq a.A'$
|
- $A \triangleq a.A'$
|
||||||
- So we can do: $A \xrightarrow{a} A'$ (A consumes )
|
- So we can do: $A \xrightarrow{a} A'$ (A consumes a and becomes A')
|
||||||
|
|
||||||
Using the **parallel rule** for the left-hand side:
|
Using the **parallel rule** for the left-hand side:
|
||||||
|
$$\frac{A \xrightarrow{a} A'}{A \mid B \xrightarrow{a} A' \mid B}$$
|
||||||
|
✅ **First transition:** $A \mid B \xrightarrow{a} A' \mid B$
|
||||||
|
|
||||||
A→aA′A∣B→aA′∣B\frac{A \xrightarrow{a} A'}{A \mid B \xrightarrow{a} A' \mid B}
|
##### ▶️ Step 2: Synchronization: $\bar{b}$ and $b$
|
||||||
|
|
||||||
✅ **First transition:**
|
|
||||||
|
|
||||||
A∣B→aA′∣BA \mid B \xrightarrow{a} A' \mid B
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
## ▶️ Step 2: Synchronization: bˉ\bar{b} and bb
|
|
||||||
|
|
||||||
We now have:
|
We now have:
|
||||||
|
- Left process: $A' \triangleq \bar{b}.A$
|
||||||
- Left process: A′≜bˉ.AA' \triangleq \bar{b}.A
|
- Right process: $B \triangleq b.B'$
|
||||||
|
|
||||||
- Right process: B≜b.B′B \triangleq b.B'
|
|
||||||
|
|
||||||
|
|
||||||
From this, we can do:
|
From this, we can do:
|
||||||
|
- $A' \xrightarrow{\bar{b}} A$
|
||||||
- A′→bˉAA' \xrightarrow{\bar{b}} A
|
- $B \xrightarrow{b} B'$
|
||||||
|
|
||||||
- B→bB′B \xrightarrow{b} B'
|
|
||||||
|
|
||||||
|
|
||||||
These actions **complement each other**, so we can apply the **synchronization rule**:
|
These actions **complement each other**, so we can apply the **synchronization rule**:
|
||||||
|
|
||||||
|
|
BIN
Pasted image 20250414164549.png
Normal file
BIN
Pasted image 20250414164549.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 78 KiB |
Loading…
Add table
Add a link
Reference in a new issue