UML2.0如何规范改善结构建模的性能

开发 架构
UML统一建模语言相信大家都有所了解,那么你对UML2.0和结构建模的性能问题你是否熟悉,这里就向大家介绍一下UML2.0规范改善结构建模的性能方面的内容。

本节向大家介绍一下UML2.0规范改善了结构建模的性能,主要包括顺序框图和时序框图等内容,相信通过本节的学习你对改善结构建模的性能有一定的认识。下面让我们一起来看一下具体介绍。

UML2.0规范改善了结构建模的性能

UML2.0完全建立在UML1.x基础之上,大多数的UML1.x模型在UML2.0中都可用。但UML2.0在结构建模方面有一系列重大的改进,包括结构类、精确的接口和端口、拓展性、交互片断和操作符以及基于时间建模能力的增强。当然还有时序框图,但如果你不使用这些功能,也就不用担心这些特性,因为仅使用类框图、顺序框图和状态框图仍可建立非常复杂的实时嵌入式系统。

顺序框图

对顺序框图进行修改主要是要达到两个目标:改进“规格性”(定义事务的能力)和“拓展性”。最明显的改变在后一个目标中得到体现。顺序框图可以被分解成“交换片段”,而这些片段既可以表示在同一个或者另外的顺序框图中。

虽然UML2.0的顺序框图看起来与UML1.x的非常相像,例如它们都有生命线(lifeline)、消息等,但两者也有很明显的不同。其中一个不同是在框图右上角有一个5边形的盒子(见图4),它是交互片断的“操作符”。在这个框图中,我们看到“sd例子”。操作符sd是该片断的名字。在这个大框图中,还可以看到嵌套的另一个顺序框图,它的名字是“alt”,是“alternative”的缩写(If/Then/Else),它作用于被嵌套的片断。如果监视点(Guard)的值为“TRUE”,则这个片断的上半部分被执行;相反地,如果“else”监视点的值为“TRUE”,则执行下部分片断。这个标记比起UML1.x中的分支标记更加有效,同时还注意到了递归性。交互片断也可以包含一些嵌套的交互片断,而它们都有适用于自已整个(嵌套的)片断的操作符。

这些操作符包括:Sd――命名顺序框图;ref――引用“交互片断”;loop――重复交互片断;alt――选择;par――并发(平行)区域;seq――部分顺序(缺省值);strict――严格排序;assert――必需的;opt――可选的“模板”;neg――“不可能发生”或有问题的规范。ref操作符允许引用在单独框图中定义的交互片段.
生命线也可以按照图5所示进行分解。这时实例线“ServiceBase”可以分解成另一个框图(图5右下角中的小框图)。消息的进入或退出点被称作“门(gate)”,它们能让工具确保顺序框图之间的兼容性和一致性.

时序框图

顺序框图是观察服务要求顺序的一个有效方法,但它还只是观察时间相关动作的一个次优方法。为了更详细表达时序,我开发时序框图,它们现在已经被UML2.0所采用并只做了很小修改。图6表示了一个简单的时序框图,竖轴表示状态,横轴表示时间。竖轴方向的值通常是离散的,比如状态和一些枚举类型的值。时序框图中离散值的数轴很常见,所有重要离散情况都可以使用,甚至是逻辑值或数学表达式。时序框图也包含顺序框图中的其它元素,例如门、消息和约束。

图7显示了多个实例在时间上的协调关系,实例由虚线隔开。连续值有两种表现形式。缺省形式如图8的下半部分所示,值被保持直到它被改变。选取它作为缺省值是因为大多数离散系统都是严格据此工作的。对于值可在其中连续变化的物理过程和系统工程环境,可替代的形式可能更加适合。

其它资料

UML2.0的内容远比前面介绍的要多。可能最重要的一点是,UML1.x模型在大部分情况下都将继续有效。这里对内部元模型结构做了大量重新设计、再设计工作,并且随着对技术细节不断地推敲,这一工作还将继续。许多细小而重要的(对于某些人)的变化正在发生,如关联性(association)、关联子集、合并动作、活动等。虽然UML的基本性质和表现力没有变化,但仍有必要提及以下三件重大事项。

第一,交互框图将活动框图和顺序框图结合在一起,使活动框图成为了一系列顺序框图的“主框图”。这样人们就可以建立一个顺序框图的”地图”,从而很容易地在其中浏览.

第二,在UML1.x中,活动框图和状态框图具有同样的语义。换句话说,它们表达同样的事情,但用了不同的标记。在UML2.0中,活动框图是基于Petri网络令牌语义,而不是基于有限状态自动控制,因此更具有表现力。虽然它对计算算法不是很重要,但是对过程建模很有帮助。

第三,UML2.0包含了表示结构元素(对象)之间数据流动的流程框图(FlowDiagrams)。它与协作框图(collaborationdiagram)中的信息流动类似,但不完全相同。对于那些希望构建数据流框图式模型的建模者,可按照图9的UML方式进行建模。

本文小结

UML2.0是完全建立在UML1.x基础之上,大多数的UML1.x模型在UML2.0中都可用。但UML2.0在结构建模方面有一系列重大的改进,包括结构类、精确的接口和端口、拓展性、交互片断和操作符以及基于时间建模能力的增强。当然还有时序框图,但如果你不使用这些功能,也就不用担心这些特性,因为仅使用类框图、顺序框图和状态框图仍可建立非常复杂的实时嵌入式系统。
 

【编辑推荐】

  1. UML2.0与UML1.x的异同
  2. UML之父称UML2.0版将简化大型开发
  3. 如何绘制UML用例图
  4. UML中各种UML图形的建立步骤简明介绍
  5. UML2.0使模型驱动的开发更加容易

 

 

责任编辑:佚名 来源: uml.org.cn
相关推荐

2010-06-10 12:55:11

UML2.0

2010-06-10 12:37:05

UML2.0

2010-06-10 12:19:07

UML2.0

2009-11-09 10:57:34

ibmdwUML

2010-06-30 09:34:44

UML建模技术

2010-06-07 18:17:54

UML建模

2010-06-30 14:37:20

UML类图

2010-06-10 14:28:13

UML建模误区

2009-02-19 11:29:12

UML建模要点总结

2009-04-29 10:46:34

UML建模总结

2015-03-31 14:47:22

JavaJava性能

2010-06-30 15:10:18

2010-06-08 15:44:18

UML建模工具

2010-07-06 11:21:37

UML状态图

2010-07-05 13:55:40

UML图分类

2010-06-09 15:53:30

UML建模

2010-06-08 18:53:43

UML建模工具

2010-06-30 14:46:49

UML类图

2021-05-28 09:10:40

JavaScript性能GPU

2010-06-29 17:27:49

UML建模方法
点赞
收藏

51CTO技术栈公众号