This document applies only to the following language version(s):
When drawing operations/messages on a lifeline in IBM Rational Rhapsody, other lifeline operations/messages are moving and/or resizing. The messages that are created are ones that calls itself (see below). Also in this specific scenario, one is trying to show different operations happening on different lifelines simultaneously, at class creation.
- Create a SD
- Add a few life lines
- Add a message from one from one lifeline and back to itself.
- Now do the same on a different life line at the same position as the first one
In the above graphic, we tried to add Operation_0() on the class_7 at the same position as when we added in for class_6, but a vertical shift occurred.
The current behavior is as expected. Following is an explanation on why:
As you probably know in sequence diagram the vertical axis represents the system life time dimension.
Rhapsody default configuration is that for each given time there should be a single occasion (self / intermediate event / message send / receive)
For this purpose Rhapsody maintains a minimum vertical space between occasions, which is validate following each draw, and might cause message shifting. The default minimum vertical space is set to 20 pixels.
Resolving the problem
This value (The default minimum vertical space is set to 20 pixels.) can be changed by adding "SequenceDiagram::General::MinimumVerticalSpacing" to site.prp file:
Property MinimumVerticalSpacing Int "20"
// An empty site.prp file must contain the keyword 'end' at the end of the file
When you set property value to 0, no shifting will occur.