CN111427555B - 一种轻量化智能合约框架及合约开发方法 - Google Patents
一种轻量化智能合约框架及合约开发方法 Download PDFInfo
- Publication number
- CN111427555B CN111427555B CN202010236371.5A CN202010236371A CN111427555B CN 111427555 B CN111427555 B CN 111427555B CN 202010236371 A CN202010236371 A CN 202010236371A CN 111427555 B CN111427555 B CN 111427555B
- Authority
- CN
- China
- Prior art keywords
- contract
- intelligent
- contracts
- template
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/31—Programming languages or programming paradigms
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/36—Preventing errors by testing or debugging software
- G06F11/3668—Software testing
- G06F11/3672—Test management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/40—Transformation of program code
- G06F8/41—Compilation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45558—Hypervisor-specific management and integration aspects
- G06F2009/45595—Network integration; Enabling network access in virtual machine instances
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Hardware Design (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种轻量化的智能合约框架及合约开发方法,其中合约框架包括智能合约生成器,用户根据智能合约生成器提示创建工程,选择应用模板,并根据业务逻辑编写合约;智能合约编译器容器组,部署不同编译工具链版本,用于编译合约;区块链测试网络容器组,根据预置的区块链网络模型,建立测试网络拓扑对智能合约进行测试。本发明将开发智能合约的几个阶段有机串联,利用现有体系为基础,集成定制工具,具有开发速度快、使用方便的特点;通过前后端分离,用户仅需要通过浏览器前端进行相关可视化操作,后端自动完成后续步骤,隐藏了不必要的技术细节,降低了用户开发和使用智能合约的门槛。
Description
技术领域
本发明涉及区块链领域,尤其涉及一种轻量化智能合约框架及合约开发方法。
背景技术
从2009年比特币问世至今,区块链已经走过了十个年头,从小众范围内的讨论逐步进入到了大众视野,期间各种概念和技术不断被提出、理解和完善,关于哈希运算,数字签名,共识算法,智能合约等种种技术日益发展,其中,智能合约的发展可谓区块链技术发展的一个里程碑,将区块链从最初单一数字货币应用,发展融入到了金融、政务服务、供应链、游戏等各个领域。
所谓智能合约,即一套以数字形式定义的承诺,包括合约参与方可以在上面执行这些承诺的协议,简单来说,就是一种存储在区块链上,在满足一定条件时,就会由区块链自动执行的计算机程序。它的意义不仅在于将传统的合约电子化,而在于革命性地将传统合约地背书执行由法律替换成了代码,区块链这种去中心化、防篡改的平台,能够确保智能合约一定能够被执行。
当前智能合约部署较多的区块链平台是比特币、以太坊和超级账本,以以太坊为例,用户需要通过solidity语言开发智能合约,然后编译成字节码并发布到区块链平台,在EVM(以太坊虚拟机)上运行。而目前智能合约的发展还处于早期阶段,相关的配套设施并不完善,用户需要学习较多的概念和知识,掌握众多工具才能进行智能合约的开发、部署、测试和运行。
相对于一般的代码编写,目前智能合约代码的编写主要有如下几个不足的地方,第一,复用性差,由于智能合约的还处在发展初期,相应工具链并不完善,对于用户来说,缺少足够的合约库,导致基础逻辑的重复,会显著提高开发和维护成本,后续也难以进行业务整合。第二,新规则和语法的理解较差,智能合约虽然也是基于编程语言实现,但是有其特殊的规则,一般的编程语言语法检测工具等只能普通语法错误,对于区块链本身的概念和逻辑是无法理解的,而这些概念和逻辑才是智能合约编写过程中最重要和容易出错的地方。第三,调试测试流程复杂,智能合约依托于区块链网络,缺少区块链网络,无法独立执行,导致编写的智能合约难以进行快速测试,相对于一般的程序编写,获得反馈的时间太长,导致开发效率低下。
综上,需要设计一种容易开发和集成的的智能合约框架,帮助用户降低智能合约的应用门槛,提升区块链在各领域内的应用效率。
发明内容
本发明的目的在于提供一种轻量化智能合约框架及合约开发方法,解决了在区块链应用过程中智能合约的高效开发,编译和测试的问题。
为实现上述目的,本发明的技术方案如下:
一种轻量化的智能合约框架,包括
智能合约生成器,用户根据智能合约生成器提示创建工程,选择应用模板,并根据业务逻辑编写合约;
智能合约编译器容器组,部署不同编译工具链版本,用于编译合约;
区块链测试网络容器组,根据预置的区块链网络模型,建立测试网络拓扑对智能合约进行测试。
进一步地,所述智能合约生成器为浏览器编辑器,包括模板管理模块、库管理模块、语法检测模块、语义增强模块、逻辑检测模块和智能提示模块;
所述模板管理模块用于提供各种应用模板;
所述语法检测模块,根据编程语言规范工具进行语法检测;
所述语义增强模块用于检测区块链信息;
所述逻辑检测模块用于对合约文件的静态分析;
所述依赖库模块负责根据规则引用工具库中的基础合约,在编译时自动导入,使合约业务模块化;
所述智能提示模块用于结合语法检测模块和语义增强模块在用户编辑时是否实时提示和自动生成。
进一步地,所述模板管理模块包括模板库、智能合约和工具库,所述模板库用于创建模板合约的合约,智能合约完成后发布至区块链网络,工具库为基础功能集合。
进一步地,所述区块链测试网络容器组根据配置自动拉取区块链网络节点容器,并在各区块链网络节点容器之间建立区块链网络。
一种基于轻量化的智能合约框架的开发方法,包括如下步骤:
下载安装框架工具,使用工具命令搭建集成环境;
拉取智能合约生成器,用户在浏览器地址创建工程,选择应用模板进行合约开发;
将完成的智能合约发送至智能合约编译器容器组,智能合约编译器容器组根据设置的配置参数拉取运行所需的编译工具链和特定版本的容器;
智能合约编译成功后生成字节码发送至区块链网络,区块链测试网络容器组,根据预置的区块链网络模型,建立测试网络拓扑对智能合约进行测试。
进一步地,所述智能合约编译器容器组根据配置自动拉取区块链网络节点容器,并在各区块链网络节点容器之间建立区块链网络。
进一步地,根据提示创建工程类型,选择模板工程则生成预定义的模板工程文件夹,选择库工程或合约工程则通过模板库已有的模板创建工程文件夹,不同工程对应不同的部署地址,模板工程发布至模板库,库工程发布至依赖库,合约工程发布至区块链网络。
进一步地,智能合约的编译结果实时发送至浏览器前端,用户根据日志消息查看编译结果。
与现有技术相比,本发明的有益效果如下:
本发明将开发智能合约的几个阶段有机串联,充分利用现有体系工具为基础,集成定制工具,具有开发速度快、使用方便等特点;采用容器技术隔离不同阶段的操作,具有易于组装、便于集成的优点;同时通过前后端分离,用户仅需要通过浏览器前端进行相关可视化操作,后端自动完成后续步骤,隐藏了不必要的技术细节,降低了用户开发和使用智能合约的门槛。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本发明实施例一种轻量化的智能合约框架的结构示意图;
图2是本发明实施例基于合约框架开发方法的流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明的一部分实施例,而不是全部实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都应属于本发明保护的范围。
图1示出了本发明实施例一种轻量化的智能合约框架的结构示意图,包括
智能合约生成器,用户根据智能合约生成器提示创建工程,选择应用模板,并根据业务逻辑编写合约;
智能合约编译器容器组,部署不同编译工具链版本,用于编译合约;
区块链测试网络容器组,根据预置的区块链网络模型,建立测试网络拓扑对智能合约进行测试。
智能合约开发的基本流程包括合约编写、合约编译、合约测试部署三个阶段,框架针对各个阶段进行优化,每个阶段通过容器编排技术自动串联,智能合约编译器容器组和区块链测试网络容器组由一个或多个容器组成,相互隔离。框架负责整个***的集成和搭建,启动该***后,用户只需要通过***对外公开的浏览器地址进行访问即可参与智能合约的开发。
在合约编写阶段,用户根据业务逻辑,使用相应的编程语言编写代码并生成智能合约源文件,智能合约生成器根据用户的需求提示创建相对应的工程,并提供应用模板,提升智能合约的编写体验。
智能合约生成器为文本编辑器,包括模板管理模块、依赖库模块、语法检测模块、语义增强模块、逻辑检测模块和智能提示模块;其中,模板管理模块和依赖库模块主要用于解决合约复用性问题,语法检测模块,语义增强模块和逻辑检测模块主要用于错误监测,提前发现合约漏洞,智能提示模块主要用于体验增强,方便用户使用。
具体的,模板管理模块用于提供各种应用模板,包括语法检测模块,根据编程语言规范工具进行语法检测;语义增强模块用于检测区块链信息;逻辑检测模块用于对合约文件的静态分析;依赖库模块负责根据规则引用工具库中的基础合约,在编译时自动导入,使合约业务模块化;智能提示模块用于结合语法检测模块和语义增强模块在用户编辑时是否实时提示和自动生成。
用户创建工程时,根据智能合约生成器提示引用模板,模板管理模块包括模板、合约和工具库三种类型,模板为用于创建模板合约的合约,编写完成后发布至模板库,合约为常规智能合约,完成后发布至区块链的区块上,工具库为基础功能集合,用于被其他智能合约引用,完成后发布至工具库中。
工程创建后,用户根据业务逻辑编写合约,合约编写过程中,由语法检测模块,语义增强模块,智能提示模块,逻辑错误检测模块和依赖库管理模块进行合约校验。语法检测模块主要依赖现有编程语言规范工具进行语法检测,如数据类型声明是否正确等,语义增强模块是对区块链概念的使用检测,如账户,地址等是否被正确使用,智能提示模块主要结合语法检测模块和语义增强模块在用户编写时进行实时提示和自动生成,逻辑错误检测主要通过合约文件的静态分析,避免出现死循环等逻辑错误,依赖库模块则负责根据规则引用工具库中的基础合约,在编译时自动导入,实现合约业务的模块化。
在合约编译阶段,当用户进行编译时,合约会被自动发送至后端的智能合约编译器容器组,容器中部署了不同的编译工具链的不同版本,避免开发人员手动进行安装配置的繁琐及工具版本之间的切换。
在合约部署测试阶段,区块链测试网络容器组根据配置自动拉取区块链网络节点容器,并在各区块链网络节点容器之间建立区块链网络。
图2示出了根据本发明实施例基于合约框架的智能合约开发方法的流程图,包括如下步骤:
下载安装框架工具,使用docker命令工具和docker-compose工具命令一键启动搭建集成环境,框架则利用容器编排工具依次在后台完成后续操作。
拉取智能合约生成器,用户在浏览器地址创建工程,选择应用模板进行合约开发;
用户在使用浏览器操作时,首先根据提示创建工程类型,选择模板工程则生成预定义的模板工程文件夹,选择库工程或合约工程则通过模板库已有的模板创建工程文件夹,不同工程对应不同的部署地址,模板工程发布至模板库,库工程发布至依赖库,合约工程发布至区块链网络。不同类型的工程创建后,编写过程基本相同,智能合约生成器会根据用户输入提示错误或警告,当出现错误或警告后,用户必须完全消除错误提示才能进行编译,但是不同工程最终部署的地址不一样,模板工程会被发布到模板库仓库中,便于后续新建工程时使用,库工程会被发布到依赖库仓库中,便于编写智能合约时快速复用,合约工程则会被发送到区块链网络中,被其他用户执行调用。
当用户完成智能合约的编写,并且生成器没有提示错误时,用户可以使用编译按钮将智能合约发送到后端的智能合约编译容器组中。智能合约编译器容器组根据设置的配置参数拉取运行所需的编译工具链和特定版本的容器,用于智能合约的编译,编译结果实时传递至浏览器前端,用户根据日志消息查看编辑结果是否正确,由于使用独立容器隔离编译环境,用户可以一次选择多个编译工具或者工具版本,取决于用户使用的智能合约语言和业务需求。
智能合约编译成功后生成字节码发送至区块链网络中,保存在区块链的区块中才能被其他人采纳运行,框架在启动时将根据配置自动拉取区块链网络节点容器,并在节点容器之间建立区块链网络,用户可以在浏览器中点击测试部署按钮将编译后的智能合约发送到后端测试网络地址,部署成功后,用户将可以在浏览器中看到测试网路的拓扑图和合约部署情况。
智能合约的编译结果实时发送至浏览器前端,用户根据日志消息查看编译结果。用户可以通过编写一个测试合约来测试和调试该合约,测试成功后,用户需要将该合约提交给相关业务部门审核后,部署到真实的区块链网络中,该步骤不在本框架的实现范围内。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。
Claims (8)
1.一种生成轻量化的智能合约框架的装置,其特征在于:包括
智能合约生成器,用户根据智能合约生成器提示创建工程,选择应用模板,并根据业务逻辑编写合约;
智能合约编译器容器组,部署不同编译工具链版本,用于编译合约;
区块链测试网络容器组,根据预置的区块链网络模型,建立测试网络拓扑对智能合约进行测试;
其中,所述智能合约生成器为浏览器编辑器,包括依赖库模块、语法检测模块、语义增强模块、逻辑检测模块和智能提示模块;
所述语法检测模块,根据编程语言规范工具进行语法检测;
所述语义增强模块用于检测区块链信息;
所述逻辑检测模块用于对合约文件的静态分析;
所述依赖库模块负责根据规则引用工具库中的基础合约,在编译时自动导入,使合约业务模块化;
所述智能提示模块用于结合语法检测模块和语义增强模块在用户编辑时是否实时提示和自动生成。
2.根据权利要求1所述的生成轻量化的智能合约框架的装置,其特征在于:所述智能合约生成器还包括模板管理模块;所述模板管理模块用于提供各种应用模板。
3.根据权利要求2所述的生成轻量化的智能合约框架的装置,其特征在于:所述模板管理模块包括模板库、智能合约和工具库,所述模板库用于创建模板合约的合约,智能合约完成后发布至区块链网络,工具库为基础功能集合。
4.根据权利要求1所述的生成轻量化的智能合约框架的装置,其特征在于:所述区块链测试网络容器组根据配置自动拉取区块链网络节点容器,并在各区块链网络节点容器之间建立区块链网络。
5.一种合约开发方法,其应用如权利要求1至4任一所述的生成轻量化的智能合约框架的装置,其特征在于,包括如下步骤:
下载安装框架工具,使用工具命令搭建集成环境;
拉取智能合约生成器,用户在浏览器地址创建工程,选择应用模板进行合约开发;
将完成的智能合约发送至智能合约编译器容器组,智能合约编译器容器组根据设置的配置参数拉取运行所需的编译工具链和特定版本的容器;
智能合约编译成功后生成字节码发送至区块链网络,区块链测试网络容器组,根据预置的区块链网络模型,建立测试网络拓扑对智能合约进行测试。
6.根据权利要求5所述的合约开发方法,其特征在于,所述智能合约编译器容器组根据配置自动拉取区块链网络节点容器,并在各区块链网络节点容器之间建立区块链网络。
7.根据权利要求5所述的合约开发方法,其特征在于,用户根据提示创建工程类型,选择模板工程则生成预定义的模板工程文件夹,选择库工程或合约工程则通过模板库已有的模板创建工程文件夹,不同工程对应不同的部署地址,模板工程发布至模板库,库工程发布至依赖库,合约工程发布至区块链网络。
8.根据权利要求7所述的合约开发方法,其特征在于,智能合约的编译结果实时发送至浏览器前端,用户根据日志消息查看编译结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010236371.5A CN111427555B (zh) | 2020-03-30 | 2020-03-30 | 一种轻量化智能合约框架及合约开发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010236371.5A CN111427555B (zh) | 2020-03-30 | 2020-03-30 | 一种轻量化智能合约框架及合约开发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111427555A CN111427555A (zh) | 2020-07-17 |
CN111427555B true CN111427555B (zh) | 2023-08-29 |
Family
ID=71555575
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010236371.5A Active CN111427555B (zh) | 2020-03-30 | 2020-03-30 | 一种轻量化智能合约框架及合约开发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111427555B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112015399A (zh) * | 2020-08-31 | 2020-12-01 | 京东数字科技控股股份有限公司 | 一种生成智能合约的数据处理方法及装置 |
CN111984245A (zh) * | 2020-08-31 | 2020-11-24 | 上海玳鸽信息技术有限公司 | 一种区块链智能合约在线集成开发环境***及实现方法 |
CN112148278A (zh) * | 2020-09-25 | 2020-12-29 | 模视科技(北京)有限公司 | 可视化的区块链智能合约框架及智能合约开发部署方法 |
CN112685016B (zh) * | 2020-12-31 | 2024-07-09 | 北京存金所贵金属有限公司 | 区块链应用的开发方法、装置和设备 |
CN113050929A (zh) * | 2021-04-22 | 2021-06-29 | 橙网(南京)人工智能研究院有限公司 | 一种基于Hyperledger Fabric的智能合约开发运维一体化平台 |
CN113254054B (zh) * | 2021-06-09 | 2024-05-10 | 上海万向区块链股份公司 | 一种智能合约一站式开发***及方法 |
CN113988787B (zh) * | 2021-10-22 | 2022-11-29 | 中国电信股份有限公司 | 网络配置方法及装置、存储介质 |
CN116975850B (zh) * | 2023-09-25 | 2024-01-05 | 腾讯科技(深圳)有限公司 | 合约运行方法、装置、电子设备及存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170590A (zh) * | 2017-12-12 | 2018-06-15 | 北京大学深圳研究生院 | 一种区块链***的测试***和方法 |
CN109542421A (zh) * | 2018-11-12 | 2019-03-29 | 夸克链科技(深圳)有限公司 | 一种模块化区块链智能合约 |
CN109783195A (zh) * | 2019-01-16 | 2019-05-21 | 杭州趣链科技有限公司 | 一种基于容器的智能合约实时调试方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108763058A (zh) * | 2018-04-24 | 2018-11-06 | 苏州同济区块链研究院有限公司 | 一种区块链测评*** |
CN112148278A (zh) * | 2020-09-25 | 2020-12-29 | 模视科技(北京)有限公司 | 可视化的区块链智能合约框架及智能合约开发部署方法 |
-
2020
- 2020-03-30 CN CN202010236371.5A patent/CN111427555B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108170590A (zh) * | 2017-12-12 | 2018-06-15 | 北京大学深圳研究生院 | 一种区块链***的测试***和方法 |
CN109542421A (zh) * | 2018-11-12 | 2019-03-29 | 夸克链科技(深圳)有限公司 | 一种模块化区块链智能合约 |
CN109783195A (zh) * | 2019-01-16 | 2019-05-21 | 杭州趣链科技有限公司 | 一种基于容器的智能合约实时调试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111427555A (zh) | 2020-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111427555B (zh) | 一种轻量化智能合约框架及合约开发方法 | |
CN104407973B (zh) | 一种自动化单元测试的实现方法及装置 | |
CN102063324B (zh) | 一种实现自动化编程的方法及*** | |
US8091071B2 (en) | Method and system for template-based code generation | |
CN112965785B (zh) | 基于容器的微服务应用开发方法及开发平台 | |
CN109324799A (zh) | 一种代码编译方法、计算机装置及计算机可读存储介质 | |
CN105512304A (zh) | 在线生成互联网应用方法和***集成方法及支撑平台 | |
US20030145312A1 (en) | Source code transformation | |
CN110362310A (zh) | 一种基于不完全抽象语法树的代码语法错误修复方法 | |
Varró et al. | Transformation of UML models to CSP: A case study for graph transformation tools | |
Martinez et al. | Recovering sequence diagrams from object-oriented code: An ADM approach | |
CN113312035B (zh) | 一种面向Hyperledger Fabric的智能合约开发插件的实现方法 | |
Zhang et al. | Automated extraction of grammar optimization rule configurations for metamodel-grammar co-evolution | |
Kunert | Semi-automatic generation of metamodels and models from grammars and programs | |
CN115185489B (zh) | 一种时序数据算法组态***和方法 | |
CN102629213A (zh) | 一种c语言仿真模型的剖析及监控方法 | |
CN115344268A (zh) | 一种多平台嵌入式开发环境编译方法及装置 | |
Nie et al. | Roosterize: Suggesting lemma names for Coq verification projects using deep learning | |
US20080127033A1 (en) | Method, System and Computer Storage Medium for Test Tool Development | |
Prinz et al. | How to bootstrap a language workbench | |
Hawa | A Graphical User Interface for the ns-3 Simulator | |
Proença et al. | Caos: A Reusable Scala Web Animator of Operational Semantics (Extended With Hands-On Tutorial) | |
Al Dallal et al. | System testing for object-oriented frameworks using hook technology | |
Bussenot et al. | A domain specific test language for systems integration | |
Wang et al. | Research on Transformation Method of Business Process Simulation Model |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |