根据OADTF-RFP1
向OMG-ADTF的提议
1997年1
月13日
提出者:
Rational Software Corporation, Microsoft, Hewlett-Packard
Oracle, Texas Instruments, MCI Systemhouse, Unisys
ICON Computing, Intellicorp
2800 San Tomas Expressway
Santa Clara, CA 95051-0951
对这个提议的意见,请发往[email protected]。负责此工作的主要联系人是瑞理公司(Rational Software)的Ed Eykholt,他的电子邮件地址是:[email protected].
与此工作有关的人员列在UML Summary的Acknowledgments部分。
版权所有? 1997瑞理软件(Rational Software)公司、MCI systemhouse公司以及Unisys公司。
本文档允许被影印、电子发行或被翻译为外语,如果完全复制本文档,请全文引用本提示,并包含下列声明:
通过环球网(WWW)地址 http://www.rational.com 可以得到统一建模语言(UML)的最近更新版本。
1. 前言
Rational Software、Microsoft、Hewlett-Packard、Oracle、Texas Instruments、MCI Systemhouse、Unisys、ICON Computing和Intellicorp向OMG提出下列建议并希望被接受为标准:
统一建模语言UML,1.0版
依从UML的OA&D工具接口
依从UML的交换格式(用于UML的CDIF主题领域),加上一个支持CDIF的标准的集合。
根据OMG OA&D任务组的RFP-1,这些都将在本提议中加以描述。为方便起见,本提议可被称为“统一建模语言(UML)提议”,尽管它确实包括一些非UML专属的部分。
本提议集中了在对象技术领域的实践精华。其中包含统一建模语言(UML),1.0版。作为一种对象建模语言,UML很好的继承了它之前的三种面向对象的建模语言(Booth、OMT和OOSE)。这三种语言描述了50%以上正在使用的OO方法。UML不仅仅是这些建模语言的并集,因为它附加了表达能力更强的内容来处理建模问题, 以前这些问题没有用一种统一的方法解决。文档UML概要(UML Summary)提供了关于UML的更多信息。
一旦本提议被接受,就将起到减少企业内部围绕建模语言和交换格式问题的混乱程度的作用。它的接受将解决许多关于表示方法和模型交换格式的争议,从而允许企业把精力投放到更有价值的活动上去。它还将使可视化建模工具之间的语义交换成为可能。不论从商业远景还是从技术优势上看,采纳这个提议都是很有意义的。
RFP的主要目标之一就是通过启用OO可视化建模工具的互操作性来促进产业发展。然而,为了能在工具之间交换有意义的模型信息,就要求有一个语义和表示法上的协议。RFP在所有这些方面都期望收到提议。下表总结了这些方面的需求,并说明了我们的提议怎样陈述这些需求。
RFP需求领域 | 本提议如何陈述这些需求 |
给出通用的OA&D元模型的形式化定义,以表达OA&D模型的语义。其中包括静态模型,行为模型,使用模型和体系结构模型 | UML定义了一个元模型及其语义。UML支持RFP中描述的各种不同的模型甚至于综合了它们的基础语义。 |
在OA&D工具之间模型交换机制的IDL描述 | 提议包含了为依从UML的分析和设计CORBA工具的接口定义。
提议也包括一个基于CDIF的工具交换格式,而CDIF是由电子工业协会(EIA)维护的,它作为一个稳定的和有用的标准集合被广泛接受。OMG对这个CASE工具工业标准的接受将进一步改善各标准化组织间的交流与集中。
工具接口定义包括一个IDL接口集合,它支持用户模型的动态构造和移动。 |
可选择的(非必需的),提供用于表达OA&D模型的便于人工阅读的表示法。 | 提议定义了UML表示法和用于表达UML丰富语义的很好的图形语法。 |
2. 本提议的结构
下图说明了与提议所依赖的有关技术。
在依赖性上,UML语义比以前工业用语义更进了一步,包括那些在CORBA和OMG对象模型中使用的语义。这些对象模型是CORBA服务和CORBA工具的基础。UML表示法,依从UML的工具接口及交换格式定义都依赖于这些语义。
下面是构成本提议的文档的列表,其中附有它们的OMG文档号。那些用星号标记的是在UML 1.0中定义的部分。
这些文档可以从OMG服务器上获得,见http://www.omg.org/member/doclist-97.html 下的索引。提出者希望在4月中旬给出其修订版,到那时这些文档将被指定新的编号。最终的UML文档可从瑞理软件(Rational Software)公司的网络站点http://www.rational.com/uml 得到。
UML概要
该文档对UML作了简要介绍,讨论了提出它的动机、历史和以后的计划。
UML语义
UML语义(UML Semantics) 中定义了统一建模语言UML的丰富的语义和富有表现力的语法。语义主要在UML元模型中讲述,而UML元模型则是和UML类图及其相关文本一起讲述的。这一部分的附录讲述了UML语义涉及到的其它标准,包括已被OMG采纳的技术、正在被OMG考虑的技术、RM-ODP和CDIF。同时把一个UML元元模型和OMG元对象工具及CDIF元元模型作了比较。
UML表示法指南
在UML表示法指南(UML Notation Guide)中介绍了UML表示法和例子。UML表示法介绍了图解语法,用于表达由UML元模型描绘的语义。因此,UML表示法应当和UML语义(UML Semantics)文档一起阅读。
UML特定进程扩展
该文档从扩展机制和特定进程图符方面介绍了对核心UML的特定进程扩展。
依从UML的OA&D工具接口
为了定义有用的标准用于工具的互操作和模型信息的交换,在本提议中定义了两种机制。定义了OA&D工具接口,从而依从OMA的实现可以围绕一个有用(而不论其完善程度如何)的接口集合来完成其标准化。它和(已存在的及将要成为的)OMG标准之间的关系也被说明了。还包括一个附录,在那里描述了从UML到IDL的映射。
依从UML的交换格式
这部分的基础是CDIF标准。CDIF是电子工业协会(EIA)的CASE数据交换格式部分。EIA已经接受了许多CDIF标准。其中有一些也被OMG所采纳。OMG对CDIF标准的选择接受在实践上把它们向前推进了一步,因为:1)它是经技术证明了的;2)它被几个CASE工具实现了;3)它为将来工业上的统一展开了各标准化组织间的对话。
另外,为了UML提议能被采纳,该文档定义了一个CDIF主题领域,并且提供了UML编码,这样用UML建造的模型就能够用已有的CDIF标准来交换了。在该文档的前一部分中描述了一个初步工具的实现,那里用到了这些标准。
与OMG技术的关系
上述文档中有两个讲述了与OMG的关系,它们已被接受并在讨论中。UML语义(UML Semantics)附录讨论了语义关系而依从UML的OA&D工具接口(UML-compliant OA&D Facility Interface) 描述了IDL接口间的关系。
提议各部分之间的依赖关系
正如前面提到那样,本提议的各部分之间有互相依赖关系。我们试图使这些部分之间的分界尽可能明确,以便OMG可以对这些部分分别讨论。注意下面的依赖关系:UML语义(UML Semantics)部分相对于其它部分可以独立出来。记号法(Notation) 和依从UML的OA&D工具接口(UML-compliant OA&D Facility Interface)都依赖于语义。为UML定义的CDIF主题领域仅依赖于基础语义。我们认为把UML、工具接口和交换格式分别标准化是有益的。把它们看成分开的标准将允许它们以最灵活的方式被改进,尽管它们并不是完全独立的。
3. 概念的考验
在概念经受的考验及所受到的认可方面,有充足的理由支持本提议:
UML广泛流行。UML的广泛使用归因于其前身:Booch、OMT和OOSE的流行。它们占有了市场的50%以上。大多数(如果不是全部的话)这些方法的使用者打算改用UML,因为这样做很快就会给他们的工程带来便利。
UML得到了许多组织和方法专家的赞同。许多重要的组织和有名的方法专家直接参与了此提议,并对此提议表示完全支持。
大多数的OO可视化建模工具已经在一定范围内实现了UML,或正在计划实现它。有几个建模工具已经实现了对于多种编程和声明语言(包括IDL)从UML进行的代码生成和把他们的工程转换成UML。
大多数工具接口的映射是从UML元模型到IDL的直接映射。
CDIF是一个定义的很好、已被接受而且被实现了的工具交换的标准。
3.1 使用“统一建模语言(Unified Modeling Language)”的名字和标记
“统一建模语言(Unified Modeling Language)”这个名字,或者缩写“UML”已经得到了产业界的认可,因此它的提出者希望继续使用这个名字。如果OMG接受这个提议, 我们也鼓励OMG使用这个名字及其相关的标记。“统一建模语言(Unified Modeling Language)”这个名字和“UML”以及UML标记都没有注册。
3.2 致谢
下面是本提议包含的文档及其作者的列表。另外,还有许多对统一建模语言作出了贡献的人,在UML Executive Overview 中把他们单独列出。
文档 | 作者 |
OMG提议概要 (本文档) |
Ed Eykholt |
UML概要 | Ed Eykholt |
UML语义 | Grady Booch |
|
Cris Kobryn |
|
Cris Kobryn, Sridhar Iyengar |
|
Cris Kobryn, Sridhar Iyengar |
|
Joaquin Miller, John Cheesman |
|
Joaquin Miller |
表示法指南 | Jim Rumbaugh |
UML特定进程扩展 | Jim Rumbaugh |
依从UML的OA&D工具接口 | Ed Eykholt, Dave Tropeano |
|
Ed Eykholt, Dave Tropeano |
依从UML的模型交换格式 | Grant Larsen |