UML系列文章(24)高级行为---时间和空间

本章内容

  • 时间、时间段和位置
  • 对时间约束建模
  • 为对象的分布建模
  • 对移动的对象建模
  • 处理实时系统和分布式系统

现实世界是一个严厉无情的地方。事件可能在不可预料的时刻发生,还会在一个特殊的时刻要求一个特殊的响应。系统的资源可能需要分布在世界各地,某些资源甚至还有移动,这就产生了关于反应时间、同步、安全性和服务质量的问题。

对时间和空间建模时任何实时系统或分布式系统的基本要素。可以使用许多UML的特征,包括时间标记、时间表达式、约束和标记值,来可视化、详述、构造和文档化这些系统。

处理实时系统和分布式系统是困难的。好的模型可以揭示系统的时间和空间特性。

1. 入门

当开始对大多数软件系统建模时,通常假定一个理想的环境---消息立即被发送,网络从不断开连接,工作站从不失败,网络上的负载总是平衡的。不幸的是,现实世界并不以这种方式工作---消息要花费时间传递(并且有时丢失),网络会断开,工作站会失败,网络上的负载常常是不平衡的。因此,当遇到必须在现实世界操作的系统时,一定把时间和空间的问题考虑进去。

实时系统是这样一个系统,它的某些行为必须在一个精确地绝对或相对时刻开始,并且在一个可预见的(常常是受限的)时间段内完成。在一种极端的情况下,这样的系统是硬实时的,需要在几纳秒或几微秒内完成完整而可重复的行为。在另一种极端的情况下,模型可能是近似实时的,也需要可预料的行为,但只要求在几秒或更长的时间内完成。

    分布式系统是这样一个系统,它的构件可以物理地分布在各个节点上。这些结点可以代表物理上位于同一个机箱中的不同的处理器,甚至可以代表彼此相距半个地球远的计算机。

    为了表达对实时系统和分布式系统建模的需要,UML提供了定时标记、时间表达式、定时约束和位置的图形化表示,如图所示,

2. 术语和概念

    定时标记(timeing mark)是表示事件发生时刻的符号。在图形上,定时标记由位于顺序图边缘的一根小小的水平线表示。时间表达式(time expression)是用来计算绝对或相对时间值的表达式。时间表达式也可以由消息名和对其处理阶段的表示来形成,如request.sendTime或者request.receiveTime. 定时约束(timeing constraint)是关于绝对或相对时间值的语义陈述。从图形上看,时间 约束的表示同所有约束一样,即由用一对括号括起来的串来表示,并一般通过一个依赖关系链接到一个元素。位置(location)是指构件在结点上的放置。位置是对象的一个属性。

2.1 时间

    实时系统正如其名称所表示的,是时间关键系统。事件可以在规则或不规则的时间发生,对一个事件的响应必须在可预料的绝对时间或者相对于事件本身可预料的时间发生。

    消息的传送表示系统的动态方面,所以当用UML对一个系统的时间关键特性建模时,可以为交互中的每个消息取一个由时间表达式来使用的名字。交互中的消息通常是没有名字的,它们主要用事件(如信号或调用)的名字来表示。但是也可以给消息命名,以便书写时间表达式,因为同一事件可能触发不同的消息。如果所指的消息有歧义,就要用显式的消息名来指出想在时间表达式中提到的消息。对于给定的消息名,可以引用消息的三个函数中的任意一个:

  • 发送时间(sendtime)
  • 接收时间(receiveTime)
  • 传送时间(transmissionTime)

对于同步调用,也可以引用执行时间(executionTime)来表示往返消息的时间。然后可以用这些函数来表示任何复杂的时间表达式,甚至可以使用权值或偏移量,它们可以是常量、也可以是变量。最后,如图所示,可以把这些时间表达式放进一个定时约束中,来说明系统的定时行为。至于约束,可以把它们放在合适的消息附近,或者用依赖关系显式地连接到消息上来进行表示。

2.2 位置

    分布式系统的本质是包含物理上分散于系统各结点上的构件。对许多系统而言,构件在被装载到系统上时,位置是固定的;而在另一些系统中,构件可以从结点到结点进行迁移。

    在UML中,用部署图来对一个系统的部署视图建模。部署图代表系统在其上执行的处理器和设备的拓扑结构。制品(例如可执行程序、库、表等)存在于这些结点上。一个结点的每个实例将拥有某些制品的实例,而一个制品的每个实例肯定属于一个结点的一个实例。 

3. 常用建模技术

3.1 对定时约束建模

 

3.2 对对象的分布建模 

4. 提示和技巧

 一个具有时间和空间特性的结构良好的模型,应满足如下要求:

  • 仅仅揭示对于捕捉系统所期望的行为充要的时间和空间特性。
  • 集中使用那些特性,使之易于发现和修改。

在用UML绘制时间或空间特性时,要遵循如下的策略:

  • 给定时标记取一个有意义的名字
  • 清晰地区分相对的和绝对的时间表达式。
  • 仅当被部署的系统中元素位置的可视化很重要时,才显示空间属性。
  • 高级需求,请参照UML profile for Schedulability, Performance,and Time.这个OMG规范用于对实时和高性能反应式系统建模。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值