3
votes

I am using Enterprise Architect to make a sequence diagram. The sequence diagram contains some entities that actually runs in parallel because there are multiple cores and hardware peripherals that runs in parallel. When i try to draw the sequence diagram of a behavior that contains entities that runs in parallel, the program automatically shifts the messages and the calls of the other entities to down because it thinks that they run after each other. I actually mean to make them run in the same time.

How can i force Enterprise Architect to allow me to draw parallel sequences without shifting other events down ?

Thanks in advance,

2

2 Answers

3
votes

On the example picture you can see how to draw sequence diagram to descripe paralel (concurent) execution on two (or more) lifenines. Interaction of each lifeline can be define in separated sections in par combined fragment.

enter image description here

1
votes

You can use a combined fragment of type par to denote this. Within the fragment, you specify two or more "conditions", which in the case of a par fragment should be read as separate threads of execution. You can name them or not, as you prefer, and you can also name the fragment itself.

There's a simple example at IBM developerWorks, look for Figure 17. In this example, neither the fragment nor the conditions are named.

Note that parallel / concurrent fragments are meant to show essentially individual messages being processed in parallel. If you have large, complex sequences that occur concurrently, you probably need to split them into separate diagrams - remember, one sequence diagram is intended to show one sequence of related events, so there is always an implicit strict timeline running top to bottom.