all participants are in same line
As you know, the sequence diagram may contain different participants which come to life at different times. But in this tool, all the participants are shown as if they all came to life together. This leads to confusion.
Could you make a provision for a participant to come to life later in a sequence diagram when it is initialised.
4 comments
-
Alan Jeffrey
commented
I agree with mfaughn and the OP. Object creation is not the same as activating an object. Typically the former is calling new to create a fresh object, the latter is calling a method on an existing object. See, e.g. the sequence diagram here: http://java.dzone.com/news/intro-design-patterns-abstract for an example.
-
mfaughn
commented
Disagree: Object creation and object activation are different things. If you think activation is the same in this diagram then it is possible to create and destroy the same object multiple times within the same lifeline and that is just silly. As it stands the diagrams created here imply that all of the objects existed prior to the beginning of the sequence. What the OP is asking for is a standard notation in books on UML and a standard feature in many other UML tools.
-
richardchaven
commented
Agreed: "activate" specifically and, to my mind, completely fulfills this request
-
trobbs
commented
Based on my understanding of these diagrams, I don't interpret the "creation" of participants this way. If you want to imply activation/destruction of participants, refer to this from the documentation:
Lifeline Activation and Destruction
Use the activate and deactivate keywords to denote object activation. While activated, the participant's lifeline will be highlighted. The activate/deactivate keywords will apply to the previous signal.You can use the destroy keyword to destroy a participant. The participant's lifeline will end at the previous signal.
User->A: DoWork
activate A
A->B: <<createRequest>>
activate B
B->C: DoWork
activate C
C-->B: WorkDone
destroy C
B-->A: RequestCreated
deactivate B
A->User: Done