基于契约的Web服务发现与组合
1. 输出持久性
输出持久性是一个重要的概念。对于一个契约 $C \in P_{con}$,若满足特定条件,则称其具有输出持久性。具体而言,当 $C \stackrel{w}{\longrightarrow} C’$ 且 $C’ \stackrel{a}{\longrightarrow}$ 时,有 $C’ \stackrel{\surd}{\longrightarrow} /$;若 $C’ \stackrel{\alpha}{\longrightarrow} C’‘$ 且 $\alpha \neq a$,则 $C’’ \stackrel{a}{\longrightarrow}$。
这一性质表明,一旦契约决定执行输出,为了成功完成契约的执行,该输出的实际执行是强制性的。在描述服务行为或服务编排的语言(如WS - BPEL)中,此属性通常成立,因为在这些语言中,输出动作不能用作外部选择的保护条件。
在具有并行组合的进程代数中,保证输出持久性的语法特征是,每个输出前缀(如 $a.P$)之前都要有一个内部 $\tau$ 前缀(即总是以 $\tau.a.P$ 的形式出现)。
命题1
设 $C \in P_{con}$ 是一个具有输出持久性的契约,且 $C \stackrel{w}{\longrightarrow} C’ \stackrel{a}{\longrightarrow}$。若 $C’ \stackrel{w’}{\longrightarrow} C’‘$ 且 $C’’ \stackrel{\surd}{\longrightarrow}$,则字符串 $w’$ 必须包含 $a$。
证明采用反
超级会员免费看
订阅专栏 解锁全文
722

被折叠的 条评论
为什么被折叠?



