2012-04-17 12 views
1

在Milner的Pi微積分中,當多個進程從同一個通道讀取時,什麼是評估語義?在Milner的Pi微積分中,當多個進程從同一個通道讀取時,什麼是評估語義?

規則說

!x(a). P | ?x(b) Q ~> P | Q[a/b]

但什麼情況下,像

!x(a). P | ?x(b) Q | ?x(c) R

+0

你需要什麼?此外,格式化您的代碼。 – Marcin 2012-04-17 15:35:46

+0

我的拿?我的猜測是,鑑於規則是書面的,評估是不確定的,評估者可以選擇執行的路徑。 – 2012-04-17 15:45:38

+0

您可能會在新的計算機科學協議棧Exchange cs.stackexchange.com上提出此問題 – Patrick87 2012-04-23 16:09:18

回答

2

我知道這個問題有點舊,但爲了下一個人來尋找答案,我會嘗試一個。

答案是:它是不確定的。的演算處理:

?x(b).Q | ?x(c).R 

說「要麼接受x上輸入然後執行Q,或接受X輸入並進行如下R」。這兩個執行都對這個過程有效。您可以考慮與這些流程相關的標籤轉換系統 - 它會像您期望的那樣分支。

恰恰是這種不確定性使得過程計算(如Pi微積分和朋友)「特殊」,與lambda微積分不同,它以什麼順序評估事物並不重要(你會達到相同的結果)。 Pi微積分具有所有這些機制,如互模擬和轉換系統語義,以便它可以捕捉這些類型的情況並使其適合於分析。

相關問題