Exercise 7.10 - Jama Diagram Generate & Sync
Objectives
The new learning objectives of this exercise are to generate and synchronize Cameo/MagicDraw diagrams to Jama. This capability will work for any SysML diagram nested under a SysML packageable element (e.g. Requirement, Block, Use Case, Activity, Test Case, etc.) that is being transformed or synchronized from SysML to Jama. This capability will work for both scenarios:
SysML → Jama transform and sync with default mappings - https://intercax.atlassian.net/wiki/spaces/SYN36/pages/3330098606), and
SysML → Jama transform and sync with custom mappings -https://intercax.atlassian.net/wiki/spaces/SYN36/pages/3330098985
This tutorial consists of 2 parts.
Part 1: Generating Diagrams from SysML to Jama
Generate diagrams from SysML to Jama
Add diagram in SysML and sync to Jama
Delete requirement in SysML, compare results, and sync to Jama
Part 2: Syncing Diagrams from SysML to Jama
Modify a diagram in SysML and sync to Jama
Add a new diagram in SysML and sync to Jama
Preparation
This exercise assumes the student has:
Cameo System Modeler (or MagicDraw with SysML plug-in) supported version installed correctly on their machine with a valid license for use.
Syndeia installed as a plugin for Cameo/MagicDraw with a valid license for use.
Jama repository (server) that can be connected over the network from the Syndeia Repository Manager.
The user can try out this capability in a sandbox Jama repository or project to ensure that their installation is working fine before using on a production repository / project.
Exercise
The Cameo model System_Requirements.mdzip used in these demos can be downloaded from https://intercax.atlassian.net/wiki/spaces/SYN36/pages/3330096164.
Part 1 - Generating Diagrams from SysML → Jama
Begin with Requirements in SysML with diagrams in the parent package and under the requirements structure, as shown below in Figure 1. The red arrows indicate the various diagrams in this example as displayed in the containment tree, and the highlighted System Requirement Spec Diagram is displayed on the right. You may have diagrams nested under any packageable element at any level in the containment tree.
Figure 1 SysML containment tree showing a package with nested diagrams and requirementsSelect the Settings tab in the Syndeia Dashboard and adjust settings as shown below in Figure 2
Check the Jama setting Generate and update images in Jama item descriptions from SysML diagrams.
Click the Apply button to save the settings.
Figure 2 Settings tab with Generate and update images in Jama item descriptions from SysML diagrams checked and applied
Drag and drop the System Requirement Spec requirement to Jama:
Figure 3 Dragging and dropping the System Requirement Spec to a Jama ComponentThe requirement that we selected to drag and drop, System Requirement Spec, has been generated in Jama under a Requirement Set with the name of the SysML requirement’s parent package, System Requirements. Figure 4 below shows that the diagrams were created as Text items and included under the set and requirement items in Jama. The structure of Jama items including the text items containing diagram images mirrors the structure of SysML elements and diagrams shown on the LHS of Figure 3 above.
Figure 4 Jama tree showing Text items for the diagramsTwo of the four Text items that were generated containing diagrams are shown in Figures 5 and 6, demonstrating that any diagram type will be transformed, including a table. Figure 5 shows the Text item System Requirement Spec Diagram which contains an image of the same diagram which was shown in Figure 1, and Figure 6 shows the Text item Functional Requirements Table containing an image of the table which was generated under the Functional Requirements.
Figure 5 Jama Text item created for System Requirement Spec Diagram showing the diagram image in the descriptionFigure 6 Jama Text item created for Functional Requirements Table showing the image of the table in the description
Part 2 - Syncing Diagrams from SysML → Jama
Now, we will modify an existing SysML diagram and also create a new one under a requirement to be synced.
We have rearranged the System Requirement Spec Diagram by swapping the places of the Functional Requirements and the Non-Functional Requirements:
Figure 7 The System Requirement Spec Diagram after rearranging its contentsWe have also created and populated a new table called System Requirement Spec Table under the System Requirement Spec requirement:
Figure 8 A new table called System Requirement Spec Table added under System Requirement Spec
Go to the Connection Browser tab in the Syndeia Dashboard, expand the System Requirement Spec, and you will see a connection under it that was created in Part 1. Right-click on that and Sync Source -> Target:
Figure 9 Syncing Source -> Target for the connection / relation between System Requirement Spec in SysML and corresponding Jama itemClick the Refresh button for the System Requirement Spec Diagram Text item in Jama and observe that the diagram has been updated in the Description and the version is now V2:
Figure 10 The System Requirement Spec Diagram in Jama after clicking the Refresh button, showing the updated diagram and versionClick the Refresh Explorer button in the Jama Explorer to show new Text item System Requirement Spec Table containing the new table that was created under the System Requirement Spec requirement in Jama:
Figure 11 Text item System Requirement Spec Table shown after clicking Refresh Explorer, with the table shown in the description
If diagrams are nested multiple levels deep, it may be better to sync at the package level, which will sync all nested connections:
Figure 12 Syncing all connections nested under System Requirements package instead of just one single connection (as shown in Figure 9)