信息建模集成定义(IDEF1X)是语义数据模型(英语:Semantic data model)开发的数据建模语言。IDEF1X被用来产生一个图形信息模型,它表示在环境或系统中的信息的结构和语义 。
IDEF1X允许的语义模型构造,足以支持管理数据为资源,信息系统集成,和建造计算机数据库。这个标准是软件工程领域的IDEF建模语言家族的一部分。
数据建模技术用来以标准的、一致的和可预测的方式来建模数据,从而将它作为资源来管理。它在一个机构内可以用于要求定义和分析数据资源的标准手段的项目中。这种项目包括将数据建模技术结合入方法论,管理数据为资源,集成信息系统,或设计计算机数据库。IDEF1X的根本目标是支持集成。集成的方法聚焦于捕获、管理和使用被称为概念模式(英语:Conceptual schema)的一个数据资源的单一语义定义。
在1980年代早期开发最初的IDEF1X的时候,主导系统开发的世界观(view of the world)是以数据和过程作为框架。这种数据/过程(D/P)范型(paradigm)的建模方法被归结为:
在这种方法中,信息建模技术的主要目标是:
D/P范型对信息技术的所有方面施加了强大和普遍的影响。对于IDEF的结果是产生了两种不同的技术:IDEF0用于过程而IDEF1X用于数据。使用D/P世界观已经开发出了数以千计的成功系统,很多开发者继续成功的采用着这种技术。IDEF1X97(IDEFobject)采用了面向对象(OO)的世界观。
在1970年代中期美国空军在集成计算机辅助制造(英语:Integrated Computer-Aided Manufacturing)(ICAM)规划中认识到了对语义数据模型(英语:semantic data model)的需要。这个规划的目标是通过计算机技术的系统应用增进制造生产力。ICAM规划确认了在增进制造生产力中所涉及到的人们需要更好的分析和交流技术。作为结果,ICAM规划开发了叫作IDEF(ICAM定义)方法的一系列技术,包括如下:
IDEF信息建模(IDEF1)的最初方法由ICAM规划在1981年发表,基于了当年的研究和工业需求。这种方法的理论根源来自Edgar F. Codd在关系模型理论上和Peter Chen在实体联系模型上的早先工作。最初的IDEF1技术基于了休斯飞机公司的Dr. R. R. Brown和Mr. T. L. Ramey和D. Appleton公司(DACOM)的Mr. D. S. Coleman的工作,有着Charles Bachman、Peter Chen、Dr. M. A. Melkanoff和Dr. G. M. Nijssen的关键评论和影响。
在1983年,美国空军发起了在ICAM规划之下的集成信息支持系统(I2S2)计划。这个计划的目标是提供一种技术,能够在逻辑上和物理上集成异构计算机硬件和软件的网络。这个计划和工业实验的结果是,认识到了对信息建模的增强技术的需求。
从空军IDEF规划的合同管理的视角看来,IDEF1X是ICAM IISS-6201计划的结果并由IISS-6202计划进一步的扩展了。为了满足IISS-6202计划确定的数据建模增强要求,子承包商DACOM,获取了逻辑数据库设计技术(LDDT)和它的支持软件(ADAM)的许可证。从建模技术的技术内容视角看来,IDEF1X是重命名了的LDDT。
LDDT是数据库设计组(DBDG)的Robert G. Brown在1982年设计的,他完全在IDEF规划之外并且不知情IDEF1。然而IDEF1和LDDT的中心目标是一致的。LDDT基于了关系模型、实体联系模型和J. M. Smith与D. C. P. Smith的数据泛化(generalization)概念。LDDT的图形语法不同于IDEF1,并且更加重要的是,LDDT包含很多不出现于IDEF1的相互联系的建模概念。因此不再扩展IDEF1,DACOM的Dr. Mary E. S. Loomis使用尽可能兼容于IDEF1的术语,写了一份LDDT的实质子集的语法和语义的简要总结。DACOM将结果标记为IDEF1X(扩展的IDEF1)并提交给了ICAM规划,它在1985年将其发表。
在1993年1月DBDG的Robert G. Brown完成了IDEF1X形式化。他得到了多次草案所受评论的帮助,评论者包括:Tom Bruce、Ben Cohen、Dave Brown、Twyla Courtot、Chris Dabrowski、Jack Boudreaux、Dan Spar和Mary Loomis。在1993年12月,美国政府发行了IDEF0标准(联邦信息处理标准刊物183即FIPS 183)和IDEF1X标准(FIPS 184),并由国家标准技术研究所(NIST)来维护。
IEEE Std 1320.2-1998继续了IDEF1X语言的演化。最初的工作由DBDG的Robert G. Brown在1994年和1995年早期为NIST完成,对IDEF1X向完全覆盖的对象建模的优雅进化,提供了所需要的基本元素。这个标准描述了IDEF1X97(IDEFobject)的语法和语义,它由两个概念建模语言组成:一个“键风格”语言后向兼容FIPS 184,它支持关系数据库和扩展关系数据库(英语:Object–relational database),和新的“标识风格”语言,它适合于对象数据库和面向对象建模(英语:Object-oriented modeling)。
在2008年9月2日,有关的NIST标准FIPS 183和FIPS 184被撤销。自从2012年9月,IDEF0和IDEF1X97(IDEFobject)一起成为ISO/IEC/IEEE国际标准,在2019年二者被确认仍是当前标准。
实体语法
域层级
联系的势语法
未明确联系语法
特性和主键语法
替代键语法
外键语法
角色名字语法
标识联系语法
强制非标识联系语法
可选非标识联系语法
分类联系语法
IDEF1X使用的术语非常类似于IDEF1,二者采用的理论基础和概念却有着根本的差异。实体在IDEF1中表示在一个特定机构内维持的关于物理或概念对象(比如人、处所、事物或想法)的信息。术语实体类在IDEF1中指称实体的搜集,或保管的关于真实世界中对象的信息的类。实体类可以被想象为是存放3英寸×5英寸卡片的盒子,每个卡片都是实际的实体。盒子外面标记着:⑴描述盒子中有何种类型的卡片的一个实体类名字,⑵向最终放进来的单个卡片提供的一个模板(template)。
实体拥有关联的特征特性,用来记录真实世界中对象的属性。使用卡片档案(card file)模型,特性类是向在这些单个档案卡片中找到的特性-值对提供的模板。术语特性类指称特性-值对的集合,这是通过将在档案盒子外面找到的特性的名字,和列出在这些单个卡片自身上的、对于单个实体类成员(实体)的这个特性的值,组合起来形成的。键类是一个或多个特性的一个搜集,凭借它就可将卡片或实体类成员相互区分开来。键类通过放置到模板的左上角并加以下划线来指示。
关系(relation)在IDEF1中是在两个单个的信息映像(image)之间的关联。这种参照的存在,是通过注意到一个实体类的这些特性类,包含了被参照的实体类成员的键类的那些特性类而发现(或验证)的。一个关系类可以被想象为是向实体类之间存在的关联提供的模板。需要注意到一个要点,如果关于两个或多个真实世界中对象之间的关联没有保管信息,那么从IDEF1的视角看来就不存在关系。关系类在IDEF1框图中表示为在实体类盒子之间的链接(link)。在链接端部的菱形和在链接中部的半菱形,编码了关于关系类的额外信息(就是势和依赖)。这些链接经常指示出一个机构的业务规则的存在。
同IDEF1X有关的底层概念,意图将关于真实世界事物的自然语言事实的建模,桥接于逻辑数据结构的建模。这相当不同于IDEF1的目标,它严格关注于真实世界事物的信息映像(不是事物自身,也不是表示关于事物的信息的数据结构)。
在软件工程中,三模式方法(英语:three-schema approach)是建造信息系统和系统信息管理的方法,提倡概念模型作为完成数据集成的关键。
模式(schema)是一种模型,通常描绘为框图(英语:diagram)并且有时还结合语言描述。这个方法用的三个模式是:
位于中心的概念模式,定义用户所思考和谈论的概念的本体。物理模式描述在数据库中存储的数据的内部格式,而外部模式定义应用程序表现出的数据的视图。这个框架尝试将多个数据模型用于外部模式。
概念模式提供一个企业内数据的一种单一的集成定义,它不偏向于数据的任何单一应用,并且不依赖于数据在物理上如何存储和访问。概念模式的主要目标是提供对数据的含义和相互关系的一种一致性定义,它可以被用于集成、共享和管理数据的完整性。概念模式必须有三个重要特征:
建模过程可以分成模型开发的五个阶段。
综合出一个实体
实体联系矩阵
实体层次框图例子
聚焦一个单一实体的“实体框图”
特性实例和它们分别的实体实例
未明确联系精制
对键特性应用不重复规则精制
用来去除多余联系的路径断定
实体/特性矩阵
第三阶段功能视图框图的例子
对非键特性应用不重复规则精制
第四阶段功能视图的例子
形式化(formalization)的目的,是通过向IDEF1X的每个建模构造,提供到形式的一阶语言中的一组等价句子的映射,精确的陈述这些构造意味着什么。图形语言可以被当作表达等价形式句子的实际的简洁方式。
IDEF1X结合了关系模型、实体联系模型和数据泛化的元素。增加了视图、术语表(英语:Glossary)(glossary)和模型层级的想法,来解决实际中遇到的那种规模的问题。结果是IDEF1X的形式化,不能严格的只依据关系模型,而是直接使用一阶逻辑。为了增进形式化的能用性,只使用逻辑的有限子集,本质上为入门教程所涵盖。
一部分的形式化依托于IDEF1X的元模型。形式化中解释(interpretation)所指定的关系,可以非正式的看作在IDEF1X中使用的常见的样本实例表。建模构造的形式句子,可以非正式的看作在这些实例表上的初步的查询语言。元模型、实例表和查询语言仅凭视角(points of view)自身就是有用的,不依赖于详细的形式化。
形式化预期向依靠IDEF1X构造的含义的如下领域提供坚实基础,如SQL或其他代码生成,与其他建模方式来回转化,与其他种类的模型集成,像静态属性一样捕获动态属性。这些领域都要求形式化提供的严格定义的语义。
IDEF1X模型构成自(比如以框图、语言或表格表达的那些实体、特性和联系的)一个或多个视图,加上一组术语定义,至少包括这些视图(直接或间接)用到的全部的实体和域。形式化处理过程产生相应的一阶逻辑中的理论(英语:Theory (mathematical logic))。
一阶逻辑可以被当作是自然语言的用来描述和推理事物的那些方面的形式语言版本。个体事物使用常量、变量和函数符号来指称;在事物之间的关系使用谓词(英语:Predicate (mathematical logic))符号来陈述;而关于事物联系的句子通过逻辑联结词比如与、或、非,和全称(for all)及存在(for some)量词来陈述。
一阶逻辑理论构成自其中常量、函数和谓词符号被限定于特定词汇表(vocabulary)的一阶逻辑的语言,加上这个语言中的一组句子(叫做公理)。IDEF1X理论的起点是带有等式的一阶逻辑,假定已有整数和列表的理论的词汇和公理。补充的IDEF1X的词汇和公理来自如下本质想法:
IDEF1X所建模的是一个企业所关心的事物,不是这些事物的名目,也不是关于这些事物的数据,一个IDEF1X模型预期成为这个企业所关心的事物的概念模型。这种论域UOD(universe of discourse)在它的模型之外有独立的存在和现实。在任何时间点上,UOD都处在特定状态(state)下,就是说有特定的实体实例存在,它有特定的属性值,并拥有特定的与其他实体实例的联系。对于任何UOD状态,一些句子是真的,而另一些句子是假的。一些UOD状态是可能的,另一些是不可能的。关于UOD的句子是真还是假,不依赖于它的任何模型。
一个IDEF1X模型被认为是正确的,如果它以相关(英语:Relevance)(relevant)的方式匹配UOD。一个正确的IDEF1X模型允许所有可能的UOD状态,并拒绝所有不可能状态,它们直接冲突于这个模型的显式断言(英语:Judgment (mathematical logic))。换句话说,一个IDEF1X模型是正确的,如果它坚持为真的句子(公理),事实上在所有可能UOD状态下是真的,在所有不可能状态下是假的。
真实是依据解释来定义的。一个解释将来自UOD的元素指定(assign)给这个理论的符号。特别是,一个解释将某一个关系指定给每个谓词符号。作为结果,在理论中的句子变成关于UOD的句子,并且它们的真实要依据UOD的现实来确定。以这种方式,每个句子在这个解释中要么是真要么是假。一个解释被称为一个理论的“模型”,如果这个理论的所有公理在这个解释中都是真的。一个IDEF1X模型是正确的,当且仅当对应于它的理论,仅拥有所有的将可能的UOD状态指定给这个理论的符号的那些解释作为“模型”。
在形式化中,一个实体类(或联系)成为一个谓词符号。在逻辑中,一个解释将一个关系指定给这个谓词符号。在预期解释中,针对一个IDEF1X模型的UOD构成自:视图、实体、域、域实例、视图实体、视图实体实例,视图联系、视图联系实例、视图实体特性和视图实体特性值。这些在IDEF1X中都非正式的用样本实例表来展示。非正式的实例表是对指定给谓词符号的形式关系的一种表示。在形式化的语境中,样本实例表展现了一个(可能的)UOD。在示例的样本实例表的左侧的iN
表示被归类为是对应于这个表的实体类的成员的一个“事物”的标识。
IDEF1X可以被用来建模IDEF1X自身。这种元模型有多种用途,比如仓库(repository)设计、工具设计或用于规定有效的IDEF1X模型的集合。依赖于用途,会得到略微不同的模型。对元模型有两个重要的限制。首先它们规定语法而非语义。其次元模型必须补充采用自然或形式语言的约束。IDEF1X的形式理论提供了表达所需约束的语义和方式二者。
IDEF1X标准在规定了IDEF1X模型到一阶理论的映射之后,定义了IDEF1X元模型。在这个模型上的约束使用一阶语言来表达。这些约束成为这个元模型的IDEF1X理论的一部分。一个有效的IDEF1X模型接着被定义为这个元模型的IDEF1X理论的“模型”。
面向对象(OO)世界观的涌现已经严重影响了IDEF1X的演变。对象范型采用了根本上不同的世界观。在这个范型中,建模方法可以归结为:
这种方式中,建模技术的主要目标是:
D/P和OO范型的方式是不同的。对于IDEF1X,从D/P和OO方式涌现出来的概念不是完全不兼容的,实际上概念有高度的对应性。
IDEF1X97的语言构造包括:
本条目引用的公有领域材料来自国家标准技术研究所的网站或文档。