CN110837362A - 向导式可视的图形模块化的规则编辑方法、系统及编辑器 - Google Patents
向导式可视的图形模块化的规则编辑方法、系统及编辑器 Download PDFInfo
- Publication number
- CN110837362A CN110837362A CN201911060166.1A CN201911060166A CN110837362A CN 110837362 A CN110837362 A CN 110837362A CN 201911060166 A CN201911060166 A CN 201911060166A CN 110837362 A CN110837362 A CN 110837362A
- Authority
- CN
- China
- Prior art keywords
- language
- modules
- language module
- rule
- module comprises
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 31
- 230000000007 visual effect Effects 0.000 title claims abstract description 28
- 238000013515 script Methods 0.000 claims abstract description 74
- 238000006243 chemical reaction Methods 0.000 claims abstract description 35
- 230000006870 function Effects 0.000 claims description 62
- 230000014509 gene expression Effects 0.000 claims description 26
- 238000012360 testing method Methods 0.000 claims description 13
- 238000007620 mathematical function Methods 0.000 claims description 11
- 238000003491 array Methods 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 10
- 238000010586 diagram Methods 0.000 description 16
- 241000207961 Sesamum Species 0.000 description 4
- 235000003434 Sesamum indicum Nutrition 0.000 description 4
- 238000012423 maintenance Methods 0.000 description 4
- 238000011161 development Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000012858 packaging process Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
- 238000012800 visualization Methods 0.000 description 1
Images
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
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/33—Intelligent editors
-
- 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/34—Graphical or visual programming
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/03—Credit; Loans; Processing thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/08—Insurance
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Stored Programmes (AREA)
Abstract
本发明涉及向导式可视的图形模块化的规则编辑方法,包括以下步骤:根据需要选择图形化语言系统中相应的语言模组中的语言模块,并将选中的语言模块拖曳到编辑区中进行契合,图形化语言系统和编辑区均为预先创建的,且包括多个不同的语言模组,语言模组均包括多个语言模块,每个语言模块均用图形表示,图形用于契合;将契合好的多个语言模块生成规则脚本;将规则脚本转化成XML转化文件;将XML转化文件转化成可执行或可解释的可解释脚本;将可解释脚本用执行器进行测试和/或发布。该方法降低了规则编辑的难度,从而提高规则编辑的效率和正确性,以适应复杂多变的业务场景,实现对业务逻辑灵活扩展和更新。
Description
技术领域
本发明涉及一种规则引擎,尤其是向导式可视的图形模块化的规则编辑方法、系统及编辑器。
背景技术
在各行各业的业务场景中,业务规则变得越来越复杂,灵活多变,尤其是银行,在保险业中,规则插入程序的传统业务规则开发方案不易于维护,已经无法满足高效的系统,因此,为了过降低实现复杂业务逻辑的组件的复杂性,降低应用程序的维护和可扩展性成本,规则引擎应运而生。
规则引擎是一种嵌入在应用程序中的组件,实现了将业务决策从应用程序代码中分离出来,并使用预定义的语义模块编写业务决策。规则引擎实现了将业务流程与业务规则分离,从而使得业务人员可以使用自定义的工具完成规则的编写和更改,将软件开发人员从业务规则的维护中抽身出来,显著减少了维护成本。但对于其中的预定义语义模块,目前还没有关于规则语言的推荐标准,一个规则公理由一个前提(规则体)和一个结论(规则头)组成,前提和结论都是原子公式的有限集合。由于没有推荐标准,每种规则引擎支持的规则文件格式也不尽相同,导致每种规则引擎创建规则的方式都不同。
为了实现业务流程与业务规则的分离,使复杂多变的业务规则更简单的定义,需要一种对业务人员(不懂编程)更友好规则语言和方法。目前市场上通用的规则引擎,如Drools、VisualRules、iLog、URule等,都有各自的规则编辑方法。例如Drools是一款基于Java的规则引擎,一般以Eclipse插件的形式使用。Drools规则语言是drools脚本——类似Java编程语言的专用规则语言,它没有专门的规则编辑器,是在文本编辑软件或集成开发环境中编写规则,如图1所示;而使用VisualRules则需要安装VisualRules桌面商业规则编辑工具软件,如图2所示,然后在该软件中采用向导式和文本加对话框的形式进行规则编辑,它的规则语言是基于自然语言的规范化的有一定固定格式的脚本;iLog拥有自己的桌面可视化编辑器,如图3所示,其规则语言是专用的脚本式编程语言;URule提供了网页版规则编辑器,如图4所示,它采用向导式和文本加下拉菜单的形式进行规则编辑,它的规则语言是基于自然语言的规范化的有一定固定格式的脚本。
如上所述,现有的规则引擎产品的规则编辑有两种模式:
1、规则语言采用类似复杂编程语言的专用脚本编程语言,采用文本编辑的形式编写规则。比如Drools和iLog。
2、规则语言是基于自然语言的规范化的有一定固定格式的脚本,采用向导式和文本加下拉菜单(或对话框)的形式进行规则编辑。比如VisualRules,URule。
第一种模式对于没有编程经验的业务人员来说,为了编写业务规则需要学习一种编程语言,难度太大,成本太高,而且容易出错。第二种模式相对第一种模式对业务人员友好一些,但是编辑规则仍然需要很复杂的操作,同时在编辑规则前需要添加规则变量库、动作库等,业务人员需要进行很多复杂的鼠标点击和键盘输入操作,甚至有些需要专业的开发人员才能配置,还是要求业务人员有一定的编程知识。
以URule为例,假如需要编辑一条规则(如果年龄>30并且芝麻分>700,那么授权贷款额度=100000),则需要进行如下操作:
将年龄、芝麻分、贷款额度三个变量加入到变量库;
然后创建决策集添加规则,需要一次鼠标点击。
然后在“如果”条件中选择“添加条件”,要两到三次鼠标点击:
然后选择“变量”和“操作符”,并添加条件“年龄>30并且芝麻分>700”,需要4次鼠标点击和两次文本输入;
然后在满足条件后面添加动作,即“贷款额度=100000”,需要两到三次鼠标点击和一次文本输入;
从上述操作描述中可以发现,添加一条简单的规则需要在页面中进行很多鼠标点击和文本输入动作,还要从若干运算符和操作选项中做选择,一旦规则条件复杂或者嵌套层次较多,在页面中操作将变得困难;而且后期维护过程中需要修改嵌套的规则将变得更加困难。
发明内容
为解决上述问题,本发明提供一种降低规则编辑的难度,从而提高规则编辑的效率和正确性,以适应复杂多变的业务场景,实现对业务逻辑灵活扩展和更新的向导式可视的图形模块化的规则编辑方法,具体技术方案为:
向导式可视的图形模块化的规则编辑方法,包括以下步骤:
根据需要选择图形化语言系统中相应的语言模组中的语言模块,并将选中的语言模块拖曳到编辑区中进行契合,所述图形化语言系统和编辑区均为预先创建的,所述图形化语言系统包括多个不同的语言模组,所述语言模组均包括多个语言模块,每个语言模块均用图形表示,所述图形用于契合;生成规则脚本,将契合好的多个语言模块生成规则脚本;脚本转化,将规则脚本转化成XML转化文件;文件转化,将XML转化文件转化成可执行或可解释的可解释脚本;执行脚本,将可解释脚本用执行器进行测试和/或发布。
进一步的,所述图形化语言系统包括逻辑语言模组,所述逻辑语言模组包括多个逻辑语言模块,每个逻辑语言模块均设有逻辑语句表达式;循环语言模组,所述循环语言模组包括多个循环语言模块,每个循环语言模块均设有循环模式;数学语言模组,所述数学语言模组包括多个数学语言模块,每个数学语言模块均设有数字和/或数字表达式和/或常用数学函数;文本语言模组,所述文本语言模组包括多个文本语言模块,每个文本语言模块均设有文本和/或文本处理函数;列表语言模组,所述列表语言模组包括多个列表语言模块,所述列表语言模块用于对集合和/或数组的操作;工具语言模组,所述工具语言模组包括多个工具语言模块,所述工具语言模块用于获取数据和/或信息;使用变量语言模组,所述使用变量语言模组包括多个使用变量语言模块,所述使用变量语言模块用于显示规则中真实用到的全局变量和临时变量;变量语言模组,所述变量语言模组包括多个变量语言模块,所述变量语言模块用于添加规则变量;函数语言模组,所述函数语言模组包括多个函数语言模块,所述函数语言模块用于自定义函数。
进一步的,所述语言模块在契合时只有符合语法规则的语言模块才能契合在一起。
进一步的,所述语言模块在契合时符合语法规则的语言模块契合时自动吸在一起。
本发明的另一个目的:向导式可视的图形模块化的规则编辑系统,包括图形化语言系统,所述图形化语言系统包括多个不同的语言模组,每个语言模组的功能均不同,每个语言模组均包括多个语言模块,所述语言模块均用图形表示,所述图形用于契合;图形化编辑系统,所述图形化编辑系统用于拖拽到图形化编辑系统中的语言模块的契合;脚本生成系统,所述脚本生成系统用于将图形化编辑系统中契合好的多个语言模块生成规则脚本;脚本转化系统,所述脚本转化系统用于将规则脚本转化成XML转化文件;文件转化系统,所述文件转化系统用于将XML转化文件转化成可执行或可解释的可解释脚本;执行系统,所述执行系统用于对可解释脚本进行测试和/或发布。
进一步的,所述图形化语言系统包括逻辑语言模组,所述逻辑语言模组包括多个逻辑语言模块,每个逻辑语言模块均设有逻辑语句表达式;循环语言模组,所述循环语言模组包括多个循环语言模块,每个循环语言模块均设有循环模式;数学语言模组,所述数学语言模组包括多个数学语言模块,每个数学语言模块均设有数字和/或数字表达式和/或常用数学函数;文本语言模组,所述文本语言模组包括多个文本语言模块,每个文本语言模块均设有文本和/或文本处理函数;列表语言模组,所述列表语言模组包括多个列表语言模块,所述列表语言模块用于对集合和/或数组的操作;工具语言模组,所述工具语言模组包括多个工具语言模块,所述工具语言模块用于获取数据和/或信息;使用变量语言模组,所述使用变量语言模组包括多个使用变量语言模块,所述使用变量语言模块用于显示规则中真实用到的全局变量和临时变量;变量语言模组,所述变量语言模组包括多个变量语言模块,所述变量语言模块用于添加规则变量;函数语言模组,所述函数语言模组包括多个函数语言模块,所述函数语言模块用于自定义函数。
本发明的另一个目的:向导式可视的图形模块化的规则编辑器,包括语言模块选择区和编辑区,所述语言模块选择区位于编辑区的任意一侧,所述一侧包括上侧、下侧、左侧或右侧中的一种;所述语言模块选择区包括多个不同功能的语言模组,所述语言模组均包括多个语言模块,每个语言模块均用图形表示,所述图形用于契合;所述编辑区用于拖拽到编辑区中的语言模块的契合,并将契合好的多个语言模块生成规则脚本,然后将规则脚本转化成XML转化文件,再将XML转化文件转化成可执行或可解释的可解释脚本,并通过编辑区中的执行器对可解释脚本进行测试和/或发布。
进一步的,所述语言模块选择区包括逻辑语言模组,所述逻辑语言模组包括多个逻辑语言模块,每个逻辑语言模块均设有逻辑语句表达式;循环语言模组,所述循环语言模组包括多个循环语言模块,每个循环语言模块均设有循环模式;数学语言模组,所述数学语言模组包括多个数学语言模块,每个数学语言模块均设有数字和/或数字表达式和/或常用数学函数;文本语言模组,所述文本语言模组包括多个文本语言模块,每个文本语言模块均设有文本和/或文本处理函数;列表语言模组,所述列表语言模组包括多个列表语言模块,所述列表语言模块用于对集合和/或数组的操作;工具语言模组,所述工具语言模组包括多个工具语言模块,所述工具语言模块用于获取数据和/或信息;使用变量语言模组,所述使用变量语言模组包括多个使用变量语言模块,所述使用变量语言模块用于显示规则中真实用到的全局变量和临时变量;变量语言模组,所述变量语言模组包括多个变量语言模块,所述变量语言模块用于添加规则变量;函数语言模组,所述函数语言模组包括多个函数语言模块,所述函数语言模块用于自定义函数。
向导式可视的图形模块化的规则编辑装置,包括处理器、存储器以及程序;所述程序存储在所述存储器中,所述处理器调用存储器存储的程序,以执行所述的向导式可视的图形模块化的规则编辑方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质被配置成存储程序,所述程序被配置成执行所述的向导式可视的图形模块化的规则编辑方法的步骤。
与现有技术相比本发明具有以下有益效果:
1、本发明采用直观易懂的模块化规则语言,用图形代替字符作为编写规则语言,更直观易懂。
2、本发明中为了更快捷有效的编辑规则,采用向导式的基于拖拽操作的规则编辑模式,只需要简单的拖拽操作就可以编辑复杂的规则,开发效率和准确性更高。
3、本发明提供了丰富的规则语言模块,覆盖了常用的规则编辑需要的操作符、逻辑控制、流程控制、函数定义等编程语言要素。
4、本发明涵盖了模块化图形规则语言到执行器可解释的规则脚本的转化流程,使得对人友好图形化的规则脚本能被计算机执行。
5、在编辑完规则后,不需要像其他规则引擎一样需要将编辑好的规则打包,然后放到其他页面进行测试/发布;在本发明中,保存完规则后可以直接在同一个页面中完成测试/发布操作,无需额外的打包流程。
附图说明
图1是现有技术的Drools规则引擎编辑器示意图;
图2是现有技术的VisualRules规则引擎编辑器示意图;
图3是现有技术的iLog规则引擎编辑器示意图;
图4是现有技术的URule规则引擎编辑器示意图;
图5是向导式可视图形模块化规则编辑器的功能模块图;
图6是向导式可视图形模块化规则编辑器的示意图;
图7是多个语言模块间的拼接契合示例的解释,以及对应的XML中间文件和执行器可执行或可解释的可解释脚本;
图8是逻辑语言模组的示意图;
图9是循环语言模组的示意图;
图10是数学语言模组的示意图;
图11是文本语言模组的示意图;
图12是列表语言模组的示意图;
图13是工具语言模组的示意图;
图14是变量语言模组的示意图;
图15是函数语言模组的示意图;
图16是使用变量语言模组的示意图;
图17是实施例一编辑过程的示意图。
具体实施方式
现结合附图对本发明作进一步说明。
如图5至图16所示,向导式可视的图形模块化的规则编辑方法,包括以下步骤:根据需要选择图形化语言系统中相应的语言模组中的语言模块,并将选中的语言模块拖曳到编辑区中进行契合,所述图形化语言系统和编辑区均为预先创建的,所述图形化语言系统包括多个不同的语言模组,所述语言模组均包括多个语言模块,每个语言模块均用图形表示,所述图形用于契合;生成规则脚本,将契合好的多个语言模块生成规则脚本;脚本转化,将规则脚本转化成XML转化文件;文件转化,将XML转化文件转化成可执行或可解释的可解释脚本;执行脚本,将可解释脚本用执行器进行测试和/或发布。
图形化语言系统包括逻辑语言模组,所述逻辑语言模组包括多个逻辑语言模块,每个逻辑语言模块均设有逻辑语句表达式;循环语言模组,所述循环语言模组包括多个循环语言模块,每个循环语言模块均设有循环模式;数学语言模组,所述数学语言模组包括多个数学语言模块,每个数学语言模块均设有数字和/或数字表达式和/或常用数学函数;文本语言模组,所述文本语言模组包括多个文本语言模块,每个文本语言模块均设有文本和/或文本处理函数;列表语言模组,所述列表语言模组包括多个列表语言模块,所述列表语言模块用于对集合和/或数组的操作;工具语言模组,所述工具语言模组包括多个工具语言模块,所述工具语言模块用于获取数据和/或信息;使用变量语言模组,所述使用变量语言模组包括多个使用变量语言模块,所述使用变量语言模块用于显示规则中真实用到的全局变量和临时变量;变量语言模组,所述变量语言模组包括多个变量语言模块,所述变量语言模块用于添加规则变量;函数语言模组,所述函数语言模组包括多个函数语言模块,所述函数语言模块用于自定义函数。
语言模块在契合时只有符合语法规则的语言模块才能契合在一起。
语言模块在契合时符合语法规则的语言模块契合时自动吸在一起。
本发明的另一个目的:向导式可视的图形模块化的规则编辑系统,包括图形化语言系统,所述图形化语言系统包括多个不同的语言模组,每个语言模组的功能均不同,每个语言模组均包括多个语言模块,所述语言模块均用图形表示,所述图形用于契合;图形化编辑系统,所述图形化编辑系统用于拖拽到图形化编辑系统中的语言模块的契合;脚本生成系统,所述脚本生成系统用于将图形化编辑系统中契合好的多个语言模块生成规则脚本;脚本转化系统,所述脚本转化系统用于将规则脚本转化成XML转化文件;文件转化系统,所述文件转化系统用于将XML转化文件转化成可执行或可解释的可解释脚本;执行系统,所述执行系统用于对可解释脚本进行测试和/或发布。
图形化语言系统包括逻辑语言模组,所述逻辑语言模组包括多个逻辑语言模块,每个逻辑语言模块均设有逻辑语句表达式;循环语言模组,所述循环语言模组包括多个循环语言模块,每个循环语言模块均设有循环模式;数学语言模组,所述数学语言模组包括多个数学语言模块,每个数学语言模块均设有数字和/或数字表达式和/或常用数学函数;文本语言模组,所述文本语言模组包括多个文本语言模块,每个文本语言模块均设有文本和/或文本处理函数;列表语言模组,所述列表语言模组包括多个列表语言模块,所述列表语言模块用于对集合和/或数组的操作;工具语言模组,所述工具语言模组包括多个工具语言模块,所述工具语言模块用于获取数据和/或信息;使用变量语言模组,所述使用变量语言模组包括多个使用变量语言模块,所述使用变量语言模块用于显示规则中真实用到的全局变量和临时变量;变量语言模组,所述变量语言模组包括多个变量语言模块,所述变量语言模块用于添加规则变量;函数语言模组,所述函数语言模组包括多个函数语言模块,所述函数语言模块用于自定义函数。
本发明的另一个目的:向导式可视的图形模块化的规则编辑器,包括语言模块选择区和编辑区,所述语言模块选择区位于编辑区的任意一侧,所述一侧包括上侧、下侧、左侧或右侧中的一种;所述语言模块选择区包括多个不同功能的语言模组,所述语言模组均包括多个语言模块,每个语言模块均用图形表示,所述图形用于契合;所述编辑区用于拖拽到编辑区中的语言模块的契合,并将契合好的多个语言模块生成规则脚本,然后将规则脚本转化成XML转化文件,再将XML转化文件转化成可执行或可解释的可解释脚本,并通过编辑区中的执行器对可解释脚本进行测试和/或发布。
语言模块选择区包括逻辑语言模组,所述逻辑语言模组包括多个逻辑语言模块,每个逻辑语言模块均设有逻辑语句表达式;循环语言模组,所述循环语言模组包括多个循环语言模块,每个循环语言模块均设有循环模式;数学语言模组,所述数学语言模组包括多个数学语言模块,每个数学语言模块均设有数字和/或数字表达式和/或常用数学函数;文本语言模组,所述文本语言模组包括多个文本语言模块,每个文本语言模块均设有文本和/或文本处理函数;列表语言模组,所述列表语言模组包括多个列表语言模块,所述列表语言模块用于对集合和/或数组的操作;工具语言模组,所述工具语言模组包括多个工具语言模块,所述工具语言模块用于获取数据和/或信息;使用变量语言模组,所述使用变量语言模组包括多个使用变量语言模块,所述使用变量语言模块用于显示规则中真实用到的全局变量和临时变量;变量语言模组,所述变量语言模组包括多个变量语言模块,所述变量语言模块用于添加规则变量;函数语言模组,所述函数语言模组包括多个函数语言模块,所述函数语言模块用于自定义函数。
向导式可视的图形模块化的规则编辑装置,包括处理器、存储器以及程序;所述程序存储在所述存储器中,所述处理器调用存储器存储的程序,以执行所述的向导式可视的图形模块化的规则编辑方法的步骤。
一种计算机可读存储介质,所述计算机可读存储介质被配置成存储程序,所述程序被配置成执行所述的向导式可视的图形模块化的规则编辑方法的步骤。
向导式可视的图形模块化的规则编辑器的编辑界面100包括语言模块选择区200和编辑区202。语言模块按照不同的类型放在不同的语言模组中,并且位于语言模块选择区200。
在语言模块选择区200展示的语言模块对应语言系统102中的语言模块定义:语法含义、图形展示性质、类型。
业务人员主要通过鼠标104拖拽的形式编辑:在语言模块选择区200选择相应的语言模块,然后通过鼠标104拖曳到编辑区202,语言模块与语言模块之间的逻辑以及执行流程均通过语言模块的形状去契合,语言模块与语言模块的契合有类似中国古代木工的卯榫结构,只有符合语法规则的语言模块才能契合在一起,而且编辑器会把契合的语言模块自动吸在一起,从而保证了规则编辑的正确性,同时也起高了编辑的效率。
如图7所示,“if…elseif…”210的逻辑语言模块中“如果(if)”表达式有个凹形槽,只有形如逻辑运算表达式212的逻辑语言模块才能与之契合;类似的变量214的变量语言模块和数学函数表达式216的数学语言模块才能与逻辑运算表达式212的逻辑语言模块中的凸形槽契合,并且在契合的过程中会判断变量和函数返回类型是否符合语法要求,如果不符合则不会契合;还有“if…elseif…”220的逻辑语言模块中的“执行(then)”表达式有个圆弧状的槽,只有形如“循环执行”218的循环语言模块才能与之契合。
上述的语句和表达式拼装契合后的效果如220所示。
业务人员按照业务规则通过鼠标104拖拽的形式将语言模块拼装契合在一起,形成规则脚本108。规则脚本108不能直接被执行器114执行,它必须通过脚本的转化流程106转化成执行器114可解释或可执行的可解释脚本112。XML转化文件110为规则脚本108到可解释脚本112的中间形式,它既能被编辑界面解释为图形化的规则脚本108,又能被转化流程106识别并转化成执行器114可解释或可执行的可解释脚本112。如图7中的规则脚本实例220对应实例XML脚本222,从而对应执行器114可执行或可解释的实例可解释脚本224。
图形化语言系统102中包括各种类别的语言模块,各类类别的语言模块以组的形式组织在一起形成语言模组。语言模块均为规则语言模块。
如图8所示,逻辑语言模组中包含了多个具有规则中常用的逻辑语句表达式的逻辑语言模块,比如:规则中最常用的if...else...语句:
如果:条件
那么:执行动作
否则如果:条件
那么:执行动作
……
只需要将if...else...逻辑语言模块400(如果……那么……)拖进编辑区202即可实现上述操作。
逻辑语言模组还包括条件异或的逻辑语言模块402、判断是否相等的逻辑语言模块404,条件的非运算的逻辑语言模块406、条件置空运算的逻辑语言模块408、判断条件的真假的逻辑语言模块410等。
如图9所示,循环语言模组中主要包含了常用的循环操作,比如:重复执行每个动作XX次的循环语言模块500、当满足某个条件时重复执行动作的循环语言模块502、能遍历集合或数组进行操作的循环语言模块504等。
如图10所示,数学语言模组主要是针对不同的数字进行的操作,包括多个数学语言模块,每个数学语言模块均设有数字和/或数字表达式和/或常用数学函数,比如:两个数的加减乘除的数学语言模块600、平方根操作的数学语言模块602、取值操作的数学语言模块604、判断奇偶的数学语言模块606、取余数的数学语言模块608、生成随机数的数学语言模块610、四舍五入操作的数学语言模块612等。
如图11所示,文本语言模组主要包含对文本的各种操作。文本语言模组包括多个文本语言模块,每个文本语言模块均设有文本和/或文本处理函数;比如:输入文本的文本语言模块700、判断文本的长度的文本语言模块702、匹配文本中指定项的起始/终止位置的文本语言模块704、文本大小写转换的文本语言模块706、文本中指定项的替换的文本语言模块708、翻转文本操作的文本语言模块710等。
如图12所示,列表语言模组主要针对集合/数组的一系列操作。列表语言模组包括多个列表语言模块,所述列表语言模块用于对集合和/或数组的操作;比如:创建空列表的列表语言模块800、获取列表长度的列表语言模块802、判断列表是否为空的列表语言模块804、返回列表中指定项的索引值的列表语言模块806、设置列表中指定位置的值的列表语言模块808等。
如图13所示,工具语言模组包含了规则中常用的工具操作。工具语言模组包括多个工具语言模块,所述工具语言模块用于获取数据和/或信息;比如:通过身份证获取性别/年龄的工具语言模块900、通过字符串获取指定格式的日期的工具语言模块902、求两个日期之间的时间间隔的工具语言模块904等。
如图14所示,变量语言模组中展示的是添加到该规则中的变量,变量语言模组包括多个变量语言模块,所述变量语言模块用于添加规则变量;可以在变量块中对变量进行赋值操作的变量语言模块1000;而且还可以手动添加规则变量,比如一些中间变量既不是输入变量,也不是输出变量,就可以使用手动添加规则变量。
如图15所示,函数语言模组包括多个函数语言模块,所述函数语言模块用于自定义函数。比如:创建一个不带输出的函数语言模块1100、创建一个有输出的函数语言模块1102、如果为真则返回第二个值的函数语言模块1104等。
如图16所示,使用变量语言模组,所述使用变量语言模组包括多个使用变量语言模块,所述使用变量语言模块用于显示规则中真实用到的全局变量和临时变量。
上述的每一个语言模块都是规则操作的原子块,可以通过拖拽语言模块的方式将多个语言模块合成规则。
该方法使用户能直接在向导式可视的图形模块化的规则编辑器对图形化的语言模块进行简单的拖拽操作从而实现规则的编辑,而不需要进行复杂的配置和页面按钮操作,测试和发布规则都在同一页面中完成,不需要额外的打包测试、发布。总而言之,本发明采用的向导式可视的图形模块化的规则编辑方法降低了规则编辑的难度,从而提高规则编辑的效率和正确性,以适应复杂多变的业务场景,实现对业务逻辑灵活扩展和更新
实施例一
编辑规则:如果年龄>30并且芝麻分>700,那么授权贷款额度=100000:
步骤如图17所示:
S1、通过鼠标在向导式可视的图形模块化的规则编辑器的语言模块选择区点选“逻辑”,即选择“逻辑语言模组”,然后用鼠标将逻辑语言模组中的“如果……执行……”(条件判断)的逻辑语言模块拖曳到向导式可视的图形模块化的规则编辑器的编辑区;
S2、用鼠标将逻辑语言模组中的“与或”的数学语言模块拖曳到S1中的“如果……执行……”的逻辑语言模块的“如果”(条件)的凹槽中;
S3、用鼠标从数学语言模组中将“比较运算操作符”(>)的数学语言模块拖拽到S2中的“与或”的逻辑语言模块的适当的位置;
S4、用鼠标从数学语言模组中将“赋值”的数学语言模块拖拽到S1中“如果……执行……”的逻辑语言模块的“执行”凹槽中;
S5、根据要求编辑规则。
用鼠标拖拽条件逻辑语言模块1201靠近“如果……执行……”的“如果(条件)”凹槽1202,如果语法正确,条件逻辑语言模块1201边框变黄1203,并出现灰色示意框图1204,此时松开鼠标,条件语言模块1201的凸起会自动嵌入“如果(条件)”的凹槽1202中,条件语言模块1201自动就位形成完整的编辑规则1205。
整个编辑过程先通过鼠标直观的进行拖拽和点击动作,然后进行文本编辑,操作简单、编程容易理解、并且能保证语法正确。
Claims (10)
1.向导式可视的图形模块化的规则编辑方法,其特征在于,包括以下步骤:
根据需要选择图形化语言系统中相应的语言模组中的语言模块,并将选中的语言模块拖曳到编辑区中进行契合,所述图形化语言系统和编辑区均为预先创建的,所述图形化语言系统包括多个不同的语言模组,所述语言模组均包括多个语言模块,每个语言模块均用图形表示,所述图形用于契合;
生成规则脚本,将契合好的多个语言模块生成规则脚本;
脚本转化,将规则脚本转化成XML转化文件;
文件转化,将XML转化文件转化成可执行或可解释的可解释脚本;
执行脚本,将可解释脚本用执行器进行测试和/或发布。
2.根据权利要求1所述的向导式可视的图形模块化的规则编辑方法,其特征在于,所述图形化语言系统包括
逻辑语言模组,所述逻辑语言模组包括多个逻辑语言模块,每个逻辑语言模块均设有逻辑语句表达式;
循环语言模组,所述循环语言模组包括多个循环语言模块,每个循环语言模块均设有循环模式;
数学语言模组,所述数学语言模组包括多个数学语言模块,每个数学语言模块均设有数字和/或数字表达式和/或常用数学函数;
文本语言模组,所述文本语言模组包括多个文本语言模块,每个文本语言模块均设有文本和/或文本处理函数;
列表语言模组,所述列表语言模组包括多个列表语言模块,所述列表语言模块用于对集合和/或数组的操作;
工具语言模组,所述工具语言模组包括多个工具语言模块,所述工具语言模块用于获取数据和/或信息;
使用变量语言模组,所述使用变量语言模组包括多个使用变量语言模块,所述使用变量语言模块用于显示规则中真实用到的全局变量和临时变量;
变量语言模组,所述变量语言模组包括多个变量语言模块,所述变量语言模块用于添加规则变量;
函数语言模组,所述函数语言模组包括多个函数语言模块,所述函数语言模块用于自定义函数。
3.根据权利要求1所述的向导式可视的图形模块化的规则编辑方法,其特征在于,所述语言模块在契合时只有符合语法规则的语言模块才能契合在一起。
4.根据权利要求3所述的向导式可视的图形模块化的规则编辑方法,其特征在于,所述语言模块在契合时符合语法规则的语言模块契合时自动吸在一起。
5.向导式可视的图形模块化的规则编辑系统,其特征在于,包括
图形化语言系统,所述图形化语言系统包括多个不同的语言模组,每个语言模组的功能均不同,每个语言模组均包括多个语言模块,所述语言模块均用图形表示,所述图形用于契合;
图形化编辑系统,所述图形化编辑系统用于拖拽到图形化编辑系统中的语言模块的契合;
脚本生成系统,所述脚本生成系统用于将图形化编辑系统中契合好的多个语言模块生成规则脚本;
脚本转化系统,所述脚本转化系统用于将规则脚本转化成XML转化文件;
文件转化系统,所述文件转化系统用于将XML转化文件转化成可执行或可解释的可解释脚本;
执行系统,所述执行系统用于对可解释脚本进行测试和/或发布。
6.根据权利要求5所述的向导式可视的图形模块化的规则编辑系统,其特征在于,所述图形化语言系统包括
逻辑语言模组,所述逻辑语言模组包括多个逻辑语言模块,每个逻辑语言模块均设有逻辑语句表达式;
循环语言模组,所述循环语言模组包括多个循环语言模块,每个循环语言模块均设有循环模式;
数学语言模组,所述数学语言模组包括多个数学语言模块,每个数学语言模块均设有数字和/或数字表达式和/或常用数学函数;
文本语言模组,所述文本语言模组包括多个文本语言模块,每个文本语言模块均设有文本和/或文本处理函数;
列表语言模组,所述列表语言模组包括多个列表语言模块,所述列表语言模块用于对集合和/或数组的操作;
工具语言模组,所述工具语言模组包括多个工具语言模块,所述工具语言模块用于获取数据和/或信息;
使用变量语言模组,所述使用变量语言模组包括多个使用变量语言模块,所述使用变量语言模块用于显示规则中真实用到的全局变量和临时变量;
变量语言模组,所述变量语言模组包括多个变量语言模块,所述变量语言模块用于添加规则变量;
函数语言模组,所述函数语言模组包括多个函数语言模块,所述函数语言模块用于自定义函数。
7.向导式可视的图形模块化的规则编辑器,其特征在于,
包括语言模块选择区和编辑区,所述语言模块选择区位于编辑区的任意一侧,所述一侧包括上侧、下侧、左侧或右侧中的一种;
所述语言模块选择区包括多个不同功能的语言模组,所述语言模组均包括多个语言模块,每个语言模块均用图形表示,所述图形用于契合;
所述编辑区用于拖拽到编辑区中的语言模块的契合,并将契合好的多个语言模块生成规则脚本,然后将规则脚本转化成XML转化文件,再将XML转化文件转化成可执行或可解释的可解释脚本,并通过编辑区中的执行器对可解释脚本进行测试和/或发布。
8.根据权利要求7所述的向导式可视的图形模块化的规则编辑器,其特征在于,所述语言模块选择区包括
逻辑语言模组,所述逻辑语言模组包括多个逻辑语言模块,每个逻辑语言模块均设有逻辑语句表达式;
循环语言模组,所述循环语言模组包括多个循环语言模块,每个循环语言模块均设有循环模式;
数学语言模组,所述数学语言模组包括多个数学语言模块,每个数学语言模块均设有数字和/或数字表达式和/或常用数学函数;
文本语言模组,所述文本语言模组包括多个文本语言模块,每个文本语言模块均设有文本和/或文本处理函数;
列表语言模组,所述列表语言模组包括多个列表语言模块,所述列表语言模块用于对集合和/或数组的操作;
工具语言模组,所述工具语言模组包括多个工具语言模块,所述工具语言模块用于获取数据和/或信息;
使用变量语言模组,所述使用变量语言模组包括多个使用变量语言模块,所述使用变量语言模块用于显示规则中真实用到的全局变量和临时变量;
变量语言模组,所述变量语言模组包括多个变量语言模块,所述变量语言模块用于添加规则变量;
函数语言模组,所述函数语言模组包括多个函数语言模块,所述函数语言模块用于自定义函数。
9.向导式可视的图形模块化的规则编辑装置,其特征在于,包括
处理器、存储器以及程序;
所述程序存储在所述存储器中,所述处理器调用存储器存储的程序,以执行权利要求1所述的向导式可视的图形模块化的规则编辑方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质被配置成存储程序,所述程序被配置成执行权利要求1所述的向导式可视的图形模块化的规则编辑方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911060166.1A CN110837362A (zh) | 2019-11-01 | 2019-11-01 | 向导式可视的图形模块化的规则编辑方法、系统及编辑器 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201911060166.1A CN110837362A (zh) | 2019-11-01 | 2019-11-01 | 向导式可视的图形模块化的规则编辑方法、系统及编辑器 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN110837362A true CN110837362A (zh) | 2020-02-25 |
Family
ID=69575869
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201911060166.1A Pending CN110837362A (zh) | 2019-11-01 | 2019-11-01 | 向导式可视的图形模块化的规则编辑方法、系统及编辑器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110837362A (zh) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708530A (zh) * | 2020-06-24 | 2020-09-25 | 武汉久同智能科技有限公司 | 一种工业机器人图形化编程系统 |
CN112069080A (zh) * | 2020-09-23 | 2020-12-11 | 北京合众伟奇科技股份有限公司 | 一种自动化可执行的脚本测试方法及系统 |
CN112214210A (zh) * | 2020-09-01 | 2021-01-12 | 北京中电飞华通信有限公司 | 后勤业务规则引擎及其配置方法、装置、设备和存储介质 |
CN112882687A (zh) * | 2020-12-10 | 2021-06-01 | 宝付网络科技(上海)有限公司 | 一种高效的通用型规则引擎的实现方法 |
CN113407167A (zh) * | 2021-05-14 | 2021-09-17 | 江苏航天七零六信息科技有限公司 | 一种基于语法协议的插件式多语言代码编辑器设计方法 |
CN115016777A (zh) * | 2022-08-05 | 2022-09-06 | 中国汽车技术研究中心有限公司 | 一种模型同步处理方法、设备和存储介质 |
CN115169295A (zh) * | 2022-04-07 | 2022-10-11 | 唐旸 | 基于模型的规则生成方法、装置、系统和介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020007483A1 (en) * | 1997-01-29 | 2002-01-17 | Lopez Luis R. | Interactive flow visualization, graphical editing and analysis of textual languages |
CN102360291A (zh) * | 2011-10-07 | 2012-02-22 | 云南爱迪科技有限公司 | 面向服务的基于业务规则引擎的业务规则设计方法 |
CN110196719A (zh) * | 2019-05-20 | 2019-09-03 | 中国工商银行股份有限公司 | 一种基于自然语言处理的业务规则生成方法与系统 |
-
2019
- 2019-11-01 CN CN201911060166.1A patent/CN110837362A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20020007483A1 (en) * | 1997-01-29 | 2002-01-17 | Lopez Luis R. | Interactive flow visualization, graphical editing and analysis of textual languages |
CN102360291A (zh) * | 2011-10-07 | 2012-02-22 | 云南爱迪科技有限公司 | 面向服务的基于业务规则引擎的业务规则设计方法 |
CN110196719A (zh) * | 2019-05-20 | 2019-09-03 | 中国工商银行股份有限公司 | 一种基于自然语言处理的业务规则生成方法与系统 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111708530A (zh) * | 2020-06-24 | 2020-09-25 | 武汉久同智能科技有限公司 | 一种工业机器人图形化编程系统 |
CN112214210A (zh) * | 2020-09-01 | 2021-01-12 | 北京中电飞华通信有限公司 | 后勤业务规则引擎及其配置方法、装置、设备和存储介质 |
CN112069080A (zh) * | 2020-09-23 | 2020-12-11 | 北京合众伟奇科技股份有限公司 | 一种自动化可执行的脚本测试方法及系统 |
CN112882687A (zh) * | 2020-12-10 | 2021-06-01 | 宝付网络科技(上海)有限公司 | 一种高效的通用型规则引擎的实现方法 |
CN113407167A (zh) * | 2021-05-14 | 2021-09-17 | 江苏航天七零六信息科技有限公司 | 一种基于语法协议的插件式多语言代码编辑器设计方法 |
CN115169295A (zh) * | 2022-04-07 | 2022-10-11 | 唐旸 | 基于模型的规则生成方法、装置、系统和介质 |
CN115169295B (zh) * | 2022-04-07 | 2023-05-05 | 唐旸 | 基于模型的界面交互方法、装置、系统和介质 |
CN115016777A (zh) * | 2022-08-05 | 2022-09-06 | 中国汽车技术研究中心有限公司 | 一种模型同步处理方法、设备和存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110837362A (zh) | 向导式可视的图形模块化的规则编辑方法、系统及编辑器 | |
US10353796B2 (en) | System and method for using development objectives to guide implementation of source code | |
US5450545A (en) | Generation of rules-based computer programs using data entry screens | |
US7164422B1 (en) | Parameterized graphs with conditional components | |
US10592211B2 (en) | Generation of application behaviors | |
US20090125875A1 (en) | Method for manufacturing a final product of a target software product | |
US20070038978A1 (en) | Layered type systems | |
US8775349B2 (en) | Method for producing at least one application description | |
US8707250B2 (en) | Automation support for domain modeling | |
US9977655B2 (en) | System and method for automatic extraction of software design from requirements | |
Long et al. | R cookbook: proven recipes for data analysis, statistics, and graphics | |
CN108027721A (zh) | 用于使用控件来配置通用程序的技术 | |
US7958073B2 (en) | Software and methods for task method knowledge hierarchies | |
Saabith et al. | A review on Python libraries and Ides for Data Science | |
CN113010168B (zh) | 一种基于场景树的用户界面生成方法 | |
CN101710275B (zh) | 利用gui工具来编辑工作流逻辑和屏幕的方法和系统 | |
Ahlersten | An introduction to MATLAB | |
CN114564195A (zh) | 一种基于b/s架构的云cad平台的二次开发方法 | |
Hillebrand et al. | Mastering RStudio–develop, communicate, and collaborate with R | |
Aladjev et al. | Extension of Mathematica system functionality | |
Sheldon et al. | Professional Visual Basic 2012 and. NET 4.5 Programming | |
Hansen | Mastering Excel 2003 Programming with VBA | |
Wiriyakul et al. | A visual editor for language-independent scripting for BPMN modeling | |
US20230168885A1 (en) | Semantically driven document structure recognition | |
Dittmer | Code generation based on inference and controlled natural language input |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20200225 |