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

上传人:545****25f 文档编号:253055182 上传时间:2024-11-28 格式:PPTX 页数:45 大小:2.26MB
返回 下载 相关 举报
培训课件Java规则引擎在机场业务及资源管理中的应用_第1页
第1页 / 共45页
培训课件Java规则引擎在机场业务及资源管理中的应用_第2页
第2页 / 共45页
培训课件Java规则引擎在机场业务及资源管理中的应用_第3页
第3页 / 共45页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,#,Java规则引擎在机场业务及资源管理中的应用,1,汇报内容,规则引擎技术简介,基于规则引擎的机场资源管理系统软架构,已完成研究内容和掌握的技术JBoss Rules,已取得的主要研究成果,下一步研究内容和仿真方法,论文进度安排,2,规则引擎技术相关工作,规则引擎是一种嵌入在信息系统中的构件,它将频繁变化的业务规则从程序中剥离出来,放入规则库中管理和修改。,规则引擎的基本过程是将提交给它的事实数据对象与加载在引擎中的业务规则进行测试和对比,激活那些符合当前事实对象状态的业务规则,触发系统中对应的操作,完成对信息系统中某些状态信息的改变。,规则引擎针对业务规则频繁变化且事实对象之间的约束关系复杂时,可以发挥很大的优越性。,3,规则引擎技术相关工作,规则引擎分为规则库,、工作内存、推理引擎三部分,。,推理引擎细分为模式匹配器,、议程、执行引擎三部分。,规则引擎的运行机制,4,规则引擎运行机制,规则引擎通过快速检索工作内存的对象与,与加载到其中的规则库中的各项规则前提进行匹配,激活符合条件的规则,放入冲突集中。,冲突集中的规则通过规则优先权等因素的制定,排序生成议程,从而使优先级高的规则被第一个触发。,规则执行后,规则的后件执行部分会改变加载到工作内存中的事实对象信息,使议程中的一些激活的规则的前提条件不再得到满足,必须从议程中撤销,反之又有新的规则被激活加入议程中。,以上过程不断循环,产生动态的规则执行链,直到每个事实都处理完毕或没有规则可以被触发为之。下图反应工作内存和议程的变化情况。,5,规则引擎运行机制,6,基于规则引擎的机场资源管理系统软架构,传统机场资源管理系统架中,考虑到很多约束规则,机场资源的链接关系和分配约束规则复杂且变化频繁,如果每个规则的变化都交给软件工程师修改程序源代码,任务繁重,限制了系统扩展性。,在客运高峰等不确定因素造成的资源冲突时,无法通过虚拟分配资源预测出任何规则改变或调整带来的有利或不利影响,因此资源分配策略并非最优。,在基于规则引擎的机场资源管理系统软架构模型中,可以通过加载航班对象事实和业务约束规则完成模式匹配过程,激活并触发相应匹配规则来修改资源对象的状态信息,从而模拟出资源分配工作。,通过改变规则约束条件和航班计划事实,实现资源的虚拟分配,根据分配结果的最优化程度,制定和调整规则的优先级,从而使机场资源管理系统嵌入规则引擎时,规则按重要程度执行,从而实现了资源的最优化配置。,7,基于规则引擎的机场资源管理系统软架构,The soft architecture of ARMS based on rule engine,8,基于规则引擎的机场资源管理系统软架构,机场业务约束规则举例如下:,1、当已有航班安排在5号或7号停机位时,在航班到港前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号机位设置为不允许,预留给特殊航班。,其它规则库则包括特殊的事件处理方式,例如:如发生天气变化等因素时,可根据实际情况安排在4号或6号备用机位。,10,基于,规,规则,引,引擎,的,的机,场,场资,源,源管,理,理系,统,统软,架,架构,仿真,实,实现,方,方法,如,如下,:,:,在新,的,的架,构,构下,,,,通,过,过JBossRules,规,规则,引,引擎,在,在Eclipse,下,下的,集,集成,,,,可,以,以方,便,便实,现,现规,则,则库,与,与程,序,序源,代,代码,的,的交,互,互。,航班,事,事实,对,对象,可,可以,表,表示,为,为JavaBean,类,类生,成,成的,对,对象,,,,只,包,包含,航,航班,事,事实,本,本身,的,的属,性,性及,属,属性,的,的get,和,和set,方,方法,,,,而,不,不包,括,括对,象,象间,的,的约,束,束关,系,系和,相,相关,逻,逻辑,。,。如,航,航班,类,类包,括,括:,航,航班,号,号、,机,机型,号,号、,机,机型,类,类型,、,、到,港,港状,态,态、,离,离港,状,状态,、,、到,港,港时,间,间、,离,离港,时,时间,、,、分,配,配的,机,机位,号,号。,而,而机,位,位事,实,实包,括,括:,机,机位,号,号,,机,机位,类,类型,(,(近,机,机位,,,,远,机,机位,),),,分,分配,状,状态,(,(已,经,经分,配,配,,没,没有,分,分配,),),,分,分配,后,后的,航,航班,号,号。,11,基于,规,规则,引,引擎,的,的机,场,场资,源,源管,理,理系,统,统软,架,架构,JBossRules规,则,则引,擎,擎中,规,规则,可,可以,被,被定,义,义到,后,后缀,名,名称,为,为drl,类,类型,的,的文,件,件中,,,,也,可,可以,保,保存,为,为表,格,格或,规,规则,流,流形,式,式,,这,这里,采,采用drl格,式,式仿,真,真。,JBossRules规,则,则引,擎,擎中,条,条件,可,可以,由,由when关,键,键词,定,定义,,,,执,行,行动,作,作通,过,过then关,键,键词,定,定义,,,,举,例,例伪,代,代码,如,如下,:,:当,航,航班,类,类型,为,为大,型,型的,航,航班MU5314,到,到港,时,时,,合,合理,完,完成,了,了资,源,源的,分,分配,仿,仿真,,,,将,将,将25号,停,停机,位,位分,配,配给,此,此航,班,班,,同,同时,临,临近,的,的24号,和,和26号,停,停机,位,位不,能,能停,放,放任,何,何到,港,港航,班,班。,12,基于,规,规则,引,引擎,的,的机,场,场资,源,源管,理,理系,统,统软,架,架构,rule,大,大型,机,机的,分,分配,salience3,when,#conditions(,条,条件),Condition1,:,:,航班,机,机型,为,为大,型,型机,Condition2,:,:,航班,的,的状,态,态为,到,到港,then,#actions(动,作,作),Action1:,将25号,停,停机,位,位分,配,配给,此,此航,班,班,Action2:,临近,的,的24号,和,和26号,停,停机,位,位不,能,能停,放,放任,何,何到,港,港航,班,班,,即,即分,配,配权,限,限属,性,性设,为,为不,允,允许,(,(为,了,了安,全,全考,虑,虑),13,已完,成,成研,究,究内,容,容和,掌,掌握,的,的技,术,术JBossRules,JBossRules是,一,一种,开,开源,的,的商,业,业规,则,则引,擎,擎,,它,它的,前,前身,是,是Codehaus的,一,一个,名,名为Drools,的,的开,源,源项,目,目,Drools,是,是为Java,量,量身,定,定制,的,的基,于,于Rete算,法,法的,规,规则,引,引擎,。,。JBossRules,可,可以,作,作为,插,插件,的,的形,式,式集,成,成到,当,当前,最,最流,行,行的Java,开,开源,开,开发,环,环境Eclipse下,,,,免,费,费且,开,开发,界,界面,友,友好,。,。,以下,通,通过,实,实例,分,分析,,,,掌,握,握了JBossRules规,则,则引,擎,擎的,基,基本,使,使用,方,方法,,,,为,仿,仿真,实,实现,打,打下,基,基础,。,。下,面,面是JBossRules在,研,研究,生,生奖,学,学金,评,评定,中,中的,实,实现,仿,仿真,,,,原,理,理与,机,机场,仿,仿真,相,相近,,,,作,为,为基,础,础。,14,已完,成,成研,究,究内,容,容和,掌,掌握,的,的技,术,术JBossRules,应用,程,程序,中,中导,入,入规,则,则包,:,:,PackageBuilderbuilder=newPackageBuilder()builder.addPackageFromDrl(newInputStreamReader(CepingExample.class.getResourceAsStream(/constraint.drl);RuleBaseruleBase=RuleBaseFactory.,newRuleBase,();ruleBase.addPackage(builder.getPackage();,15,已完成,研,研究内,容,容和掌,握,握的技,术,术JBossRules,工作内存的,创,创建及对象,的,的导入,WorkingMemory workingMemory=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();,16,已完成研究,内,内容和掌握,的,的技术JBoss Rules,规则举例如,下,下:,rule,社会贡献,奖,奖约束,#include attributessuchas salience here.,salience,5,when,graduate:Graduate(fujiafen15);,then,#actions,graduate.setFujiafen(10);,System.out.println(graduate.getName()+附,加,加分超过15,按10,分,分算);,end,17,已完成研究,内,内容和掌握,的,的技术JBoss Rules,18,已完成研究,内,内容和掌握,的,的技术JBoss Rules,19,已完成研究,内,内容和掌握,的,的技术JBoss Rules,在Jess,中,中,有个实,例,例,在这里,用,用JBoss Rules将其重,写,写,得出JBossRules,下,下更方便,与,与JavaBean,类,类交互的结,论,论。,Thereis agolfer named Fred,Joe is inposition 2,Bob is wearingplaidpants,Tom isntin position 1 or 4,and isntwearing orange,The golferto Fredsimmediateright iswearing blue pants,20,已完成研究,内,内容和掌握,的,的技术JBoss Rules,21,已完成研究,内,内容和掌握,的,的技术JBoss Rules,22,仿真结果,23,仿真结果,24,仿真结果,25,仿真结果,26,仿真结果,27,仿真结果,28,仿真结果,29,仿真结果,30,仿真结果,31,仿真结果,32,仿真结果,33,仿真结果,34,最终,仿,仿真,结,结果,35,最终,仿,仿真,结,结果,36,最终,仿,仿真,结,结果,37,最终,仿,仿真,结,结果,38
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 商业管理 > 营销创新


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!