17、面向DAML的可视化智能合约

面向DAML的可视化智能合约

1. 引言

传统的可视化合约(VC)不支持嵌套操作,也不具备智能合约的特定功能。我们的方法基于可视化合约,为其添加所需功能,从而创建一个具有图变换操作语义的集成DAML模型。具体而言,我们将类图形式化为结构和数据模型(通过属性类型图),将可视化合约形式化为功能模型(通过图变换规则)。

2. 将模板视为类

在DAML中,模板描述了合约的特征,包括所有权、访问权限、属性和操作(称为选择)。合约是从模板创建的事务,类似于从类创建对象。合约是不可变的,若要更新其字段,需创建新版本的合约并归档旧版本。

为了将模板及其访问权限表示为类,我们引入了“参与者(Party)”的概念。参与者可以被声明为签署者(可创建和归档合约)、控制者(具有执行权限)或观察者(具有对合约的读取权限,并能观察其创建和归档)。

在类图中,我们使用特殊类型 Party 来建模参与者。参与者相对于合约的特定角色通过派生属性 /signatory /controller /observers /maintainer 来指定。

合约键类似于数据库表中的主键,用于根据合约的属性识别合约。与特定版本的合约ID不同,合约键在合约的不同版本之间是稳定的。合约键至少包含一个维护者,即拥有该键的合约签署者。

我们以Doodle案例研究为例,它是一个用于安排会议的投票系统。组织者邀请选民对一组选项进行投票,并将他们的偏好记录在投票槽中。每个人对每个选项最多只能投票一次,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值