Как проиллюстрировать несколько потоков в диаграмме последовательности? - PullRequest
59 голосов
/ 29 октября 2009

Как вы можете четко проиллюстрировать несколько потоков выполнения на диаграмме последовательности или аналогичной диаграмме?

Мне не удалось найти каких-либо четких примеров. Все диаграммы, которые я вижу, используются для иллюстрации одного потока.


Обновление : принятый ответ был лучшим примером, который я видел, но он оставляет желать лучшего. Я закончил тем, что иллюстрировал темы в отдельных диаграммах последовательности. Я не уверен, что диаграмма последовательности обязательно работает для нескольких потоков.

Ответы [ 5 ]

28 голосов
/ 29 октября 2009

Вот одна диаграмма, которая может быть полезна, и с левой стороны вы можете увидеть объяснение: http://sdedit.sourceforge.net/multithreading/example/index.html

Multithreading Sequence Diagram

16 голосов
/ 12 февраля 2016

Я нашел этот вопрос в Google и не был большим поклонником принятого ответа, поэтому я просто придумал свой. Вот как я представлял модель потоков в своем приложении (моя организация называет это «Точка зрения параллелизма»):

Concurrency viewpoint

Надеюсь, это кому-нибудь поможет.

7 голосов
/ 06 марта 2014

Вы можете использовать фрагмент "par" для моделирования нескольких синхронных вызовов, выполняемых параллельно. Фрагмент состоит из прямоугольника с надписью «par». Прямоугольник разделен на несколько блоков, каждый из которых представляет поток выполнения.

Ниже приведен пример, извлеченный из ссылки.

enter image description here

Пример приведен на этой странице: http://www.ibm.com/developerworks/rational/library/3101.html#N10227

6 голосов
/ 13 декабря 2017

Это дубликат ответа sihaya, но с подробностями о том, как сделать это с помощью инструментов в Интернете, и наглядным примером, который не исчезнет.

Подход к диаграмме последовательности UML заключается в использовании фрагмента 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

par UML example

1 голос
/ 29 октября 2009

Вас могут заинтересовать Диаграммы последовательности сообщений или MSC.

Здесь - слайд, описывающий MSC в двух словах.

...