Exercise 26.1 - SysML 2.0 Integration on Syndeia Web Dashboard
Objectives
The new learning objectives of this exercise are to create a repository connection to a SysML 2.0 repository on the Syndeia Web Dashboard (SWD), view the repository including properties, relations and search, and create a reference connection. While the SysML 2.0 standard is still under development, this exercise is offered as an example of how future users might interact with a model through the SysML 2.0 API.
Preparation
This exercise assumes the student has
· Syndeia Cloud 3.4 installed with a valid user account,
· A valid user account to a SysML 2.0 repository, and
· A valid user account to a at least one other on-line repository, e.g. JIRA.
The user can use any SysML 2.0 repository they have available. At this time, these may be available only through participation in the SysML 2.0 OMG task force. Because the content of that repository will be different, the specific examples in the following exercise instructions are only a guide and example for your actions.
See Video 1.9 for an introduction to the Syndeia Web Dashboard.
Background – SysML 2.0
As envisioned by Intercax, the Digital Thread is composed of inter-model connections between models in different repositories, which Syndeia creates and manages, and intra-model connections between elements in the same repository, which the individual tool creates and manages. As of Syndeia release 3.4, the Syndeia Web Dashboard can extract and display some model information from the SysML 2.0 repository. Figure 1 shows a tree view of this information, with labels identifying the SysML 2.0 element types. The label color coding indicates how the SysML 2.0 element type is mapped to the Syndeia Cloud element types: Repository (green), Container (red), and Artifact (blue).
This information is important in formulating and interpreting Syndeia graph queries. A more complete diagram of the SysML 2.0 data model as it is understood by Syndeia is available through the web dashboard help menu on the left.
Figure 1 Tree view of SysML 2.0 repository
In Syndeia 3.4, the SysML tree follows a standard pattern.
When a SysML element (including packages) is expanded, two categories, Incoming relations and Outgoing relations, are shown.
When either of those categories is expanded, all intra-model relations with that directionality are shown.
When a relation is expanded, the SysML elements at both ends of the relation are shown. One of those elements will be the original element from step a) above.
If the other element is step c) is expanded, again two categories, Incoming relations and Outgoing relations, are shown. If those are expanded, one of the relations shown will be the relation in step c).
The resulting pattern can become confusing as the same elements and relations can appear multiple times as lower-level objects reference objects higher in the tree. As the SysML 2.0 standard is refined, future versions of Syndeia may modify this pattern.
Exercise
Log on to the Syndeia Cloud Web Dashboard (see Video 1.9) and click on the Repositories icon on the left border (Figure 2).
Figure 2 SWD Repositories page (initial) – Repositories icon outlined in red
If no repository connection to SysML is available, select SysML in the left column, then click the + icon at the top of the column. Complete the form and click Create (Figure 3).
Figure 3 Adding a SysML 2.0 repository connection
If a SysML 2.0 repository connection already appears under SysML, but you need to add your own access credential, select the SysML 2.0 repository and click the Gear icon at the top of the column. Complete username and password and click Update (Figure 4).
Figure 4 Updating SysML 2.0 repository info
Your repository should load. Expand it to show Projects, Commits, and SysML resources, as in Figure 5. See Background section for discussion of SysML object types.
Figure 5 Viewing SysML 2.0 repository contents on Repositories page
On the right border, there are three icons, labeled Details, Relations and Search. Select a SysML object in the Tree View column (the start ActionUsage in our example) and click on the Details icon. A Detail list appears to the right as in Figure 6. At the top of the list, two icons allow the list to be sorted alphabetically or by default order (shown here). Scroll down and review the attributes of the SysML object that are available to Syndeia 3.4, including name, type and externalKey. Click the Details icon again to close the list.
Figure 6 SWD Repositories page, Details list (Details icon highlighted in red)
Click the Search icon on the right.
In the Search window, select Container Search or Artifact Search. If Container Search is selected, type a text string in the Query field and click Search.
If Artifact Search is selected, select the Project to be searched from the Container pull-down menu, select the Artifact type and Commit to be searched from the pull-down menus, fill in the Containing string field with the text string to be searched and click Search. In our example, we entered 3a-Function-Based Behavior for Container, ELEMENT for artifact type, c227ebca… for commit, and torque for text string. The result(s) of the search are shown on the right, as in Figure 7.
Click the Search icon again to close the Search window.
Figure 7 SWD Repositories page, Search feature (Search icon and search result highlighted in red)
Select a SysML 2.0 object in the Tree View column (2a-Parts Interconnection package in our example) and click on the Relations icon on the right.
In the Relations window (Figure 8), you will see a list of Inter-model relations, from the selected SysML 2.0 object to models in other repositories, and a list of Intra-model relations, from the selected SysML object to other SysML objects in the same SysML 2.0 repository. In this example, there is one Inter-model relation, to an Aras part and 5 Inter-model connections, one incoming and four outgoing.
Figure 8 SWD Repositories page, Relations lists (Relations and Add icons highlighted in red)
To create a reference connection between the selected SysML object and an element in another repository, click on the + (Add) icon highlighted in Figure 8. A Create Reference Relationships window will appear as in Figure 9.
At the top, either select an existing Syndeia project to save the connection within (DZSB09 in our example) or create a new project. See Video 1.5 on creating Syndeia projects for further discussion.
Under Select target artifact, choose the other repository to which the new connection will be made. In our example this is JIRA @ Intercax.
If you have valid access to this repository, its contents will appear at the bottom of the window. Scroll down to the element that will be the target of the new connection and click the checkbox beside it. This is JIRA issue Hello-2269 in our example.
Each Syndeia connection has a directionality. The Select direction pull down menu higher up in the window allows the directionality to be set as desired before the connection is made.
Click on the Create Reference Connection button at the bottom. The new connection should appear in the Inter-model list after the Reload icon is clicked.
Click the Relations icon again to close the Relations window.
Note: In Syndeia release 3.4, it is not possible to create Model Transform inter-model connections or intra-model connections through the SWD. Some of those use cases will be added in future releases.Figure 9 SWD Create Reference Relationship window
The Digital Thread Explorer or DTE (Figure 10 - Figure 12) provides interactive visualization of inter-model and intra-model connections in a graph format. To launch DTE, right-click an item in the Tree View and choose Graph View. In our example, this is a SysML 2.0 package 2a-Parts Interconnection. Initially, it appears as a single node in the Graph View, as in Figure 10.
Figure 10 DTE, stage 1
Click on the node (it will show a black border when selected), right-click on it and choose Expand. If this element has any connections, they should appear as in Figure 11. In our example, the initial element had two inter-model connections, to a JIRA issue (blue) and one to an Aras part (red) and five intra-model connections, one upstream to a commit and four downstream, where there are two packages each having a membership and an import relation.
Figure 11 DTE, stage 2
If I right-click on one of the new nodes (Aras Part A) and expand it, a set of additional edges and nodes are displayed (Figure 12), including intra-model relations within Aras and inter-model relations to JIRA, Windchill and Teamcenter. This process can continue until all connections are displayed.
Figure 12 DTE, stage 3