@memoarchitect/ontology 0.8.22 → 0.10.9
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/examples/connected-patient-monitor/memo.package.yaml +3 -0
- package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +9 -7
- package/examples/connected-patient-monitor/model/catalog/project.sysml +3 -1
- package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/views/connected_patient_monitor_overview.sysml +1 -1
- package/examples/embedded-infusion-pump/memo.package.yaml +3 -0
- package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +11 -9
- package/examples/embedded-infusion-pump/model/catalog/project.sysml +3 -1
- package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/views/embedded_infusion_pump_overview.sysml +1 -1
- package/examples/functional-logical-physical/memo.package.yaml +3 -0
- package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +9 -7
- package/examples/functional-logical-physical/model/catalog/project.sysml +3 -1
- package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/views/functional_logical_physical_overview.sysml +1 -1
- package/examples/gpca-pump/memo.identity.yaml +2179 -0
- package/examples/gpca-pump/memo.package.yaml +3 -0
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +3 -1
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +29 -27
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +115 -114
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +42 -41
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +26 -25
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +27 -23
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +15 -15
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +42 -40
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +198 -197
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +146 -180
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +8 -6
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +290 -288
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +164 -163
- package/examples/gpca-pump/model/catalog/gpca_standards.sysml +44 -43
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +21 -33
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +10 -11
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +62 -61
- package/examples/gpca-pump/model/catalog/project.sysml +3 -1
- package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +7 -7
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +7 -7
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +6 -7
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +7 -8
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +8 -9
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_logical_architecture_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +7 -7
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +8 -9
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +6 -7
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +6 -7
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_risk_chain_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +6 -7
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +8 -9
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +6 -7
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +6 -6
- package/examples/ivd-laboratory-system/memo.package.yaml +3 -0
- package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +10 -8
- package/examples/ivd-laboratory-system/model/catalog/project.sysml +3 -1
- package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/views/ivd_laboratory_system_overview.sysml +1 -1
- package/examples/manual-surgical-instrument/memo.package.yaml +3 -0
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +7 -5
- package/examples/manual-surgical-instrument/model/catalog/project.sysml +3 -1
- package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/views/manual_surgical_instrument_overview.sysml +1 -1
- package/examples/multidimensional-layers/memo.package.yaml +3 -0
- package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +6 -4
- package/examples/multidimensional-layers/model/catalog/project.sysml +3 -1
- package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/views/multidimensional_layers_overview.sysml +0 -1
- package/examples/nested-architecture-dsm/memo.package.yaml +3 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +20 -18
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +20 -18
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +6 -4
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +9 -7
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +18 -16
- package/examples/nested-architecture-dsm/model/catalog/project.sysml +3 -1
- package/examples/reusable-instrument/memo.package.yaml +3 -0
- package/examples/reusable-instrument/model/catalog/project.sysml +3 -1
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +23 -31
- package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/views/reusable_instrument_overview.sysml +0 -1
- package/examples/ros-mobile-robot/memo.package.yaml +3 -0
- package/examples/ros-mobile-robot/model/catalog/project.sysml +3 -1
- package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +18 -16
- package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/views/ros_mobile_robot_overview.sysml +0 -1
- package/examples/software-only-medical-device/memo.package.yaml +3 -0
- package/examples/software-only-medical-device/model/catalog/project.sysml +3 -1
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +11 -9
- package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/views/software_only_medical_device_overview.sysml +0 -1
- package/examples/surgical-closure-workflow/memo.package.yaml +3 -0
- package/examples/surgical-closure-workflow/model/catalog/project.sysml +3 -1
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +56 -69
- package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/views/surgical_closure_workflow_overview.sysml +0 -1
- package/examples/surgical-robot/memo.package.yaml +3 -0
- package/examples/surgical-robot/model/catalog/project.sysml +3 -1
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +9 -7
- package/examples/surgical-robot/model/catalog/viewpoints/unassigned/views/surgical_robot_overview.sysml +0 -1
- package/examples/sysml-diagram-samples/memo.package.yaml +2 -0
- package/examples/sysml-diagram-samples/model/catalog/project.sysml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +12 -11
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +8 -7
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +4 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +3 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +17 -16
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +9 -8
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +4 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +3 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +4 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +12 -9
- package/examples/temperature-alarm/memo.identity.yaml +64 -0
- package/examples/temperature-alarm/memo.package.yaml +3 -0
- package/examples/temperature-alarm/model/catalog/project.sysml +3 -1
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +30 -29
- package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/views/temperature_alarm_overview.sysml +0 -1
- package/examples/ui-screen-regions/memo.package.yaml +3 -0
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +14 -12
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +35 -33
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +8 -6
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +14 -13
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +4 -2
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +4 -2
- package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +12 -10
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +3 -1
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +14 -12
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +17 -15
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +10 -9
- package/examples/ui-screen-regions/model/catalog/project.sysml +3 -1
- package/examples/ui-screen-regions/model/catalog/relationships.sysml +2 -2
- package/examples/ui-screen-regions/model/catalog/traces.sysml +0 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +6 -5
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +6 -5
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +6 -5
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +4 -3
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +4 -3
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +4 -3
- package/extensions/aadl/memo.package.yaml +1 -1
- package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +23 -21
- package/extensions/aadl/src/methodology/aadl_methodology.sysml +3 -1
- package/extensions/clinical/src/methodology/clinical_methodology.sysml +3 -1
- package/extensions/cloud/memo.package.yaml +1 -1
- package/extensions/cloud/src/methodology/cloud_methodology.sysml +3 -1
- package/extensions/container/memo.package.yaml +1 -1
- package/extensions/container/src/container_extension.sysml +2 -2
- package/extensions/container/src/methodology/container_methodology.sysml +3 -1
- package/extensions/messaging/memo.package.yaml +1 -1
- package/extensions/messaging/src/methodology/messaging_methodology.sysml +3 -1
- package/extensions/ros/memo.package.yaml +1 -1
- package/extensions/ros/src/methodology/ros_methodology.sysml +3 -1
- package/extensions/template/src/extension.sysml +3 -1
- package/methodologies/default/memo.package.yaml +1 -1
- package/methodologies/gpca/memo.package.yaml +1 -1
- package/ontology/memo.package.yaml +1 -1
- package/package.json +2 -2
- package/profile/memo.package.yaml +1 -1
- package/src/architecture/functional/behavior/memo_behavior.sysml +5 -5
- package/src/architecture/functional/functions/memo_functions.sysml +6 -6
- package/src/architecture/implementation/hardware/common/memo_hardware_common.sysml +12 -2
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +0 -11
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +7 -7
- package/src/architecture/implementation/ui/memo_ui.sysml +8 -31
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +4 -2
- package/src/architecture/logical/structure/memo_logical_structure.sysml +5 -5
- package/src/architecture/operational/activities/memo_activities.sysml +19 -28
- package/src/architecture/operational/context/actors/memo_actors.sysml +5 -4
- package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +7 -7
- package/src/architecture/operational/context/use_context/memo_use_context.sysml +5 -14
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +12 -104
- package/src/architecture/operational/structure/memo_operational.sysml +42 -13
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +7 -12
- package/src/architecture/operational/workflows/memo_workflows.sysml +20 -42
- package/src/architecture/realization/deployment/memo_deployment.sysml +26 -19
- package/src/architecture/realization/physical/memo_physical_architecture.sysml +8 -2
- package/src/artifacts/standards/cfr_21_820.sysml +80 -89
- package/src/artifacts/standards/fda_cybersecurity_2023.sysml +45 -49
- package/src/artifacts/standards/iec_60601_1.sysml +108 -121
- package/src/artifacts/standards/iec_60601_1_2.sysml +31 -33
- package/src/artifacts/standards/iec_60812.sysml +21 -22
- package/src/artifacts/standards/iec_62304.sysml +150 -169
- package/src/artifacts/standards/iec_62366_1.sysml +80 -89
- package/src/artifacts/standards/iec_81001_5_1.sysml +52 -57
- package/src/artifacts/standards/iso_13485.sysml +80 -89
- package/src/artifacts/standards/iso_14971.sysml +66 -73
- package/src/artifacts/standards/iso_iec_ieee_42010.sysml +15 -15
- package/src/artifacts/templates/dhf/system/sad.md +3 -3
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +2 -2
- package/src/assurance/human_factors/memo_human_factors.sysml +2 -2
- package/src/assurance/requirements/memo_requirements.sysml +2 -18
- package/src/assurance/safety_risk/analysis/memo_fmea.sysml +1 -1
- package/src/assurance/safety_risk/memo_risk.sysml +12 -0
- package/src/assurance/verification_validation/memo_assurance.sysml +7 -12
- package/src/core/common/memo_common.sysml +59 -55
- package/src/core/enumerations/memo_enumerations.sysml +1 -1
- package/src/core/relationships/memo_relationships.sysml +29 -56
- package/src/methodology/archetypes/memo_archetypes.sysml +10 -8
- package/src/methodology/core/memo_core.sysml +0 -10
- package/src/methodology/profiles/memo_profiles.sysml +18 -16
- package/src/methodology/workflow/memo_workflow.sysml +5 -5
- package/src/rules/closure/closure_rules.sysml +22 -20
- package/src/rules/crosslayer/cross_layer_rules.sysml +4 -2
- package/src/rules/ontology/ontology_invariants.sysml +121 -48
- package/src/rules/quantitative/quantitative_rules.sysml +4 -2
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +58 -57
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +5 -4
- package/src/viewpoints/context/context_viewpoint.sysml +6 -5
- package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +6 -5
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +6 -6
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +36 -4
- package/src/viewpoints/functional/functional_viewpoint.sysml +6 -5
- package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +6 -5
- package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +6 -5
- package/src/viewpoints/logical/logical_viewpoint.sysml +5 -4
- package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +6 -5
- package/src/viewpoints/operational/operational_viewpoint.sysml +6 -5
- package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +7 -6
- package/src/viewpoints/physical/physical_viewpoint.sysml +5 -4
- package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +6 -5
- package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +6 -5
- package/src/viewpoints/rendering/memo_rendering.sysml +220 -40
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +5 -4
- package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +6 -5
- package/src/viewpoints/risk/risk_viewpoint.sysml +5 -4
- package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +6 -5
- package/src/viewpoints/software/software_viewpoint.sysml +5 -4
- package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +6 -5
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +5 -4
- package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +3 -1
- package/src/viewpoints/usability/usability_viewpoint.sysml +5 -4
- package/src/viewpoints/verification/verification_viewpoint.sysml +5 -4
- package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +6 -5
- package/templates/connected-device/memo.package.yaml +2 -0
- package/templates/connected-device/model/catalog/project.sysml +3 -1
- package/templates/default/memo.package.yaml +2 -0
- package/templates/default/model/catalog/project.sysml +3 -1
- package/templates/infusion-pump/memo.package.yaml +2 -0
- package/templates/infusion-pump/model/catalog/project.sysml +3 -1
- package/templates/monitoring-device/memo.package.yaml +2 -0
- package/templates/monitoring-device/model/catalog/project.sysml +3 -1
- package/templates/samd/memo.package.yaml +2 -0
- package/templates/samd/model/catalog/project.sysml +3 -1
|
@@ -31,8 +31,10 @@ package memo_examples_gpca_pump_methodology_gpca_profiles {
|
|
|
31
31
|
private import memo_core_enumerations::*;
|
|
32
32
|
private import memo_rules_closure::*;
|
|
33
33
|
|
|
34
|
+
private import memo_core_common::*;
|
|
35
|
+
private import memo_core_common::MemoIdentity;
|
|
34
36
|
part gpcaMethodDefinition : MethodologyDefinition {
|
|
35
|
-
|
|
37
|
+
@MemoIdentity { :>> providedId = "METH-GPCA-001"; }
|
|
36
38
|
attribute :>> name = "GPCAPrototypeMethodology";
|
|
37
39
|
attribute :>> version = "0.6.5";
|
|
38
40
|
attribute :>> domain = "medical device modeling";
|
|
@@ -4,9 +4,11 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
4
4
|
private import memo_assurance_safety_risk_analysis::*;
|
|
5
5
|
private import memo_core_enumerations::*;
|
|
6
6
|
|
|
7
|
+
private import memo_core_common::*;
|
|
8
|
+
private import memo_core_common::MemoIdentity;
|
|
7
9
|
// ── FMEA (IEC 60812) ────────────────────────────────────────
|
|
8
10
|
part fmeaDelivery : FMEAWorksheet {
|
|
9
|
-
|
|
11
|
+
@MemoIdentity { :>> providedId = "FMEA-001"; }
|
|
10
12
|
attribute :>> name = "DrugDeliveryFMEA";
|
|
11
13
|
attribute :>> analysisScope = "Fluid path, pump mechanism, delivery sensors, and patient pendant";
|
|
12
14
|
attribute :>> standardReference = "IEC 60812";
|
|
@@ -15,7 +17,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
15
17
|
attribute :>> reviewer = "Safety review board";
|
|
16
18
|
}
|
|
17
19
|
part fmMotorRunaway : FailureMode {
|
|
18
|
-
|
|
20
|
+
@MemoIdentity { :>> providedId = "FM-001"; }
|
|
19
21
|
attribute :>> name = "PumpMotorRunaway";
|
|
20
22
|
attribute :>> failureModeKind = FailureModeKind::unintendedFunction;
|
|
21
23
|
attribute :>> effect = "Excess drug delivered to the patient beyond the prescribed rate.";
|
|
@@ -28,7 +30,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
28
30
|
attribute :>> description = "Motor steps faster than commanded, delivering more drug than prescribed.";
|
|
29
31
|
}
|
|
30
32
|
part fmAirSensorSilent : FailureMode {
|
|
31
|
-
|
|
33
|
+
@MemoIdentity { :>> providedId = "FM-002"; }
|
|
32
34
|
attribute :>> name = "AirSensorFailsSilent";
|
|
33
35
|
attribute :>> failureModeKind = FailureModeKind::lossOfFunction;
|
|
34
36
|
attribute :>> effect = "Air embolism reaches the patient undetected.";
|
|
@@ -41,7 +43,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
41
43
|
attribute :>> description = "Air-in-line sensor reports 'no air' regardless of actual line state.";
|
|
42
44
|
}
|
|
43
45
|
part fmOcclusionDrift : FailureMode {
|
|
44
|
-
|
|
46
|
+
@MemoIdentity { :>> providedId = "FM-003"; }
|
|
45
47
|
attribute :>> name = "OcclusionSensorDrift";
|
|
46
48
|
attribute :>> failureModeKind = FailureModeKind::degradedFunction;
|
|
47
49
|
attribute :>> effect = "Occluded line is detected late or not at all, interrupting therapy.";
|
|
@@ -54,7 +56,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
54
56
|
attribute :>> description = "Pressure sensor drifts so occlusions are detected late or not at all.";
|
|
55
57
|
}
|
|
56
58
|
part fmStuckBolusButton : FailureMode {
|
|
57
|
-
|
|
59
|
+
@MemoIdentity { :>> providedId = "FM-004"; }
|
|
58
60
|
attribute :>> name = "BolusButtonStuckClosed";
|
|
59
61
|
attribute :>> failureModeKind = FailureModeKind::unintendedFunction;
|
|
60
62
|
attribute :>> effect = "Repeated unrequested boluses are delivered.";
|
|
@@ -67,7 +69,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
67
69
|
attribute :>> description = "Pendant switch shorted, continuously asserting bolus requests.";
|
|
68
70
|
}
|
|
69
71
|
part fmBatteryEarlyDepletion : FailureMode {
|
|
70
|
-
|
|
72
|
+
@MemoIdentity { :>> providedId = "FM-005"; }
|
|
71
73
|
attribute :>> name = "BatteryDepletesEarly";
|
|
72
74
|
attribute :>> failureModeKind = FailureModeKind::prematureFunction;
|
|
73
75
|
attribute :>> effect = "Pump loses power during transport, stopping therapy.";
|
|
@@ -80,7 +82,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
80
82
|
attribute :>> description = "Aged battery sustains less than the specified backup duration during transport.";
|
|
81
83
|
}
|
|
82
84
|
part feOverdose : FailureEffect {
|
|
83
|
-
|
|
85
|
+
@MemoIdentity { :>> providedId = "FE-001"; }
|
|
84
86
|
attribute :>> name = "ExcessDrugDelivered";
|
|
85
87
|
attribute :>> effectLevel = FailureEffectLevelKind::endEffect;
|
|
86
88
|
attribute :>> effectOnPatient = "opioid overdose, respiratory depression";
|
|
@@ -89,7 +91,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
89
91
|
attribute :>> severity = SeverityKind::catastrophic;
|
|
90
92
|
}
|
|
91
93
|
part feAirDelivered : FailureEffect {
|
|
92
|
-
|
|
94
|
+
@MemoIdentity { :>> providedId = "FE-002"; }
|
|
93
95
|
attribute :>> name = "AirReachesPatientLine";
|
|
94
96
|
attribute :>> effectLevel = FailureEffectLevelKind::endEffect;
|
|
95
97
|
attribute :>> effectOnPatient = "risk of vascular air embolism";
|
|
@@ -98,7 +100,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
98
100
|
attribute :>> severity = SeverityKind::catastrophic;
|
|
99
101
|
}
|
|
100
102
|
part feTherapyInterrupted : FailureEffect {
|
|
101
|
-
|
|
103
|
+
@MemoIdentity { :>> providedId = "FE-003"; }
|
|
102
104
|
attribute :>> name = "TherapyInterruptedUnnoticed";
|
|
103
105
|
attribute :>> effectLevel = FailureEffectLevelKind::endEffect;
|
|
104
106
|
attribute :>> effectOnPatient = "untreated pain; possible post-occlusion bolus";
|
|
@@ -107,7 +109,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
107
109
|
attribute :>> severity = SeverityKind::serious;
|
|
108
110
|
}
|
|
109
111
|
part fcMotorDriverFault : FailureCause {
|
|
110
|
-
|
|
112
|
+
@MemoIdentity { :>> providedId = "FCA-001"; }
|
|
111
113
|
attribute :>> name = "MotorDriverElectronicsFault";
|
|
112
114
|
attribute :>> causeCategory = FailureCauseCategoryKind::design;
|
|
113
115
|
attribute :>> causeDescription = "Driver stage latch-up or firmware step-rate computation fault";
|
|
@@ -115,7 +117,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
115
117
|
attribute :>> preventionMethod = "independent flow cross-check; watchdog";
|
|
116
118
|
}
|
|
117
119
|
part fcTransducerAging : FailureCause {
|
|
118
|
-
|
|
120
|
+
@MemoIdentity { :>> providedId = "FCA-002"; }
|
|
119
121
|
attribute :>> name = "UltrasonicTransducerAging";
|
|
120
122
|
attribute :>> causeCategory = FailureCauseCategoryKind::wear;
|
|
121
123
|
attribute :>> causeDescription = "Air sensor transducer sensitivity degrades with age";
|
|
@@ -123,7 +125,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
123
125
|
attribute :>> preventionMethod = "POST sensor plausibility check; periodic maintenance";
|
|
124
126
|
}
|
|
125
127
|
part fcPendantAbuse : FailureCause {
|
|
126
|
-
|
|
128
|
+
@MemoIdentity { :>> providedId = "FCA-003"; }
|
|
127
129
|
attribute :>> name = "PendantCableAbuse";
|
|
128
130
|
attribute :>> causeCategory = FailureCauseCategoryKind::misuse;
|
|
129
131
|
attribute :>> causeDescription = "Cable crushed in bed rail shorts the switch line";
|
|
@@ -131,28 +133,28 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
131
133
|
attribute :>> preventionMethod = "stuck-input detection (REQ-X-09); strain-relieved cable";
|
|
132
134
|
}
|
|
133
135
|
part dmFlowCrossCheck : DetectionMethod {
|
|
134
|
-
|
|
136
|
+
@MemoIdentity { :>> providedId = "DM-001"; }
|
|
135
137
|
attribute :>> name = "CommandedVsMeasuredFlowComparison";
|
|
136
138
|
attribute :>> methodKind = DetectionMethodKind::monitoring;
|
|
137
139
|
attribute :>> detectionPoint = "every execution step during ACTIVE therapy";
|
|
138
140
|
attribute :>> confidence = DetectionKind::high;
|
|
139
141
|
}
|
|
140
142
|
part dmPostSensorCheck : DetectionMethod {
|
|
141
|
-
|
|
143
|
+
@MemoIdentity { :>> providedId = "DM-002"; }
|
|
142
144
|
attribute :>> name = "POSTSensorPlausibilityCheck";
|
|
143
145
|
attribute :>> methodKind = DetectionMethodKind::selfDiagnostic;
|
|
144
146
|
attribute :>> detectionPoint = "power-on and periodic in-service test";
|
|
145
147
|
attribute :>> confidence = DetectionKind::moderate;
|
|
146
148
|
}
|
|
147
149
|
part dmStuckInputMonitor : DetectionMethod {
|
|
148
|
-
|
|
150
|
+
@MemoIdentity { :>> providedId = "DM-003"; }
|
|
149
151
|
attribute :>> name = "StuckInputMonitor";
|
|
150
152
|
attribute :>> methodKind = DetectionMethodKind::monitoring;
|
|
151
153
|
attribute :>> detectionPoint = "bolus input asserted beyond 60 s";
|
|
152
154
|
attribute :>> confidence = DetectionKind::high;
|
|
153
155
|
}
|
|
154
156
|
part fmeaActionAirSensor : FMEAAction {
|
|
155
|
-
|
|
157
|
+
@MemoIdentity { :>> providedId = "FMA-001"; }
|
|
156
158
|
attribute :>> name = "AddRedundantAirDetectionWindow";
|
|
157
159
|
attribute :>> actionKind = FMEAActionKind::designChange;
|
|
158
160
|
attribute :>> responsible = "hardware lead";
|
|
@@ -163,7 +165,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
163
165
|
|
|
164
166
|
// ── Fault tree (overdose top event) ─────────────────────────
|
|
165
167
|
part ftaOverdose : FaultTree {
|
|
166
|
-
|
|
168
|
+
@MemoIdentity { :>> providedId = "FTA-001"; }
|
|
167
169
|
attribute :>> name = "OverdoseFaultTree";
|
|
168
170
|
attribute :>> standardReference = "IEC 61025";
|
|
169
171
|
attribute :>> analysisScope = "Drug over-delivery during ACTIVE therapy";
|
|
@@ -172,13 +174,13 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
172
174
|
attribute :>> revisionDate = "2026-07-03";
|
|
173
175
|
}
|
|
174
176
|
part fteOverdoseTop : FaultTreeNode {
|
|
175
|
-
|
|
177
|
+
@MemoIdentity { :>> providedId = "FTE-001"; }
|
|
176
178
|
attribute :>> name = "ExcessDrugDeliveredTopEvent";
|
|
177
179
|
attribute :>> eventKind = FaultTreeEventKind::topEvent;
|
|
178
180
|
attribute :>> description = "Delivered volume exceeds prescribed limits";
|
|
179
181
|
}
|
|
180
182
|
part fteMotorRunaway : FaultTreeNode {
|
|
181
|
-
|
|
183
|
+
@MemoIdentity { :>> providedId = "FTE-002"; }
|
|
182
184
|
attribute :>> name = "MotorRunawayBasicEvent";
|
|
183
185
|
attribute :>> eventKind = FaultTreeEventKind::basicEvent;
|
|
184
186
|
attribute :>> failureRate = 0.000001;
|
|
@@ -186,7 +188,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
186
188
|
attribute :>> description = "Pump motor delivers faster than commanded (FM-001)";
|
|
187
189
|
}
|
|
188
190
|
part fteCrossCheckFails : FaultTreeNode {
|
|
189
|
-
|
|
191
|
+
@MemoIdentity { :>> providedId = "FTE-003"; }
|
|
190
192
|
attribute :>> name = "FlowCrossCheckUnavailable";
|
|
191
193
|
attribute :>> eventKind = FaultTreeEventKind::basicEvent;
|
|
192
194
|
attribute :>> failureRate = 0.00001;
|
|
@@ -194,7 +196,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
194
196
|
attribute :>> description = "Independent flow sensor or comparison logic fails (FM-003 family)";
|
|
195
197
|
}
|
|
196
198
|
part fteLockoutFault : FaultTreeNode {
|
|
197
|
-
|
|
199
|
+
@MemoIdentity { :>> providedId = "FTE-004"; }
|
|
198
200
|
attribute :>> name = "LockoutEnforcementFault";
|
|
199
201
|
attribute :>> eventKind = FaultTreeEventKind::basicEvent;
|
|
200
202
|
attribute :>> failureRate = 0.0000001;
|
|
@@ -202,7 +204,7 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
202
204
|
attribute :>> description = "Infusion manager authorizes bolus despite active lockout";
|
|
203
205
|
}
|
|
204
206
|
part fteStuckButtonUndetected : FaultTreeNode {
|
|
205
|
-
|
|
207
|
+
@MemoIdentity { :>> providedId = "FTE-005"; }
|
|
206
208
|
attribute :>> name = "StuckBolusButtonUndetected";
|
|
207
209
|
attribute :>> eventKind = FaultTreeEventKind::basicEvent;
|
|
208
210
|
attribute :>> failureRate = 0.000001;
|
|
@@ -210,29 +212,29 @@ package memo_examples_gpca_pump_gpca_analysis {
|
|
|
210
212
|
attribute :>> description = "Pendant stuck closed and stuck-input monitor fails (FM-004)";
|
|
211
213
|
}
|
|
212
214
|
part ftgOverdoseOr : FaultTreeNode {
|
|
213
|
-
|
|
215
|
+
@MemoIdentity { :>> providedId = "FTG-001"; }
|
|
214
216
|
attribute :>> name = "OverdelivryPathOrGate";
|
|
215
217
|
attribute :>> gateKind = FaultTreeGateKind::orGate;
|
|
216
218
|
}
|
|
217
219
|
part ftgMotorAnd : FaultTreeNode {
|
|
218
|
-
|
|
220
|
+
@MemoIdentity { :>> providedId = "FTG-002"; }
|
|
219
221
|
attribute :>> name = "MotorRunawayAndCrossCheckGate";
|
|
220
222
|
attribute :>> gateKind = FaultTreeGateKind::andGate;
|
|
221
223
|
}
|
|
222
224
|
part ftgBolusAnd : FaultTreeNode {
|
|
223
|
-
|
|
225
|
+
@MemoIdentity { :>> providedId = "FTG-003"; }
|
|
224
226
|
attribute :>> name = "UnauthorizedBolusAndGate";
|
|
225
227
|
attribute :>> gateKind = FaultTreeGateKind::andGate;
|
|
226
228
|
}
|
|
227
229
|
part mcsMotorPath : MinimalCutSet {
|
|
228
|
-
|
|
230
|
+
@MemoIdentity { :>> providedId = "MCS-001"; }
|
|
229
231
|
attribute :>> name = "MotorRunawayWithLostCrossCheck";
|
|
230
232
|
attribute :>> cutSetOrder = 2;
|
|
231
233
|
attribute :>> involvedEvents = "FTE-002, FTE-003";
|
|
232
234
|
attribute :>> significance = "dominant contributor; controlled by RC-008 independence";
|
|
233
235
|
}
|
|
234
236
|
part mcsBolusPath : MinimalCutSet {
|
|
235
|
-
|
|
237
|
+
@MemoIdentity { :>> providedId = "MCS-002"; }
|
|
236
238
|
attribute :>> name = "StuckButtonWithLockoutFault";
|
|
237
239
|
attribute :>> cutSetOrder = 2;
|
|
238
240
|
attribute :>> involvedEvents = "FTE-004, FTE-005";
|