Exercise 8.3 - SysML Jira Model Transform Connection

Objectives

The new learning objectives of this exercise are to take a multi-level SysML structure, which could be activities, blocks or requirements, and use it to create a corresponding multi-level issue structure in JIRA, each SysML element connected to its corresponding JIRA issue. This exercise uses the default mappings, not custom mappings. Using these connections, each SysML element can access the corresponding JIRA issue, including people assigned and time to completion.

Preparation

This exercise assumes the student has

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

  • Syndeia 3.3 installed as a plugin for Cameo/MagicDraw with a valid license for use

  • Syndeia JIRA interface, correctly installed with a valid license for user.

We will use the provided MagicDraw project Syndeia_JIRA_Mapping_Tutorial.mdzip (get it here - SysML Models, Profiles and Mappings). The user can use any JIRA repository they have available with the ability to create and edit issues within a JIRA project. It is generally advisable to carry out these exercises in a non-production repository, a "sandbox", set up for training and practice purposes.

Exercise

  1. In the Syndeia_JIRA_Mapping_Tutorial project, in the JIRA Activity Structure package, a multi-level activity structure has been created. The model as it appears in the containment browser is shown in Figure 1. In the two activity diagrams in Figure 2, we can see that the top-level activity, UAV Project, is decomposed into three actions typed by the activities Task 1, Task 2 and Task 3. Task 1 is further decomposed into three actions typed by Subtask 1A, Subtask 1B and Subtask 1C.

    Figure 1  UAV Project activity

    Figure 2 SysML Activity Model

  2. If not already open from the last exercise, launch the Syndeia dashboard. Select a Syndeia Cloud project, if needed.

  3. Go to the Settings tab. Under General, make sure Use mapping is unchecked. Click Apply if a change was made.

  4. In the Syndeia dashboard, Connection Manager tab,

    1. select and expand the JIRA repository in which the new task structure will be created on the right

    2. select the JIRA SysML repository on the left

    3. Set the Connection Type to Reference

    4. Drag the top-level activity UAV Project (in the SysML model shown in the left pane) on to the JIRA project in which the Tasks are to be created.

    5. In the Options window that appears (Figure 3), select Generate issue(s) and create reference connection(s). Click OK.

      Figure 3 Connection Manager tab, after dragging UAV Project onto Syndeia Demo Box JIRA Project

    6. The new reference connections are shown in Figure 4. Note that each activity used in UAV Project is now connected to a corresponding JIRA task issue.

      Figure 4 Viewing new Reference Connections between SysML Activities and JIRA issues

  5. Close the Syndeia dashboard. From the MagicDraw containment browser, right-click the activity Task 1 and select Syndeia → Open Connected Artifacts. Check the connected target desired and the corresponding JIRA issue opens in the JIRA interface (see Figure 5).

    Figure 5 JIRA interface, Task 1 issue

  6. Note at the bottom of Figure 5, this issue is shown as linked to the issue for the higher-level activity UAV Project and the three lower-level activities, Subtask 1A, Subtask 1B and Subtask 1C. While JIRA does not support an "issue hierarchy" exactly like the activity structure in SysML, Syndeia uses the "relates to" issue link to create a corresponding network of connections.

  7. This process just demonstrated creates reference connections from SysML to JIRA for activity, block or requirements structures. A more powerful set of connections can be made if the SysML block structure is composed of blocks with the applied stereotype <<JIRA_Issue>> and the Model Transform connection type is used for the drag and drop action. In this case, the connection created between each block and its corresponding issue are of the same type as in Exercise 8.2, where attributes such as status, assignee, and so forth can be compared and updated between SysML and JIRA. You may try this using the block structure in the package JIRA WBS Structure and a JIRA project of your choice. In this use case, the SysML block structure and connected issues are acting as a Work Breakdown Structure within the SysML model for project management purposes.

  8. Exercises 8.1 through 8.3 use the default SysML-JIRA mapping for Syndeia. Even more flexibility is available through the custom mapping features introduced in Syndeia release 3.2 and extended in 3.3. See exercises 8.4 – 8.7 for examples.