1.4 基本网系统与条件事件系统
在 P/T 系统 Σ = ( S , T ; F , K , W , M ) \Sigma=(S,T;F,K,W,M) Σ=(S,T;F,K,W,M) ,若规定
∀ s ∈ S : K ( s ) = 1 \forall s\in S:K(s)=1 ∀s∈S:K(s)=1
∀ ( x , y ) ∈ F : W ( x , y ) = 1 \forall(x,y)\in F:W(x,y)=1 ∀(x,y)∈F:W(x,y)=1
得到的网系统称为基本网系统(elementary net system)。诚然,这时对标识 M M M也要有相应的约束条件
∀ s ∈ S : M ( s ) ⩽ 1 \forall s\in S:M(s)\leqslant1 ∀s∈S:M(s)⩽1
其中基本网系统(简记为EN系统)是最简单的分布式系统模型
将P/T系统的权和库所的token流量都限制为1得到了基本网系统
M ( s ) = 0 , 1 M(s)=0,1 M(s)=0,1
每个 s ∈ S s \in S s∈S 看作一个条件, M ( s ) = 1 M(s)=1 M(s)=1则视为条件成立,反之亦然。
每个 t ∈ T t \in T t∈T 看作一个事件, ⋅ t ^\cdot t ⋅t 与 t ⋅ t^\cdot t⋅视为事件 t t t的前置条件集与后置条件集。
发生权:每个前置事件前置条件集都成立且后置条件集都不成立
发生后前置条件消失且后置条件都成立
在限制为1后,可以把每个库所抽象的看成一个条件,决定了后面变迁是否能发生,0和1的状态表明是否能发生
每个变迁看作成一个事件,t的前后对应库所也就是条件决定了他是否可以发生(需要前面的条件均满足和后面的条件均未满足才可以
在基本网系统中,习惯上用 B B B表示条件集,用 E E E表示事件集。EN 系统的形式定义给出如下:
定义 1.11
基本网系统是一个四元组
Σ
=
(
B
,
E
;
F
,
c
)
\Sigma=(B,E;F,c)
Σ=(B,E;F,c),其中
1
)
(
B
,
E
;
F
)
1)(B,E;F)
1)(B,E;F)是一个网,
B
B
B称为条件集(condition set),
E
E
E称为事件集(event set),
c
⊆
B
c\subseteq B
c⊆B称为
Σ
\Sigma
Σ的一
个情态(case)。
2)事件
e
∈
E
e\in E
e∈E 在情态
c
c
c 有发生权(记作
c
[
e
>
)
c[e>)
c[e>),当且仅当
∙
e
⊆
c
∧
e
∙
∩
c
=
∅
^\bullet e\subseteq c\land e^\bullet\cap c=\emptyset
∙e⊆c∧e∙∩c=∅
3)若事件
e
e
e在情态
c
c
c发生,产生新的情态
c
′
(
c^\prime(
c′(记作
c
[
e
>
c
′
)
c[e>c^\prime)
c[e>c′),则
c
′
=
(
c
−
∙
e
)
∪
e
∙
c^{\prime}=(c-^\bullet e)\cup e^\bullet
c′=(c−∙e)∪e∙
显然,三元组
(
B
,
E
;
F
)
(B,E;F)
(B,E;F)和初始情态
c
0
−
c_0-
c0−旦给出,就完全确定了一个 EN 系统。因此,一个基本网系统往往也是通过四元组
Σ
=
(
B
,
E
;
F
,
c
0
)
\Sigma=(B,E;F,c_0)
Σ=(B,E;F,c0)来给定。
借助基本网系统完全情态集的概念可以定义条件事件系统。条件事件系统是一种很规范的基本网系统,对系统中的条件集、事件集和情态集都有严格的要求。
定义 1.12
设 Σ = ( B , E ; F , c 0 ) \Sigma=(B,E;F,c_0) Σ=(B,E;F,c0) 为一个基本网系统。满足下列条件的最小集合 C ⊆ C\subseteq C⊆ ρ ( B ) ( ρ ( B ) \rho(B)(\rho(B) ρ(B)(ρ(B)是 B B B 的幂集)称为 Σ \Sigma Σ的完全情态集(complete set of cases):
- c 0 ∈ C ; c_0\in C; c0∈C;
-
∀
c
∈
C
\forall c\in C
∀c∈C, 若存在
e
1
,
e
2
∈
E
e_1,e_2\in E
e1,e2∈E和
c
1
,
c
2
⊆
B
c_1,c_2\subseteq B
c1,c2⊆B使得
$$c_{1}[{e_{1}>c}&{\text{和}}&{c[{e_{2}>c_{2}}\}\$$
初始情态: c 0 c_0 c0是系统的初始状态,必须包含在完全情态集中。
传递性条件:对于完全情态集中的任意一个情态 c c c,如果存在事件 e 1 e_{1} e1 使得某个情态 c 1 c_{1} c1 可以通过
e 1 e_1 e1发生到 c c c,并且存在事件 e 2 e_2 e2使得 c c c可以通过 e 2 e_2 e2发生到另一个情态 c 2 c_2 c2,那么这些情态 c 1 c_1 c1和 c 2 c_2 c2也必须包含在完全情态集中。
这个定义保证了完全情态集是一个闭合的集合,即对于任何在完全情态集中可以通过某些事件相互转换的情态,它们都包含在这个集合中。这样定义的完全情态集可以用于分析系统的行为和验证系统的性质。
定义 1.13
设
Σ
=
(
B
,
E
;
F
,
c
0
)
\Sigma=(B,E;F,c_0)
Σ=(B,E;F,c0)为一个基本网系统,
C
C
C是$ Σ$ 的完全情态集。若
(
B
,
E
;
F
)
(B,E;F)
(B,E;F)是一个简单网,而且
1 )
∀
b
∈
B
\forall b\in B
∀b∈B ,
∃
c
1
,
c
2
∈
C
\exists c_1, c_2\in C
∃c1,c2∈C , 使得
b
∈
c
1
b\in c_1
b∈c1
但
但
但
b
∉
c
2
b\notin c_2
b∈/c2,
2) ∀ e ∈ E \forall e\in E ∀e∈E, ∃ c 1 , c 2 ∈ C \exists c_1, c_2\in C ∃c1,c2∈C,使得 c 1 [ e > c 2 , c_1[e>c_2, c1[e>c2,
- 基本网系统: Σ = ( B , E , F , c 0 ) \Sigma = (B, E, F, c_0) Σ=(B,E,F,c0) 是一个基本网系统,其中 B B B 是库所的集合, E E E 是变迁的集合, F F F 是流函数, c 0 c_0 c0 是初始情态。
- 完全情态集: C C C 是 Σ \Sigma Σ 的完全情态集,表示所有可能的情态集合。
- 简单网: ( B , E , F ) (B, E, F) (B,E,F) 是一个简单网,意味着每个变迁 e e e 的前置和后置库所集合是唯一确定的。
满足以下两个条件:
库所覆盖性: 对于每个库所 b ∈ B b \in B b∈B,存在两个情态 c 1 , c 2 ∈ C c_1, c_2 \in C c1,c2∈C,使得 b b b 在 c 1 c_1 c1 中出现,但不在 c 2 c_2 c2 中。这意味着每个库所 b b b 在某些情态中是标记的,而在另一些情态中是不标记的。
形式上: ∀ b ∈ B , ∃ c 1 , c 2 ∈ C , 使得 b ∈ c 1 但 b ∉ c 2 \forall b \in B, \exists c_1, c_2 \in C, \text{使得} \ b \in c_1 \ \text{但} \ b \notin c_2 ∀b∈B,∃c1,c2∈C,使得 b∈c1 但 b∈/c2
变迁可达性: 对于每个变迁 e ∈ E e \in E e∈E,存在两个情态 c 1 , c 2 ∈ C c_1, c_2 \in C c1,c2∈C,使得 c 1 c_1 c1 通过变迁 e e e 可以到达 c 2 c_2 c2。这意味着每个变迁 e e e 在某些情态下是可发生的。
形式上: ∀ e ∈ E , ∃ c 1 , c 2 ∈ C , 使得 c 1 [ e ⟩ c 2 \forall e \in E, \exists c_1, c_2 \in C, \text{使得} \ c_1 [e \rangle c_2 ∀e∈E,∃c1,c2∈C,使得 c1[e⟩c2
总结来说,简单位是一个满足特定条件的完全情态集,这些条件确保了每个库所和变迁在情态集中都有适当的表示和转换。这些条件帮助我们理解和分析系统的动态行为和结构性质。
条件事件系统是以一个完全情态集 C ⊆ ρ ( B ) C\subseteq\rho(B) C⊆ρ(B)作为其第四元组成的四元组,而不象基本网系统那样,第四元只是一个情态 c 0 ⊆ B c_0\subseteq B c0⊆B(即 c 0 ∈ ρ ( B ) c_0\in\rho(B) c0∈ρ(B))。这是表现形式上的区别。其实质在于,完全情态集既包含了事件向前发生所产生的新情态,也包含了向后追索得到的各个情态。此外,条件事件系统同一般基本网系统的本质区别还有:在条件事件系统中,每个条件( B B B的元素)都有机会成真,也有机会成假,每个事件( E E E的元素)都有机会发生。
因为条件事件系统是以完全情态集作为第四元,所以都有机会成真。基本网系统第四元是初始情态所以在一些条件下,它并不能完全发生。
例 1.5
图 1.15 给出的是一个基本网系统
Σ
1
=
(
B
,
E
;
F
,
c
0
)
\Sigma_1=(B,E;F,c_0)
Σ1=(B,E;F,c0) ,其中
c
0
=
{
b
1
,
b
2
}
c_0=\{b_1,b_2\}
c0={b1,b2}。从
c
0
c_{0}
c0向前发生各个事件和向后追索得到的完全情态集为
C
=
{
(
b
1
,
b
2
)
,
(
b
1
,
b
4
)
,
(
b
1
,
b
6
)
,
(
b
2
,
b
3
)
,
(
b
2
,
b
5
)
,
(
b
3
,
b
4
)
,
(
b
3
,
b
6
)
,
(
b
4
,
b
5
)
,
(
b
5
,
b
6
)
,
(
b
7
)
}
C=\{\:(b_1,b_2),\:(b_1,b_4),\:(b_1,b_6),\:(b_2,b_3),\:(b_2,b_5),\\(b_{3},b_{4}),\:(b_{3},b_{6}),\:(b_{4},b_{5}),\:(b_{5},b_{6}),\:(b_{7})\:\}
C={(b1,b2),(b1,b4),(b1,b6),(b2,b3),(b2,b5),(b3,b4),(b3,b6),(b4,b5),(b5,b6),(b7)}
考察四元组
Σ
=
(
B
,
E
;
F
,
C
)
\Sigma=(B,E;F,C)
Σ=(B,E;F,C) ,由于每个
b
i
∈
B
b_i\in B
bi∈B,都存在
c
1
,
c
2
∈
C
c_1,c_2\in C
c1,c2∈C,使得
b
i
∈
c
1
b_i\in c_1
bi∈c1,
但
b
i
∉
c
2
b_i\notin c_2
bi∈/c2,且每个
e
j
∈
E
e_j\in E
ej∈E,都存在
c
1
′
,
c
2
′
∈
C
c_1^\prime,c_2^{\prime}\in C
c1′,c2′∈C 使得
c
1
′
[
e
j
>
c
2
′
c_1^{\prime}[e_j>c_2^{\prime}
c1′[ej>c2′。所以,
Σ
\Sigma
Σ 是一个条件事件系统。
并不是从每个基本网系统都可以得到对应的C/E系统。例如,在图1.15 的基本网系统中,若把初始情态集改为
c
0
′
=
{
b
1
}
c_0^{\prime}=\{b_1\}
c0′={b1},那么得到的完全情态集为
C
′
=
{
{
b
1
}
,
{
b
3
}
,
{
b
5
}
}
C^{\prime}=\{\:\{b_{1}\},\:\{b_{3}\},\:\{b_{5}\}\:\}
C′={{b1},{b3},{b5}}
在
Σ
′
=
(
B
,
E
;
F
,
C
′
)
\Sigma^{\prime}=(B,E;F,C^{\prime})
Σ′=(B,E;F,C′)中,条件
b
2
,
b
4
,
b
6
b_2,b_4,b_6
b2,b4,b6和
b
7
b_7
b7没有机会成真,而事件
e
3
,
e
5
,
e
6
e_3,e_5,e_6
e3,e5,e6和
e
7
e_7
e7 没有机会发生。所以
Σ
′
\Sigma^\prime
Σ′不是一个条件事件系统(虽然
Σ
′
=
(
B
,
E
;
F
,
c
0
′
)
\Sigma^\prime=(B,E;F,c_0^{\prime})
Σ′=(B,E;F,c0′)仍不失为一个基本网系统)。