/
Exercise 7.4 - Jama - SysML Compare & Sync

Exercise 7.4 - Jama - SysML Compare & Sync

Objectives

The new learning objectives of this exercise are to compare connected requirements models in Jama and Cameo/MagicDraw (via default mappings) and to synchronize changes that have arisen.  These changes will be demonstrated by both adding and removing requirements in SysML / Jama, comparing, and synchronizing to Jama / SysML.

This tutorial will consist of 2 parts.

  • Part 1: Sync SysML to Jama

    • Add requirement in SysML, compare result, and sync to Jama

    • Delete requirement in SysML, compare result, and sync to Jama

  • Part 2: Sync Jama to SysML

    • Add requirement in Jama, compare result, and sync to SysML

    • Delete requirement in Jama, compare result, and sync to SysML

Preparation

This exercise assumes the student has:

  • Cameo System Modeler (or MagicDraw with SysML plug-in) supported version installed correctly on his or her machine with a valid license for use, and

  • 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

Part 1 - Add/delete requirement in SysML and sync to Jama

  1. This exercise assumes the user has completed either Exercise 7.2 or 7.3 and created a set of linked requirements between the SysML model Syndeia_Jama_Mapping_Tutorial.mdzip (get it here - SysML Models, Profiles and Mappings) and their Jama repository.

  2. In the Connection Browser tab on the Syndeia dashboard, select the Regulatory Requirements connection created in either exercise. Right-click and compare across that connection before any changes have been made to see that all is in sync (Figure 1).

Figure 1 - Connection Browser tab, Syndeia dashboard, comparing across connection
  1. The Comparison Result tab will open and the results should appear similar to Figure 2.

figure2.jpg
Figure 2 - Initial comparison result
  1. Modify the Regulatory Requirements text field in Cameo and add a sub-requirement, Structural Requirements, as shown in Figure 3.

fig3new.jpg
Figure 3 - Modifying Regulatory Requirements in SysML
  1. Compare across the same connection as in Step 2 and display the comparison results (Figure 4). Syndeia shows that the new Structural Requirement in SysML is not present in Jama, and the text of the Regulatory Requirements is different.

figure4.jpg
Figure 4 - Comparison Results after modifying Cameo requirements
  1. Return to the Connection Browser, click Refresh to show the new child requirement, right-click the Regulatory Requirements connection and select Sync Source -> Target (Figure 5).

figure5.jpg
Figure 5 - Syncing SysML changes to Jama
  1. Repeat the comparison as in Step 2 and check that the Comparison Result shows all green, as in Figure 6. You can see the new ‘Structural Requirement’ has been added underneath Regulatory Requirements in Jama.

figure6.jpg
Figure 6 - Comparison Results after syncing SysML to Target
  1. Check the same requirement in Jama through its web interface to see the modified requirement text and sub-requirement (Figure 7).

fig7.jpg
Figure 7 - Jama web interface showing modified requirements
  1. Now, return to Cameo and in the containment tree delete a child requirement underneath Regulatory Requirements as shown in Figure 8.

Figure 8 - Delete Child Requirement in SysML
  1. Return to the Syndeia client dashboard settings tab. Under Jama make sure the box for ‘Allow deletion during SysML and Jama synchronization’ is unchecked. If selected, Syndeia will delete Jama items (or SysML elements) when synchronizing SysML → Jama (or vice versa). Click Apply.

Screenshot 2025-04-23 140634.jpg
Figure 9 - Uncheck the Jama ‘Allow deletion’ box
  1. Compare the connection for parent requirement in Syndeia. Check that the deleted SysML requirement in Step 9 above shows red in the result as shown in Figure 10.

Screenshot 2025-04-02 151419.jpg
Figure 10 - Compare the connection for the parent requirement
  1. Right click and sync the connection from Source to Target in Syndeia Connection Search tab as shown in Figure 11.

image-20250403-135615.png
Figure 11 - Sync requirements from SysML to Jama with deletion not enabled
  1. Check that the child requirement is not deleted in Jama as a result shown in Figure 12. The Safety Requirement was not removed since the Jama setting in Step 10 was unchecked.

Screenshot 2025-04-02 153423.jpg
Figure 12 - Check in Jama that the child requirement is still present
  1. Return to the Syndeia client dashboard settings tab. Under Jama make sure the box for ‘Allow deletion during SysML and Jama synchronization’ is checked. Click Apply.

Screenshot 2025-04-23 141459.jpg
Figure 13 - Check the box to enable Jama deletion during syncing in the settings
  1. Repeat the Comparison Result step for the Regulatory Requirements Connection.  The deleted Requirement should be flagged in Red as shown in Figure 14.

figure9.jpg
Figure 14 - Comparison Result Window after deletion of SysML Requirement
  1. Again, Right click and sync the connection from Source to Target in Syndeia Connection Search tab as shown in Figure 15.

image-20250403-140454.png
Figure 15 - Sync requirements from SysML to Jama with deletion enabled
  1. Check that the child requirement is now deleted in Jama as a result shown in Figure 16. The Safety requirement was deleted since the setting was checked in Step 14.

Screenshot 2025-04-02 155455.jpg
Figure 16 - The deleted child requirement has now been removed from Jama

 


Part 2 - Add/delete requirement in Jama and sync to SysML

  1. In Jama, modify the text of ‘Regulatory Requirements’ and add a new Requirement underneath it as shown in Figure 17 and 18.

fig12.jpg
Figure 17 - Edit the text of the Regulatory Requirement in Jama
fig13.jpg
Figure 18 - Child requirement added to the set in Jama
  1. From the Syndeia Dashboard, trigger a Comparison of the Regulatory Requirements connection once again.  The changes should be shown in Red as seen in Figure 19.

figure14.jpg
Figure 19 - Syndeia Comparison Result Window after adding Jama requirement
  1. From the Connection Browser tab, right click the connection and select ‘Sync Target to Source’ as shown in Figure 20.

Figure 20 - Sync from Jama to SysML from the Connection Browser
  1. Return to Cameo/Magicdraw and verify that the new changes have been made in the containment tree and properties shown in Figure 21.

fig16.jpg
Figure 21 - Cameo shows the new requirement and text synced from Jama
  1. From Jama Connect, delete the 'Interface Requirement' underneath Regulatory Requirements as shown in Figure 22.

Figure 22 - Deleting a requirement in Jama Connect
  1. Return to the Syndeia client dashboard settings tab. Under Jama make sure the box for ‘Allow deletion during SysML and Jama synchronization’ is checked. If selected, Syndeia will delete Jama items (or SysML elements) when synchronizing SysML → Jama (or vice versa). Click Apply.

Screenshot 2025-04-23 141459.jpg
Figure 23 - Check the Jama ‘Allow deletion’ box
  1. From the Syndeia Dashboard, trigger a Comparison of the Regulatory Requirements connection once again.  The changes should be shown in Red as seen in Figure 24.

Screenshot 2025-04-02 163716.jpg
Figure 24 - Compare the Requirements connection again with Syndeia
  1. Right click and sync the connection from Target to Source in Syndeia Connection Search tab again as shown in Figure 25.

image-20250403-180921.png
Figure 25 - Sync Target to Source with the deletion setting enabled
  1. Check in SysML that the child requirement has been deleted as shown in Figure 26. The Interface Requirement has been removed since the Jama setting to delete was checked.

Screenshot 2025-04-02 163837.jpg
Figure 26 - The child requirement has now been deleted in SysML
  1. Congratulations! You have now learned how to add/update/delete requirements in Cameo (or Jama), and compare/sync to Jama (or Cameo). Check out Exercise 7.9 to learn how to do this with custom mappings.





Related content