【发布时间】:2019-08-14 01:50:30
【问题描述】:
我对使用 UML 序列图为我的系统建模有疑问(是的,我知道状态机图更容易做到这一点,但我需要一个序列图)。
考虑一个简单的火车门系统,其中 (A) 自动控制器向 (B) 机械开启器(致动器)发出命令以打开或关闭车门。该系统有一些 (C) 传感器 - 发送反馈通知列车是否停止;列车是否在站台对齐;是否有紧急情况;如果门打开、关闭或部分打开/关闭,以及;如果门口有人或物体 - 以及(D)门本身。
控制器根据传感器的反馈发出打开和关闭门的命令(例如,如果列车停止,在站台对齐并且门已关闭,则可以安全打开门)。因此,我需要在发送命令之前收到反馈。如何在 UML 序列图中表示传感器及其信息?将每个传感器视为参与者?将反馈视为找到的消息? 我无法使用“纯 UML”来表示这一点,需要为实时系统使用一些扩展?
谢谢
解决方案:我将每个传感器表示为生命线。他们在一个循环中向控制器发送反馈,并根据反馈我能够发出命令。 我不确定这是否正确。
【问题讨论】:
-
请尽量创建图表。这将使我们更容易指出它应该是什么。我认为每个传感器都有一条生命线是件好事。控制器读取每个传感器的状态。您可以通过从控制器到传感器的“读取”消息对其进行建模。
-
您的解决方案听起来很合理。许多传感器在轮询模式下运行,因此控制器发送消息并等待答案(可能超时)。其他传感器只是将未经请求的消息发送到控制器读取它们的总线。所以这取决于传感器的协议。
标签: uml sequence diagram sequence-diagram