CLAN:合同分析与冲突发现工具
1. 引言与背景
在面向服务的架构中,服务常由不同的子服务组成,每个子服务都有自己的合同。服务用户不仅要求单个合同无冲突,还要求合同组合也无冲突,即在动态环境中,合同可能在运行时获取,这使得冲突检测更具挑战性。
传统上,合同被视为系统必须满足的属性。然而,在分析合同冲突时,对合同进行分析和推理至关重要。使用道义逻辑来明确推理合同中的规范信息和异常行为是一种可行的合同分析方法。CL 是一种用于指定道义电子合同的形式语言,其跟踪语义虽可用于运行时监控合同,但缺乏合同中各方的道义信息,不适合用于冲突分析。为解决这一问题,开发了用于 CL 的冲突分析技术,并推出了实现这些技术的工具 CLAN,用于自动分析用 CL 编写的合同。
2. 合同语言 CL
道义逻辑可用于明确推理系统的实际状态和理想状态。CL 基于道义、动态和时态逻辑的组合,能够表示义务、许可和禁止等道义概念以及时态方面。它还能指定因违反义务和禁止而产生的异常行为,分别称为 Contrary-to-Duties(CTDs)和 Contrary-to-Prohibitions(CTPs)。
CL 合同的语法如下:
C := CO|CP |CF |C ∧C|[β]C|⊤|⊥
CO := OC(α)|CO ⊕CO
CP := P(α)|CP ⊕CP
CF := FC(δ)|CF ∨[α]CF
α := 0|1|a|α&α|α · α|α + α
β := 0|1|a|β&β|β · β|β + β|β∗
合同条款 C
超级会员免费看
订阅专栏 解锁全文
2236

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



