论文部分内容阅读
在全球化、社会化商品经济的浪潮中,企业所身处商业环境的变化也日益加快。为了保持竞争优势,提高自身核心竞争力,企业需要不断调整其商业策略、优化业务流程,提高运营效率以应对商业环境的变化。相应地,企业内部的IT支撑系统也必须紧跟变化需求,对企业业务流程的快速变化做出支持。为了使得系统能够灵活地实现对业务流程快速变化的适应,可以通过应用规则引擎实现业务规则和代码的分离与集中管理。商业策略制定者与业务人员可以通过运用规则描述语言设计、更新规则,直接参与规则的生命周期管理;系统开发人员则可以将更多的注意力集中于IT系统的设计与实施之上。将规则引擎应用于IT系统,可以有效改善软件系统的开发流程并使系统在可重用性方面受益。目前主流规则引擎在企业应用中,主要存在规则描述语言过于专业化,给许多非技术背景的使用者的学习、使用、分析带来了一定程度的困难。另外,大部分开源规则引擎的规则描述语言仅在规则中支持Java语言实现的外部系统接口函数,限制了规则描述语言的表达能力并增加:了规则引擎与非Java接口的外部系统进行集成的成本。针对规则引擎使用过程中易用性、功能完备性和兼容性方面需求,本文在对当前主要规则引擎研究及分析的基础上设计了一种规则描述语言。该语言基于产生式规则设计,包括4层语法结构的规则条件部分和全面支持C语言语法的规则推论部分,增强了规则描述语言的易用性和规则引擎与外部系统间的兼容性。围绕文中设计的规则描述语言,本课题设计并实现了一个支持该规则描述语言的规则引擎TSEGRULEENGINE。在规则引擎的设计过程中提出了嵌套编译技术流程的概念,实现了对规则描述语言中两种不同语法的编译处理工作,设计了一个开放接口支持不同算法的规则推理流程并应用编译结果对事实和规则进行推理。论文中设计实现的规则引擎被应用于某电信计费系统在包月订购关系计费场景中进行了相应的测试,验证了系统的可用性。