Skip to content

Worked GPCA example

The bundled Generic Patient-Controlled Analgesia (GPCA) pump is the complete MEMO reference model. It is a research example, not a reusable device design: use its organization, traceability patterns, and review views, but never copy its requirements, risk estimates, acceptance criteria, or evidence as a claim about another product.

What the example proves

GPCA is deliberately broader than a diagram demo. Its catalog contains the clinical context, operational scenarios, requirements, functional behavior, logical/physical/software architecture, safety risk, cybersecurity, V&V, and document views. gpca_trace.sysml connects those records with typed relationships; a view selects a review-sized projection of that same source.

Use one scenario to orient yourself. A patient requests a bolus during a lockout interval. The model should show that the request is recognized, the limit is enforced, no unsafe command is issued, the outcome is logged, and the relevant requirement and risk control have verification coverage.

flowchart LR
    Patient[Patient] --> Request[Request bolus]
    Request --> Limit[Enforce lockout and dose limits]
    Limit --> Decision{Bolus permitted?}
    Decision -->|yes| Deliver[Command pump]
    Decision -->|no| Log[Record rejected request]
    Deliver --> Log
    Limit --> Requirement[Lockout requirement]
    Requirement --> Test[Verification case]
    Test --> Evidence[Evidence]

The arrows in this picture show the direction of the argument or outcome, not a mandatory project phase. In the model, follow the relationship label and its source/target roles for the authoritative meaning.

Read the model in a useful order

Read this Then answer this question Start with
Context and operational catalog Who is using the pump, in which setting, and what can go wrong in use? model/catalog/gpca_context.sysml, gpca_operational.sysml
System and behavior catalog What is supposed to happen for a bolus, alarm, or startup? gpca_system.sysml, gpca_behavior_actions.sysml, gpca_behavior_modes.sysml
Requirements catalog What measured or observable claim constrains that behavior? gpca_requirements.sysml
Architecture and interfaces Which hardware and software elements own the behavior and exchange information? gpca_architecture.sysml, gpca_interfaces.sysml, gpca_physical.sysml
Risk and cybersecurity catalog What harm or compromise is being controlled, and by what control? gpca_risk.sysml, gpca_cybersecurity.sysml
Verification and trace catalog What proves the claim, and what remains unconnected? gpca_verification.sysml, gpca_trace.sysml

Do not start by reading every folder. Choose one question, find the named element, and follow its typed relationships in both directions. Repeat with the alarm-response and startup scenarios to see which parts are reused and which are scenario-specific.

Use the views as review tools

Review question GPCA view What a good review checks
What is outside the pump boundary? System context Actors, external systems, and exchanges are explicit.
How is the device decomposed? System decomposition (BDD) Containment is clear without claiming signal direction.
What flows across components? Device interconnect (IBD) Ports and exchanges point from provider to consumer.
Which component owns a function? Function allocation An allocated function has a responsible design element.
What state or action happens next? Mode state / action flow The nominal and safety paths are distinguishable.
How does a fault reach harm? Risk chain or FMEA A control appears in the chain and is not merely a label.
What still lacks proof? Verification coverage Requirements and controls have meaningful cases and evidence.

BDD and IBD are structural views: a BDD explains definitions and containment; an IBD explains internal parts, ports, and directed exchanges. Treat an action or state diagram as behavior, not as a substitute for either structural view.

Source trail and scope

The source is in memo/examples/gpca-pump/model in the memo-meta workspace. The catalog directory owns canonical elements, gpca_trace.sysml owns cross-layer connections, and views contains purpose-built review selections. The model also includes document views so that review artifacts can be derived from the same source rather than becoming a second record system.

For neutral renderer fixtures that use no MEMO types, see the separate memo/examples/sysml-diagram-samples project. It contains standard SysML v2 BDD, IBD, requirements, and action-flow inputs; it is intentionally not part of GPCA.