⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 umlcomoad003.htm

📁 软件开发文档大全
💻 HTM
📖 第 1 页 / 共 2 页
字号:
    <p></font>CORBA对象的外部表示</p>     </b><font face="Times New Roman"><p></font>ES标准流数据格式中定义的外部表示,如文件格式,和CDIF不同。交换语法和编码(Interchange       Syntax and Encoding)使用OA&amp;D工具中的丰富的语义进行编码,这一点是很重要的。否则,不同抽象层次间的翻译就很可能会引起错误和混淆。</p>       <p>我们选择了CDIF的编码而没有选择外部服务中定义的编码。这是因为:</p>       <blockquote>         <font face="Times New Roman"><p></font>CDIF的定义与元模型转换的详细程度是一致的;</p>         <p>有许多工具实现了CDIF;</p>         <p>在不同的情况下,CDIF可以以不同的结合方式与ES服务连接,以获得最大限度的可移植性和使用效率。</p>       </blockquote>       <font face="Times New Roman"><p></font><br>       采用CDIF标准的其它理由在文档《<i>依从UML的交换格式</i>》中讨论。</p>       <b><font face="Arial"><p></font>ES服务和CDIF的不同结合方式</p>       </b><p>下面的三个图说明了CDIF与CORBA外部服务的三种结合方式。这些图是按照从不需要ES服务到充分利用ES服务的顺序排列的。</p>       <p>       <font size="3"><img border="0" src="i/image54.gif" WIDTH="336" HEIGHT="88"></font></p>      <b><p>图1 - 从CASE工具到CDIF<font face="Times New Roman"></p>       </font>       </b><p> <font face="Times New Roman"></p>     </font><p>图1(上图)说明了不使用外部服务从CASE工具输出转换模型的步骤。这种方法适合在没有ES服务的环境中进行模型传送转换。对于多重传送转换,CDIF标准提供了一个灵活的格式载体,可以直接转换成分析和设计元模型。</p>     <font face="Times New Roman"><p></font> <img border="0" src="i/image55.gif" WIDTH="536" HEIGHT="88"></p>     <font face="Times New Roman" size="3"><p> </p>     </font><b><p>图2 - 从CASE工具到ES服务到CDIF<font face="Times New Roman"></p>       </font>       </b><p> <font face="Times New Roman"></p>     </font><p>图2(上图)说明了通过采用CASE数据交换格式(Case Data       Interchange Format,即CDIF)的外部服务,从CASE工具输出转换模型的步骤。图中,采用CDIF外部服务的功能。这种方法实现了与CDIF标准的多重工具移植相结合的标准流机制的ES特性。</p>       <font face="Times New Roman"><p></font> <img border="0" src="i/image56.gif" WIDTH="736" HEIGHT="88"></p>     <font face="Times New Roman" size="3"><p> </p>     </font><b><p>图3 - 从CASE工具到ES/CDIF到CDIF<font face="Times New Roman"></p>       </font>       </b><p> <font face="Times New Roman"></p>     </font><p>图3(上图)说明了通过采用标准流数据格式(Standard Stream       Data Format,即SSDF)的外部服务,从CASE工具输出转换模型的步骤。CDIF包含在SSDF的对象信息(Object       Info)部分。这种方法实现了与CDIF标准的多重工具移植相结合的标准流机制的ES特性、可移植性和分布性。</p>       <b><font face="Arial"><p></font>2.2.4.3 集合服务(Collection Service)</p>       </b><font face="Times New Roman"><p></font>OA&amp;D工具使用了集合服务(也称对象集合服务)中定义的集合,而不是序列(sequences)。工具的IDL模型采用了通用的集合,但在工具的实现中可以使用有序集合或者其它集合。这些集合的接口都是相同的。集合服务还添加了一些操作,如add、remove、replace和iterators。为了采用某些类型安全机制,工具的IDL模型还对集合作了类型定义。</p>       <b><font face="Arial"><p></font>2.2.4.4 命名服务(Naming Service)</p>       </b><p>只是在OA&amp;D工具的实现部分才需要给用户对象链接名字和解开名称约束。例如,在输入或输出部分模型的过程中,如包。因此,虽然工具的实现依赖于命名服务,但工具的规范与命名服务没有关系。</p>       <p>使用命名服务只是为了更好的对聚集(aggregation)进行管理。聚集和名字域都是UML语言预先定义的概念。UML自己执行命名规则(例如包),因此不必赋予用户对命名空间的更多控制。</p>       <p>命名服务仅限于UTS-8或ISO Latin。这也是一个问题。</p>       <p>注意不要因为可量测性问题(scalability issues)混淆了命名服务和生命周期服务。OA&amp;D工具所依赖的是生命周期服务。</p>       <b><font face="Arial"><p></font>2.2.4.5 事件(通知)服务(Event Service)</p>       </b><p>当某些模型或视图元素发生改变时,OA&amp;D工具可能需要给客户发送一个通知。工具的客户,如制图工具,可能希望在模型发生改变时更新模型的图形。工具的规范中并不包括这些特性,但如果工具开发者愿意实现这些特点,实际上并不会发生什么矛盾。</p>       <b><font face="Arial"><p></font>2.2.4.6 查询服务(Query Service)</p>       </b><p>查询服务(QS)中定义的集合已经被集合服务(CS)所取代,因此我们采用集合服务,而不采用查询服务中的集合。</p>       <p>查询服务所提供的查询功能是很有用的,但OA&amp;D工具并不一定必须使用查询功能。因此,我们没有定义OA&amp;D工具与查询服务的接口关系。例如,我们没有采用“模式匹配”之类的查询功能,而是为集合/重复定义了按名字查询的接口。如果客户想知道“模型中何处使用了某个对象”,可能会需要完全的查询功能。但这是高级的功能,而不是基本功能。</p>       <b><font face="Arial"><p></font>2.2.4.7 其它服务</p>       </b><font face="Times New Roman"><p></font>OA&amp;D工具与下列服务没有任何接口关系:</p>       <blockquote>         <p>持久对象服务(Persistent Object Service)</p>         <p>对象处理服务(Object Transaction Service)</p>         <p>并发控制服务(Concurrency Control Service)</p>         <p>关系服务(Relation Service)</p>         <p>注册服务(Licensing Service)</p>         <p>属性服务(Property Service)</p>         <font face="Times New Roman"><p></font>CORBA安全服务(CORBASecurity Service)</p>         <p>时间服务(Time Service)</p>         <p>对象贸易者服务(Object Trader Service)</p>       </blockquote>       <b><font face="Arial" size="4"><p></font><font size="4">2.2.5<a name="2.2.5"></a> CORBA工具</p>       </font><font face="Arial"><p></font>2.2.5.1 已采纳的CORBA工具</p>       </b><font face="Times New Roman"><p></font>OA&amp;D工具与下列工具之间没有任何接口关系:</p>       <blockquote>         <p>系统管理工具(System Management Facility)</p>         <p>分布文档构件工具(Distributed Document Component Facility)(即基于 OPEN         DOC 的“复合表示和交换(Compound Presentation &amp; Interchange)”) <font face="Times New Roman"></p>       </blockquote>       </font><b><font face="Arial"><p></font>2.2.5.2 正在审议的CORBA工具</p>       <font face="Arial"><p></font>2.2.5.2.1 元对象工具</p>       </b><font face="Times New Roman"><p></font>OA&amp;D工具可以继承元对象工具(MOF)的某些接口,但目前还没有作这方面的定义。在修改版中会考虑是否定义这些接口。</p>       <p>我们之所以想在OA&amp;D工具定义中继承MOF的某些接口,是因为MOF定义了一些工具客户向往的功能。我们将考虑如下的MOF接口:</p>       <blockquote>         <p>在集合中按名字查找对象</p>         <p>返回对象的属性集合,可以包括对象继承的属性</p>         <p>返回所有的子类和超类</p>       </blockquote>       <b><font face="Arial"><p></font>2.2.5.2.2 商业对象工具</p>       </b><p>商业对象工具(BOF)可以作为OA&amp;D工具的客户。OA&amp;D工具规范与BOF工具无关。</p>     </body>    

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -