我想想象以下行动:
Service Server
|------ping()--------->|
| |
| |
|--> |
| | sleep(10) |
|<-- |
| |
| |
response from server? |
|alt| |
|----------------------|
| no -> cancel(); |
|----------------------|
| yes -> go back to ping()
所以我最喜欢可视化的是缺少回应。我ping服务器,当我在设定的时间范围内(例如10秒)没有得到结果时,我需要做一个取消操作。如果我在时间跨度内得到结果,我会回到ping()。
如何使用uml-sequence-diagram对其进行可视化?我只是想知道如何确保服务器始终处于活动状态,因为我需要在服务器脱机时执行操作。
答案 0 :(得分:0)
使用时间观察,持续时间观察,时间约束和持续时间约束来定义序列图中消息接收的准确或相对时间。有关详细信息,我建议研究UML上层建筑文档,“常见行为”部分。
在您的示例中,使用此元素可以定义服务生命线接受的信号。如果您的服务将在10秒内接受来自服务器的响应消息,它将执行返回ping,否则将发送取消消息。
您可以使用标准序列图或使用其他称为Timing的交互图来定义它。