基于合约的Web服务发现与组合
1. 合约的进程代数表示
在这部分内容中,我们将探讨如何将合约表示为进程代数形式,以及相关的定义和命题证明。
- 基本定义
- 进程代数方程集 :一组进程代数方程用 $\theta = {X_i = C_i | 0 \leq i \leq n - 1}$ 表示,其中 $n$ 是方程的数量,$X_i$ 是进程变量,$C_i$ 是合约项(可能包含自由进程变量)。如果方程集中仅 $0 \leq i \leq n - 1$ 的进程变量 $X_i$ 在方程体 $C_j$($0 \leq j \leq n - 1$)中自由出现,则该方程集是封闭的。
- 从合约获取合约项 :给定合约 $T = (S, L, \rightarrow, s_h, s_0)$,按以下步骤获取合约项 $C \in P_{con}$:
- 假设 $S = {s_0, \ldots, s_{n - 1}}$,先从 $T$ 得到有限封闭方程集 $\theta = {X_i = C_i | 0 \leq i \leq n - 1}$。设从 $s_i$ 发出的转移数量为 $m_i$,第 $j$ 个转移的标签为 $\alpha_i^j$,目标状态为 $s_{succ_i^j}$,则 $C_i = \sum_{j \leq m_i} \alpha_i^j.X_{succ_i^j} + {1}$,其中仅当 $s_i \xrightarrow{\surd} s_h$ 时包含 $1$,空和视为 $0$。
- 从封闭方程集 $\theta$ 通过对方程数量进行归纳得到封闭合约项 $C$
超级会员免费看
订阅专栏 解锁全文
3

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



