G.
乔巴努角
Prisacariu/
理论计算机科学电子笔记
175
(
2007
)
3
一个固定的资源在一个位置。
输入
和
输出
通信的语法使用一对进程。例如,
输入
表达式
a
Δ
t
?(
X
:
T
)
。
(P
,
Q)在Δt给定的时间间隔内,只要建立了通信,就演化为P;否则,就演化为
Q
。变量
X
被认为只在
P
中有界,我们应该提供它的类型
T;类型见表2。
表
1
:
tDπ
的
λ
u
::=
x
|
a
Δ
t
l
::=
x
| K
v::=bv
| u | l
| u@l
|
(v
1
,..,
v
n
)
X::
=
x
| X@l
变量名称定时通
道变量名称位置
名称基值名称
已定位的名称值
元组变量
定位变量
P,Q::
=
停止
|
P
|
Q
| (
ν u
:
A
)
P
|
戈湖
(P
,
Q)
|
u
!你
好
(
P
,
Q
)
|
你呢
?(X:
T)
。
(P
,
Q)
|
CUP
M
,
N
::=
M
|
N
| (ν u@l:T)N
|
l
[[
P
]]
Γ
终端合成通道限制移
动
输出输入复
制
组合
定位限制定位过程
| (
X
1
,..,
X
n
)变量
两个通道相等a
Δ
t1
=a
Δ
t2
当且仅当
a1
=
a2
且
t1
=
t2
。等待
1 2
通过将
Δ t
视为∞,允许在通道
a
上无限地进行。 例如一种
输出过程由表达式a
∞
定义
!你
好
(P
,
Q)永远等待发送值v,模拟无时π演算中输出过
程的行为。 在
下面的表达式,两个进程并行运行,并可以沿着公共通道a进行交互:
a
Δ
t
!你
好
(
P
,
Q
)
|
a
Δ
t
J
?(
X
:
T
)
。
(
P
J
,
Q
J
)−→
P
|
P
J
{
v
/}
我们用一个类型环境
Γ
来标记每个被定位的进程,它是一组
位置类型
。与特定进
程关联的类型环境的目的是限制进程可以访问的可访问资源的范围。 形式上,
L
×
K是将位置名称与位置类型相关联的关系。位置类型
是一组
定位能力
,其可以包含
信道类型
,
移动
能力(即,迁移到该位置的许可),
或
频道创建
能力(即,创建频道)。通道类型可以包含通道能力
读
(r)、
写
(w)
和
只读
(ro)。
一个
具有信道类型res{rT
,
wT
J
,
roT
J
}
的进程可以接收类型T的消息
和发送类型
T j
的消息
。
ro
能力的行为与
r
相同,
不同之处在于接收到的消息的类型
不添加到进程的类型环境当一个名字通过
一
个递归通道被接收时,
一个
类型我们描
述的进程只有在其类型环境具有相应的信道类型时才可以使用接收到的信道
在Dπ中,资源被积累,但它们永远不会丢失(丢弃)。我们用Δt形式的定时器
扩展了Dπ的通道类型。现在仅在由定时器值t给定的时间间隔内允许信道上的通信
(即,
直到信道类型的定时器期满)。这些计时器定义了类型环境中通道类型的存在计时
器随着通用时钟的每一个“滴答”而减少(我们假设我们有一个通用时钟)。 到期
后,