【发布时间】:2010-12-23 10:24:57
【问题描述】:
有人有Quick Sequence Diagram Editor 的经验吗?即时显示+文本源代码+Java实现的组合对我来说很有吸引力,但我不太清楚如何让语法做我想要的,文档也不是很清楚。这是一个人为的例子:
al:Actor
bill:Actor
atm:ATM[a]
bank:Bank[a]
al:atm.give me $10
atm:al has $3=bank.check al's account balance
al:atm.what time is it
atm:al.it's now
atm:al.stop bugging me
atm:al.you only have $3
atm:bill.and don't you open your mouth
bill:atm.who asked you?
bill:atm.give me $20
al:atm.hey, I'm not finished!
atm:bill has $765=bank.check bill's account balance
atm:yes I'm sure, bill has $765=bank.hmm are you sure?
atm:bill.here's $20, now go away
atm:great, he's a cool dude=bank.I just gave Bill $20
al:atm.what about my $10?
atm:al.read my lips: you only have $3
这是 QSDE 在单线程模式下的结果:
在多线程模式下:
我想我不清楚是什么开始/结束了这些竖线。我有一个单线程的情况,但是涉及到状态,并且所有的消息都是异步的。我想这意味着我应该使用一个外部对象来表示该状态及其生命周期。我想要的是一个时间线来表示消息序列
- al:atm.给我 10 美元
- atm:bank.check al 的账户余额
- bank:atm.al 有 3 美元
- atm:al.你只有 3 美元
和另一个时间线来表示消息序列
- bill:atm.给我 20 美元
- atm:bank.check bill 的账户余额
- bank:atm.bill 有 765 美元
- atm:bank.hmm 你确定吗?
- bank:atm.yes 我确定,账单有 765 美元
- atm:bill.这是 20 美元,现在走开
- atm:bank.I just give Bill $20
- bank:atm.great,他是个很酷的家伙
其他“俏皮话”代表我现在不关心的其他杂项信息。
有没有办法通过 QSDE 做到这一点?
【问题讨论】:
-
谢谢,不知道QSDE,我比那些所见即所得的编辑器更喜欢它...
标签: sequence-diagram