- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Java规则引擎在机场业务及资源管理中的应用 汇报内容 规则引擎技术简介 基于规则引擎的机场资源管理系统软架构 已完成研究内容和掌握的技术JBoss Rules 已取得的主要研究成果 下一步研究内容和仿真方法 论文进度安排 规则引擎技术相关工作 规则引擎是一种嵌入在信息系统中的构件,它将频繁变化的业务规则从程序中剥离出来,放入规则库中管理和修改。 规则引擎的基本过程是将提交给它的事实数据对象与加载在引擎中的业务规则进行测试和对比,激活那些符合当前事实对象状态的业务规则,触发系统中对应的操作,完成对信息系统中某些状态信息的改变。 规则引擎针对业务规则频繁变化且事实对象之间的约束关系复杂时,可以发挥很大的优越性。 规则引擎技术相关工作 规则引擎分为规则库、工作内存、推理引擎三部分。 推理引擎细分为模式匹配器、议程、执行引擎三部分。 规则引擎运行机制 规则引擎通过快速检索工作内存的对象与,与加载到其中的规则库中的各项规则前提进行匹配,激活符合条件的规则,放入冲突集中。 冲突集中的规则通过规则优先权等因素的制定,排序生成议程,从而使优先级高的规则被第一个触发。 规则执行后,规则的后件执行部分会改变加载到工作内存中的事实对象信息,使议程中的一些激活的规则的前提条件不再得到满足,必须从议程中撤销,反之又有新的规则被激活加入议程中。 以上过程不断循环,产生动态的规则执行链,直到每个事实都处理完毕或没有规则可以被触发为之。下图反应工作内存和议程的变化情况。 规则引擎运行机制 基于规则引擎的机场资源管理系统软架构 传统机场资源管理系统架中,考虑到很多约束规则,机场资源的链接关系和分配约束规则复杂且变化频繁,如果每个规则的变化都交给软件工程师修改程序源代码,任务繁重,限制了系统扩展性。 在客运高峰等不确定因素造成的资源冲突时,无法通过虚拟分配资源预测出任何规则改变或调整带来的有利或不利影响,因此资源分配策略并非最优。 在基于规则引擎的机场资源管理系统软架构模型中,可以通过加载航班对象事实和业务约束规则完成模式匹配过程,激活并触发相应匹配规则来修改资源对象的状态信息,从而模拟出资源分配工作。 通过改变规则约束条件和航班计划事实,实现资源的虚拟分配,根据分配结果的最优化程度,制定和调整规则的优先级,从而使机场资源管理系统嵌入规则引擎时,规则按重要程度执行,从而实现了资源的最优化配置。 基于规则引擎的机场资源管理系统软架构 The soft architecture of ARMS based on rule engine 基于规则引擎的机场资源管理系统软架构 机场业务约束规则举例如下: 1、当已有航班安排在5号或7号停机位时,在航班到港前30分钟,2、3、4、8号停机位禁止分配给任何航班。 2、2号和18号远机位禁止停放大型飞机,只能停放A320,A319,737系列。 航班因故障,或天气因素时,应安排在14号和16号停机位,作应急之用。 19号机位只有在其它机位全部投入使用时才会投入使用 基于规则引擎的机场资源管理系统软架构 在机场资源管理系统中嵌入规则引擎,首先要建立主规则库和其它类型规则库。 主规则库包括日常运营的一系列规则,例如:一般类型的机位可以被允许分配的机型类型为:B737、B757、B777、A310、A320、A321;2号和8号远机位不能停放B767、A330以上的大型航班;18号和20号机位设置为不允许,预留给特殊航班。 其它规则库则包括特殊的事件处理方式,例如:如发生天气变化等因素时,可根据实际情况安排在4号或6号备用机位。 基于规则引擎的机场资源管理系统软架构 仿真实现方法如下: 在新的架构下,通过JBoss Rules规则引擎在Eclipse下的集成,可以方便实现规则库与程序源代码的交互。 航班事实对象可以表示为Java Bean类生成的对象,只包含航班事实本身的属性及属性的get和set方法,而不包括对象间的约束关系和相关逻辑。如航班类包括:航班号、机型号、机型类型、到港状态、离港状态、到港时间、离港时间、分配的机位号。而机位事实包括:机位号,机位类型(近机位,远机位),分配状态(已经分配,没有分配),分配后的航班号。 基于规则引擎的机场资源管理系统软架构 JBoss Rules规则引擎中规则可以被定义到后缀名称为drl类型的文件中,也可以保存为表格或规则流形式,这里采用drl格式仿真。 JBoss Rules规则引擎中条件可以由when关键词定义,执行动作通过then关键词定义,举例伪代码如下:当航班类型为大型的航班MU5314到港时,合理完成了资源的分配仿真,将将25号停机位分配给此航班,同时临近的24号和26号停机位不能停放任何到港航班。 基于规则引擎的机场资源管理系统
文档评论(0)