我想创建一个UML序列图(见下文),其中我有一个具有两个条件的alt框架(状态等于foo或bar)。在foo情况下,我从A发送同步消息到B,获取返回消息,然后继续执行序列图的其余部分(调用spam())。在条形码中,我发送另一条从A到C的同步消息,但不会返回。我试图在SW中建模一个函数调用,它不会返回(它会在信号量上永久阻塞),所以在这种情况下我永远不会进入垃圾邮件()。这可以用序列图表示吗?我可以排除返回值,但这只会告诉我没有返回值,而不是根本没有返回。这只能通过将图表分成两部分并单独处理条件来表达,还是有更好的图表来表达这一点?
答案 0 :(得分:0)
您可以在通话和退货之间设置持续时间约束。
在正常情况下,这样的约束将由一个整数后跟一个时间单位表示,例如" 10秒"或者通过" [1; 10)秒"。
等范围你的问题很有趣,因为你想模拟无穷大。 我会这样做:
但我必须承认,我不确定我的提法是否违反OMG's UML 2.5 standard。我没有在标准中找到任何明确禁止使用“无限”的内容。作为时间单位;标准确实提到时间应该是相对的。