`
NIIT_zhu
  • 浏览: 49642 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

规则引擎教程--变量跟踪

阅读更多

 功能概述

    在规则包测试过程中,若要知道变量在每个规则中执行情况,变量在每个规则中值的变化情况,就可以对该变量进行“调试跟踪”。这样就可以把变量在每个规则、规则集的值赋值、变化、结果情况全部记录下来。这个变量即可以是“传入数据”中的变量,也可以是“临时数据”中的变量,也可以是“内存表”中的变量。

 

创建个名为“变量跟踪”的规则包,创建过程如下图所示:


 

 

 

 



 包添加完成之后,然后在规则包下添加规则集、规则。右键规则包,选择添加规则集。添加过程如下图:
 

 

 继续在规则集“a大于0”中添加新规则,如下图所示:

 



 

 

继续在规则集“a大于0”中添加新规则,如下图所示:

 



 

 

 

最后,还要在规则集“a大于0”中添加规则“内存表赋值1”,如下图所示:



 



 

 

 

 

这样规则集“a大于0”的规则就添加完成了。继续在规则包中添加个名为“a小于0”的规则集,如下图所示:

 



 

然后,要在该规则集下添加三个规则,完成后如下图所示:



 

 

在规则添加完成之后,要在对象库中添加变量,变量添加过程如下图所示:



  

 

然后,还有在对象库中添加计算表格(内存表),添加过程如下图所示:

 

 



 

 

 

 

在规则与变量都定义好了之后,要在规则与规则集中添加具体的规则逻辑。

 

第一,在规则集“a大于0”中添加的规则逻辑,如下图所示:



 

 

 

 



 

 

第二,要在规则集“a大于0”下的规则“变量赋值1”,添加规则逻辑。完成后,如下图所所示:



 

 

第三,在规则“自增”中,让变量bc自增1,具体的规则逻辑如下图所示:

 



 

 

第四,在规则集“a大于0”下的规则“内存表赋值1”,添加规则逻辑。首先要在该规则的属性窗口,修改该规则的属性设置:



 

在给内存赋值除了每个变量挨个赋值外,还可以使用规则配置器自带的内存表赋值向导。使用向导大大减少了规则编写的时间与步骤。具体的向导步骤,如下图所示:

 



 

 

 

由于内存表刚创建的时候是张空表,所以在给内存表赋值前,需给内存中添加一条空数据,步骤如下图所示:



 

复制了内存表的“insert”方法之后,就要把该方法插入到规则逻辑中去,如下图所示:



 

 



 

 

 

 

这样规则“内存表赋值1”的规则编写就完成了。规则集“a小于0”规则逻辑如下图:



 

 

规则集“a小于0”完成之后,要给规则“变量赋值2”编写逻辑,如下图所示:

 



 

规则“变量赋值2”完成之后,我们在规则“自减”中,让变量bc自减1,具体的规则逻辑如下图所示:



 

变量自减之后,又要给内存表赋值了,在规则“内存表赋值2”中,实现的规则逻辑如下图所示:



 



 

在规则逻辑的编写完成之后,在就可以在对象库中设置需要跟踪的变量。过程如下图所示:

 



 

 

在“传入数据”中的变量添加了“调试跟踪”,在内存表的变量也可以跟踪其执行记录,如下图所示:

 



 

 

这样在规则包测试执行的时候,就可以记录已被“调试跟踪”的四个变量的值变化情况。

 

 

 

 

在规则包全部编写完成之后,就要对规则包进行保存、编译。点击“全部保存”会把所有的未保存的规则包,自动保存并编译。如下图所示:



 

 

点击之后,规则配置器的消息栏会有保存的消息记录,如下图:



 

 

 

规则包编写完成之后,可以添加测试数据进行规则包测试。在规则包测试过程中,就可以跟踪变量,记录变量的值变化情况。测试情况如下图所示:



 

 

点击了“执行到此”之后,就可以看到规则包测试结果和变量值变化。如下图所示:

 

上述的这种情况是执行了规则包进入了规则集“a大于0”的情况,下面再测试下规则集“a小于0 ”的情况。刷新测试数据,然后在规则包测试中输入“a=-3”,测试规则包执行结果,如下图所示:



 

 

  • 大小: 28.2 KB
  • 大小: 19.7 KB
  • 大小: 31.5 KB
  • 大小: 20.5 KB
  • 大小: 30.1 KB
  • 大小: 20.9 KB
  • 大小: 29.4 KB
  • 大小: 21.7 KB
  • 大小: 32 KB
  • 大小: 21.1 KB
  • 大小: 21.3 KB
  • 大小: 23.1 KB
  • 大小: 59.7 KB
  • 大小: 37.3 KB
  • 大小: 22.3 KB
  • 大小: 61.1 KB
  • 大小: 43 KB
  • 大小: 43.8 KB
  • 大小: 39.3 KB
  • 大小: 43.1 KB
  • 大小: 51.3 KB
  • 大小: 39.9 KB
  • 大小: 32.6 KB
  • 大小: 19.6 KB
  • 大小: 46.6 KB
  • 大小: 29.8 KB
  • 大小: 34.8 KB
  • 大小: 84.4 KB
  • 大小: 49.1 KB
  • 大小: 35.2 KB
  • 大小: 37.6 KB
  • 大小: 38 KB
  • 大小: 43.2 KB
  • 大小: 40.4 KB
  • 大小: 21.8 KB
  • 大小: 44.6 KB
  • 大小: 68.8 KB
  • 大小: 59.4 KB
  • 大小: 48.8 KB
  • 大小: 56.7 KB
  • 大小: 48 KB
  • 大小: 26.2 KB
  • 大小: 66.4 KB
  • 大小: 90.9 KB
  • 大小: 55.8 KB
  • 大小: 89.1 KB
分享到:
评论

相关推荐

    规则引擎-变量跟踪

    "变量跟踪"是规则引擎调试过程中的一个重要工具,它允许开发者在执行规则时监控特定变量的状态。在Visual Rules Solution这款规则引擎中,变量跟踪功能能够帮助用户深入了解规则执行的细节,尤其是在处理复杂的业务...

    规则引擎-规则测试和轨迹跟踪

    《规则引擎:规则测试与轨迹跟踪详解》 规则引擎作为一种强大的业务逻辑处理工具,它允许开发者以声明式的方式定义规则,使得复杂的业务决策能够被高效地执行和管理。本文将深入探讨规则引擎中的规则测试和轨迹跟踪...

    规则引擎-版本控制

    在IT行业中,规则引擎是一种强大的工具,用于处理和执行业务规则。它允许非技术人员通过图形化界面或专用语言来编写、管理和维护规则,而无需深入编程。规则引擎的核心功能之一是版本控制,这对于应对规则频繁变动的...

    规则引擎-调试与日志文件

    规则引擎在测试阶段,调试功能至关重要,它允许开发者跟踪变量在不同规则中的值。通过调试输出,可以在消息窗口查看变量状态,这对理解规则执行过程和定位问题非常有用。同时,规则引擎支持添加日志记录,这些日志...

    java规则引擎开发教程全

    【Java规则引擎开发教程全】 Java规则引擎是一种用于在应用程序中动态执行业务规则的技术,它允许开发者将业务逻辑从核心代码中分离出来,方便管理和维护。Drools是一款基于Java的开源规则引擎,广泛用于构建复杂的...

    cpp-V7CC嵌入式的JavaScript引擎

    - 安全系统:在安全设备中,JavaScript作为策略规则语言,实现动态配置。 - 游戏开发:嵌入JavaScript来处理游戏逻辑,增加可扩展性和交互性。 - 数据分析:在数据分析应用中,JavaScript可以用于数据预处理和...

    drools语法参考和性能优化技巧

    Drools是一个用Java语言编写的开源规则引擎,支持业务规则管理和决策表功能。它提供了一个灵活的框架来实现业务逻辑,尤其适合处理复杂的业务决策逻辑。本文档旨在介绍Drools的基本语法及其在实际应用中的性能优化...

    thinkphp全套视频教程(附完整源码)

    - 控制器命名规则及路径结构。 - 方法执行流程与请求处理逻辑。 - **模型(Model)**: - 用于处理数据的存储、查询与操作。 - 数据验证与数据过滤。 - 数据关联关系处理。 - **视图(View)**: - 显示层,负责将...

    仿易乐谷的易脚本引擎源码-易语言

    3. 跟踪调试:通过实际的脚本例子,逐步跟踪引擎的执行流程,加深对每个阶段的理解。 4. 实践修改:尝试修改源码,观察改变后的效果,以加深对引擎工作原理的掌握。 5. 扩展功能:基于现有引擎,开发新的特性和优化...

    JBoss_Enterprise_BRMS_Platform-5-JBoss_Rules_5_Reference_Guide-en-US

    本参考指南详细介绍了JBoss提供的开源规则引擎——Drools。Drools是一款功能强大的业务规则管理系统(BRMS),它为企业级应用程序提供了一种灵活、可扩展的方式来管理业务逻辑。该文档为JBoss管理员提供了必要的安装...

    基于模糊控制的AGV小车轨迹跟踪

    模糊控制器通常由输入变量模糊化、模糊规则库、推理引擎和输出变量去模糊化四部分组成。在本项目中,输入变量可能是AGV的速度偏差和速度变化率,输出变量则为转向角的调整值。模糊化是将实数值转换为模糊集合的过程...

    jBPM-4.0中文开发指南

    - **规则引擎**: 集成了Drools规则引擎,允许在流程中嵌入复杂的业务规则。 ### 2. jBPM 4.0安装与配置 - **环境要求**: 确保具备Java运行环境,并配置好相应的JDK。 - **安装**: 下载jBPM 4.0的发行版,解压后...

    深入理解JavaScript系列

    执行上下文是JavaScript引擎在执行代码时创建的一种环境,用于跟踪执行过程中的状态。 - **执行上下文的类型**: - **全局执行上下文**:每个窗口或标签页都有一个全局执行上下文。 - **函数执行上下文**:每当...

    Jess71p2.doc

    ### Jess规则引擎使用文档知识点详解 #### 一、引言 Jess是一款强大的规则引擎,专为Java平台设计。它能够帮助开发者实现复杂决策逻辑的自动化处理。本文档旨在详细介绍Jess规则引擎的各项功能与使用方法。 #### ...

    URULE是一款基于RETE算法的纯Java规则引擎.zip

    集成调试器允许开发者逐行执行代码,设置断点、查看变量值、跟踪调用堆栈等,帮助定位并修复代码中的错误。 测试框架和工具则协助开发者编写和运行单元测试、集成测试及性能测试,确保软件质量。 版本控制与协作...

    ThinkPHP5.0完全开发手册

    - **变量规则**:定义路由中的变量规则。 - **组合变量**:多个变量之间的关系定义。 - **路由参数**:传递给控制器的参数。 - **路由地址**:路由对应的URL地址。 - **资源路由**:用于CRUD操作的路由规则。 - **...

    JBossjBPM.rar_工作流引擎

    6. 规则引擎:结合Drools,jBPM可以实现动态的业务规则,使业务流程能适应变化的需求。 三、jbpm.nh文件详解 在提供的压缩包中,“JBossjBPM.nh”可能是一个笔记或文档文件,详细介绍了在实际项目中使用JBoss jBPM...

    php程序员菜鸟成长手记 php入门教程 pdf

    - **CSS样式应用**:根据CSS规则,应用样式到DOM元素。 - **JavaScript执行**:执行内联或外部引用的JavaScript脚本,实现页面交互。 **2. HTML工作原理** HTML(HyperText Markup Language)是用于创建网页的标准...

Global site tag (gtag.js) - Google Analytics