User Guide for the MagicDraw SysML Publisher for Rhapsody

This User Guide provides instruction for publishing, monitoring the progress, about the publisher, general logging, compatibility and modeling guidelines.

For definition of user configuration of display settings please refer to the section for Silent Mode.

Publishing

  1. Follow the Installation Guide to setup the publisher. For silent mode installation and execution please refer to the silent mode section of the Administration Guide.
  2. For configuration of the resultant display settings please refer to the Diagram Display configuration section
  3. Ensure the Rhapsody model that you want to transform is open in Rhapsody.
  4. Run the publisher.exe
  5. Double click on the “Rhapsody SysML to MagicDraw SysML" service.
  6. Select next on the "Rhapsody Input Model" GUI as shown in the figure below.
  7. Open the source project in Rhapsody if any of the following error messages are displayed at the top of the "Rhapsody Input Model" GUI
  8. Name and select the Magic Draw output model destination. Then select "Finish"
  9. Add the progress view (Refer to section on Monitoring Progress)
  10. Successful Completion. Magic Draw project file is located in the selection location.

Monitoring the Progress

The publisher provides user indication of progress during the publish. The lower right corner of the GUI shows a status bar while there is also a more detailed view accessed via the "Window" menu item.

The Progress view can also be added manually through the menu selections as defined below:
  1. Select Window -> Show View -> Other
  2. Type "progress" into the filter at the top of the box.
  3. Monitor the Progress Bar View.

About the Publisher

The publisher application has menu selections for additional information about the software. The first is the About as shown in the figure below.Accessing the information about the publisher is done by selecting Help ->About MagicDraw SysML Publisher for Rhapsody as shown in the figure below

The GUI For about the publisher shows the legal statements and software version. Additional information aboout the installation is accessed bt the Installation Details button on the GUI as shown below

The Installation Details GUI provides additional information about the following:

General Logging

Logs are captured during the publish event. These logs are located C:\Users\"user name"\.rhp2md\com.sodius.mdw.interop.rhp_md_sysml\logs

Two log files are generated during a publish.

  1. Detailed Logs
    Detailed logs show the actions taken by the publisher during the publish event with names of the contextual elements.
  2. Sanitized Logs
    Sanitized logs show the actions taken by the publisher during the publish event with the names of the contextual elements and context removed.

Compatibility

In order for the publisher to function, the configurations of the tools must match. I.e. 32-bit for Rhapsody, Java, and MagicDraw or they all must be 64-bit configurations.

Rhapsody must be open to automatically populate the user interface. Missing preferences or profiles may cause issues with the transformation.

The MagicDraw SysML Publisher for Rhapsody is available for the following versions:

Compatibility MatrixRhapsody Version 8.2.1Rhapsody Version 8.3.1
MagicDraw Version 18.5
X
MagicDraw Version 19
X

Modeling Guidelines

The publisher works to create comparable SYSML diagrams in a MagicDraw project. There are differences in how the tools use and display information associated with their respective SYSML profiles. Therefore the following transformation requirements and rules apply for each element as defined below.

ConstraintGuidelines/Work Around
To display or not to displayIt is impossible to map all display options one for one between the tools. Therefore, defaults are set to show information on the elements of diagrams, these options are set focusing on preserving spacing and alignment or based on customer feedback. (General Readability) Sodius-Willert provides a service to modify these settings for our customers until we have an implementation that allows the user to define their own styling.
General Shapes and ColorsThe transformation does not include colors assigned to element or general diagram shapes that are not contextually linked to the model (i.e. boxes, ovals, text boxes, etc)
Pictures/ImagesThe publisher does not transform pictures or images used in diagrams in place of the profile notation. Use the features of the profile to define the capability.
HyperlinksThe publisher converts hyperlinks to text instead of active links. This capability is planned for a future release.
Tables/MatricesTables and Matrices are not implemented in the publish. These will need to be exported and imported into the resulting model using existing features in MagicDraw
Panel DiagramsPanel Diagrams are not defined by the SysML standard and are not transformed
Automatic ResizingFor most element types we can select to turn off automatic resizing when we publish to ensure that sizing is comparable on the publish but it is best to ensure the text displayed on elements is not cut and spacing is not showing overlapping elements in the source model.
Diagram Frame Automatic ResizingOn certain diagram types, we have defaulted the Diagram Frame to off to avoid sizing distortion and justification issues in the published canvass. This can easily be turned back on after publish. (right click on the diagram and select “Show Diagram Frame” in MagicDraw.
Diagram Frame Settings When the "Show Diagram Frame" property is set to true, the following guidelines and information pertain to each diagram type as defined below:
    Activity Diagram
  • Diagram Frame is not shown by default due to automatic sizing, justification and routing functionality
  • "act" is the abbreviated diagram type (Show Abbreviated Type Property + Show Diagram Type Property)
  • "Activity" is the Context type (Show Context Type Property) "Activity Name" is the Context Name (Show Context Name Property)
  • "Activity Name" is the Diagram Name (Show Diagram Name Property)
  • The Context (Type and Name) between Rhapsody and MagicDraw are different.
  • An Activity Diagram is owned by an Activity in MagicDraw
    Package Diagram
  • "pck" is the abbreviated diagram type (Show Abbreviated Type Property + Show Diagram Type Property)
  • "Model" is the Context type (Show Context Type Property) "ProjectName" is the Context Name (Show Context Name Property)
  • "DiagramName" is the Diagram Name (Show Diagram Name Property)
  • The Context Type between Rhapsody and MagicDraw are different (Project in Rhapsody and Model in MagicDraw)
    Sequence Diagram
  • Diagram Frame is not shown by default due to automatic sizing, justification and routing functionality.
  • ""sd" is the abbreviated diagram type (Show Abbreviated Type Property + Show Diagram Type Property)
  • "Interaction" is the Context type (Show Context Type Property) "Diagram Name" is the Context Name (Show Context Name Property)
  • "Diagram Name" is the Diagram Name (Show Diagram Name Property)
  • The Context (Type and Name) between Rhapsody and MagicDraw are different
  • A SequenceDiagram is owned by an Interaction in MagicDraw
    State Machine Diagram
  • Diagram Frame is not shown by default
  • "stm" is the abbreviated diagram type (Show Abbreviated Type Property + Show Diagram Type Property)
  • "StateMachine" is the Context type (Show Context Type Property)
  • "DiagramName” is the Context Name (Show Context Name Property)
  • "DiagramName" is the Diagram Name (Show Diagram Name Property)
  • The Context (Type and Name) between Rhapsody and MagicDraw are different
  • A StateMachine Diagram is owned by a StateMachine in MagicDraw
For the other diagrams, there are no differences.
Unassociated ConstraintsIn Rhapsody you can display a constraint that is not tied to an element in anyway. This is not allowed in MagicDraw. Transformation of this constraint converts the constraint to a note.
Actors with attributesMagicDraw doesn’t allow attributes to be defined for Actors. Therefore those elements in Rhapsody convert to Blocks in MagicDraw in order to retain the information through the publish.
Connectors and Proxy PortsYou cannot have a connector connecting two proxy ports withinthe same block. Proxy ports define external interfaces for blocks
Line JumpsRhapsody doesn’t have an option for line jumps displaying when lines cross on the diagram. MagicDraw has this option
Diagram Connectors become Merged NodesDiagram connectors are a feature not available in MagicDraw. The connector is used to route lines across the diagram by creating wormholes to another location on the diagram. These are currently transformed to a Merged Node.
Associations
  • You cannot create a composite association between an actor and a use case.
  • You cannot create an association (of any kind) between two actors.
  • You cannot create an association (of any kind) between two use cases.
Include/Extend relationshipsThese display differently between the tools: In MagicDraw there isn’t the label on the line for Include or Extend, it is a specific line type. The tool transforms the content as needed for MagicDraw but in order to display these labels on the diagram we create a rhapsody stereotype and display that.
Directed Associations:Use Case to ActorYou can modify an association in Rhapsody from a Use Case to an Actor (One End). MagicDraw requires the relationship defined at both ends. The publisher has a fix to identify these relationships and transform them appropriately.
Actions
  • Action Display In Rhapsody you can have a name and a label for a state and also an action. The default information to display on an action is the action body, not the action name or label. If there is no action defined for the element in the Action field of the Rhapsody Features GUI then the element displays no text
  • Accept Event, Action/Accept, Time Event The publisher can select to display the name of the Accept Event Action on the Diagram. Therefore, if the action is not populated the element on the diagram is defaulted.
  • Actions tied to control flows Rhapsody allows the user to assign an action to a control flow. This is not possible in MagicDraw. To ensure data is not lost the information is transformed to a stereotype for that element in MagicDraw
  • Displaying the Action of a state In Rhapsody you can have a name and a label for a state and also an action. The default information to display on an action is the action body, not the action name or label. If there is no action defined for the element in the Action field of the Rhapsody Features GUI then the element displays no text
SendAction/Send Signal Action Tool Difference
  1. Rhapsody defines the element the SendAction while the SysML standard as well as MagicDraw define the send signal action. Rhapsody defines the Send Action based on the Event while MagicDraw and SysML focus on the Signal. For example, in Rhapsody the SendAction called "takeCup" has the Event "evTakeCup".
  2. Also in Rhapsody you can select to display the name of the SendAction (takecup) or display the name of the Event (evTakeCup), or both.
  3. The Publisher transforms the “Send Action” to a “Send Signal Action” (a Send Action does not exist in MagicDraw, event in UML) UML 2 Specification : “A SendSignalAction is an InvocationAction that creates a Signal instance and transmits it to the target object….” So in MagicDraw, the SendSignalAction is linked to a Signal
  4. In MagicDraw, we can not control the display of the SendSignalAction - we can only display its name.
Destruction EventsMagicDraw does not have destruction events in Sequence Diagrams in SysML. The publisher converts these to the closest approximation which is a delete message. But the delete message cannot be put into an operand the same way a destruction event would. Recommendation is to create to different sequence diagrams for the operand conditions and to use delete messages in magicdraw where needed
Virtual Operations/Functions Rhapsody provides a means to define an operation as “virtual” This is a carry over from UML where you would define a virtual function that the inherited classes would utilize but with different parameters (usually in a table). Since this concept doesn’t necessarily apply to system level context it is not available in MagicDraw.
State Machine Diagram Transition BehaviourThere is different content that can be displayed depending on user preference.
Graphically added property/part owner
  1. They have to be owned by a Block
  2. The constraint properties in the diagram have to be owned by the same Block
  3. The Properties in the diagram have to be owned by the Block
  4. The BindingConnectors in the diagram have to be owned by the Block
Red Connector LinesWhen red connector lines are shown in the published model you can right click on the “x” and select “Update Connector Ends” from the menu. The connection errors may also exist in Rhapsody prior to publish. Ensure the connectors have defined ends prior to publish.
IBD owned by a Use Case results in empty IBDRhapsody allows definition of an IBD owned by a Use case. These IBDs transform to empty because the diagram does not have any “context” when the IBD is owned by a Use Case - and an IBD can only be owned by a Block
Pakage Diagram Display option Defaults setContainment lines are defaulted to on.
Paramentric Diagram Property/Part owner is graphically added
  1. They have to be owned by a Block
  2. -The constraint properties in the diagram have to be owned by the same Block
  3. The Properties in the diagram have to be owned by the Block
  4. The BindingConnectors in the diagram have to be owned by the Block
Notes on Performance It is important to only run a single publish at a time from an open Rhapsody project. If the cancel is selected in the middle of a publish, ensure the cancel request is completed before starting a new publisher. For memory allocation adjustments please refer to the troubleshooting or FOQ sections of the Administration Guide.