




已阅读5页,还剩39页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1,Java规则引擎在机场业务及资源管理中的应用,2,汇报内容,规则引擎技术简介基于规则引擎的机场资源管理系统软架构已完成研究内容和掌握的技术JBossRules已取得的主要研究成果下一步研究内容和仿真方法论文进度安排,3,规则引擎技术相关工作,规则引擎是一种嵌入在信息系统中的构件,它将频繁变化的业务规则从程序中剥离出来,放入规则库中管理和修改。规则引擎的基本过程是将提交给它的事实数据对象与加载在引擎中的业务规则进行测试和对比,激活那些符合当前事实对象状态的业务规则,触发系统中对应的操作,完成对信息系统中某些状态信息的改变。规则引擎针对业务规则频繁变化且事实对象之间的约束关系复杂时,可以发挥很大的优越性。,4,规则引擎技术相关工作,规则引擎分为规则库、工作内存、推理引擎三部分。推理引擎细分为模式匹配器、议程、执行引擎三部分。,规则引擎的运行机制,5,规则引擎运行机制,规则引擎通过快速检索工作内存的对象与,与加载到其中的规则库中的各项规则前提进行匹配,激活符合条件的规则,放入冲突集中。冲突集中的规则通过规则优先权等因素的制定,排序生成议程,从而使优先级高的规则被第一个触发。规则执行后,规则的后件执行部分会改变加载到工作内存中的事实对象信息,使议程中的一些激活的规则的前提条件不再得到满足,必须从议程中撤销,反之又有新的规则被激活加入议程中。以上过程不断循环,产生动态的规则执行链,直到每个事实都处理完毕或没有规则可以被触发为之。下图反应工作内存和议程的变化情况。,6,规则引擎运行机制,7,基于规则引擎的机场资源管理系统软架构,传统机场资源管理系统架中,考虑到很多约束规则,机场资源的链接关系和分配约束规则复杂且变化频繁,如果每个规则的变化都交给软件工程师修改程序源代码,任务繁重,限制了系统扩展性。在客运高峰等不确定因素造成的资源冲突时,无法通过虚拟分配资源预测出任何规则改变或调整带来的有利或不利影响,因此资源分配策略并非最优。,在基于规则引擎的机场资源管理系统软架构模型中,可以通过加载航班对象事实和业务约束规则完成模式匹配过程,激活并触发相应匹配规则来修改资源对象的状态信息,从而模拟出资源分配工作。通过改变规则约束条件和航班计划事实,实现资源的虚拟分配,根据分配结果的最优化程度,制定和调整规则的优先级,从而使机场资源管理系统嵌入规则引擎时,规则按重要程度执行,从而实现了资源的最优化配置。,8,基于规则引擎的机场资源管理系统软架构,ThesoftarchitectureofARMSbasedonruleengine,9,基于规则引擎的机场资源管理系统软架构,机场业务约束规则举例如下:1、当已有航班安排在5号或7号停机位时,在航班到港前30分钟,2、3、4、8号停机位禁止分配给任何航班。2、2号和18号远机位禁止停放大型飞机,只能停放A320,A319,737系列。航班因故障,或天气因素时,应安排在14号和16号停机位,作应急之用。19号机位只有在其它机位全部投入使用时才会投入使用,10,基于规则引擎的机场资源管理系统软架构,在机场资源管理系统中嵌入规则引擎,首先要建立主规则库和其它类型规则库。主规则库包括日常运营的一系列规则,例如:一般类型的机位可以被允许分配的机型类型为:B737、B757、B777、A310、A320、A321;2号和8号远机位不能停放B767、A330以上的大型航班;18号和20号机位设置为不允许,预留给特殊航班。其它规则库则包括特殊的事件处理方式,例如:如发生天气变化等因素时,可根据实际情况安排在4号或6号备用机位。,11,基于规则引擎的机场资源管理系统软架构,仿真实现方法如下:在新的架构下,通过JBossRules规则引擎在Eclipse下的集成,可以方便实现规则库与程序源代码的交互。航班事实对象可以表示为JavaBean类生成的对象,只包含航班事实本身的属性及属性的get和set方法,而不包括对象间的约束关系和相关逻辑。如航班类包括:航班号、机型号、机型类型、到港状态、离港状态、到港时间、离港时间、分配的机位号。而机位事实包括:机位号,机位类型(近机位,远机位),分配状态(已经分配,没有分配),分配后的航班号。,12,基于规则引擎的机场资源管理系统软架构,JBossRules规则引擎中规则可以被定义到后缀名称为drl类型的文件中,也可以保存为表格或规则流形式,这里采用drl格式仿真。JBossRules规则引擎中条件可以由when关键词定义,执行动作通过then关键词定义,举例伪代码如下:当航班类型为大型的航班MU5314到港时,合理完成了资源的分配仿真,将将25号停机位分配给此航班,同时临近的24号和26号停机位不能停放任何到港航班。,13,基于规则引擎的机场资源管理系统软架构,rule大型机的分配salience3when#conditions(条件)Condition1:航班机型为大型机Condition2:航班的状态为到港then#actions(动作)Action1:将25号停机位分配给此航班Action2:临近的24号和26号停机位不能停放任何到港航班,即分配权限属性设为不允许(为了安全考虑),14,已完成研究内容和掌握的技术JBossRules,JBossRules是一种开源的商业规则引擎,它的前身是Codehaus的一个名为Drools的开源项目,Drools是为Java量身定制的基于Rete算法的规则引擎。JBossRules可以作为插件的形式集成到当前最流行的Java开源开发环境Eclipse下,免费且开发界面友好。以下通过实例分析,掌握了JBossRules规则引擎的基本使用方法,为仿真实现打下基础。下面是JBossRules在研究生奖学金评定中的实现仿真,原理与机场仿真相近,作为基础。,15,已完成研究内容和掌握的技术JBossRules,应用程序中导入规则包:PackageBuilderbuilder=newPackageBuilder()builder.addPackageFromDrl(newInputStreamReader(CepingExample.class.getResourceAsStream(/constraint.drl);RuleBaseruleBase=RuleBaseFactory.newRuleBase();ruleBase.addPackage(builder.getPackage();,16,已完成研究内容和掌握的技术JBossRules,工作内存的创建及对象的导入WorkingMemoryworkingMemory=ruleBase.newStatefulSession();Graduatezhuqiang=newGraduate(朱强,24,25,88,9);Graduatezhaoyaou=newGraduate(赵亚欧,25,26,92,16);Graduatecailiang=newGraduate(蔡亮,26,28,88,12);workingMemory.insert(zhuqiang);workingMemory.insert(zhaoyaou);workingMemory.insert(cailiang);workingMemory.fireAllRules();,17,已完成研究内容和掌握的技术JBossRules,规则举例如下:,rule社会贡献奖约束#includeattributessuchassaliencehere.salience5whengraduate:Graduate(fujiafen15);then#actionsgraduate.setFujiafen(10);System.out.println(graduate.getName()+附加分超过15,按10分算);end,18,已完成研究内容和掌握的技术JBossRules,19,已完成研究内容和掌握的技术JBossRules,20,已完成研究内容和掌握的技术JBossRules,在Jess中,有个实例,在这里用JBossRules将其重写,得出JBossRules下更方便与JavaBean类交互的结论。ThereisagolfernamedFredJoeisinposition2BobiswearingplaidpantsTomisntinposition1or4andisntwearingorangeThegolfertoFredsimmediaterightiswearingbluepants,21,已完成研究内容和掌握的技术JBossRules,22,已完成研究内容和掌握的技术JBossRules,23,仿真结果,24,仿真结果,25,仿真结果,26,仿真结果,27,仿真结果,28,仿真结果,29,仿真结果,30,仿真结果,31,仿真结果,32,仿真结果,33,仿真结果,34,仿真结果,35,最终仿真结果,36,最终仿真结果,37,最终仿真结果,38,最终仿真结果,39,最终仿真结果,40,已取得的主要研究成果,撰写论文3篇:朱强,曲守宁,赵亚欧,邹燕基于Jess的规则引擎机制的研究(济南大学学报(已录用))ResearchandApplicationofRuleEngineinAirportResourceManagementSystem(审稿中)基于JBossRules规则引擎的机场资源管理系统软架构(审稿中),41,下一步的研究的内容,1、在对JBossRules规则引擎熟练掌握的基础上,下一步工作将根据具体的机场资源分配和业务约束规则文档创建出完整的规则库,同时根据航班类定义出每个航班的对象信息。JBossRules规则引擎可以通过加载航班对象事实和业务约束规则完成模式匹配过程,激活并触发相应匹配规则来修改资源对象的状态信息,从而模拟出资源分配工作。2、通过改变规则约束条件和航班计划事实,实现资源的虚拟分配,根据分配结果的最优化程度,制定和调整规则的优先级,从而使机场资源管理系统嵌入规则引擎时,规则按重要程度执行,从而实现了资源的最优化配置。,42,下一步的研究的内容,3、通过分析任何规则的改变对资源分配带来的有利或不利影响,对不利规则做出更改和调整,从而完善规则库使其更合理。综上所述,最终完成JBossRules规则引擎在机场资源管理系统中的应用仿真。在仿真模块中,通过有选择的加载规则库中的规则或改变某些规
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 交通银行2025林芝市秋招英文面试题库及高分回答
- 建设银行2025文山壮族苗族自治州秋招英文面试题库及高分回答
- 工商银行2025荆州市秋招半结构化面试题库及参考答案
- 建设银行2025神农架林区秋招笔试创新题型专练及答案
- 农业银行2025阜阳市小语种岗笔试题及答案
- 邮储银行2025毕节市秋招半结构化面试题库及参考答案
- 工商银行2025徐州市小语种岗笔试题及答案
- 交通银行2025潮州市数据分析师笔试题及答案
- 建设银行2025承德市秋招笔试性格测试题专练及答案
- 中国银行2025上饶市秋招英文面试题库及高分回答
- GA/T 2000.7-2014公安信息代码第7部分:实有人口管理类别代码
- 2023年安徽国贸集团控股有限公司招聘笔试模拟试题及答案解析
- 初中作文指导-景物描写(课件)
- 医学人文与叙事课件
- 三年级美术上册《魔幻颜色》课件
- 部编版一年级上册语文全册优秀课件
- 《横》书法教学课件
- 工程项目进度管理-课件
- 土壤肥料全套课件
- 历史选择性必修1 国家制度与社会治理(思考点学思之窗问题探究)参考答案
- 中国铁路总公司《铁路技术管理规程》(高速铁路部分)2014年7月
评论
0/150
提交评论