Java规则引擎在机场业务及资源管理中的应用

上传人:油条 文档编号:48599929 上传时间:2018-07-17 格式:PPT 页数:44 大小:2.58MB
返回 下载 相关 举报
Java规则引擎在机场业务及资源管理中的应用_第1页
第1页 / 共44页
Java规则引擎在机场业务及资源管理中的应用_第2页
第2页 / 共44页
Java规则引擎在机场业务及资源管理中的应用_第3页
第3页 / 共44页
Java规则引擎在机场业务及资源管理中的应用_第4页
第4页 / 共44页
Java规则引擎在机场业务及资源管理中的应用_第5页
第5页 / 共44页
点击查看更多>>
资源描述

《Java规则引擎在机场业务及资源管理中的应用》由会员分享,可在线阅读,更多相关《Java规则引擎在机场业务及资源管理中的应用(44页珍藏版)》请在金锄头文库上搜索。

1、2007 济南Java规则引擎在机场业务及资源管理中的应用 汇报人:朱强 导 师:曲守宁1汇报内容规则引擎技术简介 基于规则引擎的机场资源管理系统软架构 已完成研究内容和掌握的技术JBoss Rules 已取得的主要研究成果 下一步研究内容和仿真方法 论文进度安排 2规则引擎技术相关工作规则引擎是一种嵌入在信息系统中的构件,它将 频繁变化的业务规则从程序中剥离出来,放入规 则库中管理和修改。 规则引擎的基本过程是将提交给它的事实数据对 象与加载在引擎中的业务规则进行测试和对比, 激活那些符合当前事实对象状态的业务规则,触 发系统中对应的操作,完成对信息系统中某些状 态信息的改变。 规则引擎针对

2、业务规则频繁变化且事实对象之间 的约束关系复杂时,可以发挥很大的优越性。3规则引擎技术相关工作规则引擎分为规则库 、工作内存、推理引擎三 部分。 推理引擎细分为模式 匹配器、议程、执行引 擎三部分。规则引擎的运行机制4规则引擎运行机制规则引擎通过快速检索工作内存的对象与,与加 载到其中的规则库中的各项规则前提进行匹配, 激活符合条件的规则,放入冲突集中。 冲突集中的规则通过规则优先权等因素的制定, 排序生成议程,从而使优先级高的规则被第一个 触发。 规则执行后,规则的后件执行部分会改变加载到 工作内存中的事实对象信息,使议程中的一些激 活的规则的前提条件不再得到满足,必须从议程 中撤销,反之又

3、有新的规则被激活加入议程中。 以上过程不断循环,产生动态的规则执行链,直 到每个事实都处理完毕或没有规则可以被触发为 之。下图反应工作内存和议程的变化情况。5规则引擎运行机制6基于规则引擎的机场资源管理系统软架构 传统机场资源管理系统架中, 考虑到很多约束规则,机场资 源的链接关系和分配约束规则 复杂且变化频繁,如果每个规 则的变化都交给软件工程师修 改程序源代码,任务繁重,限 制了系统扩展性。 在客运高峰等不确定因素造成 的资源冲突时,无法通过虚拟 分配资源预测出任何规则改变 或调整带来的有利或不利影响 ,因此资源分配策略并非最优 。 在基于规则引擎的机场资源管 理系统软架构模型中,可以通

4、过加载航班对象事实和业务约 束规则完成模式匹配过程,激 活并触发相应匹配规则来修改 资源对象的状态信息,从而模 拟出资源分配工作。 通过改变规则约束条件和航班 计划事实,实现资源的虚拟分 配,根据分配结果的最优化程 度,制定和调整规则的优先级 ,从而使机场资源管理系统嵌 入规则引擎时,规则按重要程 度执行,从而实现了资源的最 优化配置。7基于规则引擎的机场资源管理系统软架构 The soft architecture of ARMS based on rule engine 8基于规则引擎的机场资源管理系统软架构机场业务约束规则举例如下: 1、当已有航班安排在5号或7号停机位时,在航 班到港前

5、30分钟,2、3、4、8号停机位禁止分 配给任何航班。 2、2号和18号远机位禁止停放大型飞机,只能 停放A320,A319,737系列。 航班因故障,或天气因素时,应安排在14号和 16号停机位,作应急之用。 19号机位只有在其它机位全部投入使用时才会投 入使用9基于规则引擎的机场资源管理系统软架构在机场资源管理系统中嵌入规则引擎,首先要建 立主规则库和其它类型规则库。 主规则库包括日常运营的一系列规则,例如:一 般类型的机位可以被允许分配的机型类型为: B737、B757、B777、A310、A320、A321;2 号和8号远机位不能停放B767、A330以上的大 型航班;18号和20号机

6、位设置为不允许,预留 给特殊航班。 其它规则库则包括特殊的事件处理方式,例如: 如发生天气变化等因素时,可根据实际情况安排 在4号或6号备用机位。10基于规则引擎的机场资源管理系统软架构仿真实现方法如下: 在新的架构下,通过JBoss Rules规则引擎在 Eclipse下的集成,可以方便实现规则库与程序 源代码的交互。 航班事实对象可以表示为Java Bean类生成的对 象,只包含航班事实本身的属性及属性的get和 set方法,而不包括对象间的约束关系和相关逻 辑。如航班类包括:航班号、机型号、机型类型 、到港状态、离港状态、到港时间、离港时间、 分配的机位号。而机位事实包括:机位号,机位

7、类型(近机位,远机位),分配状态(已经分配 ,没有分配),分配后的航班号。11基于规则引擎的机场资源管理系统软架构JBoss Rules规则引擎中规则可以被定义到后缀 名称为drl类型的文件中,也可以保存为表格或 规则流形式,这里采用drl格式仿真。 JBoss Rules规则引擎中条件可以由when关键 词定义,执行动作通过then关键词定义,举例伪 代码如下:当航班类型为大型的航班MU5314到 港时,合理完成了资源的分配仿真,将将25号停 机位分配给此航班,同时临近的24号和26号停 机位不能停放任何到港航班。12基于规则引擎的机场资源管理系统软架构rule “大型机的分配“ salie

8、nce 3 when #conditions(条件)Condition1: 航班机型为大型机Condition2:航班的状态为到港 then #actions(动作)Action1: 将25号停机位分配给此航班Action2:临近的24号和26号停机位不能停放任何到港航班,即分 配权限属性设为不允许(为了安全考虑)13已完成研究内容和掌握的技术JBoss RulesJBoss Rules是一种开源的商业规则引擎,它的 前身是Codehaus的一个名为Drools的开源项目 ,Drools是为Java量身定制的基于Rete算法的 规则引擎。JBoss Rules可以作为插件的形式集 成到当前最流

9、行的Java开源开发环境Eclipse下 ,免费且开发界面友好。 以下通过实例分析,掌握了JBoss Rules规则引 擎的基本使用方法,为仿真实现打下基础。下面 是JBoss Rules在研究生奖学金评定中的实现仿 真,原理与机场仿真相近,作为基础。14已完成研究内容和掌握的技术JBoss Rules应用程序中导入规则包: PackageBuilder builder=new PackageBuilder() builder.addPackageFromDrl(new InputStreamReader(CepingExample.class.getR esourceAsStream(“/c

10、onstraint.drl“); RuleBase ruleBase=RuleBaseFactory.newRuleBase(); ruleBase.addPackage(builder.getPackage();15已完成研究内容和掌握的技术JBoss Rules工作内存的创建及对象的导入WorkingMemory workingMemory=ruleBase.newStatefulSession();Graduate zhuqiang=new Graduate(“朱强 “,24,25,88,9);Graduate zhaoyaou=new Graduate(“赵亚欧 “,25,26,92,

11、16);Graduate cailiang=new Graduate(“蔡亮 “,26,28,88,12);workingMemory.insert(zhuqiang);workingMemory.insert(zhaoyaou);workingMemory.insert(cailiang);workingMemory.fireAllRules();16已完成研究内容和掌握的技术JBoss Rules规则举例如下:rule “社会贡献奖约束“ #include attributes such as “salience“ here.salience 5 when graduate:Graduat

12、e( fujiafen15 ); then #actions graduate.setFujiafen(10); System.out.println(graduate.getName()+“ 附加分超过15,按10分算“); end17已完成研究内容和掌握的技术JBoss Rules18已完成研究内容和掌握的技术JBoss Rules19已完成研究内容和掌握的技术JBoss Rules在Jess中,有个实例,在这里用JBoss Rules 将其重写,得出JBoss Rules 下更方便与Java Bean类交互的结论。 There is a golfer named Fred Joe is

13、in position 2 Bob is wearing plaid pants Tom isnt in position 1 or 4 and isnt wearing orange The golfer to Freds immediate right is wearing blue pants20已完成研究内容和掌握的技术JBoss Rules21已完成研究内容和掌握的技术JBoss Rules22仿真结果23仿真结果24仿真结果25仿真结果26仿真结果27仿真结果28仿真结果29仿真结果30仿真结果31仿真结果32仿真结果33仿真结果34最终仿真结果35最终仿真结果36最终仿真结果37

14、最终仿真结果38最终仿真结果39已取得的主要研究成果撰写论文3篇:朱强,曲守宁,赵亚欧,邹燕 基于Jess的规 则引擎机制的研究(济南大学学报(已录用)) Research and Application of Rule Engine in Airport Resource Management System (审 稿中) 基于JBoss Rules规则引擎的机场资源管理系统 软架构(审稿中)40下一步的研究的内容1、在对JBoss Rules规则引擎熟练掌握的基础 上,下一步工作将根据具体的机场资源分配和业 务约束规则文档创建出完整的规则库,同时根据 航班类定义出每个航班的对象信息。JBos

15、s Rules规则引擎可以通过加载航班对象事实和业 务约束规则完成模式匹配过程,激活并触发相应 匹配规则来修改资源对象的状态信息,从而模拟 出资源分配工作。 2、通过改变规则约束条件和航班计划事实,实 现资源的虚拟分配,根据分配结果的最优化程度 ,制定和调整规则的优先级,从而使机场资源管 理系统嵌入规则引擎时,规则按重要程度执行, 从而实现了资源的最优化配置。 41下一步的研究的内容3、通过分析任何规则的改变对资源分配带来的 有利或不利影响,对不利规则做出更改和调整, 从而完善规则库使其更合理。 综上所述,最终完成JBoss Rules规则引擎在机 场资源管理系统中的应用仿真。在仿真模块中, 通过有选择的加载规则库中的规则或改变某些规 则,由规则引擎自动得出相应资源分配策略,来 直观分析出任何规则的改变对资源分配带来的有 利或不利影响,进而可以对不利的规则做出调整 和更改以适应资源最优化分配。 42下一步的研究的内容目前规则引擎技术是新的系统设计理念,与传统 软架构相比具有很大优越性,但在国内应用较少 ,已经初步应用到公交车辆调度、制造业MES、 “旅游一卡通”计费系统中,在机场资源管理方面 还是探索阶段,预测分析模块的实现是创新点, 对将来投入实际应用具有指导意义。 43汇报完毕,谢谢!44

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号