@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
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
// Clause-level conformance for the GPCA pump example.
|
|
2
|
+
//
|
|
3
|
+
// The standards library (src/artifacts/standards/) is MEMO content: it says
|
|
4
|
+
// which clauses exist. This file is PROJECT content: it says which of this
|
|
5
|
+
// project's elements claim them, and where the evidence is written down. That
|
|
6
|
+
// division is the two-mechanism rule in memo_artifacts_standards_traceability
|
|
7
|
+
// — @StandardReference is library provenance, ConformsTo is project
|
|
8
|
+
// traceability — and it is why the clause instances carry no project data and
|
|
9
|
+
// this file declares no clauses.
|
|
10
|
+
//
|
|
11
|
+
// It exists so the DHF standards-traceability, SAD conformance and HRS clause
|
|
12
|
+
// tables render real rows. A `select: relationships` query over ConformsTo is
|
|
13
|
+
// only as good as the edges a project authors, and an example with none cannot
|
|
14
|
+
// tell a working matrix apart from a broken one.
|
|
15
|
+
package memo_examples_gpca_pump_gpca_standards {
|
|
16
|
+
private import ScalarValues::*;
|
|
17
|
+
|
|
18
|
+
private import memo_core_common::*;
|
|
19
|
+
private import memo_core_enumerations::*;
|
|
20
|
+
private import memo_core_relationships::*;
|
|
21
|
+
private import memo_artifacts_core::*;
|
|
22
|
+
private import memo_artifacts_standards_traceability::*;
|
|
23
|
+
private import memo_artifacts_standards_iec_62304::*;
|
|
24
|
+
private import memo_artifacts_standards_iec_60601_1::*;
|
|
25
|
+
private import memo_artifacts_standards_iec_60601_1_2::*;
|
|
26
|
+
private import memo_artifacts_standards_iso_14971::*;
|
|
27
|
+
private import memo_examples_gpca_pump_gpca_requirements::*;
|
|
28
|
+
private import memo_examples_gpca_pump_gpca_architecture::*;
|
|
29
|
+
private import memo_examples_gpca_pump_gpca_physical::*;
|
|
30
|
+
private import memo_examples_gpca_pump_gpca_risk::*;
|
|
31
|
+
|
|
32
|
+
// ── The controlled documents clause evidence lands in ────────────────
|
|
33
|
+
// TracesToDocument targets ControlledArtifact, so the DHF documents are
|
|
34
|
+
// modelled as the artifacts they are rather than as a second document type.
|
|
35
|
+
|
|
36
|
+
part docSrs : MarkdownDocumentSource {
|
|
37
|
+
attribute :>> id = "DOC-SRS";
|
|
38
|
+
attribute :>> name = "SoftwareRequirementsSpecification";
|
|
39
|
+
attribute :>> version = "1.0";
|
|
40
|
+
attribute :>> artifactKind = ArtifactKind::requirementSpecification;
|
|
41
|
+
attribute :>> owner = "Software Lead";
|
|
42
|
+
attribute :>> approvalStatus = "approved";
|
|
43
|
+
attribute :>> uri = "dhf/documents/srs.md";
|
|
44
|
+
attribute :>> mediaType = "text/markdown";
|
|
45
|
+
attribute :>> contentHash = "";
|
|
46
|
+
attribute :>> generated = true;
|
|
47
|
+
}
|
|
48
|
+
part docSad : MarkdownDocumentSource {
|
|
49
|
+
attribute :>> id = "DOC-SAD";
|
|
50
|
+
attribute :>> name = "SoftwareArchitectureDescription";
|
|
51
|
+
attribute :>> version = "1.0";
|
|
52
|
+
attribute :>> artifactKind = ArtifactKind::architectureDescription;
|
|
53
|
+
attribute :>> owner = "Systems Architect";
|
|
54
|
+
attribute :>> approvalStatus = "approved";
|
|
55
|
+
attribute :>> uri = "dhf/documents/sad.md";
|
|
56
|
+
attribute :>> mediaType = "text/markdown";
|
|
57
|
+
attribute :>> contentHash = "";
|
|
58
|
+
attribute :>> generated = true;
|
|
59
|
+
}
|
|
60
|
+
part docHrs : MarkdownDocumentSource {
|
|
61
|
+
attribute :>> id = "DOC-HRS";
|
|
62
|
+
attribute :>> name = "HardwareRequirementsSpecification";
|
|
63
|
+
attribute :>> version = "1.0";
|
|
64
|
+
attribute :>> artifactKind = ArtifactKind::requirementSpecification;
|
|
65
|
+
attribute :>> owner = "Hardware Lead";
|
|
66
|
+
attribute :>> approvalStatus = "approved";
|
|
67
|
+
attribute :>> uri = "dhf/documents/hrs.md";
|
|
68
|
+
attribute :>> mediaType = "text/markdown";
|
|
69
|
+
attribute :>> contentHash = "";
|
|
70
|
+
attribute :>> generated = true;
|
|
71
|
+
}
|
|
72
|
+
part docRmf : MarkdownDocumentSource {
|
|
73
|
+
attribute :>> id = "DOC-RMF";
|
|
74
|
+
attribute :>> name = "RiskManagementFile";
|
|
75
|
+
attribute :>> version = "1.0";
|
|
76
|
+
attribute :>> artifactKind = ArtifactKind::riskRecord;
|
|
77
|
+
attribute :>> owner = "Risk Manager";
|
|
78
|
+
attribute :>> approvalStatus = "approved";
|
|
79
|
+
attribute :>> uri = "dhf/documents/rmf.md";
|
|
80
|
+
attribute :>> mediaType = "text/markdown";
|
|
81
|
+
attribute :>> contentHash = "";
|
|
82
|
+
attribute :>> generated = true;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
// ── IEC 62304 — software lifecycle ───────────────────────────────────
|
|
86
|
+
// §5.2.2 software requirements content: every software requirement.
|
|
87
|
+
connection : ConformsTo connect conformingElement ::> reqOcclusion to clause ::> iec62304Clause5_2_2;
|
|
88
|
+
connection : ConformsTo connect conformingElement ::> reqDoorOpen to clause ::> iec62304Clause5_2_2;
|
|
89
|
+
connection : ConformsTo connect conformingElement ::> reqMaxHourlyDose to clause ::> iec62304Clause5_2_2;
|
|
90
|
+
connection : ConformsTo connect conformingElement ::> reqEventLogging to clause ::> iec62304Clause5_2_2;
|
|
91
|
+
connection : ConformsTo connect conformingElement ::> reqWatchdogSafeState to clause ::> iec62304Clause5_2_2;
|
|
92
|
+
connection : ConformsTo connect conformingElement ::> reqStuckButton to clause ::> iec62304Clause5_2_2;
|
|
93
|
+
connection : ConformsTo connect conformingElement ::> reqFlowCrossCheck to clause ::> iec62304Clause5_2_2;
|
|
94
|
+
|
|
95
|
+
// §5.2.3 risk control measures carried into software requirements.
|
|
96
|
+
connection : ConformsTo connect conformingElement ::> reqWatchdogSafeState to clause ::> iec62304Clause5_2_3;
|
|
97
|
+
connection : ConformsTo connect conformingElement ::> reqFlowCrossCheck to clause ::> iec62304Clause5_2_3;
|
|
98
|
+
|
|
99
|
+
// §5.3 software architectural design: the software decomposition.
|
|
100
|
+
connection : ConformsTo connect conformingElement ::> gpcaDevice.gpcaSoftware to clause ::> iec62304Clause5_3;
|
|
101
|
+
connection : ConformsTo connect conformingElement ::> gpcaDevice.gpcaSoftware.tlm to clause ::> iec62304Clause5_3;
|
|
102
|
+
connection : ConformsTo connect conformingElement ::> gpcaDevice.gpcaSoftware.infusionMgr to clause ::> iec62304Clause5_3;
|
|
103
|
+
connection : ConformsTo connect conformingElement ::> gpcaDevice.gpcaSoftware.systemMonitor to clause ::> iec62304Clause5_3;
|
|
104
|
+
connection : ConformsTo connect conformingElement ::> gpcaDevice.gpcaSoftware.config to clause ::> iec62304Clause5_3;
|
|
105
|
+
|
|
106
|
+
// ── IEC 60601-1 — basic safety and essential performance ─────────────
|
|
107
|
+
// §8 protection against electrical hazards.
|
|
108
|
+
connection : ConformsTo connect conformingElement ::> reqBatteryBackup to clause ::> iec60601_1Clause8;
|
|
109
|
+
connection : ConformsTo connect conformingElement ::> powerSupply to clause ::> iec60601_1Clause8;
|
|
110
|
+
connection : ConformsTo connect conformingElement ::> batteryPack to clause ::> iec60601_1Clause8;
|
|
111
|
+
|
|
112
|
+
// §9 protection against mechanical hazards.
|
|
113
|
+
connection : ConformsTo connect conformingElement ::> reqFreeFlowPrevention to clause ::> iec60601_1Clause9;
|
|
114
|
+
connection : ConformsTo connect conformingElement ::> antiFreeFlowValve to clause ::> iec60601_1Clause9;
|
|
115
|
+
connection : ConformsTo connect conformingElement ::> enclosure to clause ::> iec60601_1Clause9;
|
|
116
|
+
|
|
117
|
+
// §14 programmable electrical medical systems.
|
|
118
|
+
connection : ConformsTo connect conformingElement ::> gpcaDevice.gpcaSoftware to clause ::> iec60601_1Clause14;
|
|
119
|
+
|
|
120
|
+
// ── IEC 60601-1-2 — electromagnetic compatibility ────────────────────
|
|
121
|
+
connection : ConformsTo connect conformingElement ::> controllerBoard to clause ::> iec60601_1_2Clause7;
|
|
122
|
+
connection : ConformsTo connect conformingElement ::> controllerBoard to clause ::> iec60601_1_2Clause8;
|
|
123
|
+
connection : ConformsTo connect conformingElement ::> reqPost to clause ::> iec60601_1_2Clause8;
|
|
124
|
+
|
|
125
|
+
// ── ISO 14971 — risk management ──────────────────────────────────────
|
|
126
|
+
// §7 risk control: the risk control measures themselves.
|
|
127
|
+
connection : ConformsTo connect conformingElement ::> lockoutControl to clause ::> iso14971Clause7;
|
|
128
|
+
connection : ConformsTo connect conformingElement ::> occlusionAlarmControl to clause ::> iso14971Clause7;
|
|
129
|
+
connection : ConformsTo connect conformingElement ::> airDetectionControl to clause ::> iso14971Clause7;
|
|
130
|
+
connection : ConformsTo connect conformingElement ::> freeFlowValveControl to clause ::> iso14971Clause7;
|
|
131
|
+
connection : ConformsTo connect conformingElement ::> doorInterlockControl to clause ::> iso14971Clause7;
|
|
132
|
+
connection : ConformsTo connect conformingElement ::> watchdogControl to clause ::> iso14971Clause7;
|
|
133
|
+
connection : ConformsTo connect conformingElement ::> flowCrossCheckControl to clause ::> iso14971Clause7;
|
|
134
|
+
|
|
135
|
+
// ── Where the evidence for each claim is written down ────────────────
|
|
136
|
+
// The section reference rides on the link, not on a duplicate section type.
|
|
137
|
+
connection : TracesToDocument connect tracedElement ::> iec62304Clause5_2_2 to artifact ::> docSrs {
|
|
138
|
+
attribute :>> sectionReference = "3";
|
|
139
|
+
}
|
|
140
|
+
connection : TracesToDocument connect tracedElement ::> iec62304Clause5_2_3 to artifact ::> docSrs {
|
|
141
|
+
attribute :>> sectionReference = "3.2";
|
|
142
|
+
}
|
|
143
|
+
connection : TracesToDocument connect tracedElement ::> iec62304Clause5_3 to artifact ::> docSad {
|
|
144
|
+
attribute :>> sectionReference = "4";
|
|
145
|
+
}
|
|
146
|
+
connection : TracesToDocument connect tracedElement ::> iec60601_1Clause8 to artifact ::> docHrs {
|
|
147
|
+
attribute :>> sectionReference = "4";
|
|
148
|
+
}
|
|
149
|
+
connection : TracesToDocument connect tracedElement ::> iec60601_1Clause9 to artifact ::> docHrs {
|
|
150
|
+
attribute :>> sectionReference = "6";
|
|
151
|
+
}
|
|
152
|
+
connection : TracesToDocument connect tracedElement ::> iec60601_1Clause14 to artifact ::> docSad {
|
|
153
|
+
attribute :>> sectionReference = "6.2";
|
|
154
|
+
}
|
|
155
|
+
connection : TracesToDocument connect tracedElement ::> iec60601_1_2Clause7 to artifact ::> docHrs {
|
|
156
|
+
attribute :>> sectionReference = "5";
|
|
157
|
+
}
|
|
158
|
+
connection : TracesToDocument connect tracedElement ::> iso14971Clause7 to artifact ::> docRmf {
|
|
159
|
+
attribute :>> sectionReference = "5";
|
|
160
|
+
}
|
|
161
|
+
}
|
|
@@ -1,10 +1,13 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_gpca_system {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_architecture_functional_functions::*;
|
|
5
|
-
private import
|
|
5
|
+
private import memo_examples_gpca_pump_gpca_behavior_subsystems::*;
|
|
6
6
|
private import memo_architecture_operational_scenarios::*;
|
|
7
7
|
private import memo_core_enumerations::*;
|
|
8
|
+
private import memo_architecture_operational_structure::*;
|
|
9
|
+
private import memo_architecture_operational_use_cases::*;
|
|
10
|
+
private import memo_core_common::*;
|
|
8
11
|
|
|
9
12
|
part gpcaMission : Mission {
|
|
10
13
|
attribute :>> id = "MSN-001";
|
|
@@ -21,91 +24,105 @@ package memo_examples_gpca_pump_model_catalog_gpca_system {
|
|
|
21
24
|
attribute :>> id = "FC-001";
|
|
22
25
|
attribute :>> name = "PatientBolusChain";
|
|
23
26
|
attribute :>> flowCategory = FunctionalFlowKind::nominal;
|
|
24
|
-
ref :>> startFunction = fnAcquireSensors;
|
|
25
|
-
ref :>> endFunction = fnCommandPump;
|
|
26
27
|
attribute :>> endToEndLatencyBudgetMs = "100";
|
|
27
28
|
attribute :>> safetyRelevant = true;
|
|
28
29
|
attribute :>> securityRelevant = false;
|
|
29
30
|
attribute :>> description = "Bolus button press through lockout/max-dose check to pump actuation and logging.";
|
|
31
|
+
perform fcsBolusSense;
|
|
32
|
+
perform fcsBolusValidate;
|
|
33
|
+
perform fcsBolusCommand;
|
|
34
|
+
perform fcsBolusActuate;
|
|
35
|
+
perform fcsBolusLog;
|
|
30
36
|
}
|
|
31
|
-
|
|
37
|
+
action fcsBolusSense : FunctionalFlowStep {
|
|
32
38
|
attribute :>> id = "FCS-001"; attribute :>> name = "SenseBolusRequest";
|
|
33
|
-
|
|
39
|
+
ref :>> function = fnAcquireSensors; ref :>> exchangedItem = ddBolusRequest;
|
|
34
40
|
}
|
|
35
|
-
|
|
41
|
+
action fcsBolusValidate : FunctionalFlowStep {
|
|
36
42
|
attribute :>> id = "FCS-002"; attribute :>> name = "CheckLockoutAndMaxDose";
|
|
37
|
-
|
|
43
|
+
ref :>> function = fnEnforceLimits; ref :>> exchangedItem = ddPrescription;
|
|
38
44
|
}
|
|
39
|
-
|
|
45
|
+
action fcsBolusCommand : FunctionalFlowStep {
|
|
40
46
|
attribute :>> id = "FCS-003"; attribute :>> name = "CommandBolusFlow";
|
|
41
|
-
|
|
47
|
+
ref :>> function = fnManageInfusion; ref :>> exchangedItem = cdFlowCommand;
|
|
42
48
|
}
|
|
43
|
-
|
|
49
|
+
action fcsBolusActuate : FunctionalFlowStep {
|
|
44
50
|
attribute :>> id = "FCS-004"; attribute :>> name = "ActuatePumpMotor";
|
|
45
|
-
|
|
51
|
+
ref :>> function = fnCommandPump; ref :>> exchangedItem = cdFlowCommand;
|
|
46
52
|
}
|
|
47
|
-
|
|
53
|
+
action fcsBolusLog : FunctionalFlowStep {
|
|
48
54
|
attribute :>> id = "FCS-005"; attribute :>> name = "LogBolusOutcome";
|
|
49
|
-
|
|
55
|
+
ref :>> function = fnLogEvents; ref :>> exchangedItem = ddEventRecord;
|
|
50
56
|
}
|
|
57
|
+
first fcsBolusSense then fcsBolusValidate;
|
|
58
|
+
first fcsBolusValidate then fcsBolusCommand;
|
|
59
|
+
first fcsBolusCommand then fcsBolusActuate;
|
|
60
|
+
first fcsBolusActuate then fcsBolusLog;
|
|
51
61
|
|
|
52
62
|
part fcAlarmStop : FunctionalFlow {
|
|
53
63
|
attribute :>> id = "FC-002";
|
|
54
64
|
attribute :>> name = "AlarmDetectionToSafeStateChain";
|
|
55
65
|
attribute :>> flowCategory = FunctionalFlowKind::alarm;
|
|
56
|
-
ref :>> startFunction = fnAcquireSensors;
|
|
57
|
-
ref :>> endFunction = fnAnnunciate;
|
|
58
66
|
attribute :>> endToEndLatencyBudgetMs = "20";
|
|
59
67
|
attribute :>> safetyRelevant = true;
|
|
60
68
|
attribute :>> securityRelevant = false;
|
|
61
69
|
attribute :>> description = "Sensor condition through alarm evaluation to same-step transition to PAUSED (KVO flow, REQ 43) and annunciation.";
|
|
70
|
+
perform fcsAlarmSense;
|
|
71
|
+
perform fcsAlarmEvaluate;
|
|
72
|
+
perform fcsAlarmStopInfusion;
|
|
73
|
+
perform fcsAlarmAnnunciate;
|
|
62
74
|
}
|
|
63
|
-
|
|
75
|
+
action fcsAlarmSense : FunctionalFlowStep {
|
|
64
76
|
attribute :>> id = "FCS-006"; attribute :>> name = "SenseAlarmCondition";
|
|
65
|
-
|
|
77
|
+
ref :>> function = fnAcquireSensors; ref :>> exchangedItem = ddSensorVector;
|
|
66
78
|
}
|
|
67
|
-
|
|
79
|
+
action fcsAlarmEvaluate : FunctionalFlowStep {
|
|
68
80
|
attribute :>> id = "FCS-007"; attribute :>> name = "EvaluateAlarmCondition";
|
|
69
|
-
|
|
81
|
+
ref :>> function = fnMonitorAlarm; ref :>> exchangedItem = ddSensorVector;
|
|
70
82
|
}
|
|
71
|
-
|
|
83
|
+
action fcsAlarmStopInfusion : FunctionalFlowStep {
|
|
72
84
|
attribute :>> id = "FCS-008"; attribute :>> name = "LimitFlowToKvoSameStep";
|
|
73
|
-
|
|
85
|
+
ref :>> function = fnManageInfusion; ref :>> exchangedItem = cdAlarmSignal;
|
|
74
86
|
}
|
|
75
|
-
|
|
87
|
+
action fcsAlarmAnnunciate : FunctionalFlowStep {
|
|
76
88
|
attribute :>> id = "FCS-009"; attribute :>> name = "AnnunciateAudibleVisual";
|
|
77
|
-
|
|
89
|
+
ref :>> function = fnAnnunciate; ref :>> exchangedItem = cdAlarmSignal;
|
|
78
90
|
}
|
|
91
|
+
first fcsAlarmSense then fcsAlarmEvaluate;
|
|
92
|
+
first fcsAlarmEvaluate then fcsAlarmStopInfusion;
|
|
93
|
+
first fcsAlarmStopInfusion then fcsAlarmAnnunciate;
|
|
79
94
|
|
|
80
95
|
part fcStartup : FunctionalFlow {
|
|
81
96
|
attribute :>> id = "FC-003";
|
|
82
97
|
attribute :>> name = "PowerOnSelfTestChain";
|
|
83
98
|
attribute :>> flowCategory = FunctionalFlowKind::startup;
|
|
84
|
-
ref :>> startFunction = fnManagePower;
|
|
85
|
-
ref :>> endFunction = fnPresentStatus;
|
|
86
99
|
attribute :>> endToEndLatencyBudgetMs = "5000";
|
|
87
100
|
attribute :>> safetyRelevant = true;
|
|
88
101
|
attribute :>> securityRelevant = false;
|
|
89
102
|
attribute :>> description = "Power-on through CPU/memory/sensor self test to IDLE with status display; failed POST blocks therapy.";
|
|
103
|
+
perform fnSelfTest;
|
|
104
|
+
perform fnPresentStatus;
|
|
90
105
|
}
|
|
91
106
|
|
|
92
107
|
// ── System scenarios ────────────────────────────────────────
|
|
93
|
-
|
|
108
|
+
action ssBolusDuringBasal : MemoScenario {
|
|
94
109
|
attribute :>> id = "SS-001";
|
|
95
110
|
attribute :>> name = "PatientBolusDuringBasal";
|
|
111
|
+
attribute :>> scenarioKind = ScenarioKind::functional;
|
|
96
112
|
attribute :>> variantKind = ScenarioVariantKind::nominal;
|
|
97
113
|
attribute :>> operationalCondition = OperationalConditionKind::normal;
|
|
98
|
-
attribute :>> sequenceDiagramRef = "VIEW-BHV-002";
|
|
99
114
|
attribute :>> preCondition = "BASAL mode active; no REQ 25 ignore condition holds";
|
|
100
115
|
attribute :>> postCondition = "PATIENT_BOLUS mode entered, bolus delivered, return to BASAL";
|
|
101
116
|
}
|
|
102
|
-
|
|
117
|
+
action ssAlarmPause : MemoScenario {
|
|
103
118
|
attribute :>> id = "SS-002";
|
|
104
119
|
attribute :>> name = "InhibitingNotificationPausesInfusion";
|
|
120
|
+
attribute :>> scenarioKind = ScenarioKind::functional;
|
|
105
121
|
attribute :>> variantKind = ScenarioVariantKind::exception;
|
|
122
|
+
attribute :>> variationPoint = "an infusion-inhibiting notification interrupts active therapy";
|
|
106
123
|
attribute :>> operationalCondition = OperationalConditionKind::degraded;
|
|
107
|
-
attribute :>> sequenceDiagramRef = "VIEW-BHV-002";
|
|
108
124
|
attribute :>> preCondition = "any ACTIVE therapy mode; infusion-inhibiting notification detected (REQ 59)";
|
|
109
125
|
attribute :>> postCondition = "PAUSED mode entered in same execution step at FlowRate_kvo_hd keep-vein-open flow; notification annunciated per REQ 59";
|
|
126
|
+
ref :>> baseScenario = ssBolusDuringBasal;
|
|
110
127
|
}
|
|
111
128
|
}
|