规则引擎及其集成开发环境的研究和实现

来源 :北京工业大学 | 被引量 : 0次 | 上传用户:ruiping009
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
在快速变化的商业世界中,企业经常要改变自己的应用系统中某部分的规则来适应市场的变化,保持企业的竞争力。比如银行需要根据国家政策调整存贷款利率;零售企业需要调整自己的商品的折扣率。这些在系统运行过程中产生的变化需求既增加了企业应用软件的复杂度,也增加了软件架构师设计系统的难度,系统开发的周期也相应变长。另一方面,传统的程序设计方法不能有效解决很多人工智能领域的推理问题,所谓的推理问题就是给出一些初始条件,推导在某些规则下的结论,比如经典的农夫过河问题。这些问题的根源是缺少一种规则管理、执行的工具。 本文提出使用规则引擎来解决上述问题。文中首先阐述了什么是规则引擎系统,分析了它的优缺点并探讨了它的应用场景;随后详细介绍了论文中提出并实现的规则引擎系统的各个组成部分:规则语言定义,规则引擎实现,以及基于规则引擎的集成开发环境。 在规则语言定义部分:定义了规则语言中的类型系统、标识符、变量、关键字、注释、内置函数等基本元素。根据产生式的特点定义了规则的结构。所有这些元素合在一起,组成了规则引擎系统支持的规则语言。最后,介绍了此规则语言的识别过程。 规则引擎实现部分:把规则引擎分为三大模块:工作空间、规则库、推理引擎,然后分别加以实现。其中推理引擎采用了简化的Rete算法作为核心算法完成大规模对象/模式匹配。然后基于推理引擎采用的精简Rete算法,实现了工作空间和规则库。工作空间用来存储维护事实对象,也是驱动推理引擎工作的数据源。规则库部分,首先完成了规则的转换、编译,然后实现了Rete网络存储和维护的功能。 在基于规则引擎的集成开发环境部分,主要是为规则语言提供了一个Eclipse插件形式的智能编辑器。该智能编辑器的功能包括语法高亮、内容辅助、错误标注、代码折叠;并且大纲视图中能列出所有的规则,方便浏览。 文中实现的三大部分内容,从规则语言设计到规则开发环境再到规则的动态执行构成了一个完善的规则引擎系统。使用此规则引擎系统可以在很大程度上把规则和应用系统解耦合,降低系统的复杂度;规则语言声明式的风格使得规则易于编写、维护、理解。规则引擎采用的模式对象匹配算法也保证了规则引擎系统不会成为整个应用系统的瓶颈。
其他文献
随着我国科学技术的不断发展,电视节目数量有了明显的增加,所以观众对电视节目的要求也在不断提高.因此,对于电视新闻来说,要从做好后期编辑与再创造上入手,保证电视节目的质
VoIP技术发展迅猛,在短短十几年的时间里,已经占有相当比重的市场份额,成为当今电信业和计算机业最热门的话题。语音网关系统内的各个电话终端采用IP方式进行数据通信,不仅能
在证券交易中,交易者根据自身拥有的信息做出投资决策,信息是决定收益的关键因素之一。目前我国证券市场中个人投资者占90%以上,但是他们获取信息以及分析信息的能力有限,这使得其
由于人是诸多活动的主体,三维人脸模型的应用领域非常广泛,包括虚拟现实、游戏、人机交互以及影视广告等。在某些注重实时性的应用场合,如游戏中,三维头部模型一般较为粗糙,
本文对电视摄像记者应具有的基本素质进行了简要论述.通过分析论述,希望对提高电视摄像记者的拍摄技术,提升节目质量有所帮助.
科学技术的发展使个人信息量成倍地增长,并成为影响个人竞争力和生活质量的重要因素。PIM(PersonaIInformatinManagement)系统的出现,为人们有效地保持信息、存储信息和重用信
由于资金、收听率、技术和人才等各个方面因素的限制,基层广播的发展普遍比较落后,整体表现出来的新闻采编工作水平相对较低而且其发展困难重重.随着时代的进步和发展,人们对
组合优化是运筹学的重要分支,主要通过对数学方法的研究寻找离散事件的最优编排、分组、次序或筛选等。大多数这类问题通常在多项式时间里无法求解,属于NP问题。随着问题规模的
目的 研究动态血糖监测(CGMS)联合胰岛素泵应用到妊娠糖尿病(GDM)患者中的治疗作用与效果.方法 由2018年8月~2020年2月,择选出我院收入的80例GDM病例,参照不同的治疗方法,把其
在人们的日常交互中,情感往往扮演着非常重要的角色,它不仅丰富了表达者的表达方式,而且有助于人们理解对方的状态和行为。因此,对情感的分析和理解已经成为了一个重要的研究课题