时序图消息交换

时序图描述了您项目中的消息交换。您可以在时序图中放置消息以作为开发软件系统的一部分。您还可以运行动画时序图来观察消息在执行程序时出现的情况。

时序图显示对象所扮演的角色之间的消息交换方案。该功能可以以多种方式使用,包括在测试用例中分享和设计方案、执行跟踪和预期行为等。

垂直轴是时间维度,显示系统对象之间的消息交换。消息代表对象之间以事件或操作调用形式的交互。它们描绘为连接对象生命线的箭头。

以下时序图显示了住户进入房间时 HomeHeatingSystem 中发生的协作。系统对象在第一行中指定。嵌套的对象可以使用它们的对象路径来识别,从顶级对象开始并带有层次结构。在对象数组中,索引指示实例。

对象的完整行为需求是来自每个方案的所有对象生命线的投影。时序图中生命线的集合构成了对象作为状态图的完整生命周期。

注:Rational® Rhapsody® Developer for C 中执行带有动画活动的程序时,属于程序包的全局对象使用它们的原始名称作为不带有实例索引的动画实例名称。例如,全局对象 HomeHeatingSystem 的动画实例名称为 HomeHeatingSystem,而不是 HomeHeatingSystem[0]

在该方案中,以下消息在对象之间作为事件传递:

消息 发送方 接收方 描述
updateOcc() <inhabitant> OccSensor 某人进入房间。
occupied() <system> Room Room 接收到计时器。
updateDtemp() <inhabitant> Room 住户设置所希望的温度。
heatReq() Room Furnace RoomFurnace 请求供暖。
motorReady() <system> Furnace 系统检查 Furnace 的发动机是否已准备好运行。
Fstarted() Furnace Room Furnace 告诉 Room 它已启动。
open() Room Valve Room 告诉供暖 Valve 打开。
stopHeat() Room Furnace 当温度足够温暖时,Room 告诉 Furnace 停止供暖。
close() Room Valve Room 告诉供暖 Valve 关闭。
Fstopped() Furnace Room Furnace 告诉 Room 它已停止。

方案中的每个事件都已生成到程序包规范文件中的事件结构。由于 HomeHeatingSystem 示例只有一个名称为 Default 的程序包,事件定义生成在 Default.h 文件中。


反馈