17.2.4 表示法

交互

序列图中交互表示为一个外轮廓为实线的矩形,矩形左上角有一个五边形,其中包含了‘sd’,后面是该交互的名称和参数。这个矩形框内部的可以表示多种格式的图示:序列图、通信图、交互概览图和时间图。

五边形描述符内的图示遵循了行为名称的一般性表示。此外,交互概览图可以通过图17.27中展示的生命线条款包括一个生命线列表。这个生命线列表只是简单列举了该交互中涉及的生命线。交互概览图自身并不展示所涉及的生命线,即使这些生命线可能显式地出现在图节点的内联(inline)交互中。

交互图还可能包括本地属性的定义,它们与那些通常显示在类符号格间内的属性具有相同的语法。这些属性定义可以出现在靠近图框的顶部或者图中其它地方的一个便签符号内。

交互片段

交互片段没有一般性的图示。交互片段的特定子类定义了它们自己的图示。

出现规约

出现规约只是消息末端或执行规约的开头/结尾处的语法点。

执行规约

执行规约被表示为生命线上的细小矩形(灰或白)。

我们还可以用一个宽的带标注的矩形来代表一个执行规约,其中的标签通常规定了执行的动作。可以参见图17.16中的例子。

对于指示原子动作(例如读取一个信号的属性)的执行规约,为了强调整个动作只与一个出现规约相关联(开始和结束关联都指向相同的出现规约),可以使用一条线把动作符号和相关联的reception出现规约联系起来。

相同生命线上重叠的执行规约通过图17.2中重叠的矩形来表示。

图17.2 Overlapping ExecutionSpecifications

状态不变量

可能相关的约束以文本形式显示在生命线上的花括号内。参见图17.17中的例子。

遵循本规范的工具可以将状态不变量表示为一个便签,它与一个出现规约相关联。

状态符号代表了一个等价的约束,它检查由生命线所代表的对象的状态。这可能是相关分类符的分类符行为的一个内部状态,或者可能是基于生命线“黑盒”视图的一个外部状态。在前一种情况,如果分类符行为由状态机描述,那么该状态的名称应该与该状态机中相应的状态的层次化名称相匹配。

区域代表了状态的正交区域。标识符只需要部分的定义状态。如果规定的状态信息为真,那么约束的值为真。

图17.17中的例子也展示了这种表示选项。

Formal Gate

形式Gate只是框内部的一个点,例如一个消息的末端。它们可以有一个显式的名称(参见图17.4)。

17.2.5 示例

图17.3 An example of an Interaction in the form of a Sequence Diagram

图17.3中的例子展示了类型User和ACSystem的两条(匿名)生命线之间通信的的三条消息。消息CardOut反超消息OK,因为它们的接收事件出现次序与发送出现规约的次序相反。这种通信可能在消息是异步的情况下出现。第四条消息以隐式的名称out_Unlock从ACSystem通过一个形式化的gate发向环境。UserAccepted的本地属性PIN在靠近图形顶部的地方被声明。它可以在图中其它的地方的一个便签内被声明。

图17.4展示了出现规约的例子。

图17.4 OccurrenceSpecification

图17.5展示了带有一个gate(标注为“Unlock”)的例子。

图17.5 Sequence Diagram with time and timing concepts

图17.5中的序列图展示了时间和计时图示如何被用于描述时间观测和计时约束。:User发送了一条消息Code,该消息的发送和接收出现的间隔被度量。:ACSystem会向:User发回两条消息。CardOut被限制可以持续在0到13个时间单位内。而且,Code的发送和OK的接收之间的间隔被约束为可以持续d到3d,其中d是Code信号所观测到的持续时间。我们还注意到在发送OK的时间点t,以及如何利用它来约束接收CarOut的时间点。

results matching ""

    No results matching ""