面向DAML的可视化智能合约
1. 引言
传统的可视化合约(VC)不支持嵌套操作,也不具备智能合约的特定功能。我们的方法基于可视化合约,为其添加所需功能,从而创建一个具有图变换操作语义的集成DAML模型。具体而言,我们将类图形式化为结构和数据模型(通过属性类型图),将可视化合约形式化为功能模型(通过图变换规则)。
2. 将模板视为类
在DAML中,模板描述了合约的特征,包括所有权、访问权限、属性和操作(称为选择)。合约是从模板创建的事务,类似于从类创建对象。合约是不可变的,若要更新其字段,需创建新版本的合约并归档旧版本。
为了将模板及其访问权限表示为类,我们引入了“参与者(Party)”的概念。参与者可以被声明为签署者(可创建和归档合约)、控制者(具有执行权限)或观察者(具有对合约的读取权限,并能观察其创建和归档)。
在类图中,我们使用特殊类型 Party 来建模参与者。参与者相对于合约的特定角色通过派生属性 /signatory 、 /controller 、 /observers 和 /maintainer 来指定。
合约键类似于数据库表中的主键,用于根据合约的属性识别合约。与特定版本的合约ID不同,合约键在合约的不同版本之间是稳定的。合约键至少包含一个维护者,即拥有该键的合约签署者。
我们以Doodle案例研究为例,它是一个用于安排会议的投票系统。组织者邀请选民对一组选项进行投票,并将他们的偏好记录在投票槽中。每个人对每个选项最多只能投票一次,
超级会员免费看
订阅专栏 解锁全文
80

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



