The SysML modeling is only part of the overall engineering effort, although it plays a key role in holding the architecture of the system. In this post, we will show how this model connects to other tools for requirements management (Jama Connect), test (TestRail), PLM (Windchill), ALM (JIRA and GitHub), and simulation (Simulink/Stateflow) using the Syndeia integration platform to share and access information between engineering domains. These models together with the network of connections between them form the Digital Thread for the Ventilator model.
Figure 1 Syndeia interoperability platform, Release 3.3
Syndeia Release 3.3, available this quarter from Intercax, offers the capability to both build the Digital Thread and to analyze it. Syndeia 3.3 interfaces to all the tools shown in Figure 1 and supports both reference and model transform connections, depending on the paired tools. In reference connections, model elements in two different repositories are linked in a way that allows them to be searched, accessed and checked for changes. Model transform connections are created when models are pulled from one domain into another with model structure and attributes shared between them. These connections enable common data to be compared and updated as the models evolve, in addition to search and access.
Syndeia 3.3 also introduces a web browser interface which enables rapid specialized searches of the Digital Thread using the Gremlin pattern-matching graph query language. We will use this in this post to show examples of the extended connections Syndeia is making. In the following post, we will show how it may be used for Digital Thread validation for completeness and consistency, some of the DevOps capabilities we discussed in Part 1.
Figure 2 Digital Thread architecture for Ventilator system
For this example, we will use the Digital Thread architecture shown in Figure 2. The SysML architecture model in the center could be either the MagicDraw model from Part 2a or the Rhapsody model from Part 2b. Other tools could equally well have been substituted in other domains, including DOORS NG, Teamcenter and Adaptavist Test Management and new tool interfaces are being regularly introduced by Intercax. The solid line connections between tools are stored and configuration-managed in the Syndeia Cloud server-based repository, but for this example we have also pushed the SysML internal relationships, such as the Satisfy and Verify dependencies, into Syndeia Cloud to be part of the graph analysis.
Requirements – Architecture – Test Management
An early step in most MBSE methodologies is the creation of a set of functional and non-functional requirements. This is frequently carried out in a requirements management tool such as Jama Connect or DOORS NG, but it can also be valuable to reproduce those requirements, at least selectively, in the SysML architecture model. With Syndeia, we have performed a model transform of a set of requirements from Jama (Jama Software) to SysML, sharing a user-configurable set of attributes between them.
A later step is to assign one or more test cases to each requirement. One approach is to add a placeholder activity to the SysML model, linked by a Verify dependency to the requirement. The test cases are described by a test engineer in a specialized test management tool such as TestRail (Gurock). Finally, the system engineer uses Syndeia to create a reference link from the SysML activity to the TestRail test case.
We can search for this specific pattern using the web interface to Syndeia Cloud and a Gremlin graph query. An example of the visualization of the search results is shown in Figure 3 (the figure shows only one of multiple results to this query). The left node represents a Jama requirement. It is linked to a SysML requirement, linked to a SysML activity, linked to a TestRail test case. Each node may be right-clicked to show the properties of the node stored by Syndeia Cloud or even access the element in web-accessible repositories such as Jama and TestRail.
Figure 3 Gremlin query – Jama requirement – SysML requirement – SysML activity/testCase – TestRail Testcase
This pattern is not the only conceivable choice we could have made in building the Digital Thread. Alternatively, we could have used Syndeia to
- connect the SysML requirement directly to the TestRail test case,
- connect the Jama requirement to the SysML activity/test case, or
- connect the Jama requirement directly to the TestRail test case
Our choice would have affected the way we track this relationship but might be more efficient depending on our objectives.
PLM – Architecture – Simulation
At Intercax, our approach to the Digital Thread encompasses cyber-physical systems, with both hardware and software components. Engineering software tools of particular importance to hardware include PLM, CAD and simulation. As our proposed system development project proceeds, we use Syndeia to seed a PLM bill of materials in Windchill (PTC) by applying a model transform to the SysML block structure shown in Figure 7 of Parts 2a/b. We create a second model transform from SysML to Simulink (The MathWorks), converting the connectivity and composition information displayed in the SysML model IBDs, such as Figure 8 in Parts 2a/b to the Simulink structure shown in Figure 4.
Figure 4 Simulink model, Gas Mixing and Metering Assembly, corresponding to Figure 8 in Parts 2a/b, “Social Distancing…”
In each case, the models remain linked at the individual block level. One example of such connections is shown in Figure 5, again using a Gremlin pattern-matching query for graph analysis through the Syndeia Cloud web interface. It asks for cases where a Windchill part is connected to a SysML block, which is further connected to a Simulink block (only one result is shown).
Figure 5 Gremlin query – Windchill part – SysML block – Simulink block
SCM – SysML – Project Management
A Syndeia user can exercise similar integrations on the software side of the development. As an example, Figure 6 illustrates a connection between a GitHub file for software configuration management (SCM), a SysML activity representing a system function, and a JIRA task used to log progress and status of the implementation of that function in software.
Figure 6 Gremlin query – GitHub file – SysML activity – JIRA task
Part of the need in a DevOps development environment is the ability to view the workflow as a whole, rather than as disconnected and uncoordinated tasks. In the final part of this blog series, we will show some examples of how Syndeia allows some important questions to be answered about validation, consistency and completeness in a distributed and asynchronous workplace.
- Systems Engineering in a Time of Social Distancing | Part 1
- Systems Engineering in a Time of Social Distancing | Part 2a
- Systems Engineering in a Time of Social Distancing | Part 2b
- Systems Engineering in a Time of Social Distancing | Part 3 (this post)
- Systems Engineering in a Time of Social Distancing | Part 4