Weave Digital Threads

Return to the Top of the Tutorial (⇧) or Go back to the Prior part of the Tutorial (⇦)

This exercise guides you through the creation of one or more "digital threads", relating the content of several engineering repositories. After the threads are created, you will export SysML information to Neo4j and to Syndeia Cloud. You will then run queries for the two graph databases to understand the value of each and to see what information is present in each.

Note that the amount of connectivity you can accomplish will depend on which additional tools and repositories you have available. You do not need to perform all the connection threading to make progress with this tutorial.

You may benefit from working through the following tutorials before attempting this one:

Inform Syndeia Plugin to export to Neo4j both Intra-model and Inter-repository content and relationships

When exporting content from a model into a Neo4j graph, you have a choice. That is, do you want the generated Neo4J graph to include Vertices and Edges for the elements outside the model that are connected to elements within the model through Connections which the Syndeia graph stores or, rather, do you want the generated Neo4j graph to only include Vertices and Edges for the elements and relationships that are entirely within the model?

For this tutorial, inform the Syndeia Plugin that it should export to Neo4j those Connections that relate interior and exterior elements.

  1. Set Syndeia Settings to export inter-repository connection detail

    1. Select any element in the modeling tool’s Containment Browser (the choice doesn’t matter)

    2. Right-click and navigate through the menus to Syndeia Settings

    3. Toggle checked the “Generate inter-model connections” setting (see figure)

      Syndeia Settings dialog with the checkbox toggled True for Generate inter-model connections
    4. Click outside the checkbox

    5. Click Apply

    6. Close the Syndeia Settings dialog

    7. Save any modified model content

    8. Exit MagicDraw

    9. Restart MagicDraw

    10. Reopen the sample model

Weave a Thread with SysML and Windchill

In this exercise, you will use Syndeia Plugin to populate Product content into a Windchill PLM repository from System Block structures within the SysML. (Again, consider completing the tutorial focused on Windchill integration; this tutorial won’t go into the details for this.)

  1. Open the Syndeia Dashboard and check that your current Syndeia Project has access for your user to a Windchill Repository.

    Repository Manager, in Syndeia Dashboard Dialog, showing the presence of a Windchill Repository
  2. Perform a Model Transformation from SysML to Windchill for the UAV Block assembly

    1. Select the UAV Block in the A_with_connections Package

    2. Right-click to open the Syndeia Dashboard with the UAV Block as the context

    3. Select the Connection Manager tab and choose the SysML Repository as the left side and the Windchill Repository as the right side and select Model Transform for the Syndeia Connection Type to create.

    4. Drag the source element (here, the UAV Block) onto the Windchill container (here, the Lonnie Sandbox Folder) to receive new, transformed content. Repeat for any Blocks which weren’t automatically visited as part of the UAV structure.

  3. Confirm that the target Folder now contains Windchill Parts for each of the Block elements from the Structure Package.

    1. Switch to the Connections Search and search for all BLOCK_WC_PART_MODEL_TRANSFORM_CONNECTIONs now held in the Syndeia Project

    2. Using the Graph Query Service in Syndeia Cloud, perform a query to locate the 15 Syndeia Connections also created and stored as part of this Model Transform.

      1. Determine your Syndeia Project’s key (it is the name you provided when you created the project in Syndeia Cloud. Here, we are using “LVSB02” )

      2. Browse and authenticate to your Syndeia Cloud web service

      3. Click the Graph Query icon on the left column

      4. Switch to Raw Query mode

      5. Enter an Edges Query in Gremlin such as g.E().has( ‘container’, ‘LVSB02’ )

    3. Confirm that all expected Relationships are present. For this example, it is expected that there are 15 Connections between SysML Artifacts and Windchill Artifacts.

You have completed a digital thread between SysML content and Windchill content. After weaving several more threads, you will explore these threads in Neo4j and in Syndeia. But, first, on to the next engineering discipline.

Weave a Thread with SysML and DNG

In this exercise, you will use Syndeia Plugin to populate Product content into a Jazz RM Doors NextGen requirements repository from Requirements within the SysML. (Again, consider completing the tutorial focused on DNG integration; this tutorial won’t go into the details for this.)

  1. Verify that your Jazz RM Project Area (and Component and Configuration, if using a CM-enabled RM) contains an RM Type named “Requirement Collection” with metatype “Collection”

    1. This can be verified several ways.

      1. Using a web browser, visit the Project Properties or Component Properties for the target RM Project Area and browse the Types there. We show you one such page - but this will vary depending on your organization’s particular configuration of the RM service.

      2. Use Postman (or any REST Client) to query the RM Service for the Types it offers. We show you one such curl request - but this will vary depending on the RM service

    2. If there is no such Type, do not attempt this Exercise as Syndeia will be unable to created the necessary nesting of Requirements in the target Project Area.

      1. Work with your Jazz IT Administrators to modify the target Project Area, Component, and Configurations to offer the “Requirement Collection” Type

      2. If a new Type cannot be added, the Requirements in the SysML model must be “flattened” to be lists rather than hierarchies.

  2. Open the Syndeia Dashboard and check that your current Syndeia Project has access for your user to a Jazz DNG Repository.

  3. Perform a Model Transform from SysML Requirements to DNG Requirements

    1. Before the Model Transform drag-drop operation

    2. After the Model Transform operation

    3. Switch to the Connections Search and search for all REQUIREMENT_DOORSNG_TRANSFORM_CONNECTIONs now held in the Syndeia Project

  4. Confirm that the target RM Project now contains Requirements for each of the Requirements elements from the Requirements Package and that the parent SysML Requirement has been transformed into a DNG RM Requirement Collection.

    1. Shortcut Tip: select the new Requirement Collection in the Connection Search (seventh row, here), right-click, and select Open Target

       

    2. Using the Graph Query Service in Syndeia Cloud, perform a query to locate the existing 15 Syndeia Connections and, now, the 7 additional ones created and stored as part of this Model Transform.

      1. Determine your Syndeia Project’s key (it is the name you provided when you created the project in Syndeia Cloud. Here, we are using “LVSB02” )

      2. Browse and authenticate to your Syndeia Cloud web service

      3. Click the Graph Query icon on the left column

      4. Switch to Raw Query mode

      5. Enter an Edges Query in Gremlin such as g.E().has( ‘container’, ‘LVSB02’ )

      6. Observe the 7 “DOORS-NG” Nodes added to the prior result set. These are linked to 7 additional Nodes from the SysML Model, the source Requirement elements.

        1. You can nudge the graph to see the connections in different ways and later queries will reveal more connections; for now, the point is simply to see how the transformations are contributing information to the Syndeia graph of digital threads.

Weave a Thread with SysML and Jira

In this exercise, you will use Syndeia Plugin to populate Product content into a Jira ALM repository from System Activities within the SysML. (Again, consider completing the tutorial focused on Jira integration; this tutorial won’t go into the details for this.)

  1. Having completed the SysML / Jira tutorial or after installing the Syndeia Mapping Profile, confirm that your current MagicDraw model has the Syndeia Mapping Profile installed and mounted

  2. Confirm that Syndeia is reconfigured to use custom Mappings

    1. Open the Syndeia Dashboard if it is not the active Window

    2. Select the Settings Tab

    3. Toggle Checked the Use Mapping setting

    4. Click outside the checkmark (for example, onto the word “Precision”)

    5. Click Apply

    6. Close the Dashboard

    7. Exit MagicDraw

    8. Restart MagicDraw

    9. Re-enter the Syndeia Dashboard and re-open your Syndeia Project

  3. Confirm that the Syndeia Dashboard has a mapping for UML Activities with Jira Bugs (issues)

  4. Open the Syndeia Dashboard and check that your current Syndeia Project has access for your user to a Jira Repository.

  5. Select the UAV Graph in the MagicDraw Containment Browser

  6. Right-click to open the Syndeia Dashboard with the UAV Graph model as the context

  7. Select the Connection Manager tab and choose the SysML Repository as the left side and the JIRA Repository as the right side and select Model Transform for the Syndeia Connection Type to create.

  8. Perform a Model Transform from SysML Activities to Jira Issues

    1. Before the Model Transform drag-drop operation



    2. Select one or more Activity elements and drag the set onto the chosen Jira Project container (here, Syndeia Demo Box)

    3. After the Model Transform drag-drop operation

      1. The target Repository has updated to shown that new issues have been Reported by me (you, the user)

      2. Connection Search reveals the addition of 6 new Connections, one between each source Activity and new target Issue

      3. Confirm that the target Jira Repository now contains Issues for each of the Activity elements from the Activities Package.

        1. Shortcut Tip: select a new connection in the Connection Search, right-click, and select Open Target

        2. Run a JQL query once in Jira to see all the newly created issues.

  9. Using the Graph Query Service in Syndeia Cloud, perform a query to locate the existing 50 Syndeia Connections and, now, the 6 additional ones created and stored as part of this Model Transform.

    1. Determine your Syndeia Project’s key (it is the name you provided when you created the project in Syndeia Cloud. Here, we are using “LVSB02” )

    2. Browse and authenticate to your Syndeia Cloud web service

    3. Click the Graph Query icon on the left column

    4. Switch to Raw Query mode

    5. Enter an Edges Query in Gremlin such as g.E().has( ‘container’, ‘LVSB02’ )

    6. Observe the 6 “Jira” Nodes added to the prior result set. These are linked to 6 additional Nodes from the SysML Model, the source Activity elements.

      1. You can nudge the graph to see the connections in different ways and later queries will reveal more connections; for now, the point is simply to see how the transformations are contributing information to the Syndeia graph of digital threads.

  10. To conclude this exercise in “Weaving Digital Threads”, run one more graph query to see the Syndeia Connections with a bit more connectivity.

    1. Click the Graph Query icon on the left column

    2. Switch to Raw Query mode

    3. Enter an Edges Query in Gremlin such as g.V().bothE().has( 'container', 'LVSB02' ).bothV().bothE()

 

Return to the Top of the Tutorial (⇧) or Continue to the Next part of the Tutorial (⇨)