会话类型的π - 演算:语法、语义与类型系统
1. π - 演算会话语法
1.1 基本元素与进程表示
在 π - 演算会话中,有几个关键的元素。设 $P$、$Q$ 代表进程,$x$、$y$ 代表变量,$v$ 代表值(包括变量和基础值,如整数、布尔值、字符串),$l$ 代表标签。为简化,当前语法仅包含布尔值 true
和 false
,不过其他基础值也可添加。
- 输出进程 :$x!\langle v\rangle.P$ 会在通道 $x$ 上发送值 $v$,然后继续执行进程 $P$。
- 输入进程 :$x?(y).P$ 会在通道 $x$ 上接收一个值,将其存储在变量 $y$ 中,接着执行进程 $P$。
- 选择进程 :$x \triangleleft l_j.P$ 会在通道 $x$ 上选择标签 $l_j$,然后继续执行进程 $P$。
- 分支进程 :$x \triangleright {l_i : P_i}_{i\in I}$ 会在通道 $x$ 上提供一系列带标签的选择,每个选择后跟着相应的进程延续。
1.2 其他进程形式
- 条件进程 :
if v then P else Q
是标准的条件进程。 - 并行组合进程 :$P | Q$ 是进程 $P$ 和 $Q$ 的并行组合。