Как проиллюстрировать несколько потоков в диаграмме последовательности?


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

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


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

5 54

5 ответов:

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

Multithreading Sequence Diagram

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

Concurrency viewpoint

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

вы можете использовать фрагмент "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

par UML example

вы можете быть заинтересованы в Диаграммы Последовательности Сообщений, или MSC.

здесь это слайд, описывающий MSC в двух словах.