Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
  1. Unzip the tsm.graphdb.zip file provided with this package. Make sure that the full path of the tsm.graphdb folder does not have any spaces. For example, the following will work: C:\Users\Manas\Neo\tsm.graphdb, but the following will not work: C:\Users\Manas Bajaj\Neo 4j\tsm.graphdb
  2. Stop your existing Neo4j database by clicking on the Stop button.

    Figure 33:
  3. Click

    OK to continue

    Click the Choose button and select the tsm.graphdb folder.

  4. Run the following Cypher query to get all nodes and edges in the TSM graph

  5. Click on the hyperlink http://localhost:7474/ or type it directly in your web browser

  6. Click the Start button to start the Neo4j database

    match (n)-[r]->(m) return n,r,m

    You should see similar results as Figure 34. If you expand the node types and relationship types in the top of the Neo4j browser window, you will see SysML nodes, e.g. Requirement, and non-SysML nodes, e.g. DOORS_NG_Requirement.


    Figure 34: Get all nodes and edges in the TSM graph

  7. Run the following query to get all connections between SysML and DOORS-NG

    match(r)-[rel:REQUIREMENT_DOORSNG_MODEL_TRANSFORM_CONNECTION]->(x) return r,rel,x

    The red nodes are SysML requirements and grey nodes are DOORS-NG elements (requirements, requirement collections, modules).

    Figure 35: Get all connections between SysML and DOORS-NG
  8. Run the following Cypher query to get all connections between SysML and DOORS-NG, including relationships between SysML elements

    match(r:Requirement)-[rel:REQUIREMENT_DOORSNG_MODEL_TRANSFORM_CONNECTION|Containment]->(x) return r,rel,x

    Now, you can also see containment relationships between the SysML requirements.

    Figure 36: Get all SysML – DOORS-NG relations including those between SysML elements

  9. Run the following Cypher query to get all reference connections in the TSM graph

    match(r)-[rel:REFERENCE_CONNECTION]->(x) return r,rel,x

    You should see the same results as Figure 37. As shown on the top of the figure, the yellow nodes are SysML blocks, the purple nodes are JIRA tasks/issues, the red nodes are GitHub files, and the green nodes are Simulink model files. The query results indicate that each block in the SysML architecture is connected to a JIRA task/issue since JIRA is used for managing the work breakdown structure. The Flight Software and Mission Software blocks in the architecture are connected to corresponding folders/files in GitHub where the code is being version managed. The UAV block is also connected to a Simulink model that is used analyzing UAV performance.


    Figure 37: Get all reference connections in the TSM graph

  10. (1)   Run the following Cypher query to get all connections to MySQL tables and rows

    match()-[r:BLOCK_MYSQL_TABLE_ROW_DATAMAP_CONNECTION|BLOCK_MYSQL_TABLE_MODEL_TRANSFORM_CONNECTION]-() return r

    SysML blocks (radar, video_camera, thermal_camera) are connected to corresponding tables (red nodes) in MySQL database. Two specific radars, video cameras, and thermal cameras are connected to corresponding rows (green nodes) in the tables.


    Figure 38: Get all connections to MySQL tables and rows in the TSM graph

  11. Run the following Cypher query to get all connections to Windchill parts

    match()-[r:BLOCK_WC_PART_MODEL_TRANSFORM_CONNECTION]-() return r


    Figure 39: Get all connections to Windchill parts in the TSM graph

  12. Run the following Cypher query to check if the UAV block is related to the Windchill part Electrical System (version A.1).

    match(b:Block{name:"UAV"})-[r*]->(t:Windchill_part{name:"Electrical System (A.1)"}) return r

    The results show that the UAV block uses the Platform block which uses an Electrical System that is connected to the given Windchill part.


    Figure 40: Trace relationships between the UAV block and a Windchill part in the TSM graph

  13. Run the following Cypher query to trace all relationships between DOORS-NG and Windchill parts within 3 degrees of separation

    match(r:DOORS_NG_Requirement_Collection)-[rel*..3]-(p:Windchill_part) return r,rel,p

     
    Figure 41: Get traceability between DOORS-NG requirements / requirement collections and Windchill parts within 3 degrees of separation