e-works数字化企业网  »  文章频道  »  管理信息化  »  MES

规则引擎在制造企业MES中的研究与应用(二)

2017/9/24    来源:互联网    作者:闫欢  张宜生  李德群      
关键字:MES  业务规则管理  规则引擎  
在当前制造企业的制造执行系统(MES)中,存在大量灵活多变的业务规则,这大大增加了这些企业MES的实施难度。

3 应用规则引擎的关键技术

    3.1 本系统使用的规则引擎和开发平台

    目前规则引擎软件产品在国外的企业生产中已经得到应用,其中ILOG公司的JRules规则引擎很受欢迎。美国Sandia实验室的Jess引擎也得到了一定的应用,它的独特之处在于规则语言是基于严谨的LISP知识表达语言。除这些商用规则引擎产品之外,还有一些开源的实现,比如Drools规则引擎,它利用XML文件格式定义规则,大大简化了规则引擎的解析和执行过程。本系统采用的规则引擎是基于Java的ILOGJRules 5.0规则引擎。

    本系统采用业界广泛使用的J2EE(JavaEE)软件平台,一个典型的J2EE应用分为应用层、业务层、持久层等。J2EE具有良好的可扩展性以及与系统平台无关的特点,在企业信息化过程中得到了广泛的应用。JRules规则引擎是采用纯Java的实现,可以作为J2EE中间层的一个组件集成到整个系统中。

    业务规则需要经过设计、开发、部署3个阶段。在设计阶段,业务人员须和系统开发人员一起完成业务对象模型(BOM)的设计,为业务规则的开发提供必要的基本“词汇”;在开发阶段,业务规则开发和系统程序开发可同时进行,业务规则制定者只须熟悉特定的规则语言即可;在部署阶段,规则部署人员须将规则集部署在相应的位置上,使规则引擎可以访问到相应的规则集以实现特定流程。整个过程如图5。

MES系统中业务规则的开发过程

图5 MES系统中业务规则的开发过程

    3.2 MES系统的模块功能划分

    MES的主要功能模块包括工序调度、资源分配、生产单元分配、过程管理、人力资源管理、维护管理、质量管理、文档控制、产品跟踪、性能分析和数据采集等。完备的MES系统可以在编制生产作业计划中对作业进行排序和调度来优化车间性能,最大限度地减少生产过程中的准备时间;根据作业任务,分配人员、设备、工具和物料协调地进行生产,以保证企业生产正常进行;并提供资源使用情况的历史记录,跟踪其现在的工作状态和完工情况。本系统主要功能模块如图6所示。

一个制造企业MES的功能模块

图6 一个制造企业MES的功能模块

    3.3 企业业务规则的定义

    ILOG定义了自己的规则文件格式,后缀名为irl。每条规则由规则头(Header)、条件(Condition)、动作(Action)组成。通常,规则的条件部分和动作部分又称为规则的左端(LHS)和右端(RHS)。LHS包含规则的匹配模式,RHS则包含该规则被触发时执行的动作。每一个规则由rule关键词定义,后边紧跟的是规则的名称,可以用priority关键词定义规则的优先级,规则的条件由when关键词定义,规则的动作由then关键词定义。

    JRules规则引擎采用RETE匹配算法。在基于规则的语言中,范式是组成规则的元素。RETE算法通过匹配来决定规则的执行。RETE算法是一个快速的模式匹配器,是由语言编译器生成的一个静态判别网络。它通过在网络上存储的规则信息来快速地实现匹配。在每一个推理步的循环中,它不是用已知的事实去匹配每一条规则,而是仅仅考察那些事实有变化的匹配。事实只要被匹配一次,范式中的变量就被存储起来。如果另一个事实被断言,则只需简单地比较范式变量的值,如果相等,这个规则就被激活。由于在每一个推理步循环中,那些没有变化的数据可以忽略,因此RETE算法能大大地提高事实与规则前件的匹配速度。

责任编辑:程玥
本文来源于互联网,e-works本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供,并以尽力标明作者与出处,如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。联系方式:editor@e-works.net.cn tel:027-87592219/20/21。
e-works
官方微信
掌上
信息化
编辑推荐
新闻推荐
博客推荐
视频推荐