1.6进程的描述

来源:互联网 发布:红尘男女 网络歌手 编辑:程序博客网 时间:2024/06/06 00:25

进程的描述

对进程而言,能观察到的和进程行为最直接有关的,就是到某一给定时刻为止发生的事件的迹。我们用特殊变量记号tr表示所描述的进程的一个任意迹
X1
自动售货机的主任不想亏本,他就规定送出巧克力的块数不能超过投入的硬币数

NOLOSS=(tr↓choc)≦tr↓coin

同时,顾客也希望自动售货机公平合理,插入多少硬币就能得到多少巧克力
FAIR=((tr↓coin)≦(tr↓choc)+1)

则自动收货级的生产商必须同时满足主任和顾客的需求
VMSPEC=NOLOSS∧FAIR
=(0≦((tr↓coin)-(tr↓choc))≦1)

满足(satisfaction)

设P为满足描述S的产品,我们说P满足S,缩写为

P sat S

共含义是,可观察到的P的行为都由S所刻画了,换句话说,只要S中的变量取的是由观察P得到的值时,S就为真,或更形式地记为 任意tr•tr∈traces(P)=>S

法则

所有产品都满足true,因为true对产品不施加任何限制
L1 P sat true
如果一产品同时满足两种不同的描述,则它也满足它们的合并
L2A 如果P sat S
  而且P sat T
  则有P sat (S∧T)
L2A可推广到无穷个描述的逻辑与,即推广到全称量词。设
S(n)为含变量n的谓词
L2 当P不随n变化时,
  如果任意n•(P sat S(n))
  则 P sat (任意n•S(n))
L3 如果P sat S
  且 S⇨T
  则 P sat T
进程STOP的迹永远是空
L4A STOP sat (tr=< >)
进程(c→P)的迹一开始是空的。每个后续的迹均以c开始,其尾部又是P的一个迹。所以这个尾部一定是由P的任何一个描述所刻画的,即
L4B 如果 P sat S(tr)
  则 (c→P) sat (tr=< >∨(tr0=c∧S(tr’)))
对于双前缀的问题
L4C 如果 P sat S(tr)
  则 (c→d→P) sat (tr≦<c,d>∨(tr0≧<c,d>∧S(tr”)))
二元选择的情况与前缀类似,区别仅在于,迹可以以两个供选择事件中的任意一个开始,而迹的尾部必须由被选中分支的描述来刻画,故有
L4D 如果 P sat S(tr)
  且 Q sat T(tr)
  则(c→P|d→Q) sat (tr=< >V(tr0=c∧S(tr’))V(tr0=dT(tr’)))
以上给出的几条法则都是一般选择法则L4的特例
L4 如果 任意x∈B•(P(x)) sat S(tr,x))
  则 (x:B→P(x)) sat (tr=< >∨(tr0∈B∧S(tr’,tr0)))
X2 证明 VMS sat VMSPEC

原创粉丝点击