[发明专利]一种用于智能合约代码设计生成的EB2S系统及使用方法在审
申请号: | 202111438865.2 | 申请日: | 2021-11-29 |
公开(公告)号: | CN114153435A | 公开(公告)日: | 2022-03-08 |
发明(设计)人: | 胡凯;朱健;李洁 | 申请(专利权)人: | 北京航空航天大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F8/20 |
代理公司: | 暂无信息 | 代理人: | 暂无信息 |
地址: | 100191*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 用于 智能 合约 代码 设计 生成 eb2s 系统 使用方法 | ||
1.一种用于智能合约代码设计生成的EB2S系统,其特征在于,包括:
EB2S插件以及Rodin平台,所述EB2S插件为所述Rodin的插件,所述EB2S插件调用所述Rodin平台提供的API输入一个Event-B模型,获取所述Event-B模型中的元素,所述元素包括集合、常量、公理、变量、事件;然后所述EB2S工具应用转换规则得到对应的Solidity合约文件。
2.根据权利要求1所述的一种用于智能合约代码设计生成的EB2S系统,其特征在于,所述Rodin为基于Eclipse开发的平台,由多个插件组成,多个插件包括编辑器,证明义务生成器,证明器,模型检测工具和定理证明器。
3.根据权利要求1所述的一种用于智能合约代码设计生成的EB2S系统,其特征在于,所述Rodin平台的组件包括:
(1)org.rodinp.core组件,实现所述Rodin平台的数据库功能,用于存储证明义务和证明策略,所述org.rodinp.core组件包含一个静态检查器、证明义务生成器和证明器,EB2S插件通过所述org.rodinp.core组件捕捉待转换的机器和文本中的信息,所述信息包括集合,常量,公理,变量,不变量和事件;
(2)org.eventb.core.ast组件,用于将数学语言编码为抽象语法树的节点,并提供Visitor方式遍历语法树并解析数学表达式、打印数学表达式、构建新的数学表达式、检查数学表达式的类型和检查表达式的之间的相等性;
(3)org.eventb.core组件,所述org.eventb.core组件为org.eventb.core.ast组件提供部分输入,EB2S使用所述org.eventb.core组件解析数学表达式,然后转换到Solidity代码,并且EB2S不会对该组件产生影响。由此在图中使用单向箭头表示两者的关系。EB2S扩展了该Visitor模式,用于遍历抽象语法树,每个语法类型的访问操作都不一样;
(4)序列证明器org.eventb.core.prover,实现一个用于证明序列的库;
(5)Event-B用户界面组件org.eventb.ui,包含一个图形用户界面,允许用户编写Event-B模型并和证明引擎交互。例如,用户可以选择转换第几个机器;该组件和EB2S插件有一个双向的交互:从组件到EB2S插件可以捕捉到用户的输入请求;从EB2S插件到组件可以展示生成的Solidity代码。
4.根据权利要求1所述的一种用于智能合约代码设计生成的EB2S系统,其特征在于,所述EB2S系统生成三个文件,分别是主合约,工具合约和日志文件;主合约和被转换的机器保持语义一致的对应,工具合约包含一些辅助主合约的函数和数据类型;日志文件记录了整个转换过程的步骤和状态以及可能出现的异常情况。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京航空航天大学,未经北京航空航天大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111438865.2/1.html,转载请声明来源钻瓜专利网。