У кого-нибудь есть опыт работы с Quick 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 account balance
al:atm.what time is it
atm:al.it 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 account balance
atm:yes I'm sure, bill has $765=bank.hmm are you sure?
atm:bill.here $20, now go away
atm:great, he 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.give me $10
- atm: bank.check al остаток на счете
- bank: atm.al имеет $3
- atm: al.you только $3
и другая временная шкала для представления последовательности сообщений
- счет: atm.give me $20
- atm: bank.check счет баланс счета
- bank: atm.bill имеет $765
- atm: bank.hmm вы уверены?
- bank: atm.yes Я уверен, у счета $765
- atm: bill.here $20, теперь уходи.
- atm: bank.I только что дал Билл $20
- банк: atm.great, он классный чувак
с другими "wisecracks", представляющими другие разные сообщения, которые мне сейчас не нужны.
Есть ли способ сделать это с помощью QSDE?