@memoarchitect/ontology 0.6.5 → 0.8.22
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 +4 -2
- package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +1 -1
- package/examples/connected-patient-monitor/model/catalog/project.sysml +24 -0
- package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/connected-patient-monitor/model/{viewpoints → catalog/viewpoints/unassigned/views}/connected_patient_monitor_overview.sysml +1 -1
- package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +7 -5
- package/examples/embedded-infusion-pump/model/catalog/project.sysml +24 -0
- package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/embedded-infusion-pump/model/{viewpoints → catalog/viewpoints/unassigned/views}/embedded_infusion_pump_overview.sysml +1 -1
- package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +5 -5
- package/examples/functional-logical-physical/model/catalog/project.sysml +24 -0
- package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/functional-logical-physical/model/{viewpoints → catalog/viewpoints/unassigned/views}/functional_logical_physical_overview.sysml +1 -1
- package/examples/gpca-pump/methodology/gpca_methodology.sysml +7 -8
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +89 -11
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +19 -9
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +342 -100
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +27 -13
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +329 -272
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +57 -16
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +12 -8
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +14 -10
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +1 -15
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +181 -264
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +95 -60
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +6 -11
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +102 -101
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_standards.sysml +161 -0
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +47 -30
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +301 -354
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +116 -36
- package/examples/gpca-pump/model/catalog/project.sysml +26 -0
- package/examples/gpca-pump/model/catalog/viewpoints/context/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/context/views}/context_system_context_view.sysml +4 -4
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/cybersecurity_cybersecurity_view.sysml +4 -4
- package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_cyber_assessment_view.sysml +4 -4
- package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_threat_model_view.sysml +5 -5
- package/examples/gpca-pump/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_allocation_view.sysml +2 -2
- package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_browser_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/behavior_action_flow_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/document_architecture_description_view.sysml +8 -8
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_device_interconnect_view.sysml +5 -5
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_logical_architecture_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_mode_state_view.sysml +4 -4
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_system_decomposition_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/operational/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_scenario_sequence_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_use_case_view.sysml +4 -4
- package/examples/gpca-pump/model/catalog/viewpoints/physical/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/physical/views}/physical_physical_bom_view.sysml +2 -2
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/document_dhf_index_view.sysml +8 -8
- package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/requirements_requirements_trace_view.sysml +2 -2
- package/examples/gpca-pump/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_hazard_analysis_view.sysml +8 -5
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_rmf_view.sysml +7 -5
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_fmea_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_risk_chain_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/software/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/document_sdd_view.sysml +4 -4
- package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/software_software_architecture_view.sysml +5 -5
- package/examples/gpca-pump/model/catalog/viewpoints/usability/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/usability/views}/document_usability_view.sysml +8 -6
- package/examples/gpca-pump/model/catalog/viewpoints/verification/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/document_vv_view.sysml +7 -5
- package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/verification_verification_coverage_view.sysml +3 -3
- package/examples/ivd-laboratory-system/model/catalog/project.sysml +24 -0
- package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/ivd-laboratory-system/model/{viewpoints → catalog/viewpoints/unassigned/views}/ivd_laboratory_system_overview.sysml +1 -1
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +4 -2
- package/examples/manual-surgical-instrument/model/catalog/project.sysml +24 -0
- package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/manual-surgical-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/manual_surgical_instrument_overview.sysml +1 -1
- package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +6 -2
- package/examples/multidimensional-layers/model/catalog/project.sysml +24 -0
- package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/multidimensional-layers/model/{viewpoints → catalog/viewpoints/unassigned/views}/multidimensional_layers_overview.sysml +1 -1
- package/examples/nested-architecture-dsm/README.md +49 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +179 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +165 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +53 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +89 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +113 -0
- package/examples/nested-architecture-dsm/model/catalog/project.sysml +28 -0
- package/examples/nested-architecture-dsm/model/catalog/traces.sysml +48 -0
- package/examples/reusable-instrument/model/catalog/project.sysml +24 -0
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +11 -8
- package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/reusable-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/reusable_instrument_overview.sysml +1 -1
- package/examples/ros-mobile-robot/README.md +40 -0
- package/examples/ros-mobile-robot/model/catalog/project.sysml +33 -0
- package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +296 -0
- package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +7 -0
- package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/views/ros_mobile_robot_overview.sysml +13 -0
- package/examples/software-only-medical-device/model/catalog/project.sysml +28 -0
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +11 -5
- package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/software-only-medical-device/model/{viewpoints → catalog/viewpoints/unassigned/views}/software_only_medical_device_overview.sysml +1 -1
- package/examples/surgical-closure-workflow/model/catalog/project.sysml +24 -0
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +57 -57
- package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/surgical-closure-workflow/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_closure_workflow_overview.sysml +1 -1
- package/examples/surgical-robot/model/catalog/project.sysml +24 -0
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +6 -4
- package/examples/surgical-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/surgical-robot/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_robot_overview.sysml +1 -1
- package/examples/sysml-diagram-samples/README.md +7 -0
- package/examples/sysml-diagram-samples/dhf/documents/DOC-HAR-001.md +11 -0
- package/examples/sysml-diagram-samples/memo.package.yaml +11 -5
- package/examples/sysml-diagram-samples/model/catalog/project.sysml +33 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/action_flow_view.sysml +23 -20
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/context_view.sysml +11 -11
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +47 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +143 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +87 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +94 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +109 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +13 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/requirements_view.sysml +6 -7
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +33 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +80 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +48 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/use_case_view.sysml +15 -9
- package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +93 -0
- package/examples/temperature-alarm/model/catalog/project.sysml +24 -0
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +29 -21
- package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/temperature-alarm/model/{viewpoints → catalog/viewpoints/unassigned/views}/temperature_alarm_overview.sysml +1 -1
- package/examples/ui-screen-regions/README.md +117 -0
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +84 -0
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +212 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +61 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/drugSelectorRegion/drug-selector-expanded-2.4.1.png +0 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/mainScreenLayout/main-screen-2.4.1.png +0 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/settingsScreenLayout/settings-screen-2.4.1.png +0 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +51 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +27 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +27 -0
- package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +59 -0
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +25 -0
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +178 -0
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +93 -0
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +75 -0
- package/examples/ui-screen-regions/model/catalog/project.sysml +45 -0
- package/examples/ui-screen-regions/model/catalog/relationships.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/traces.sysml +179 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +62 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +62 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +62 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +57 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +52 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +54 -0
- package/extensions/LICENSES/MIT.txt +19 -0
- package/extensions/README.md +94 -0
- package/extensions/aadl/memo.package.yaml +18 -0
- package/extensions/aadl/src/aadl_extension.sysml +6 -0
- package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +147 -0
- package/extensions/aadl/src/methodology/aadl_methodology.sysml +17 -0
- package/extensions/aadl/src/runtime/memo_aadl_runtime.sysml +56 -0
- package/extensions/clinical/memo.package.yaml +18 -0
- package/extensions/clinical/src/methodology/clinical_methodology.sysml +22 -0
- package/extensions/cloud/memo.package.yaml +18 -0
- package/extensions/cloud/src/cloud_extension.sysml +44 -0
- package/extensions/cloud/src/methodology/cloud_methodology.sysml +17 -0
- package/extensions/container/memo.package.yaml +18 -0
- package/extensions/container/src/container_extension.sysml +37 -0
- package/extensions/container/src/methodology/container_methodology.sysml +17 -0
- package/extensions/messaging/memo.package.yaml +18 -0
- package/extensions/messaging/src/messaging_extension.sysml +64 -0
- package/extensions/messaging/src/methodology/messaging_methodology.sysml +17 -0
- package/extensions/ros/memo.package.yaml +18 -0
- package/extensions/ros/src/methodology/ros_methodology.sysml +25 -0
- package/extensions/ros/src/ros_extension.sysml +200 -0
- package/extensions/template/memo.package.yaml +17 -0
- package/extensions/template/src/extension.sysml +37 -0
- package/memo.manifest.yaml +15 -2
- package/methodologies/default/memo.package.yaml +19 -9
- package/methodologies/gpca/memo.package.yaml +18 -9
- package/ontology/memo.package.yaml +23 -8
- package/package.json +6 -6
- package/profile/memo.package.yaml +18 -9
- package/src/architecture/decisions/memo_decisions.sysml +28 -0
- package/src/architecture/functional/behavior/memo_behavior.sysml +50 -22
- package/src/architecture/functional/constraints/memo_constraints.sysml +3 -2
- package/src/architecture/functional/functions/memo_functions.sysml +93 -43
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +46 -24
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +52 -12
- package/src/architecture/implementation/ui/memo_ui.sysml +276 -53
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +64 -13
- package/src/architecture/logical/structure/memo_logical_structure.sysml +92 -35
- package/src/architecture/operational/activities/memo_activities.sysml +10 -4
- package/src/architecture/operational/context/actors/memo_actors.sysml +5 -8
- package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +13 -30
- package/src/architecture/operational/context/use_context/memo_use_context.sysml +42 -16
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +57 -23
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +35 -26
- package/src/architecture/operational/workflows/memo_workflows.sysml +28 -15
- package/src/architecture/realization/deployment/memo_deployment.sysml +111 -16
- package/src/architecture/realization/physical/memo_physical_architecture.sysml +27 -2
- package/src/artifacts/configuration_management/memo_configuration_management.sysml +35 -0
- package/src/artifacts/core/memo_controlled_artifacts.sysml +35 -0
- package/src/artifacts/documents/risk_management/memo_risk_management.sysml +12 -0
- package/src/artifacts/standards/cfr_21_820.sysml +116 -0
- package/src/artifacts/standards/fda_cybersecurity_2023.sysml +80 -0
- package/src/artifacts/standards/iec_60601_1.sysml +149 -0
- package/src/artifacts/standards/iec_60601_1_2.sysml +56 -0
- package/src/artifacts/standards/iec_60812.sysml +51 -0
- package/src/artifacts/standards/iec_62304.sysml +210 -0
- package/src/artifacts/standards/iec_62366_1.sysml +113 -0
- package/src/artifacts/standards/iec_81001_5_1.sysml +84 -0
- package/src/artifacts/standards/iso_13485.sysml +113 -0
- package/src/artifacts/standards/iso_14971.sysml +94 -0
- package/src/artifacts/standards/iso_iec_ieee_42010.sysml +42 -0
- package/src/artifacts/standards/memo_artifacts_standards_traceability.sysml +132 -0
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-input.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-output.md +5 -5
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-review.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-validation.md +2 -2
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-verification.md +2 -2
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/dhf-index.md +2 -2
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/transfer-plan.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/user-needs.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-plan.md +3 -3
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-report.md +4 -4
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/incident-response.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/postmarket-surveillance.md +3 -2
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/security-arch.md +2 -2
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/threat-model.md +4 -4
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/vuln-assessment.md +4 -3
- package/src/artifacts/templates/dhf/iec-60601/hrs.md +170 -0
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/detailed-design.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/integration-test.md +3 -3
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sad.md +6 -5
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sbom.md +3 -2
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sdp.md +5 -4
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/soup.md +4 -2
- package/src/artifacts/templates/dhf/iec-62304/srs.md +172 -0
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sw-traceability.md +3 -3
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/system-test.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/summative-eval.md +1 -1
- package/src/artifacts/templates/dhf/iec-62366/task-analysis.md +93 -0
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ue-plan.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/urra.md +3 -3
- package/src/artifacts/templates/dhf/iso-14971/fmea.md +116 -0
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/har.md +3 -3
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmp.md +2 -2
- package/src/artifacts/templates/dhf/system/sad.md +173 -0
- package/src/artifacts/templates/dhf/system/standards-checklist.md +87 -0
- package/src/artifacts/templates/dhf/system/standards-traceability.md +125 -0
- package/src/artifacts/templates/dhf/system/syrs.md +128 -0
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +39 -20
- package/src/assurance/human_factors/memo_human_factors.sysml +29 -22
- package/src/assurance/requirements/memo_requirements.sysml +5 -2
- package/src/assurance/requirements/needs/memo_needs.sysml +1 -1
- package/src/assurance/safety_risk/analysis/memo_fmea.sysml +118 -13
- package/src/assurance/safety_risk/memo_risk.sysml +78 -7
- package/src/assurance/safety_risk/postmarket_surveillance/memo_postmarket_surveillance.sysml +27 -0
- package/src/assurance/verification_validation/clinical_evaluation/memo_clinical_evaluation.sysml +11 -0
- package/src/assurance/verification_validation/memo_assurance.sysml +17 -21
- package/src/core/annotations/memo_annotations.sysml +96 -0
- package/src/core/common/memo_common.sysml +140 -18
- package/src/core/consistency_rules/consistency_rules.sysml +7 -0
- package/src/core/dimensions/dimensions.sysml +17 -1
- package/src/core/enumerations/memo_enumerations.sysml +101 -20
- package/src/core/methodology_scope/methodology_scope.sysml +7 -15
- package/src/core/relationships/memo_relationships.sysml +199 -194
- package/src/memo_namespaces.sysml +127 -67
- package/src/methodology/core/memo_core.sysml +69 -2
- package/src/methodology/profiles/memo_profiles.sysml +31 -41
- package/src/methodology/workflow/memo_workflow.sysml +7 -2
- package/src/rules/closure/closure_rules.sysml +104 -31
- package/src/rules/coverage/coverage_rules.sysml +4 -256
- package/src/rules/crosslayer/cross_layer_rules.sysml +6 -15
- package/src/rules/lifecycle/lifecycle_rules.sysml +4 -39
- package/src/rules/ontology/ontology_invariants.sysml +243 -74
- package/src/rules/quantitative/quantitative_rules.sysml +8 -8
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +10 -3
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +4 -2
- package/src/viewpoints/clinical/{clinical_evidence_view → views/clinical_evidence_view}/clinical_evidence_view.sysml +2 -2
- package/src/viewpoints/context/context_viewpoint.sysml +4 -2
- package/src/viewpoints/context/{system_context_view → views/system_context_view}/system_context_view.sysml +2 -2
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +4 -2
- package/src/viewpoints/cybersecurity/{cybersecurity_assessment_view → views/cybersecurity_assessment_view}/cybersecurity_assessment_view.sysml +2 -2
- package/src/viewpoints/cybersecurity/{threat_model_view → views/threat_model_view}/threat_model_view.sysml +2 -2
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +5 -0
- package/src/viewpoints/functional/functional_viewpoint.sysml +4 -2
- package/src/viewpoints/functional/{function_allocation_view → views/function_allocation_view}/function_allocation_view.sysml +3 -3
- package/src/viewpoints/functional/{system_functional_tree_view → views/system_functional_tree_view}/system_functional_tree_view.sysml +3 -3
- package/src/viewpoints/logical/logical_viewpoint.sysml +3 -1
- package/src/viewpoints/logical/{logical_architecture_view → views/logical_architecture_view}/logical_architecture_view.sysml +2 -2
- package/src/viewpoints/operational/operational_viewpoint.sysml +4 -2
- package/src/viewpoints/operational/{use_case_view → views/use_case_view}/use_case_view.sysml +3 -3
- package/src/viewpoints/physical/physical_viewpoint.sysml +3 -1
- package/src/viewpoints/physical/{network_topology_view → views/network_topology_view}/network_topology_view.sysml +2 -2
- package/src/viewpoints/physical/{physical_bom_view → views/physical_bom_view}/physical_bom_view.sysml +2 -2
- package/src/viewpoints/rendering/memo_rendering.sysml +354 -0
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +3 -1
- package/src/viewpoints/requirements/{requirements_traceability_view → views/requirements_traceability_view}/requirements_traceability_view.sysml +2 -2
- package/src/viewpoints/risk/risk_viewpoint.sysml +3 -1
- package/src/viewpoints/risk/{risk_chain_view → views/risk_chain_view}/risk_chain_view.sysml +2 -2
- package/src/viewpoints/software/software_viewpoint.sysml +3 -1
- package/src/viewpoints/software/{software_architecture_view → views/software_architecture_view}/software_architecture_view.sysml +2 -2
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +28 -0
- package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +23 -0
- package/src/viewpoints/usability/usability_viewpoint.sysml +3 -1
- package/src/viewpoints/usability/{usability_engineering_view → views/usability_engineering_view}/usability_engineering_view.sysml +2 -2
- package/src/viewpoints/verification/verification_viewpoint.sysml +4 -2
- package/src/viewpoints/verification/{verification_coverage_view → views/verification_coverage_view}/verification_coverage_view.sysml +3 -3
- package/templates/connected-device/memo.package.yaml +11 -5
- package/templates/connected-device/model/catalog/project.sysml +28 -0
- package/templates/connected-device/syside.toml +1 -1
- package/templates/default/memo.package.yaml +11 -5
- package/templates/default/model/catalog/project.sysml +28 -0
- package/templates/default/syside.toml +1 -1
- package/templates/infusion-pump/memo.package.yaml +11 -5
- package/templates/infusion-pump/model/catalog/project.sysml +28 -0
- package/templates/infusion-pump/syside.toml +1 -1
- package/templates/monitoring-device/memo.package.yaml +11 -5
- package/templates/monitoring-device/model/catalog/project.sysml +28 -0
- package/templates/monitoring-device/syside.toml +1 -1
- package/templates/samd/memo.package.yaml +11 -5
- package/templates/samd/model/catalog/project.sysml +28 -0
- package/templates/samd/syside.toml +1 -1
- package/examples/connected-patient-monitor/model/connected_patient_monitor.sysml +0 -3
- package/examples/embedded-infusion-pump/model/embedded_infusion_pump.sysml +0 -3
- package/examples/extensions/README.md +0 -16
- package/examples/extensions/clinical/memo.package.yaml +0 -9
- package/examples/extensions/clinical/src/methodology/clinical_methodology.sysml +0 -14
- package/examples/extensions/template/memo.package.yaml +0 -9
- package/examples/extensions/template/src/extension.sysml +0 -15
- package/examples/functional-logical-physical/model/functional_logical_physical.sysml +0 -3
- package/examples/gpca-pump/memo.config.yaml +0 -9
- package/examples/gpca-pump/methodology/gpca_scope.sysml +0 -25
- package/examples/ivd-laboratory-system/model/ivd_laboratory_system.sysml +0 -3
- package/examples/manual-surgical-instrument/model/manual_surgical_instrument.sysml +0 -3
- package/examples/multidimensional-layers/model/multidimensional_layers.sysml +0 -4
- package/examples/reusable-instrument/model/reusable_instrument.sysml +0 -4
- package/examples/software-only-medical-device/model/software_only_medical_device.sysml +0 -4
- package/examples/surgical-closure-workflow/model/surgical_closure_workflow.sysml +0 -4
- package/examples/surgical-robot/model/surgical_robot.sysml +0 -4
- package/examples/sysml-diagram-samples/model/samples/functional_flow_view.sysml +0 -164
- package/examples/sysml-diagram-samples/model/samples/interconnection_view.sysml +0 -94
- package/examples/sysml-diagram-samples/model/samples/operational_behaviour_view.sysml +0 -135
- package/examples/sysml-diagram-samples/model/samples/state_transition_view.sysml +0 -109
- package/examples/sysml-diagram-samples/model/samples/tree_view.sysml +0 -56
- package/examples/temperature-alarm/model/temperature_alarm.sysml +0 -4
- package/ontology/memo.rendering.yaml +0 -84
- package/src/compliance/artifacts/memo_artifacts.sysml +0 -12
- package/src/compliance/change/memo_change.sysml +0 -17
- package/src/compliance/dhf-templates/iec-62304/srs.md +0 -138
- package/src/compliance/dhf-templates/iec-62366/task-analysis.md +0 -57
- package/src/compliance/dhf-templates/iso-14971/fmea.md +0 -93
- package/src/compliance/document_views/memo_document_views.sysml +0 -7
- package/src/compliance/iso14971/risk_management_file.sysml +0 -16
- package/src/compliance/postmarket/memo_postmarket.sysml +0 -16
- /package/{examples/extensions → extensions}/clinical/src/clinical_extension.sysml +0 -0
- /package/{examples/extensions → extensions}/clinical/src/procedures/memo_clinical_procedures.sysml +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/change-record.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/change-control.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/formative-eval.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ui-spec.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/use-spec.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/fta.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-benefit.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-matrix.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmr.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/approval-block.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/document-control-header.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/references-section.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/revision-history-table.md +0 -0
- /package/templates/connected-device/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/connected-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/connected-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/default/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/default/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/default/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/infusion-pump/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/infusion-pump/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/infusion-pump/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/monitoring-device/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/monitoring-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/monitoring-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/samd/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/samd/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/samd/{src → model/catalog}/assurance/requirements.sysml +0 -0
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_gpca_operational {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
|
+
private import ModelingMetadata::*;
|
|
3
4
|
|
|
4
5
|
private import memo_architecture_operational_structure::*;
|
|
5
6
|
private import memo_architecture_operational_activities::*;
|
|
@@ -7,7 +8,9 @@ package memo_examples_gpca_pump_model_catalog_gpca_operational {
|
|
|
7
8
|
private import memo_architecture_operational_use_cases::*;
|
|
8
9
|
private import memo_architecture_operational_workflows::*;
|
|
9
10
|
private import memo_core_enumerations::*;
|
|
10
|
-
private import
|
|
11
|
+
private import memo_examples_gpca_pump_gpca_context::*;
|
|
12
|
+
private import memo_examples_gpca_pump_gpca_system::*;
|
|
13
|
+
private import memo_core_relationships::*;
|
|
11
14
|
|
|
12
15
|
// ── Operational entities beyond the human actors ────────────
|
|
13
16
|
part entityPharmacy : OperationalEntity {
|
|
@@ -153,6 +156,11 @@ package memo_examples_gpca_pump_model_catalog_gpca_operational {
|
|
|
153
156
|
ref :>> primaryUser = actorNurse;
|
|
154
157
|
ref :>> supportingActors = (actorPatient, actorPrescriber, actorPharmacist);
|
|
155
158
|
ref :>> useContext = hospitalWardContext;
|
|
159
|
+
subject supportingSystem;
|
|
160
|
+
actor nurseInitiator = actorNurse;
|
|
161
|
+
actor patientActor = actorPatient;
|
|
162
|
+
actor prescriberActor = actorPrescriber;
|
|
163
|
+
actor pharmacistActor = actorPharmacist;
|
|
156
164
|
}
|
|
157
165
|
|
|
158
166
|
action wfPrepareAndStartTherapy : OperationalWorkflow {
|
|
@@ -160,62 +168,43 @@ package memo_examples_gpca_pump_model_catalog_gpca_operational {
|
|
|
160
168
|
attribute :>> workflowState = WorkflowStateKind::toBe;
|
|
161
169
|
attribute :>> entryCondition = "A valid prescription and prepared reservoir are available.";
|
|
162
170
|
attribute :>> completionCondition = "Therapy is started with confirmed prescription limits.";
|
|
171
|
+
|
|
172
|
+
action wsProgram : WorkflowStep { ref :>> performedActivity = oaProgram; }
|
|
173
|
+
action wsStart : WorkflowStep { ref :>> performedActivity = oaStartTherapy; }
|
|
163
174
|
}
|
|
164
175
|
action wfManageActiveTherapy : OperationalWorkflow {
|
|
165
176
|
attribute :>> name = "ManageActiveTherapy";
|
|
166
177
|
attribute :>> workflowState = WorkflowStateKind::toBe;
|
|
167
178
|
attribute :>> entryCondition = "Basal therapy is active.";
|
|
168
179
|
attribute :>> completionCondition = "A bolus is handled or active therapy continues safely.";
|
|
180
|
+
|
|
181
|
+
action wsRequestBolus : WorkflowStep { ref :>> performedActivity = oaRequestBolus; }
|
|
182
|
+
// Refinement targets a nested step by its local name — the shorthand's
|
|
183
|
+
// `to` end does not accept a qualified path — so this is written
|
|
184
|
+
// inside wsRequestBolus's own owning scope rather than at package
|
|
185
|
+
// level.
|
|
186
|
+
#refinement dependency fcsBolusSense to wsRequestBolus;
|
|
187
|
+
#refinement dependency fcsBolusValidate to wsRequestBolus;
|
|
188
|
+
#refinement dependency fcsBolusCommand to wsRequestBolus;
|
|
189
|
+
#refinement dependency fcsBolusActuate to wsRequestBolus;
|
|
190
|
+
#refinement dependency fcsBolusLog to wsRequestBolus;
|
|
169
191
|
}
|
|
170
192
|
action wfRespondToTherapyAlarm : OperationalWorkflow {
|
|
171
193
|
attribute :>> name = "RespondToTherapyAlarm";
|
|
172
194
|
attribute :>> workflowState = WorkflowStateKind::toBe;
|
|
173
195
|
attribute :>> entryCondition = "A therapy alarm or degraded condition is detected.";
|
|
174
196
|
attribute :>> completionCondition = "The pump is safe and the clinician has resolved or escalated the condition.";
|
|
197
|
+
|
|
198
|
+
action wsRespondAlarm : WorkflowStep { ref :>> performedActivity = oaRespondAlarm; }
|
|
199
|
+
#refinement dependency fcsAlarmSense to wsRespondAlarm;
|
|
200
|
+
#refinement dependency fcsAlarmEvaluate to wsRespondAlarm;
|
|
201
|
+
#refinement dependency fcsAlarmStopInfusion to wsRespondAlarm;
|
|
202
|
+
#refinement dependency fcsAlarmAnnunciate to wsRespondAlarm;
|
|
175
203
|
}
|
|
176
|
-
action wsProgram : WorkflowStep { ref :>> performedActivity = oaProgram; }
|
|
177
|
-
action wsStart : WorkflowStep { ref :>> performedActivity = oaStartTherapy; }
|
|
178
|
-
action wsRequestBolus : WorkflowStep { ref :>> performedActivity = oaRequestBolus; }
|
|
179
|
-
action wsRespondAlarm : WorkflowStep { ref :>> performedActivity = oaRespondAlarm; }
|
|
180
204
|
connection : Supports { attribute :>> supportKind = SupportKind::useCase; connect supporter ::> wfPrepareAndStartTherapy to supported ::> ucDeliverPcaTherapy; }
|
|
181
205
|
connection : Supports { attribute :>> supportKind = SupportKind::useCase; connect supporter ::> wfManageActiveTherapy to supported ::> ucDeliverPcaTherapy; }
|
|
182
206
|
connection : Supports { attribute :>> supportKind = SupportKind::useCase; connect supporter ::> wfRespondToTherapyAlarm to supported ::> ucDeliverPcaTherapy; }
|
|
183
|
-
connection : Composes connect parent ::> wfPrepareAndStartTherapy to child ::> wsProgram;
|
|
184
|
-
connection : Composes connect parent ::> wfPrepareAndStartTherapy to child ::> wsStart;
|
|
185
|
-
connection : Composes connect parent ::> wfManageActiveTherapy to child ::> wsRequestBolus;
|
|
186
|
-
connection : Composes connect parent ::> wfRespondToTherapyAlarm to child ::> wsRespondAlarm;
|
|
187
207
|
|
|
188
|
-
// ── Scenario-owned operational activities and action flows ──
|
|
189
|
-
action oaCompleteNominalTherapy : OperationalActivity {
|
|
190
|
-
attribute :>> name = "CompleteNominalTherapy";
|
|
191
|
-
action deliverWithinLimits; action recordTherapyEvent;
|
|
192
|
-
first start then deliverWithinLimits; first deliverWithinLimits then recordTherapyEvent; first recordTherapyEvent then done;
|
|
193
|
-
}
|
|
194
|
-
action oaRejectBolusDuringLockout : OperationalActivity {
|
|
195
|
-
attribute :>> name = "RejectBolusDuringLockout";
|
|
196
|
-
action checkLockout; action rejectAndLog;
|
|
197
|
-
first start then checkLockout; first checkLockout then rejectAndLog; first rejectAndLog then done;
|
|
198
|
-
}
|
|
199
|
-
action oaRespondToOcclusion : OperationalActivity {
|
|
200
|
-
attribute :>> name = "RespondToOcclusion";
|
|
201
|
-
action pauseInfusion; action annunciateOcclusion; action resolveAndResume;
|
|
202
|
-
first start then pauseInfusion; first pauseInfusion then annunciateOcclusion; first annunciateOcclusion then resolveAndResume; first resolveAndResume then done;
|
|
203
|
-
}
|
|
204
|
-
action oaRespondToAirInLine : OperationalActivity {
|
|
205
|
-
attribute :>> name = "RespondToAirInLine";
|
|
206
|
-
action stopOrKvo; action annunciateAir; action reprimeAndRestart;
|
|
207
|
-
first start then stopOrKvo; first stopOrKvo then annunciateAir; first annunciateAir then reprimeAndRestart; first reprimeAndRestart then done;
|
|
208
|
-
}
|
|
209
|
-
action oaReplaceEmptyReservoir : OperationalActivity {
|
|
210
|
-
attribute :>> name = "ReplaceEmptyReservoir";
|
|
211
|
-
action stopAndAnnunciate; action replaceReservoir; action resumeTherapy;
|
|
212
|
-
first start then stopAndAnnunciate; first stopAndAnnunciate then replaceReservoir; first replaceReservoir then resumeTherapy; first resumeTherapy then done;
|
|
213
|
-
}
|
|
214
|
-
action oaRecoverAfterPowerLoss : OperationalActivity {
|
|
215
|
-
attribute :>> name = "RecoverAfterPowerLoss";
|
|
216
|
-
action switchToBattery; action restorePrescription; action confirmRestart;
|
|
217
|
-
first start then switchToBattery; first switchToBattery then restorePrescription; first restorePrescription then confirmRestart; first confirmRestart then done;
|
|
218
|
-
}
|
|
219
208
|
|
|
220
209
|
// ── Operational capabilities ────────────────────────────────
|
|
221
210
|
part ocTitratedAnalgesia : OperationalCapability {
|
|
@@ -234,9 +223,10 @@ package memo_examples_gpca_pump_model_catalog_gpca_operational {
|
|
|
234
223
|
}
|
|
235
224
|
|
|
236
225
|
// ── Operational scenarios ───────────────────────────────────
|
|
237
|
-
|
|
226
|
+
action osNominalTherapy : MemoScenario {
|
|
238
227
|
attribute :>> id = "OS-001";
|
|
239
228
|
attribute :>> name = "NominalTherapySession";
|
|
229
|
+
attribute :>> scenarioKind = ScenarioKind::operative;
|
|
240
230
|
attribute :>> variantKind = ScenarioVariantKind::nominal;
|
|
241
231
|
attribute :>> operationalCondition = OperationalConditionKind::normal;
|
|
242
232
|
attribute :>> preCondition = "prescription issued, reservoir loaded";
|
|
@@ -246,11 +236,19 @@ package memo_examples_gpca_pump_model_catalog_gpca_operational {
|
|
|
246
236
|
ref :>> parentWorkflow = wfManageActiveTherapy;
|
|
247
237
|
ref :>> parentUseCase = ucDeliverPcaTherapy;
|
|
248
238
|
ref :>> activities = oaCompleteNominalTherapy;
|
|
239
|
+
|
|
240
|
+
action oaCompleteNominalTherapy : OperationalActivity {
|
|
241
|
+
attribute :>> name = "CompleteNominalTherapy";
|
|
242
|
+
action deliverWithinLimits; action recordTherapyEvent;
|
|
243
|
+
first start then deliverWithinLimits; first deliverWithinLimits then recordTherapyEvent; first recordTherapyEvent then done;
|
|
244
|
+
}
|
|
249
245
|
}
|
|
250
|
-
|
|
246
|
+
action osLockoutBolus : MemoScenario {
|
|
251
247
|
attribute :>> id = "OS-002";
|
|
252
248
|
attribute :>> name = "BolusRequestDuringLockout";
|
|
249
|
+
attribute :>> scenarioKind = ScenarioKind::operative;
|
|
253
250
|
attribute :>> variantKind = ScenarioVariantKind::alternate;
|
|
251
|
+
attribute :>> variationPoint = "patient bolus request during the nominal therapy lockout interval";
|
|
254
252
|
attribute :>> operationalCondition = OperationalConditionKind::foreseeableMisuse;
|
|
255
253
|
attribute :>> preCondition = "basal infusion active; lockout interval running";
|
|
256
254
|
attribute :>> postCondition = "request ignored, logged; basal continues unchanged";
|
|
@@ -258,12 +256,21 @@ package memo_examples_gpca_pump_model_catalog_gpca_operational {
|
|
|
258
256
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.1.9 PATIENT BOLUS mode (lockout requirements)";
|
|
259
257
|
ref :>> parentWorkflow = wfManageActiveTherapy;
|
|
260
258
|
ref :>> parentUseCase = ucDeliverPcaTherapy;
|
|
259
|
+
ref :>> baseScenario = osNominalTherapy;
|
|
261
260
|
ref :>> activities = oaRejectBolusDuringLockout;
|
|
261
|
+
|
|
262
|
+
action oaRejectBolusDuringLockout : OperationalActivity {
|
|
263
|
+
attribute :>> name = "RejectBolusDuringLockout";
|
|
264
|
+
action checkLockout; action rejectAndLog;
|
|
265
|
+
first start then checkLockout; first checkLockout then rejectAndLog; first rejectAndLog then done;
|
|
266
|
+
}
|
|
262
267
|
}
|
|
263
|
-
|
|
268
|
+
action osOcclusionAlarm : MemoScenario {
|
|
264
269
|
attribute :>> id = "OS-003";
|
|
265
270
|
attribute :>> name = "OcclusionDetectedDuringInfusion";
|
|
271
|
+
attribute :>> scenarioKind = ScenarioKind::operative;
|
|
266
272
|
attribute :>> variantKind = ScenarioVariantKind::exception;
|
|
273
|
+
attribute :>> variationPoint = "occlusion detected while nominal infusion is active";
|
|
267
274
|
attribute :>> operationalCondition = OperationalConditionKind::degraded;
|
|
268
275
|
attribute :>> preCondition = "therapy active; downstream line becomes blocked";
|
|
269
276
|
attribute :>> postCondition = "infusion paused, alarm annunciated, clinician clears occlusion and resumes";
|
|
@@ -271,12 +278,21 @@ package memo_examples_gpca_pump_model_catalog_gpca_operational {
|
|
|
271
278
|
attribute :>> sourceReference = "CITE-004: GIP Hazard Analysis v1.0 (2009), §2.2 Alarms and Alerts (occlusion)";
|
|
272
279
|
ref :>> parentWorkflow = wfRespondToTherapyAlarm;
|
|
273
280
|
ref :>> parentUseCase = ucDeliverPcaTherapy;
|
|
281
|
+
ref :>> baseScenario = osNominalTherapy;
|
|
274
282
|
ref :>> activities = oaRespondToOcclusion;
|
|
283
|
+
|
|
284
|
+
action oaRespondToOcclusion : OperationalActivity {
|
|
285
|
+
attribute :>> name = "RespondToOcclusion";
|
|
286
|
+
action pauseInfusion; action annunciateOcclusion; action resolveAndResume;
|
|
287
|
+
first start then pauseInfusion; first pauseInfusion then annunciateOcclusion; first annunciateOcclusion then resolveAndResume; first resolveAndResume then done;
|
|
288
|
+
}
|
|
275
289
|
}
|
|
276
|
-
|
|
290
|
+
action osAirInLine : MemoScenario {
|
|
277
291
|
attribute :>> id = "OS-004";
|
|
278
292
|
attribute :>> name = "AirInLineDetected";
|
|
293
|
+
attribute :>> scenarioKind = ScenarioKind::operative;
|
|
279
294
|
attribute :>> variantKind = ScenarioVariantKind::exception;
|
|
295
|
+
attribute :>> variationPoint = "air-in-line detected while nominal infusion is active";
|
|
280
296
|
attribute :>> operationalCondition = OperationalConditionKind::degraded;
|
|
281
297
|
attribute :>> preCondition = "therapy active; air bubble enters tubing";
|
|
282
298
|
attribute :>> postCondition = "infusion stopped before air reaches patient; alarm annunciated";
|
|
@@ -284,12 +300,21 @@ package memo_examples_gpca_pump_model_catalog_gpca_operational {
|
|
|
284
300
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 Notification Requirements (REQ 59: Air embolism)";
|
|
285
301
|
ref :>> parentWorkflow = wfRespondToTherapyAlarm;
|
|
286
302
|
ref :>> parentUseCase = ucDeliverPcaTherapy;
|
|
303
|
+
ref :>> baseScenario = osNominalTherapy;
|
|
287
304
|
ref :>> activities = oaRespondToAirInLine;
|
|
305
|
+
|
|
306
|
+
action oaRespondToAirInLine : OperationalActivity {
|
|
307
|
+
attribute :>> name = "RespondToAirInLine";
|
|
308
|
+
action stopOrKvo; action annunciateAir; action reprimeAndRestart;
|
|
309
|
+
first start then stopOrKvo; first stopOrKvo then annunciateAir; first annunciateAir then reprimeAndRestart; first reprimeAndRestart then done;
|
|
310
|
+
}
|
|
288
311
|
}
|
|
289
|
-
|
|
312
|
+
action osEmptyReservoir : MemoScenario {
|
|
290
313
|
attribute :>> id = "OS-005";
|
|
291
314
|
attribute :>> name = "ReservoirEmptyDuringTherapy";
|
|
315
|
+
attribute :>> scenarioKind = ScenarioKind::operative;
|
|
292
316
|
attribute :>> variantKind = ScenarioVariantKind::exception;
|
|
317
|
+
attribute :>> variationPoint = "reservoir-empty threshold reached during nominal therapy";
|
|
293
318
|
attribute :>> operationalCondition = OperationalConditionKind::degraded;
|
|
294
319
|
attribute :>> preCondition = "therapy active; reservoir volume reaches empty threshold";
|
|
295
320
|
attribute :>> postCondition = "infusion stopped, alarm raised, reservoir replaced";
|
|
@@ -297,12 +322,21 @@ package memo_examples_gpca_pump_model_catalog_gpca_operational {
|
|
|
297
322
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §4.3 Notification Requirements (REQ 59: Empty Reservoir)";
|
|
298
323
|
ref :>> parentWorkflow = wfRespondToTherapyAlarm;
|
|
299
324
|
ref :>> parentUseCase = ucDeliverPcaTherapy;
|
|
325
|
+
ref :>> baseScenario = osNominalTherapy;
|
|
300
326
|
ref :>> activities = oaReplaceEmptyReservoir;
|
|
327
|
+
|
|
328
|
+
action oaReplaceEmptyReservoir : OperationalActivity {
|
|
329
|
+
attribute :>> name = "ReplaceEmptyReservoir";
|
|
330
|
+
action stopAndAnnunciate; action replaceReservoir; action resumeTherapy;
|
|
331
|
+
first start then stopAndAnnunciate; first stopAndAnnunciate then replaceReservoir; first replaceReservoir then resumeTherapy; first resumeTherapy then done;
|
|
332
|
+
}
|
|
301
333
|
}
|
|
302
|
-
|
|
334
|
+
action osPowerLoss : MemoScenario {
|
|
303
335
|
attribute :>> id = "OS-006";
|
|
304
336
|
attribute :>> name = "MainsPowerLossAndRecovery";
|
|
337
|
+
attribute :>> scenarioKind = ScenarioKind::operative;
|
|
305
338
|
attribute :>> variantKind = ScenarioVariantKind::recovery;
|
|
339
|
+
attribute :>> variationPoint = "mains supply lost during nominal therapy";
|
|
306
340
|
attribute :>> operationalCondition = OperationalConditionKind::degraded;
|
|
307
341
|
attribute :>> preCondition = "therapy active on mains power";
|
|
308
342
|
attribute :>> postCondition = "therapy continues on battery; prescription preserved across full power loss";
|
|
@@ -310,18 +344,19 @@ package memo_examples_gpca_pump_model_catalog_gpca_operational {
|
|
|
310
344
|
attribute :>> sourceReference = "CITE-004: GIP Hazard Analysis v1.0 (2009), §2.4.3 Electrical Hazards (battery failure)";
|
|
311
345
|
ref :>> parentWorkflow = wfRespondToTherapyAlarm;
|
|
312
346
|
ref :>> parentUseCase = ucDeliverPcaTherapy;
|
|
347
|
+
ref :>> baseScenario = osNominalTherapy;
|
|
313
348
|
ref :>> activities = oaRecoverAfterPowerLoss;
|
|
314
|
-
|
|
315
|
-
|
|
316
|
-
|
|
317
|
-
|
|
318
|
-
|
|
319
|
-
|
|
320
|
-
|
|
321
|
-
|
|
322
|
-
|
|
323
|
-
|
|
324
|
-
|
|
325
|
-
|
|
326
|
-
|
|
349
|
+
|
|
350
|
+
action oaRecoverAfterPowerLoss : OperationalActivity {
|
|
351
|
+
attribute :>> name = "RecoverAfterPowerLoss";
|
|
352
|
+
action switchToBattery; action restorePrescription; action confirmRestart;
|
|
353
|
+
first start then switchToBattery; first switchToBattery then restorePrescription; first restorePrescription then confirmRestart; first confirmRestart then done;
|
|
354
|
+
}
|
|
355
|
+
}
|
|
356
|
+
#refinement dependency osNominalTherapy to ucDeliverPcaTherapy;
|
|
357
|
+
#refinement dependency osLockoutBolus to ucDeliverPcaTherapy;
|
|
358
|
+
#refinement dependency osOcclusionAlarm to ucDeliverPcaTherapy;
|
|
359
|
+
#refinement dependency osAirInLine to ucDeliverPcaTherapy;
|
|
360
|
+
#refinement dependency osEmptyReservoir to ucDeliverPcaTherapy;
|
|
361
|
+
#refinement dependency osPowerLoss to ucDeliverPcaTherapy;
|
|
327
362
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_gpca_physical {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_architecture_realization_physical::*;
|
|
@@ -15,39 +15,34 @@ package memo_examples_gpca_pump_model_catalog_gpca_physical {
|
|
|
15
15
|
attribute :>> redundancyKind = "hardware watchdog plus independent flow cross-check";
|
|
16
16
|
}
|
|
17
17
|
|
|
18
|
-
|
|
18
|
+
in port portSensorHarness : PhysicalPort {
|
|
19
19
|
attribute :>> id = "PP-001";
|
|
20
20
|
attribute :>> name = "SensorHarnessConnector";
|
|
21
21
|
attribute :>> portKind = InterfaceKind::digitalSignal;
|
|
22
22
|
attribute :>> connectorType = "keyed 12-pin locking header";
|
|
23
|
-
attribute :>> direction = DirectionKind::input;
|
|
24
23
|
}
|
|
25
|
-
|
|
24
|
+
out port portMotorDrive : PhysicalPort {
|
|
26
25
|
attribute :>> id = "PP-002";
|
|
27
26
|
attribute :>> name = "MotorDriveConnector";
|
|
28
27
|
attribute :>> portKind = InterfaceKind::digitalSignal;
|
|
29
28
|
attribute :>> connectorType = "keyed 6-pin locking header with enable interlock";
|
|
30
|
-
attribute :>> direction = DirectionKind::output;
|
|
31
29
|
}
|
|
32
|
-
|
|
30
|
+
in port portPatientPendant : PhysicalPort {
|
|
33
31
|
attribute :>> id = "PP-003";
|
|
34
32
|
attribute :>> name = "PatientPendantJack";
|
|
35
33
|
attribute :>> portKind = InterfaceKind::digitalSignal;
|
|
36
34
|
attribute :>> connectorType = "latching 3.5 mm pendant jack";
|
|
37
|
-
attribute :>> direction = DirectionKind::input;
|
|
38
35
|
}
|
|
39
|
-
|
|
36
|
+
inout port portServiceAccess : PhysicalPort {
|
|
40
37
|
attribute :>> id = "PP-004";
|
|
41
38
|
attribute :>> name = "ServiceMaintenancePort";
|
|
42
39
|
attribute :>> portKind = InterfaceKind::api;
|
|
43
40
|
attribute :>> connectorType = "covered UART/USB service connector";
|
|
44
|
-
attribute :>> direction = DirectionKind::bidirectional;
|
|
45
41
|
}
|
|
46
|
-
|
|
42
|
+
in port portMainsInlet : PhysicalPort {
|
|
47
43
|
attribute :>> id = "PP-005";
|
|
48
44
|
attribute :>> name = "MainsPowerInlet";
|
|
49
45
|
attribute :>> portKind = InterfaceKind::power;
|
|
50
46
|
attribute :>> connectorType = "IEC 60320 C8 inlet";
|
|
51
|
-
attribute :>> direction = DirectionKind::input;
|
|
52
47
|
}
|
|
53
48
|
}
|