Exercise 5.1 - SysML DOORS NG Reference Connection.

Objectives

The new learning objectives of this exercise are to create a reference connection between an existing SysML element in Rhapsody and an existing requirement in DOORS NG (DNG)and use it to open the DOORS NG web interface from the connected requirement in Rhapsody.

Preparation

This exercise assumes the student has

  • IBM Rational Rhapsody 8.2 installed correctly on his or her machine with a valid license for use, and

  • Syndeia 3.3 installed as a plugin for Rhapsody with a valid license for use

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

The user can use any DOORS NG repository network connection they have available. It is generally advisable to carry out these exercises in a non-production repository, a "sandbox", set up for training and practice purposes. Caution: Rhapsody has, by default, restrictions on the naming of SysML elements, which can create problems when Syndeia tries to create Rhapsody model elements that violate these restriction, e.g. beginning a SysML block name with a number. We recommend modifying any Rhapsody models you create to relax these restrictions. Modify the properties of the top-level package of the model under General::Model::NamesRegExp with the following string and save.
^(([a-zA-Z0-9_][a-zA-Z0-9_ ():-]*)|(operator.+))$

Exercise

  1. Begin with a SysML project with a requirement structure in Syndeia_DNG_Mapping_Tutorial.rpy (Get it here - SysML Models, Profiles and Mappings.), right-click the top-level package, and launch the Syndeia dashboard (Figure 1). Create or select the Syndeia Cloud project in which to store the inter-model connections.

    Figure 1 Launching Syndeia dashboard

  2. To connect to DOORS NG, right-click the DOORS category under Repositories in the Repository Manager tab and select Add… (Figure 2), then enter a name, your own DNG URL, authentication protocol, and credentials, and click OK (Figure 3).


    Figure 2 Adding a Jama network connection

    Figure 3 Entering Jama repository info

  3. Go to the Syndeia dashboard, Connection Manager tab. On the right side, select the DOORS NG repository and expand to show at least one requirement. In Figure 4, we will use 1517 – UAV Requirement (or any DNG model element accessible in your repository). On the left side, select the SysML model and expand it to show DOORS NG Tutorial::Reference Connection::cUAV.

    Figure 4 Syndeia Dashboard, Connection Manager tab

  4. To create a reference connection between cUAV and 1517 – UAV Requirement.

    1. Set Connection Type to Reference in center section

    2. Drag-and-drop cUAV from the left side on top of the 1517 requirement on the right side (or the reverse).

  5. To confirm that a connection has been made, go to the Connection Search tab and click Get All. It should appear similar to Figure 5. Click the Columns to Display icon to modify table organization.

    Figure 5  Syndeia Dashboard, Connection Search tab (highlighting Columns to Display icon)

  6. From the Entire Model View Browser in Rhapsody, right-click the cUAV block and select Syndeia → Open Connected Artifact. The DOORS NG interface should open to the connected requirement in your default web browser, as in Figure 6.

    Figure 6  DOORS NG web interface, opened using Open Connected Artifact from Rhapsody

  7. Edit the DNG requirement in the web browser and save to create a newer version. In the Connection Search tab of the Syndeia dashboard, right-click the new reference connection and select Compare Source and Target. The Comparison Result tab should be similar to Figure 7. Hover over the Comment field to see that the red color indicates that a newer version of the DOORS requirement now exists.

    Figure 7  Syndeia dashboard, Comparison Result table showing newer version of DOORS requirement

  8. To update the reference connection, right-click on it in the Comparison result tab (or where it is shown in the Connection Search or Connection Browser tabs) and select either Sync Source -> Target or Sync Target -> Source.