0 引言
产品数据模型是离散CIMS中的重要一环,CAx(CAD、CAPP等)都可以围绕产品建模展开。产品模型一旦建好就可用于生产,它确定了生产工艺和生产流程等。但在流程CIMS的报道和论著中,几乎还没有看到类似的内容。分析其原因有不少,文献[1]中所提到的离散CIMS和流程CIMS的区别就能说明某些原因。本文提出化工产品建模的目的是针对流程CIMS中的生产特点来进行的。在流程企业中,产品的成本和质量非常重要,产品的最终生成要经过许多中间环节,而且每个环节都会有一种或多种中间产品产生,中间产品的质量优劣将会严重地影响最终产品的质量,流程内每一环节的物耗、能耗也是最终决定产品成本的最主要因素。如果能用一种办法跟踪产品的成本和质量,那么有效地控制流程CIMS的生产,也有利于生产计划与调度。正是基于这些目的,在这里提出了给流程CIMS建立产品数据模型,以实现流程CIMS的应用集成。本文提出的产品数据模型就是对生产该产品的流程CIMS生产空间进行描述。
1 演绎面向对象数据模型
演绎面向对象数据模型(DOODM)的原理是把演绎(deductive)和面向对象数据模型(OODM)两者的优点相结合形成单一的系统模型,利用O-O技术获取对象、类、继承、方法和多态性等语义,并从已知事实和规则进行推导的能力。DOODM是抽象数据的代表(类与对象)和因果行为(演绎推导)的结合体[2]。DOODM包括对象空间(ObjectSpace,OS)和对象关系(ObjectRelationships,OR)。
定义1:一个对象空间OS是对象的集合,该集合的元素是对象。对象可用以下各种形式表示: (1)O,对象O;
(2)O:C,类C的一个实例O;
(3)O[属性1,属性2,…,属性n;方法1,方法2,…,方法m],其中属性和方法可以是继承的。 定义2:对象空间OS定义为相关对象的集合,具有以下性质:
(1)一个对象的组成部分也是同一个OS中的对象,这就是对象的ISP(Ispartof)性质;
(2)泛化/特化把一个对象映射到同一个OS的其它对象,这就是对象的ISA(Isa)性质;
(3)一个对象属于一个特定的类,这个类在类的偏序集里,这就是类格的性质。
在对象空间OS上的对象关系OR能用定义子句的形式表示分类、聚合、泛化/特化和联系等对象关系。显然,具有上述性质的对象空间能够容纳这些关系类型,分类关系能用性质(3)实现,聚集关系能用性质(1)实现,泛化/特化关系能用性质(2)和(3)实现,联系可用定义子句实现。
定义3:作用于OS的连接符:∧:与操作;∨:或操作;←:产生操作。
定义4:用于描述一个对象空间性质的定义子句是用导出符←连接的对象集表示式。导出符←的右边部分包含0个或多个对象,它们用∧操作连接,而左边部分为导出的一个对象,即O←O1∧O2∧…∧On。(n≥0)。
定义5:一个定义子句表示一个对象OR,子句中的对象由来自同一个OS的对象构成。由于对象空间内的一个定义子句描述了对象空间内的某个性质,因此也反映了某些对象的关系。
定义6:一个演绎对象数据模型就是一个二元组DOODM=(OS,ORs),ORs为OS内的所有对象关系集合。
2 流程CIMS生产空间的演绎面向对象数据模型(DOODM)的描述
下面描述的流程CIMS的DOODM考虑了CIMS的四个主要部分:概念设计、原料计划、能源计划、生产调度及成本控制和质量控制。在这种模型中,对象代表生产实体、实体特征及行为;而对象关系子句代表控制、生产约束和生产知识,如流程CIMS中的工艺规程和操作规程。
定义7:流程CIMS的生产空间PU=(OS,KS),其中OS(ObjectSystem)为对象系统,是生产空间的所有对象的集合;KS(KnowledgeSystem)为知识系统,是所有对象的关系集合,用定义子句描述。
其中,对象系统中包括物理对象和逻辑对象;知识系统是所有这两类对象的关系集合,实际上反映了所有与生产有关的知识。在流程企业中,设备、物料等都是物理对象;温度、压力、流量等都是逻辑对象;生产流程关系、工艺规程和操作规程等都是流程企业中的知识。
定义8:流程CIMS中的生产操作符:产生符←:表示生产出,O←M,表示O由M生产出来;与关系符∧:表示共同作用,包括物理作用和化学作用,O←M1∧M2表示O由M1和M2共同作用生成;或关系符∨:表示替代(互换)作用,M∨M1表示可以用M1代替M,反之亦然;偏序关系符≤:表示流程关系,P≤P1,表示生产P的流程中要用到P1。如果P1是中间品,在生产P前必须先生产出P1;P1也可以是生产P这一流程中所用到的某种原料。对流程CIMS生产空间中的对象用上述操作符进行操作,产生的新对象落在所考虑的生产空间的对象系统中,每个用产生符连接的操作描述式称为一条生产规则,它属于知识系统KS中的一条产生式,相应于DOODM的定义子句。可以看出,一个流程CIMS生产空间可以用DOODM表示出来:用DOODM中的对象表示工业中的对象,用对象关系子句描述工业对象中的生产关系。
下面一组推导式描述了一个流程CIMS空间的KS:
产品P←中间产品P1∧中间产品P2∧…∧中间产品Pa∧原料M1∧原料M2∧…∧
原料Mb;
P1←P11∧P12∧…∧P1c∧M11∧M12∧…∧M1d;
P11←P111∧P112∧…∧P11e∧M111∧M112∧…∧M11f;
……
Px...x←Mx...x1∧Mx...x2∧…∧Mx...xy。
以上所有生产规则中出现的对象均是此生产空间的对象系统,所有推导式的集合是该生产空间的知识系统,式中出现的对象具有偏序关系(≤,产生式左边的对象,产生式右边的对象)。根据树的定义:树是一个能用偏序关系≤刻画的集合T,在集合T中存在唯一最小元作为树根,树中的任意节点的前趋节点集具有良序关系。
定义9:流程CIMS生产空间的DOODM可以描述成为一棵树。
证明:以产品为树的根,中间产品为树的节点,原料为树的叶子,节点关系通过ORs反映,即以生产规则左边的对象为子树的根,而生产规则右边的对象是其直接后继节点,这样即可形成一棵对应于一条生产规则的子树。所有这些子树连接起来即可形成一棵以产品为根的树。树中的任一条路径就反映一生产子流程,一条路径内的对象之间具有所定义的偏序关系。这样一棵树反映了以树根为产品的一个生产空间,也描述了该产品的DOODM。
至此的描述只反映了流程CIMS中的物料关系,因为上述的生产规则的对象和树的节点都只代表产品、中间产品和原料。为了更好地用此模型反映生产关系,对上述模型作必要扩充,加上其它条件和约束,例如,能源和设备约束等,可以直接在规则后面用∧加上去。扩展后的规则可以描述为:
P←(P1∧P2∧…∧Pn∧M1∧M2∧…∧Mn)∧(E1∧E2∧…∧En)∧(D1∧D2∧…∧Dn)
这里用E代表能源,D表示设备。不论是能源或设备都包含许多其它的信息于其中,如蒸汽的温度就是蒸汽这一能源的一个特性。如何描述并应用这些信息,可参考文献[3]。同样,可以拓展树结构,把能源和设备都看成是以产品或中间产品为根的子树的叶子,可以用虚线表示树枝。
选择从产品出发而不是从原料出发进行演绎是符合CIMS哲理的,也是符合市场经济要求的,因为客户需要一定数量和一定质量的产品,企业应根据这一需求来制定各种计划。
这样的演绎推导可以得到最佳匹配和最佳的调度依据以及最佳控制指标。可以看出,树的叶子反映了原料需求、能源需求、设备需求。生产调度作用于推导的每一步,除了叶子(原料、能源、设备)之间的调度外,各中间产品之间也要进行调度,例如,满足两种中间产品的比例关系需要一个调度。但是,归根结底,是对原料、能源、设备的调度。
其依据可以从根开始逐层推出来。同时可以沿着树的路径跟踪产品的成本和质量,也可以把最终产品出现的问题在某一节点找到问题的症结。