2014-11-15 3 views
2

Я хотел бы представить следующие действия:Как визуализировать отсутствующий ответ в диаграмме последовательности uml?

Service     Server 
    |------ping()--------->| 
    |      | 
    |      | 
    |-->     | 
    | | sleep(10)   | 
    |<--     | 
    |      | 
    |      | 
    response from server? | 
    |alt|     | 
    |----------------------| 
    | no -> cancel();  | 
    |----------------------| 
    | yes -> go back to ping() 

Так Bascially, что я хотел бы представить себе это недостающий ответ. Я пинговаю сервер, и когда я не получаю результат в течение установленного промежутка времени (например, 10 секунд), мне нужно выполнить отмену действия. Если я получу результат в течение промежутка времени, я вернусь к ping().

Как визуализировать его с помощью диаграммы uml-sequence? Я просто хочу знать, как убедиться, что сервер всегда жив, так как мне нужно выполнить действие, когда сервер отключен.

+0

это ** ** ** есть диаграмма последовательности? – xmojmr

+0

К сожалению, да ... это должна быть диаграмма последовательности:/было бы проще моделировать ее с помощью диаграммы состояний или чего-то подобного – Frame91

+0

Да, было бы проще моделировать 'if',' goto' и 'loop' если вы можете использовать диаграмму активности UML ** **. Для диаграммы последовательности см. Аналогичные вопросы http://stackoverflow.com/questions/26822109/seq-diagram-drawing-try-catch-block-in-uml и http://stackoverflow.com/questions/26167586/designing-a- последовательность-схема,-для-на-аукционе-системы – xmojmr

ответ

0

Использовать наблюдение за временем, наблюдение за продолжительностью, ограничение времени и ограничение продолжительности, чтобы определить точное или относительное время приема сообщений в вашей диаграмме последовательности. Для получения подробной информации я рекомендую изучить документ UML Superstructure, раздел Common Behaviors.

В вашем примере, используя эти элементы, вы можете определить, в какие моменты времени принимаются сигналы, принимаемые линией обслуживания. Если ваша Служба примет ответное сообщение от сервера в течение 10 секунд, он выполнит возврат к ping, в противном случае отмените отправку сообщения.

Вы можете определить его, используя стандартную диаграмму последовательности или используя другую диаграмму взаимодействия Timing.