Forum Index - Topic Index How to use of Astah (Pro/SysML/GSN/Com) How to change Source and Target Lifeline of a self-message [Sequence Diagram] |
Threaded | Newest First | Previous Topic | Next Topic | Bottom |
Poster | Thread |
---|---|
tualatin | Posted on: 2009/4/22 0:56 |
Just popping in Joined: 2009/4/22 From: Posts: 1 |
How to change Source and Target Lifeline of a self-message [Sequence Diagram] For example, I have 2 Lifelines ClassB, ClassC.
ClassB has "sendMessage" to Class C. also, ClassB has "composeMessage" to itself. composeMessage in ClassB has sendMessage to Class C. This is my existing diagram. Now, I want to modify it, I add a lifeline before ClassB called ClassA. ClassA has a message "initialize" to ClassB before ClassB.sendMessage() and ClassB.composeMessage() I can easily move ClassB.sendMessage() to the lifeline of ClassB inside "initialize" but I am having difficulty in moving ClassB.composeMessage() [that has already ClassB.composeMessage().sendMessage() ] to inside "initalize". composeMessage() originally has Source and Target lifeline set to ClassB (being a self-message). If I change the Target lifeline to ClassC temporarily, I can easily drag the Source lifeline to the "initalize()" and then drag Target lifeline of composeMessage() back to ClassB inside "initalize()" (making it a self-message again) but it leaves an EMPTY LIFELINE in ClassB where the composeMessage().sendMessage() used to be. to sum it up, I only moved composeMessage() without it contents. I want to move it to "initialize()" with all it's contents intact. Is this possible? How? For the sake of discussion, imagine an already large diagram and composeMessage() actually has a lot of nested messages to many lifelines as well. |
Joba | Posted on: 2009/4/25 4:20 |
Developer Joined: 2006/6/6 From: Posts: 969 |
Re: How to change Source and Target Lifeline of a self-message [Sequence Diagram] Hi tualatin,
I assume that this is your current diagram. 1. Add a Class A Lifeline and create an initialize message. *When you create it, draw it toward the sendMessage's source activation. The initialize message is created. (You don't have to change the source of sendMessage.) 2. Now what I would do is, move the target activation of composeMessage (*The activation in green) onto Class A temporary. The green activation is on Class A. 3. Move the origin of composeMessage to the target activation of initialize message(*The activation in yellow) Now the activations on Class B got all in one. 4. At last, put the green activation back onto Class B and its done. Hope this is what you wanted to do. Best regards, Satomi |
Threaded | Newest First | Previous Topic | Next Topic | Top |