规则引擎项目系统需求说明书

规则引擎项目系统需求说明书

ID:13333117

大小:65.50 KB

页数:6页

时间:2018-07-22

规则引擎项目系统需求说明书_第1页
规则引擎项目系统需求说明书_第2页
规则引擎项目系统需求说明书_第3页
规则引擎项目系统需求说明书_第4页
规则引擎项目系统需求说明书_第5页
资源描述:

《规则引擎项目系统需求说明书》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、规则引擎项目系统需求说明书1.需求描述1.1.功能描述以下功能描述包括规则引擎作为一个完整的产品所涉及的所有功能。1.1.1.1.面向开发人员的语言体系开发人员可以运用类似于自然语言的方式进行规则的描述,具体语法可以参考《Drl语法手册》。运用接近自然语言的方式来编写规则,这让非技术人员与领域专家可以用他们自己的逻辑来理解规则,使得规则更容易阅读。而DRL就是一种类似于自然语言的规则描述语言。规则文件通常是以drl扩展名结尾。在一个drl文件中可以包含多个规则,函数等等。但是你也可以将规则分开到多个规则文件中(在这种情况下建议采用.rule扩展名,但不是必需的),分散规则利于管理巨

2、量规则的情况。DRL是简单的text文件格式。规则文件的完整结构是:packagepackage-name——文件包名字imports——声明任何要用在规则中的对象globals——规则要用到的全局变量functions——自定义的,有可能被规则重复使用的函数rules——规则部分这些元素的声明顺序不重要,处理package的名称如果声明的话必须是规则文件的第一个元素。所有的元素都是可选的。规则是由一阶逻辑或断言逻辑编写而成,是由命题逻辑扩展而来。一条规则是一个二元结构,如下:rule "name"    attributes    when        LHS    then 

3、       RHSend规则的结构是非常简单的,许多符号都是不需要的,甚至“name”两边的引号也是可选的。ATTRIBUTES(通常是可选项)指出规则的行为表现。LHS是规则的条件部分,RHS是将要执行的动作块。仅有的特别的关键字是为了设置,删除和修改facts所用。任何在LHS中绑定的变量可以在RHS中使用。执行规则时,将事实、数据与规则的条件部分LHS进行匹配,并执行相应的动作RHS。在规则语言中还使用了一些保留字。1.1.1.1.决策表规则的定义可通过Excel决策表的方式书写,具体的语法可以参考《Excel语法手册》。决策表也是一种精确而简洁的表达逻辑条件的方法,非常适

4、用于业务级的规则。电子表格对于数据的捕获与操作是很有优点的。Drools支持在电子表格中管理规则。支持的格式有Excel和CSV。这样你可以使用多种不同的表格程序,如MicrosoftExcel,OpenOffice等。决策表其实就是用“模板+数据”的格式来表达规则。决策表中的每一行就是对应模板的一行数据,将产生一个规则。在Drools中的决策表通过表格中的数据直接产生规则。在模板中的语法要做什么,依赖于它是条件列还是行为列。在大多数情况下,它与DRL中的LHS和RHS的含义相同。这意味着在LHS中必须使用约束语言,而在RHS中是一段要执行的代码。决策表在规则引擎中可以转换为与之对

5、应的DRL规则描述。例:对应的DRL语言描述:rule"startTest"salience100//优先级别no-loopture//执行一次后,不能被再次激活wheneval(true)thenSystem.out.println("autotest……");end决策表不建议在规则不能遵循模板或者只有很少量的规则的时候使用。使用决策表的好处在于你可以控制规则的哪些参数可以被修改,而不用直接暴露规则。决策表也为隐含在下面的对象模型提供了一定的隔绝性。虽然决策表看起来像是从上到下的处理,但这不是必须的。如果能够将规则以与顺序无关的方式实现是非常好的,简单的说它使得维护变得简单,你

6、不需要花时间来维护行之间的顺序。因为每一行是一个规则,同样的原理被应用。当规则引擎处理fact,任何匹配的规则都有可能被激发【有可能一个激发的规则引起另一个规则不能被激发,但哪一个规则先被激发是无顺序的】。同样注意,你可以在电子表格中建立多个表格,这样当规则共享相同的模板时,它们可以被编组,但是在最后一个电子表格中的规则会被放到同一个规则包中。决策表是用来快速有效的自动产生规则的一个工具。电子表格可以通过业务工具很好的建立。通过决策表可以隔断IT人员与领域专家的交互(针对提取规则而言),使得业务分析师能够清晰了解业务规则,是进行关系分离的理想办法。1.1.1.规则引擎规则条件的模式

7、匹配(Rete算法)Rete算法总体可以分成两部分:建立Rete网络;对象模式匹配一、建立Rete网络:A.把规则内的模式组等价变换为最外层为OR逻辑,两边模式都用AND逻辑连接成模式组的形式B.Rete节点为网络的根节点,可以认为是第0层节点;Rete节点内部保存一个哈希表指向第一层节点C.模式类型绑定到ObjectTypeNode上,作为Rete网络的第一层节点D.一个模式内定义的所有条件都是AND逻辑的关系,把条件都绑定到AlphaNode中。第一层AlphaN

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。