Modeling Guidelines for SysML Activity Diagram
The activity diagram is used to describe the flow of control and flow of inputs and outputs among actions. OMG Systems Modeling Language (OMG SysML™) Version 1.6
The following guidelines apply to all Activity Diagram types
- Action, CallBehaviorAction, AcceptEventAction, SendSignalAction Actions on Entry and Exit are interpreted as opaque actions in the target. This is because in Rhapsody Entry/Exit are fields that users can fill with target language.
In UML these are Behaviors, where the OpaqueBehavior is the Element that can handle target languages. MagicDraw accepts a variety of behaviors (Functions, Activities, OpaqueBehaviors.)
- Action Display In Rhapsody you can have a Name and a Label for a Action and State. In MagicDraw 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 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
- Actions Containing Pins In the source tool you can choose to display all pins or no pins on actions in activity diagrams. The target tool creates a validation error as a yellow box surrounding the element when all of the pins are not displayed as shown in the figure below.
- SendAction/Send Signal Action Rhapsody defines the Send Action based on the Event while MagicDraw and SysML define the SendSignalAction tied to signals.
- In Rhapsody the SendAction called
takeCup has the Event
- Also in Rhapsody you can select to display the name of the SendAction
takeCup or display the name of the Event
evTakeCup, or both.
- The Publisher transforms the
SendAction to a
SendSignalAction UML defines A
SendSignalAction as an InvocationAction that creates a Signal instance and transmits it to the target object….”
- So in MagicDraw, the SendSignalAction is linked to a Signal
- In MagicDraw, we can only display the name. The Publisher can not control the display of the SendSignalAction.
- Activity Parameter Node
- The Diagram Frame must be displayed to show the node. Unfortunately, the Activity Parameter Node won't be owned by the Diagram Frame
- Diagram Frame and Heading
- The following guidelines apply to the diagram frame:
- 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)
ActivityName 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
- Element from a different Activity cannot appear in the diagram of another Activity
- The source tool allows for this type of display where the target tool does not. A reference is required.