Troubleshooting
Problem
After importing an IBM Rational Rose model into IBM Rational Software Modeler, attempts to create a new message in one of the model sequence diagrams results in the error "The requested action violates the integrity of the model".
Symptom
The full error message is as follows:
Live Validation
The requested action violates the integrity of the model.
Reason:
IRJA0250E Reply to synchronous "<<Rose Message>> <Message>
message1" occurs before reply to "<<Rose Message>> <Message>
message11."
image
Cause
The error happens if the sequence diagram where you want to add a message contains a synchronous message for which the execution occurrence does end before the execution of the next message
The model validation constraint Synchronous message nest without overlap which can be seen from Window > Preferences > Model Validation > Constraints > UML2.1 > Modeling > Interaction is preventing the message from being created throwing a live error.
The description of the validation is the following:
Constraint ID: com.ibm.xtools.uml.validation.xtools.interactions.synchMessageNesting.
This constraint has error severity and executes in live (automatic) mode.
Description:
Execution occurrences must not finish before the starting event occurrence receives the message.
Also included in these other categories:
UML 2.1/Model Quality Dimensions/Data Integrity
This constraint is mandatory.
Environment
Diagnosing The Problem
The following Rose model can be used to test the scenario:
All source code and/or binaries attached to this document are referred to here as "the Program". IBM is not providing program services of any kind for the Program. IBM is providing the Program on an "AS IS" basis without warranty of any kind. IBM WILL NOT BE LIABLE FOR ANY ACTUAL, DIRECT, SPECIAL, INCIDENTAL, OR INDIRECT DAMAGES OR FOR ANY ECONOMIC CONSEQUENTIAL DAMAGES (INCLUDING LOST PROFITS OR SAVINGS), EVEN IF IBM, OR ITS RESELLER, HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. |
---|
Resolving The Problem
The constraint cannot be disabled as it would break the integrity of the model.
Here are the possible solutions to resolve the error:
- Change the type from synchronous to asynchronous, in the Properties view:
image
- Prolongate the execution occurrence of the first message so it will end after the second message as shown below:
image
- Ensure that the message in the IBM Rational Rose is correctly set (by default the message synchronization is set to simple in the Specification dialog box) as this will be used to create the message accordingly during the Rose Model import.
image
The information is as well going to be stored in the RoseMessage stereotype property as shown below:
Was this topic helpful?
Document Information
Modified date:
10 September 2020
UID
swg21431873