UML活动和动作

文章目录

UML活动和动作,构造活动图时,活动和动作是两个最重要的概念,其具体描述如下所述。

活动

在活动图中,每次执行活动时都包含一系列内部动作的执行,其中每个动作可能执行0次或者多次。这些动作往往需要访问数据、转换或者测试数据。这些动作须按一定次序执行。

一个活动规范允许多个控制线程的并发执行和同步,以确保活动能按指定的次序执行。这种并发执行的语义容易映射到一个分布式的实现。在两个或者多个动作之间的执行次序有严格限制,所有这些限制都明确地约束了流的关系。如果两个动作之间不能直接或者间接地按确定次序执行,它们就可以并发执行。但具体实现时并不强制并行执行,一个特定的执行引擎可能选择顺序执行或并行执行,只要能满足所有的次序约束即可。

一个活动通过控制流和对象流来协调其内部行为的执行。当出现如下原因时,一个行为开始执行。

  • 前一个行为已执行完毕。
  • 等待的对象或数据在此时变为可用。
  • 流外部发生了特定事件。

一个活动图中,一组活动节点用一系列活动边连接起来。活动节点包含如下几种。

  • 动作节点 可执行算术计算、调用操作、管理对象内部数据等。
  • 控制节点 包含开始和终止节点、判断与合并等。
  • 对象节点 表示活动中所处理的一个或者一组对象,也包括活动形参节点和引脚。

活动边是一种有方向的流,可说明条件、权重等内容。活动边可根据所连接的节点种类分为如下两类。

  • 控制流 连接可执行节点和控制节点的边,简称控制边。
  • 对象流 连接对象节点的边,简称对象边。

流意味着一个节点的执行可能影响其他节点的执行,而其他节点的执行也可能影响当前节点的执行,这样的依赖关系可以表示在活动图中。

注意
在一个活动中可以调用其他活动,就像在一个操作中可调用另一个操作,形成一个调用层次。在面向对象模型中,活动通常是被间接调用的,而不是直接调用的,而且方法被绑定到操作上。

动作

一个活动中可以包含各种不同种类的动作,常见的动作分类如下。

  • 基本功能 如算术运算等。
  • 行为调用 如调用另一个活动或者操作。
  • 通信动作 如发送一个信号,或者等待接收某个信号。
  • 对象处理 如对属性值或者关联值的读写。

活动中的一个动作表示一个单步执行,即一个动作不能再被分解,但一个动作的执行可能导致许多其他动作的执行。例如,一个动作调用一个活动,而此活动又包含了多个动作。这样,在调用动作完成前,被调用的多个动作都要按次序执行。

一个动作可以有一组进入边和一组退出边,这些边可以是控制流,也可以是对象流。只有所有输入条件都满足时,动作才开始执行。动作执行完成后,按控制流的方向启动下一个节点和动作,同时按对象流的方向输出对象表示结果,下一个节点和动作可将这些对象作为自己的输入,再启动自己的执行。

酷客网相关文章:

赞(0)

评论 抢沙发

评论前必须登录!