`

一个神奇的研究方向:规则引擎

阅读更多
                 基于模型驱动架构的专用规则引擎

概述

     随着信息化技术的不断发展, 计算机科学已经在工业界的各个领域开始广泛的应用, 用于构建各种不同的企业信息化系统, 来提升工作效率,促进产业的发展. 在IT系统的生命周期之中,企业的业务需求不可避免的会发生改变, 这就需要及时的对软件产品进行维护和升级, 那么如何降低IT系统人工维护成本, 保持软件的质量日益成为软件工程领域的一个重要课题.
随着组件化集成技术的不断发展, 模型驱动架构日益成为IT系统构建的一种主流方法,通过识别领域对象主题和业务规则组件方式,可以获得一种鲁棒性的体系结构, 使得IT系统在全生命周期中具有易于变化的特性,进而有效的降低软件的升级和维护成本. 由于业务规则组件需求的广泛性, 目前业界已经出现了大量的商用和开源的规则引擎组件, 比如IBM公司的ILOG和JBOSS公司的DROOL, 利用这些第三方的规则引擎组件, 可以有效的减少开发代码量,保证规则运算的效率;但是这些规则引擎组件普遍存在着学习曲线陡峭, 性能优化困难的弊端, 这就影响了规则引擎组件在工业领域的应用.

    为了更好的推动规则引擎在工业界的应用, 本研究课题计划采用面向对象的软件工程方法, 从用例模型入手, 识别出不同应用场景下的领域主题, 分析与之相匹配的规则引擎应用接口, 并采用组件化技术对原生的规则引擎进行封装,形成专用领域的规则引擎组件,极大的简化规则引擎组件在工业领域的应用过程.
    



    虽然计算机领域的技术浩如烟海, 但是从应用的角度出发, 规则引擎技术在未来应用的场景中会越来越多,因此更加深入的研究规则引擎对于商业系统的构建是非常重要的.
    当然,应用规则引擎开发具有一个前提,就是要合理的提炼领域对象模型,从这一点出发,一起又回到了原点, 面向对象的分析,和面向对象的设计, 这是现代计算机科学的一个非常重要的方法论
       

四、问题与研究方向
  在利用规则引擎的开发过程中,主要的问题有三个方面,分别是:
1) 规则引擎编写费时费力,学习曲线比较陡峭.
2) 规则本身可复用性不强, 需要重复编写很多规则(重复的制造轮子).
3) 存在大量规则时候, 规则执行效率比较低,需要进行专门的优化.
针对上述问题,采取的研究方向是:
1) 结合MDA技术, 从应用领域出发, 对原生的规则引擎进行封装, 简化规则引擎的使用.
2)  结合组件化技术, 从应用领域出发,对规则编写接口进行进一步封装,形成专业领域的图形化规则编写工具.
3) 结合设计模式技术, 对海量规则的规则组件进行设计和优化,保障运行效率.



   论文已经完成,上传最新的组件模型

   



  • 大小: 57 KB
  • 大小: 40.5 KB
  • 大小: 63.1 KB
  • 大小: 51.8 KB
  • 大小: 69.6 KB
  • 大小: 29.4 KB
分享到:
评论
11 楼 flyqantas 2013-11-22  
zhaodanchun 写道
您好,我现在研二,准备开题,想研究规则引擎这方向,您能告诉我“规则引擎资料20120619”解压密码吗?邮箱:876378762@qq.com ,如果大家能指导一下,就太谢谢了!



    您好,指导谈不上,不过我的工作中有很多和规则引擎相关的项目,可以互相交流,规则引擎是一个很好的研究方向,如果能够深入的应用并实践,将来会有很好的就业前景,我已经把您需要的资料发您邮箱,有问题欢迎联系。
10 楼 zhaodanchun 2013-11-19  
您好,我现在研二,准备开题,想研究规则引擎这方向,您能告诉我“规则引擎资料20120619”解压密码吗?邮箱:876378762@qq.com ,如果大家能指导一下,就太谢谢了!
9 楼 playaj 2013-05-02  
老兄,解压“Drools手册译.rar”需要密码呢,能给我吗?alienyoung@163.com
8 楼 NIIT_zhu 2013-04-16  
flyqantas 写道
NIIT_zhu:
     你好,想问一下,这个中间件是一个成熟的产品吗,有没有相关详细的介绍资料呀?

flyqantas

加个qq聊一下吧,在这里交流太慢了
我的qq:496106920
7 楼 flyqantas 2013-04-15  
NIIT_zhu:
     你好,想问一下,这个中间件是一个成熟的产品吗,有没有相关详细的介绍资料呀?

flyqantas
6 楼 NIIT_zhu 2013-04-03  
目前,我们是这样实现的
5 楼 flyqantas 2013-01-16  
根据我们在工作中的经验,目前涉及到的规则核查划分为三种情况,

1) 单对象的属性,以及属性之间的规则判断。

2) 多对象之间的属性规则核查

3) 引入时间维度的规则判断

   我不知道使用Groovy、Lua等脚本语言可否实现第2种和第3种情况

    不过我相信您的观点是正确的,因为,前期我们有一个规则核查的项目,因为时间比较紧张,我们是用VB开发的,而我的一个朋友居然是用RUBY开发的,他的开发时间大概只有我们的30%,还是很神奇的,下面是他的项目地址。

    https://github.com/liyijie/rule_check
4 楼 vase 2013-01-08  
我认为如果面对的业务中没有太多规则冲突方面处理的话,采用像Groovy、Lua等脚本做领域语言也是不错的选择。 
3 楼 vase 2013-01-08  
  那你接触的早,你是07年,我是2010年,你不会看成10年~前~吧,哈哈。
  当时我看drools的官方文档时,记着作者有介绍自己,说已经做了7年的规则引擎。
 
  我是2010年那会做一个结算系统时用到了下,不过用的不好,配置太麻烦;不过当时的领导非要让上,但没人懂,就我把文档看了遍,其他人都没看完。我认为给的时间太短,坑太深,就提出不参与核心模块设计和开发,于是打了段时间酱油。之后在一个数据稽核系统(估计跟你们的质量核查类似)又被强制推来使用其他人封装后的规则引擎,实践比较失败的,不适合快速处理大数据量比对,而且配置极其麻烦;没办法,一期就这样上马了。到2011年二期时,我把这条路否了,换了其他方式。
  由于种种奇葩原因,2012年年后我就跑路到现在这家互联网公司做BI和数据仓库了。

  期待你关于drools实践方面的分析 。我最近快忙完手头一个紧急项目了,完事后就又回归ETL方面工作,有空多交流~
2 楼 flyqantas 2013-01-08  
     喔,接触的真是早呀,我是2007年才开始接触DROOL的,可惜那时候对面向对象的概念还没用入门,所以还没有认识都这种组件的价值。
  
       2010-2011年我系统学习了面向对象的软件工程以后, 逐渐理解了组件化的价值,刚好在哪一年我们有一个数据库质量核查的项目, 当时在方案选型阶段,有两种意见, 一种意见是直接利用编码方式实现,一种是采用对象化的规则引擎方案, 经过权衡以后,选择了规则引擎的方案, 现在发现真是一个明智的选择,因为规则文件比较好理解,修改起来非常方便。

       后续,我们计划在更多的项目中使用规则引擎,欢迎多多交流哈。
1 楼 vase 2012-12-21  
踩一脚,呵呵。
在用规则引擎?10年我看过写drools的资料,现在忘完了。挺佩服那作者,在这个领域一作就是7年。

相关推荐

    百度谷歌排名的秘密

    - **使用第三方服务**:有些服务商提供批量提交至多个搜索引擎的服务。 ##### 2. 向地址目录提交网站 - **理解地址目录**:不同于搜索引擎,地址目录是由人工编辑的网站列表。 - **地址目录的重要性**:提高网站...

    范文大全读《有种神奇叫梦想》有感.doc

    《有种神奇叫梦想》这本书以独特的...我们应该尊重每个孩子的梦想,提供一个充满活力和创新的教育环境,让梦想成为他们追求卓越的引擎。只有这样,我们的教育才能真正激发学生的潜力,培养出有理想、有热情的新一代。

    EXCEL实战技巧精萃-新手必读.doc

    书中首先介绍了如何高效学习Excel的方法,包括利用Excel自带的帮助系统、互联网资源、专业论坛等,为读者构建一个立体的学习环境。 #### 技巧2 使用Excel联机帮助系统 详细解析了如何利用Excel内置的联机帮助功能,...

    支持pyramid2.x的kotti web代码

    Kotti 是一个基于 Pyramid 框架的 Python 内容管理系统(CMS),适合用来搭建中小型网站、文档库、企业展示平台、知识库等需要灵活内容结构和权限模型的项目。它本身更像一个可以二次开发的 CMS 框架,比 WordPress、Drupal 这类“一装就用”的系统更倾向于开发者定制和扩展。 这是支持pyramid2.x版本的kotti! tar -xzvf kotti1.0.tar.gz 解压缩 进入目录执行 pip install -e . 来安装, 然后执行pserve app.ini 启动。 用浏览器浏览127.0.0.1:5000 即可浏览。 用户名admin ,口令qwerty

    cmd-bat-批处理-脚本-hello world.zip

    cmd-bat-批处理-脚本-hello world.zip

    知识付费系统自动采集V3.0 跳转不卡顿+搭建教程

    知识付费系统自动采集V3.0 跳转不卡顿+搭建教程,不和外面的一样跳转卡顿,这个跳转不卡顿,支持三级分销。

    基于Matlab实现图像形状纹理颜色特征提取

    在Matlab环境下,对图像进行特征提取时,主要涵盖形状、纹理以及颜色这三大关键特征。其中,对于纹理特征的提取,采用灰度梯度共生矩阵这一方法来实现。通过灰度梯度共生矩阵,可以有效地捕捉图像中像素灰度值之间在不同方向和距离上的相互关系,进而量化地反映出图像的纹理特性,为后续的图像分析、分类等任务提供重要的纹理信息依据。

    实证数据-2010-2023年上市公司-管理层情感语调数据-社科经管.rar

    该数据集为2010-2023年中国A股上市公司管理层情感语调的年度面板数据,覆盖45,320条样本,数据源自年报及半年报的"管理层讨论与分析"部分。通过构建中文金融情感词典(融合《知网情感分析用词典》与L&M金融词汇表),采用文本分析方法计算情感语调指标,包括:正面/负面词汇数量、文本相似度、情感语调1((积极词-消极词)/总词数)和情感语调2((积极词-消极词)/(积极词+消极词))。同时包含盈利预测偏差、审计意见类型等衍生指标,可用于研究信息披露质量、市场反应及代理问题。该数据复刻了《管理世界》《财经研究》等期刊的变量构建方法,被应用于分析语调操纵对债券市场的影响,学术常用度与稀缺度较高。

    cmd-bat-批处理-脚本-FTIME.zip

    cmd-bat-批处理-脚本-FTIME.zip

    1747829038637.png

    1747829038637.png

    2025年自动化X光检查机项目大数据研究报告.docx

    2025年自动化X光检查机项目大数据研究报告.docx

    基于Logisim的原码与补码一位乘法器设计

    在计算机组成原理课程设计中,我全程跟随老师的指导,独立完成了以下两项任务:一是利用Logisim软件进行原码一位乘法器的仿真设计,通过逐步搭建电路、配置逻辑单元,实现了原码乘法运算的完整流程,深入理解了原码乘法的原理和实现机制;二是完成了补码一位乘法器的Logisim仿真,同样按照老师讲解的步骤,精心设计电路,确保补码乘法运算的正确性,进一步掌握了补码乘法的运算规则和电路实现方法。通过这两个项目,我不仅巩固了理论知识,还提升了动手实践能力和逻辑思维能力。

    cmd-bat-批处理-脚本-msvc2017.zip

    cmd-bat-批处理-脚本-msvc2017.zip

    cmd-bat-批处理-脚本-virtualcam-install.zip

    cmd-bat-批处理-脚本-virtualcam-install.zip

    二十四节气之立秋介绍.pptx

    二十四节气之立秋介绍.pptx

    cmd-bat-批处理-脚本-shift.zip

    cmd-bat-批处理-脚本-shift.zip

    二十四节气之小雪介绍.pptx

    二十四节气之小雪介绍.pptx

    java、SpringBoot面试专题,6页面试题

    java、SpringBoot面试专题,6页面试题

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

Global site tag (gtag.js) - Google Analytics