Skip to main content

If we could explore the Total System Model made accessible by the Syndeia MBE platform, what kind of questions would we ask?

Syndeia 3.1, released May 2017, offers a new feature to help users try out their ideas in this area. The network of inter-model connections managed directly by Syndeia and the intra-model connections in the central SysML model can be exported together into a Neo4j graph database, where a flexible and powerful graph query language Cypher can be applied.

For our examples below, we used the free Community Edition of Neo4j and a UAV sample SysML model connected to elements in Windchill, Jama, JIRA, GitHub, Simulink and MySQL. The resulting Syndeia export to Neo4J contained 1225 nodes and 2510 relationships (edges).

Query - Show me all the …

One simple query is to show all the elements or all the relationships of a particular type in the database.  In Figure 1, we ask the database for all Jama requirements connected by model transform connections to SysML elements. In one millisecond, it returned 36 records. In Figure 1, the yellow circles represent SysML requirements and the gray circles are Jama requirements. The yellow circles are connected to the gray circles by REQUIREMENT_JAMA_MODEL_TRANSFORM_CONNECTIONs, while the yellow circles are connected to each other by the SysML containment relationships that create the requirement hierarchy inside the SysML model.

Cypher can also return the results in tabular form, which is frequently more useful when the number of records is high. In general, we believe such queries can be useful for model size and completeness metrics as the system project proceeds.

graph-queries-mbse-1

Figure 1 Identifying all Jama requirements connected to SysML elements

Show me all the Requirements that affect a specific Part.

A CAD designer, a software engineer, or a simulation analyst needs to know all the requirements affecting the system element they are responsible for. In Figure 2, the Cypher query asks for all Jama requirements (gray) affecting the cUAV block or its part properties to the third generation (blue). Simply identifying requirements directly satisfied by the top-level block is relatively easy with a good SysML tool. Here, there is only one, “UAS_Cost”. But in many cases, the indirect impact of requirements on an element’s subsystems or behaviors is also critical.

graph-queries-mbse-2

Figure 2 Identifying all Jama requirements satisfied by cUAV or its part properties to the third generation

Show me all the … Elements connected to a specific Requirement

As the system development proceeds, changes to requirements arise, or at least must be considered in light of cost, schedule, or management dictate. This reverses the query; what system elements would be potentially affected by a change in a specific requirement? In Figure 3, we ask for commit elements in GitHub, a software configuration management repository, that are connected to the Jama requirement, “Search”.  The results show one GitHub commit (the red circle, id lower left), connected to a SysML block “Flight SW”, which satisfies a SysML requirement “Search” connected by model transform to the original Jama requirement. The software engineering team responsible can be notified and the effect of any requirement changes analyzed quickly.

graph-queries-mbse-3

Figure 3  Neo4j Graph Query for GitHub commits connected to Jama requirement “Search”

A similar query in shown in Figure 4. The Jama requirement is a structural requirement for an auxiliary power unit “APU” and the query asks which Windchill parts in the PLM system would be impacted by a change. In this case, the Windchill parts are the APU itself, its owner, the electrical system, and its owner, the aircraft platform (the overall UAV system does not appear because it is not a part in this Windchill bill-of-materials).

graph-queries-mbse-5

Figure 4 Neo4j Graph Query for Windchill parts connected to Jama requirement “APU”

Are two specific elements connected?

A deceptively simple question, but one that draws on the full power of a graph query engine, is to ask whether two system elements are connected, and, if so, how? The challenge arises when the connection is not direct, but through one or more multi-step chains, possibly extending across multiple tools. For large models, the number of possibilities to be checked increases rapidly and efficient search algorithms are critical.

In Figure 5, we check whether the Windchill part “ElectricalSystem (A.5)” and the Jama requirement “APU” are connected. In this case, they are, by a

  • BLOCK_WC_MODEL_TRANSFORM_CONNECTION to the SysML block “ElectricalSystem”,
  • PartProperty relationship to the SysML block “APU”,
  • Satisfy relationship to the SysML requirement “APU”
  • REQUIREMENT_JAMA_MODEL_TRANSFORM_CONNECTION to the Jama requirement “APU”

graph queries mbse 5

One of the special challenges of systems engineering is to identify non-obvious chains of causation, like the 2011 Fukashima earthquake where the reactor failure was not due to the earthquake itself, but to the combined effects of earthquake, tsunami, flooding, failure of backup generators and loss of pump power. Tools that can help identify such chains of connections may be particularly important in safety and reliability evaluation.

Next Steps

The export to Neo4j described in this blog post is not the final solution for Syndeia. The Neo4j database is not the database where Syndeia v3.1 maintains the inter-model connections (we use Cassandra for this) and does not support multiple projects and users in this application. Equally important, a better interface for generating these queries needs to be developed, balancing the flexibility of general purpose query languages with ease-of-use. However, we hope that this feature will encourage Syndeia users to start thinking about these matters and give us feedback on what they would like to see.

 

Related Posts

Syndeia AI - Jira Agent, Part 3

We have all been there, trying to write complex query expressions or fill out a form with filters and drop downs to find issues in Jira. But now, you can finally talk with your ...
Manas Bajaj

Syndeia AI - SysML 2.0 Agent, Part 2

Greetings and welcome to an overview of the Syndeia AI - SysML 2.0 Agent. Syndeia AI is a collection of AI agents built on Syndeia Cloud. These AI agents are capable of processing ...
Manas Bajaj

Syndeia AI Agents, Part 1

Hello and welcome to a preview of Syndeia AI, a collection of AI agents that are powered by Syndeia Cloud. These AI agents can take natural language inputs, fetch latest data from ...
Manas Bajaj

Santa’s Mission 2024 with 8.2 billion landings made possible by Digital Threads (Day 5)

Santa has just returned from his whirlwind journey, and the workshop erupts in cheers. Elves spill into the command center, their faces glowing with joy and pride as they take in ...
Manas Bajaj

SDS Hardware, Software, and Verification Digital Threads go live (Day 4)

The air hums with the sound of high-tech enchantments and the cheerful chatter of elves hard at work. Twinkling fairy lights hang from the rafters, casting a warm, festive glow. ...
Manas Bajaj

3D Sleigh Assembly model coordinated with System Architecture (Day 3)

It is Day 3 and Tony Sparkgear (Chief-Hardware-Elf) had his team of elves are working hard to create a 3D model in NX parametric software to represent the Sleigh Assembly as shown ...
Manas Bajaj

Sleigh Delivery System – Architecture & Digital Thread Dashboard (Day 2)

It is 7 AM and North Pole is bathing in the first light of dawn reflecting from the snow. The Great Hall, ground zero of operations and logistics, is hustling and bustling with ...
Manas Bajaj

North Pole Calls Intercax for Digital Mission Possible (Day 1)

Today, Intercax received a call from Mrs. Claus, the heart and soul of operations and logistics at North Pole. Seven days from the finale and at a time when hope and love cannot ...
Manas Bajaj

SysML v2 and Digital Threads with Syndeia

SysML v2 is the next generation Systems Modeling Language for modeling complex systems that significantly enhances precision, expressiveness, usability, interoperability, and ...
Manas Bajaj