引 言
随着60年代计算机技术的推广,计算机被应用于制造业的各个方面。计算机集成制造(CIM)是计算机在制造业领域应用的必然结果。根据REMBOLD计算,CIM的使用减少了15%-30%的设计费用,减少了30%-60%的库存时间,提高了40%-70%的生产率,减少了20%-50%的废料,并且提供了许多其它好处。然而这种将各种功能集成在一起,例如计算机辅助设计,计算机辅助过程规划,计算机辅助产品设计和控制,计算机质量控制和计算机辅助制造,需要大量由用户收集的数据以便分配给这些领域。IDEF1x(Integrated
CAM DEFinition 1 Extended)为这种集成所需的数据模型提供了一种规范的结构。因此,在CIM蓬勃发展的今天,研究IDFE1x模型,不仅具有方法论上的理论意义,而且有实际价值。
1 IDEF1x模型构造
一个IDEF1x模型的构造可以通过以下五个步骤来完成。
1.1 系统分析
一个具体的模型可以根据它的目标和范围来定义。这些目标通常包括:
(1)项目定义:声明要做些什么,为什么,怎样做。
(2)原始数据:原始数据的收集计划,包括文件索引和编排。
(3)作者惯例:通过声明一个基本惯例,作者可以选择构造和管理模型的方式。
模型的构造应从目的描述和范围描述开始。这些描述应指明模型的时间范围,即这个模型是当前系统还是将来系统,同时项目范围应指明感兴趣的数据,这可以通过限制用户的数据视图范围来达到。
一个模型的价值在于它能否被用户所接受,因此要经常通过专家小组的协商来解决问题,使用户和设计者的意见达到一致。
1.2 确定实体
实体集的成员都有一个共同的特征和属性集。例如机器集中的所有成员都有一个序列号,一种类型以及一些动力要求。建模者可以根据以下四个问题的回答来区分候选实体:
(1)它能被描述吗?即它有特征吗?
(2)该实体有一些实例吗?
(3)一个实例可以与其它实例区分开吗?
(4)它是否针对或描述了某些事物?(如果回答“是”,则它是一个属性而非实体)
根据这些问题的回答,建模者可以定义初始实体池。例如,假设要构造一个机器车间模型,模型描述如下,“机器车间的IDEF1x模型主要描述机器和机器产品之间的联系,是一个当前模型”。潜在的实体包括:机器、工具、零件、产品。
实体号 实体名
E-1 机器
E-2 工具
E-3 零件
E-4 产品
1.3 确定联系
1.3.1 相关实体的标定
由于在IDEF1x模型中只允许二元联系,n元联系必须定义成n个二元联系,其子实体必须依赖父实体存在。如果父实体和子实体代表的是同一现实对象,那么该父实体称为父类实体,该子实体称为子类实体。每个子类实体实例必对应于一个父类实体实例,而每个父类实体实例对应0个或1个子类实体实例。
在模型的初始报表中,允许存在非确定联系。本阶段可以用实体联系矩阵来标出实体间的联系。
机器 工具 零件 产品
机器 X X
工具 X X
零件 X X X
产品 X
实体联系矩阵
1.3.2 联系定义
一个联系必须从两个方向来检验以标定它是确定联系还是非确定联系。例如,机器和工具实体间存在非确定联系。但如果两实体其中一边的联系基数是1,则该联系是确定联系。一旦确定依赖关系,建模者必须命名联系并定义两实体实例间的意义。对于非确定联系有两个名称,分别从子实体向父实体和从父实体向子实体定义,相互间用“/”分隔。
1.4 细化联系和关键字
1.4.1 解决非确定联系
在本阶段只有确定联系可被使用,因此可将非确定联系分解成两个确定联系,并生成一个新实体,同时修改以前阶段的相应信息。
1.4.2 关键字属性标定
一个能唯一标识一个实体实例的属性实例称为实体的主关键字,潜在的主关键字称为候选关健字,其它的关键字称为选择关键字,只有主关键字能迁移到子实体。
关键字的标定是一个迭代过程,在此过程中一个实体的所有候选关键字都要标定,这些候选关键字中的一个成为主关键字。
1.4.3 关键字迁移
关键字迁移能够将一个实体的主关键字复制到另一个实体中,通常是一个子实体,关键字的迁移需遵循以下三条规则:
(1)关键字的迁移总是从父实体到子实体。
(2)整个关键字包括其所有成员属性在每对实体的联系中只能迁移一次。
(3)选择关键字和其属性不迁移。
1.4.4 关键字和属性的合法性
在关键字的标定和迁移中必须遵循以下六条规则:
(1)禁止使用非确定联系句法。
(2)从父实体到子实体的关键字迁移是强制的。
(3)一个实体实例的一个属性在同一时刻不能有一个以上的值,即非重复规则。
(4)拥有复合关键字的实体不能被分成分别拥有部分关键字的多个实体,即最小关键字则。
(5)一个实体实例的属性不能是一个空值,即非空原则。
(6)实体间的双向联系需要进行断言,即分成两个基本的单向联系。
1.5 建立模型
本阶段是建模过程的最后阶段。本阶段工作内容如下:
(1)属性池的扩展,即将非关键字属性添加到属性池。
(2)属性所属关系的建立。
(3)定义非关键字属性。
(4)数据结构的合法化和进一步细化。
在本阶段的结论中,应修改功能视图以显示模型的细化结果,其相应的实体数据集应包括:
(1)每个实体的定义。
(2)主关键字、选择关键字、外关键字属性表。
(3)所属属性(关键字和非关键字的)定义。
(4)实体是父实体的联系表。
(5)实体是子实体的联系表。
(6)双向断言的定义。
(7)用来显示非关键字属性的单独实体图。
(8)联系和共享实体间的相互参照。
(9)关键字和非关键字属性与其实体间的相互参照。
2 研究与讨论
IDEF1x数据模型还处于不断的发展过程中,其未来的一个主要研究领域是将对象引入数据模型。这样的模型有以下优点:更易于建立涉及行为的模型,更易于复杂对象的建模,更易于类型的扩展,更易于定位变化所带来的影响。
另一个主要研究领域是有关理论的推导,为IDEF1x建模提供强有力的理论工具,使其更易于使用。
作者单位:华中理工大学计算机系 武汉 430074
参考文献
1 ANG, G.L., and GAY, R.K. IDEFO modelling for project risk
assessment. Computers in Industry,22,33~45,1993
2 REMBOLD,U., NNAJI,B.O, and STORR, A. Computer Integrated
Manufacturing and Engineering, 1993
3 ANDRREW KUSIAK, TERRY LETSCHE and ARMEN ZAKARIAN. Data modelling
with IDEF1x. Computer Integrated Manufacturing, 1997,10(16)
4 APPLETON. Information Manual-IDEF1 Extended. D.Appleton Company,
Manhattan Beach, CA,1986
5 陈建荣等.分布式数据库设计导论.清华大学出版社,1992