· 交互
交互是协作中的一个消息集合,这些消息被类元角色通过关联角色交换。当协作在运行时,受类元角色约束的对象通过受关联角色约束的连接交换消息实例。交互作用可对操作的执行、用例或其他行为实体建模。
消息是两个对象之间的单路通信,从发送者到接收者的控制信息流。消息具有用于在对象间传值的参数。消息可以是信号(一种明确的、命名的、对象间的异步通信)或调用(具有返回控制机制的操作的同步调用)。
创建一个新的对象在模型中被表达成一个事件,这个事件由创建对象所引起并由对象所在的类本身所接受。创建事件,作为从顶层初始状态出发的转换的当前事件。对于新实例是可行的。
消息可以被组织成顺序的控制线程。分离的线程代表并发的几个消息集合。线程间的同步通过不同线程间消息的约束建模。同步结构能够对分叉控制、结合控制和分支控制建模。
消息序列可以用两种图来表示:顺序图(突出消息的时间顺序)和协作图(突出交换消息的对象间的关系)。
· 顺序图
顺序图将交互关系表示为一个二维图。纵向是时间轴,时间沿竖线向下延伸。横向轴代表了在协作中各独立对象的类元角色。类元角色用生命线表示。当对象存在时,角色用一条虚线表示,当对象的过程处于激活状态时,生命线是一个双道线。
消息用从一个对象的生命线到另一个对象生命线的箭头表示。箭头以时间顺序在图中从上到下排列。
图 8 – 1 为带有异步消息的典型的顺序图。
图 8–1 顺序图 |