Как проиллюстрировать несколько потоков в диаграмме последовательности?
Как вы можете четко проиллюстрировать несколько потоков выполнения в диаграмме последовательности или аналогичной диаграмме?
Я не смог найти никаких четких примеров. Все диаграммы, которые я вижу, используются для иллюстрации одного потока.
обновление: принятый ответ был лучшим примером, который я видел, но он оставляет желать лучшего. Я закончил тем, что иллюстрировал потоки в отдельных диаграммах последовательности. Я не уверен, если диаграмма последовательности обязательно для нескольких потоков.
5 ответов:
вот одна диаграмма, которая может быть полезна, и на левой стороне вы можете увидеть объяснение: http://sdedit.sourceforge.net/multithreading/example/index.html
вы можете использовать фрагмент "par" для моделирования нескольких синхронных вызовов, выполняемых параллельно. Фрагмент состоит из прямоугольника с надписью "пар". Прямоугольник разделен на несколько блоков, каждый из которых представляет собой поток выполнения.
пример приведен на этой странице: http://www.ibm.com/developerworks/rational/library/3101.html#N10227
это дубликат ответа sihaya, но с подробностями о том, как это сделать с помощью инструментов в интернете и визуального примера, который не исчезнет.
подход UML Sequence diagram заключается в использовании фрагмента "par" для моделирования нескольких сообщений, обрабатываемых параллельно. Ниже приводится текстовое описание, которое при подаче в PlantUML инструмент, доступный в интернете, создаст диаграмму ниже.
@startuml Person -> MicrowaveOven : Cook Food activate MicrowaveOven par MicrowaveOven -> MicrowaveOven : Activate Magnetron else MicrowaveOven -> MicrowaveOven : Activate Rotation Motor end MicrowaveOven --> Person : Delicious Food deactivate MicrowaveOven @enduml
вы можете быть заинтересованы в Диаграммы Последовательности Сообщений, или MSC.
здесь это слайд, описывающий MSC в двух словах.