规则引擎
背景

A.I.(Artificial Intelligence)是一个关注于“使计算机像人类一样思考“的广泛的研究领域,包括Neural Networks(神经网络), Genetic Algorithms(遗传算法), Decision Trees(决策树), Frame Systems(框架系统) and Expert Systems(专家系统)。Knowledge representation(知识呈现)是A.I.的一部分,关注于如何呈现和操纵知识。专家系统使用知识表示把知识编码简化成一个可用于推理的知识库──比如,我们可以用知识库处理数据以推出结论。专家系统又叫基于知识的系统、基于知识的专家系统,并被认为是A.I.的一个应用。开发一个专家库系统的过程被称为知识工程。EMYCIN是最早的专家系统Shell(外壳)之一,它从医学诊断专家系统MYCIN发展而来。早期的专家系统有自己的logic hard coded "shells"(逻辑硬件编码外壳),把逻辑与系统相分离,为用户输入提供一个简单的使用环境。Drools是一个使用基于规则的方法实现的专家系统的规则引擎,更准确的说属于产生式规则系统。

规则引擎(drools)简介

Drools 是用 Java 语言编写的开放源码规则引擎,使用 Rete 算法对所编写的规则求值。Drools 允许使用声明方式表达业务逻辑。可以使用 Java/XML 语法编写规则,这对于入门 Drools 十分有用,因为您可以将 Java 代码直接嵌入规则文件中。还可以使用 Groovy/XML 语法或 Python/XML 语法在 Drools 中编写规则。
Drools 还具有其他优点:     ? 支持XML规则语言,作为一个选择,Drools也支持使用XML数据格式来捕捉和管理你的规则。就像非XML格式的DRL,XML格式也被解析为内部的“AST”表现方式(为了更快的解析效率,使用SAX解析器)。XML格式中没有任何扩展和变化,所有XML支持的特性,在DRL中也支持。
    ? 支持规则引擎API,Drools提供了一个Java规则引擎API(JSR94)的实现,它允许在一个API中支持多个规则引擎。JSR94不本身不对规则语言进行任何处理。WSC工作在Rule Interchange Format (RIF),而OMG则开始在RuleML的基础上建立一个标准,当前Haley系统已经提议一种规则语言标准称为RML。
    ? 支持IDE,Drools提供了基于eclipse的IDE,但这是可选的。
    ? 支持决策表,Drools支持在电子表格中管理规则。支持的格式有Excel和CSV。这样你可以使用多种不同的表格程序,如Microsoft Excel、OpenOffice等。期望在将来的发布版本中可以支持基于Web的决策表编辑器。
    ? 提供一套业务规则管理系统(BRMS)。BRMS允许用户在多用户环境下管理规则,它是商业规则的统一视图,允许在可控制条件下的变更,以及友好的用户界面。 。

咨询与服务

本公司在规则引擎开发和实施方面具有丰富的经验,做个多个大型项目,具有独立开发、咨询等方面能力。