合同自动冲突检测:理论与实践
1. 道义追踪语义
在合同分析中,我们引入了一种新的有限追踪语义,它包含了道义信息,即追踪的每一步中生效的义务、许可和禁止。这种语义有助于我们检测合同中的冲突,通过查看语义允许的有限追踪,这些追踪可能导致不相容的规范行为,例如在同一时间既要求又禁止执行同一动作。
为了更好地理解这种带有道义信息的有限追踪语义的必要性,我们来看一个简单的例子。假设有一个合同 $C = [a]O(b) ∧ [b]F(b)$,其动作字母表为 ${a, b}$。根据传统的追踪语义,该合同“接受”的追踪集合为 ${\langle a, b, any\rangle | any = (a + b)^{\omega}} ∪ {\langle b, a, any\rangle | any = (a + b)^{\omega}}$。然而,以并发动作 ${a, b}$ 开头的追踪不会被合同接受,因为这会导致合同违反,由于生效的冲突义务和禁止。而且,原追踪语义中没有道义信息,难以捕捉冲突的概念。
为了解决这些问题,我们对追踪语义进行了扩展:
1. 添加道义信息 :明确在任何时刻满足的义务、许可和禁止。
2. 添加许可的追踪语义 :原语义中缺少这部分内容。
3. 允许“接受”某些有限前缀 :以便获取冲突的见证。
对于具有动作字母表 $\Sigma$ 的合同,我们引入其道义字母表 $\Sigma_d$,它由每个动作 $a \in \Sigma$ 的 $Oa$、$Pa$ 和 $Fa$ 组成,用于表示特定时刻生效的规范行为。给定一组并发动作 $\
超级会员免费看
订阅专栏 解锁全文

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



