我有以下序列图,其中包含交换一组消息的四个生命线。
我的问题是:
如何读取图中红色矩形包围的内容?
这是我的尝试:
第一个是:“t=0”
据我了解,这是一个时间观察,但我真的不确定,因为当我阅读 UML 引用手册(2004)时,时间观察的语义是获取当前时间,并且具有语法“t=now”,这里t 赋值为零?
第二个是条件“t<=500 ms”
这是否意味着这个条件应该为真才能调用 write(record) 消息? 这条消息上面的条件(t<=50 ms)意味着什么?
您能澄清一下每一项吗?
最佳答案
首先,我不确定 UML 规范定义了如何“阅读”您的图表。 现在我的阅读方式如下。 第一个“t=0”对我来说指定了时间原点,即时间从这一点开始。 关于第二个(“t <= 500 ms”),它是一个约束,表示写入(记录)消息必须在“t = 0”瞬间之后最多 500 ms 调用。它是您的建模系统的一个约束,您不知道如果在 500 毫秒截止时间之后调用它或不调用它会发生什么,因为它一定不能是这种情况。 希望有帮助。
关于conditional-statements - 在某些条件下读取序列图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14840317/