During the current pandemic, ventilators are constantly in the headlines, with reports of non-traditional manufacturers trying to meet surging demand as patients flood hospitals. A medical ventilator maintains breathing for a severely ill patient whose lungs cannot provide the necessary oxygen on their own. It is a complex device combining pneumatics, electronics and software and therefore an appropriate example to illustrate the ideas of systems engineering in a distributed and asynchronous environment.
Figure 1 SysML Domain IBD (Rhapsody)
The ventilator domain shown in Figure 1 includes the ventilator which is hooked to the patient through an endotracheal tube. The medical facility provides oxygen and medical air (either through permanent piping or gas cylinders) as well as electrical power, under the supervision of an operator, a medical professional.
Our SysML model of the system architecture includes requirements, behaviors, and structure. In this post, we will show diagrams from a IBM Engineering Systems Design Rhapsody SysML model, which is available for download through a link at the end. In a parallel post, we have shown the same model in MagicDraw/Cameo (Dassault Systemes). Note that these models were created to illustrate the principles of integrated MBSE. Both are incomplete and are not based on a proven or validated design.
Our model begins with a hierarchy of requirements within the SysML model, shown partially in Figure 2. The complete set includes requirements for
- Ventilator functionality, including operating modes and performance,
- Interfaces to utilities and the endotracheal tube
- Safety and Alarms
- Non-functional requirements, including reliability and useability.
Figure 2 SysML Requirements Table (Rhapsody)
As the requirements are laid out, we can also begin to plan for the testing and verification of those requirements, using the SysML <Verify> relationship to provide traceability, as shown in Figure 3. In Part 3 of this series, we will demonstrate how to link these elements to requirements and test management tools for detailed development.
Figure 3 SysML REQ diagram (Rhapsody) with <Verify> dependencies
Modern medical ventilators have extremely complex control software. They need to operate in both mandatory (the patient cannot breathe on their own) and support (the patient needs assistance) ventilation modes, and switch between them automatically. They control and analyze some combinations of pressure, volume, flow, O2 content, CO2 content, time and frequency and register alarms for many different out-of-spec situations.
Figure 4 SysML State Machine diagram (Rhapsody)
The state machine diagram in Figure 4 shows a high-level view of system behavior and identifies the principal operating modes.
Figure 5 SysML Activity diagram (Rhapsody)
Each state contains one or more sub-behaviors, state machines and/or activities. As an example, Figure 5 illustrates the inputs, actions and outputs during the inspiration (air intake) phase of the breathing cycle, under the operating mode of mandatory ventilation with pressure control. Note that this diagram also shows some of the allocations of function to structure, to be discussed in the next section, through the swimlane notation.
Figure 6 SysML REQ diagram (Rhapsody) with <Satisfy> dependencies from behavior elements
As these functions are defined, we can provide traceability back to the requirements using the SysML <Satisfy> relationship. Figure 6 shows this for a few of the ventilation functional requirements, as satisfied by SysML behavior elements.
Many of the key components of the ventilator are shown in the structural decomposition in Figure 7. The ventilator is first subdivided into Casing, the active unit, and Cart, the mechanical components for transport and mounting. Casing is divided into sub-assemblies, e.g. inspiratory, expiratory and electronics, which are further broken down into components, e.g. valves, regulators, etc.
Figure 7 SysML Structure Decomposition (Rhapsody)
Interfaces between the parts that make up the system are expressed in SysML internal block diagrams and the model provides a multi-level set of IBDs for the pneumatic and electrical connections. As an example, Figure 8 shows the gas mixing and metering subassembly, running from oxygen, air, electrical and data inputs on the left edge to the output to the inspiratory section on the right, with an auxiliary output for a nebulizer at the bottom.
Figure 8 SysML IBD diagram (Rhapsody), Gas Mixing and Metering Assembly
As with Figure 6, we want to provide traceability from the structural design to the requirements using the SysML <Satisfy> relationship. Figure 9 shows several examples from the pneumatic and electrical interfaces.
Figure 9 SysML REQ diagram (Rhapsody) with <Satisfy> dependencies from structure elements
SysML modeling is only part of the overall engineering effort, although it plays a key role in holding the architecture of the system. In Part 3 of this series, we will show how this model connects to other tools for requirements management (Jama Connect), test (TestRail), PLM (Teamcenter), ALM (JIRA and GitHub), and simulation (Simulink/Stateflow) using the Syndeia integration platform to share and access information between engineering domains. In the final part of the series, we use the Digital Thread this network of connections has created to provide some of the DevOps-like services needed in the distributed, asynchronous design environment envisioned in Part 1.
Caveat: The author claims no practical experience in medical ventilator design and the models provided should be used as examples of a systems engineering process, not a validated reference design. Useful source materials included “Principles and Practice of Mechanical Ventilation”, Martin J. Tobin (McGraw Hill, 3rd edition, 2012), especially Chapter 3 by Robert L. Chatburn and Eduardo Mireles-Cabodevila, and “Rapidly manufactured ventilator system specification”, UK Department of Health and Human Care (2020). All errors in the SysML model should be attributed to the author of this blog.
Download SysML Model:
You may download the model here – https://forms.gle/MVdkwhd3PzPRwu3y9
- 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 (this post)
- Systems Engineering in a Time of Social Distancing | Part 3
- Systems Engineering in a Time of Social Distancing | Part 4 (coming soon)