@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_trace {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
|
+
private import ModelingMetadata::*;
|
|
3
4
|
|
|
4
5
|
private import memo_core_relationships::*;
|
|
5
6
|
private import memo_architecture_operational_context_actors::*;
|
|
@@ -7,28 +8,36 @@ package memo_examples_gpca_pump_model_catalog_gpca_trace {
|
|
|
7
8
|
private import memo_architecture_operational_activities::*;
|
|
8
9
|
private import memo_architecture_operational_structure::*;
|
|
9
10
|
private import memo_architecture_functional_functions::*;
|
|
10
|
-
private import
|
|
11
|
-
private import
|
|
12
|
-
private import
|
|
13
|
-
private import
|
|
14
|
-
private import
|
|
15
|
-
private import
|
|
16
|
-
private import
|
|
17
|
-
private import
|
|
18
|
-
private import
|
|
19
|
-
private import
|
|
20
|
-
private import
|
|
21
|
-
private import
|
|
22
|
-
private import
|
|
23
|
-
private import
|
|
24
|
-
private import
|
|
25
|
-
private import
|
|
26
|
-
private import
|
|
27
|
-
private import
|
|
28
|
-
private import
|
|
29
|
-
private import
|
|
30
|
-
private import
|
|
31
|
-
private import
|
|
11
|
+
private import memo_examples_gpca_pump_gpca_context::*;
|
|
12
|
+
private import memo_examples_gpca_pump_gpca_operational::*;
|
|
13
|
+
private import memo_examples_gpca_pump_gpca_system::*;
|
|
14
|
+
private import memo_examples_gpca_pump_gpca_requirements::*;
|
|
15
|
+
private import memo_examples_gpca_pump_gpca_architecture::*;
|
|
16
|
+
private import memo_examples_gpca_pump_gpca_physical::*;
|
|
17
|
+
private import memo_examples_gpca_pump_gpca_behavior_subsystems::*;
|
|
18
|
+
private import memo_examples_gpca_pump_gpca_behavior_modes::*;
|
|
19
|
+
private import memo_examples_gpca_pump_gpca_interfaces::*;
|
|
20
|
+
private import memo_examples_gpca_pump_gpca_risk::*;
|
|
21
|
+
private import memo_examples_gpca_pump_gpca_analysis::*;
|
|
22
|
+
private import memo_examples_gpca_pump_gpca_verification::*;
|
|
23
|
+
private import memo_examples_gpca_pump_viewpoints_logical_views_document_architecture_description_view::*;
|
|
24
|
+
private import memo_examples_gpca_pump_viewpoints_cybersecurity_views_document_cyber_assessment_view::*;
|
|
25
|
+
private import memo_examples_gpca_pump_viewpoints_requirements_views_document_dhf_index_view::*;
|
|
26
|
+
private import memo_examples_gpca_pump_viewpoints_risk_views_document_hazard_analysis_view::*;
|
|
27
|
+
private import memo_examples_gpca_pump_viewpoints_risk_views_document_rmf_view::*;
|
|
28
|
+
private import memo_examples_gpca_pump_viewpoints_software_views_document_sdd_view::*;
|
|
29
|
+
private import memo_examples_gpca_pump_viewpoints_cybersecurity_views_document_threat_model_view::*;
|
|
30
|
+
private import memo_examples_gpca_pump_viewpoints_usability_views_document_usability_view::*;
|
|
31
|
+
private import memo_examples_gpca_pump_viewpoints_verification_views_document_vv_view::*;
|
|
32
|
+
private import memo_examples_gpca_pump_gpca_formal_behavior::*;
|
|
33
|
+
private import memo_architecture_operational_context_stakeholders::*;
|
|
34
|
+
private import memo_architecture_operational_use_cases::*;
|
|
35
|
+
private import memo_architecture_operational_workflows::*;
|
|
36
|
+
private import memo_architecture_realization_deployment::*;
|
|
37
|
+
private import memo_assurance_human_factors::*;
|
|
38
|
+
private import memo_assurance_safety_risk::*;
|
|
39
|
+
private import memo_assurance_safety_risk_analysis::*;
|
|
40
|
+
private import memo_viewpoints_definitions::*;
|
|
32
41
|
|
|
33
42
|
// ── System context interactions (context view) ──────────────
|
|
34
43
|
connection : InteractsWith connect contextParticipant ::> actorPatient to target ::> entityGpcaPump;
|
|
@@ -40,40 +49,29 @@ package memo_examples_gpca_pump_model_catalog_gpca_trace {
|
|
|
40
49
|
|
|
41
50
|
// ── Fig 2.1 context flows (CriSys §2.1) ─────────────────────
|
|
42
51
|
// Data flows
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
52
|
+
flow from entityPrescription to actorNurse;
|
|
53
|
+
flow from actorNurse to entityGpcaPump;
|
|
54
|
+
flow from entityGpcaPump to actorNurse;
|
|
55
|
+
flow from actorPatient to entityGpcaPump;
|
|
56
|
+
flow from entityPharmacyDb to entityGpcaPump;
|
|
48
57
|
// Physical connections (drug path)
|
|
49
|
-
connection
|
|
50
|
-
connection
|
|
51
|
-
connection
|
|
52
|
-
connection
|
|
58
|
+
connection connect source ::> entityDrugReservoir to target ::> entityGpcaPump;
|
|
59
|
+
connection connect source ::> entityGpcaPump to target ::> entityNeedle;
|
|
60
|
+
connection connect source ::> entityNeedle to target ::> actorPatient;
|
|
61
|
+
connection connect source ::> entityPowerInfrastructure to target ::> entityGpcaPump;
|
|
53
62
|
// Intended use and use context anchoring (no floating context nodes)
|
|
54
63
|
connection : Governs { attribute :>> governKind = GovernKind::'use'; connect governor ::> gpcaIntendedUse to governedElement ::> entityGpcaPump; }
|
|
55
64
|
connection : AppliesInContext connect useContext ::> hospitalWardContext to subjectElement ::> entityGpcaPump;
|
|
56
65
|
connection : AppliesInContext connect useContext ::> hospitalWardContext to subjectElement ::> entityHospital;
|
|
57
66
|
|
|
58
|
-
//
|
|
59
|
-
|
|
60
|
-
connection : ParticipatesIn connect participatingActor ::> actorPatient to useCase ::> ucDeliverPcaTherapy;
|
|
61
|
-
connection : ParticipatesIn connect participatingActor ::> actorPrescriber to useCase ::> ucDeliverPcaTherapy;
|
|
62
|
-
connection : ParticipatesIn connect participatingActor ::> actorPharmacist to useCase ::> ucDeliverPcaTherapy;
|
|
63
|
-
connection : Performs connect performer ::> actorPrescriber to performed ::> oaPrescribe;
|
|
64
|
-
connection : Performs connect performer ::> actorPharmacist to performed ::> oaLoadReservoir;
|
|
65
|
-
connection : Performs connect performer ::> actorNurse to performed ::> oaProgram;
|
|
66
|
-
connection : Performs connect performer ::> actorNurse to performed ::> oaStartTherapy;
|
|
67
|
-
connection : Performs connect performer ::> actorNurse to performed ::> oaRespondAlarm;
|
|
68
|
-
connection : Performs connect performer ::> actorNurse to performed ::> oaReviewLog;
|
|
69
|
-
connection : Performs connect performer ::> actorPatient to performed ::> oaRequestBolus;
|
|
70
|
-
connection : Performs connect performer ::> actorTechnician to performed ::> oaMaintain;
|
|
67
|
+
// Actor participation (use case view): native `actor`, nested in
|
|
68
|
+
// ucDeliverPcaTherapy's own body in gpca_operational.sysml (R10-S6).
|
|
71
69
|
|
|
72
70
|
// ── Operational thread (therapy lifecycle) ──────────────────
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
71
|
+
first oaPrescribe then oaLoadReservoir;
|
|
72
|
+
first oaLoadReservoir then oaProgram;
|
|
73
|
+
first oaProgram then oaStartTherapy;
|
|
74
|
+
first oaStartTherapy then oaRequestBolus;
|
|
77
75
|
connection : Supports { attribute :>> supportKind = SupportKind::capability; connect supporter ::> oaStartTherapy to supported ::> ocTitratedAnalgesia; }
|
|
78
76
|
connection : Supports { attribute :>> supportKind = SupportKind::capability; connect supporter ::> oaRequestBolus to supported ::> ocTitratedAnalgesia; }
|
|
79
77
|
connection : Supports { attribute :>> supportKind = SupportKind::capability; connect supporter ::> oaRespondAlarm to supported ::> ocFailSafeTherapy; }
|
|
@@ -82,28 +80,22 @@ package memo_examples_gpca_pump_model_catalog_gpca_trace {
|
|
|
82
80
|
connection : DerivesFrom connect sourceDriver ::> oaRespondAlarm to targetRequirement ::> reqCs59;
|
|
83
81
|
|
|
84
82
|
// ── Functional chains ───────────────────────────────────────
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
connection : IncludesStep connect functionalChain ::> fcPatientBolus to step ::> fcsBolusActuate;
|
|
102
|
-
connection : IncludesStep connect functionalChain ::> fcPatientBolus to step ::> fcsBolusLog;
|
|
103
|
-
connection : IncludesStep connect functionalChain ::> fcAlarmStop to step ::> fcsAlarmSense;
|
|
104
|
-
connection : IncludesStep connect functionalChain ::> fcAlarmStop to step ::> fcsAlarmEvaluate;
|
|
105
|
-
connection : IncludesStep connect functionalChain ::> fcAlarmStop to step ::> fcsAlarmStopInfusion;
|
|
106
|
-
connection : IncludesStep connect functionalChain ::> fcAlarmStop to step ::> fcsAlarmAnnunciate;
|
|
83
|
+
// fcPatientBolus/fcAlarmStop already name every one of these functions
|
|
84
|
+
// via their step chain (perform fcsBolusSense; ... ref :>> function =
|
|
85
|
+
// fnAcquireSensors;) in gpca_system.sysml — InvolvesFunction was a
|
|
86
|
+
// flattened restatement of that two-hop path, not new information.
|
|
87
|
+
// fcStartup declares no steps, so its two functions are native `perform`
|
|
88
|
+
// statements directly on fcStartup in gpca_system.sysml instead.
|
|
89
|
+
#refinement dependency fcPatientBolus to ssBolusDuringBasal;
|
|
90
|
+
#refinement dependency fcAlarmStop to ssAlarmPause;
|
|
91
|
+
|
|
92
|
+
// A user task may be realized by several system-side steps: the mapping is
|
|
93
|
+
// refinement, not specialization, because the steps retain distinct
|
|
94
|
+
// functions and exchanged items while tracing the same operative intent.
|
|
95
|
+
// The nine refinement statements themselves live in gpca_operational.sysml,
|
|
96
|
+
// inside wsRequestBolus's/wsRespondAlarm's own owning scope — the
|
|
97
|
+
// `#refinement dependency ... to ...` shorthand's target end does not
|
|
98
|
+
// accept a qualified path, and both steps are nested now.
|
|
107
99
|
|
|
108
100
|
// ── Requirement derivation ──────────────────────────────────
|
|
109
101
|
// MEMO extension requirements (REQ-X) derive from needs and risks.
|
|
@@ -224,249 +216,210 @@ package memo_examples_gpca_pump_model_catalog_gpca_trace {
|
|
|
224
216
|
connection : DerivesFrom connect sourceDriver ::> needAuditableRecord to targetRequirement ::> reqCs86;
|
|
225
217
|
|
|
226
218
|
// ── Requirement satisfaction ────────────────────────────────
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
|
|
237
|
-
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
|
|
222
|
+
|
|
223
|
+
|
|
224
|
+
|
|
225
|
+
|
|
226
|
+
|
|
227
|
+
|
|
228
|
+
|
|
229
|
+
|
|
230
|
+
|
|
231
|
+
|
|
232
|
+
|
|
233
|
+
|
|
234
|
+
|
|
235
|
+
|
|
236
|
+
|
|
237
|
+
|
|
238
|
+
|
|
239
|
+
|
|
240
|
+
|
|
241
|
+
|
|
242
|
+
|
|
243
|
+
|
|
244
|
+
|
|
245
|
+
|
|
246
|
+
|
|
247
|
+
|
|
248
|
+
|
|
249
|
+
|
|
258
250
|
// CriSys REQ-CS allocation to the UMN software subsystems
|
|
259
251
|
// (coarse; refined against the AADL architecture in GR.04).
|
|
260
252
|
// Mode control -> TLM; flow production -> Infusion_Manager;
|
|
261
253
|
// notifications -> Alarm; data configuration -> Config;
|
|
262
254
|
// logs -> Logging; enclosure non-behavioral -> DeviceEnclosure.
|
|
263
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs02 to satisfyingElement ::> tlm;
|
|
264
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs03 to satisfyingElement ::> infusionMgr;
|
|
265
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs04 to satisfyingElement ::> tlm;
|
|
266
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs05 to satisfyingElement ::> tlm;
|
|
267
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs06 to satisfyingElement ::> infusionMgr;
|
|
268
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs07 to satisfyingElement ::> tlm;
|
|
269
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs08 to satisfyingElement ::> config;
|
|
270
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs10 to satisfyingElement ::> alarm;
|
|
271
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs11 to satisfyingElement ::> logging;
|
|
272
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs12 to satisfyingElement ::> tlm;
|
|
273
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs13 to satisfyingElement ::> tlm;
|
|
274
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs14 to satisfyingElement ::> infusionMgr;
|
|
275
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs15 to satisfyingElement ::> alarm;
|
|
276
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs16 to satisfyingElement ::> infusionMgr;
|
|
277
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs17 to satisfyingElement ::> alarm;
|
|
278
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs18 to satisfyingElement ::> alarm;
|
|
279
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs20 to satisfyingElement ::> alarm;
|
|
280
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs22 to satisfyingElement ::> alarm;
|
|
281
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs24 to satisfyingElement ::> infusionMgr;
|
|
282
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs26 to satisfyingElement ::> alarm;
|
|
283
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs27 to satisfyingElement ::> alarm;
|
|
284
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs28 to satisfyingElement ::> tlm;
|
|
285
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs29 to satisfyingElement ::> tlm;
|
|
286
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs30 to satisfyingElement ::> tlm;
|
|
287
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs31 to satisfyingElement ::> tlm;
|
|
288
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs32 to satisfyingElement ::> tlm;
|
|
289
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs33 to satisfyingElement ::> tlm;
|
|
290
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs34 to satisfyingElement ::> tlm;
|
|
291
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs35 to satisfyingElement ::> tlm;
|
|
292
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs36 to satisfyingElement ::> tlm;
|
|
293
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs37 to satisfyingElement ::> tlm;
|
|
294
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs38 to satisfyingElement ::> tlm;
|
|
295
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs39 to satisfyingElement ::> tlm;
|
|
296
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs40 to satisfyingElement ::> infusionMgr;
|
|
297
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs41 to satisfyingElement ::> infusionMgr;
|
|
298
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs42 to satisfyingElement ::> infusionMgr;
|
|
299
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs43 to satisfyingElement ::> infusionMgr;
|
|
300
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs44 to satisfyingElement ::> alarm;
|
|
301
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs45 to satisfyingElement ::> tlm;
|
|
302
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs46 to satisfyingElement ::> tlm;
|
|
303
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs47 to satisfyingElement ::> tlm;
|
|
304
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs48 to satisfyingElement ::> config;
|
|
305
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs49 to satisfyingElement ::> config;
|
|
306
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs50 to satisfyingElement ::> config;
|
|
307
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs51 to satisfyingElement ::> config;
|
|
308
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs52 to satisfyingElement ::> config;
|
|
309
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs53 to satisfyingElement ::> config;
|
|
310
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs54 to satisfyingElement ::> config;
|
|
311
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs55 to satisfyingElement ::> config;
|
|
312
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs56 to satisfyingElement ::> config;
|
|
313
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs57 to satisfyingElement ::> config;
|
|
314
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs58 to satisfyingElement ::> config;
|
|
315
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs60 to satisfyingElement ::> alarm;
|
|
316
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs61 to satisfyingElement ::> alarm;
|
|
317
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs62 to satisfyingElement ::> alarm;
|
|
318
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs63 to satisfyingElement ::> alarm;
|
|
319
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs64 to satisfyingElement ::> alarm;
|
|
320
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs65 to satisfyingElement ::> alarm;
|
|
321
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs66 to satisfyingElement ::> alarm;
|
|
322
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs67 to satisfyingElement ::> alarm;
|
|
323
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs68 to satisfyingElement ::> alarm;
|
|
324
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs69 to satisfyingElement ::> alarm;
|
|
325
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs70 to satisfyingElement ::> alarm;
|
|
326
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs71 to satisfyingElement ::> alarm;
|
|
327
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs74 to satisfyingElement ::> alarm;
|
|
328
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs76 to satisfyingElement ::> alarm;
|
|
329
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs79 to satisfyingElement ::> logging;
|
|
330
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs80 to satisfyingElement ::> logging;
|
|
331
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs81 to satisfyingElement ::> logging;
|
|
332
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs82 to satisfyingElement ::> config;
|
|
333
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs83 to satisfyingElement ::> enclosure;
|
|
334
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs84 to satisfyingElement ::> enclosure;
|
|
335
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs85 to satisfyingElement ::> logging;
|
|
336
|
-
connection : SatisfiedBy connect requirementElement ::> reqCs86 to satisfyingElement ::> config;
|
|
337
|
-
connection : SatisfiedBy connect requirementElement ::> reqPumpAccuracy to satisfyingElement ::> pumpMotorAssembly;
|
|
338
|
-
connection : SatisfiedBy connect requirementElement ::> reqAlarmLoudness to satisfyingElement ::> audibleAlarm;
|
|
339
|
-
connection : SatisfiedBy connect requirementElement ::> reqBatteryBackup to satisfyingElement ::> batteryPack;
|
|
340
|
-
connection : SatisfiedBy connect requirementElement ::> reqFreeFlowPrevention to satisfyingElement ::> antiFreeFlowValve;
|
|
341
255
|
|
|
342
|
-
// ── Function allocation ─────────────────────────────────────
|
|
343
|
-
connection : AllocatedTo connect function ::> fnAcquireSensors to allocatedElement ::> gpcaDeviceSensors;
|
|
344
|
-
connection : AllocatedTo connect function ::> fnAcquireSensors to allocatedElement ::> systemStatus;
|
|
345
|
-
connection : AllocatedTo connect function ::> fnPresentStatus to allocatedElement ::> outputBus;
|
|
346
|
-
connection : AllocatedTo connect function ::> fnValidatePrescription to allocatedElement ::> config;
|
|
347
|
-
connection : AllocatedTo connect function ::> fnMonitorAlarm to allocatedElement ::> alarm;
|
|
348
|
-
connection : AllocatedTo connect function ::> fnAnnunciate to allocatedElement ::> audibleAlarm;
|
|
349
|
-
connection : AllocatedTo connect function ::> fnManageInfusion to allocatedElement ::> infusionMgr;
|
|
350
|
-
connection : AllocatedTo connect function ::> fnEnforceLimits to allocatedElement ::> infusionMgr;
|
|
351
|
-
connection : AllocatedTo connect function ::> fnCommandPump to allocatedElement ::> pumpMotorAssembly;
|
|
352
|
-
connection : AllocatedTo connect function ::> fnLogEvents to allocatedElement ::> logging;
|
|
353
|
-
connection : AllocatedTo connect function ::> fnManagePower to allocatedElement ::> systemMonitor;
|
|
354
|
-
connection : AllocatedTo connect function ::> fnPresentStatus to allocatedElement ::> operatorDisplay;
|
|
355
|
-
connection : AllocatedTo connect function ::> fnSelfTest to allocatedElement ::> systemMonitor;
|
|
356
256
|
|
|
257
|
+
|
|
258
|
+
|
|
259
|
+
|
|
260
|
+
|
|
261
|
+
|
|
262
|
+
|
|
263
|
+
|
|
264
|
+
|
|
265
|
+
|
|
266
|
+
|
|
267
|
+
|
|
268
|
+
|
|
269
|
+
|
|
270
|
+
|
|
271
|
+
|
|
272
|
+
|
|
273
|
+
|
|
274
|
+
|
|
275
|
+
|
|
276
|
+
|
|
277
|
+
|
|
278
|
+
|
|
279
|
+
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
|
|
283
|
+
|
|
284
|
+
|
|
285
|
+
|
|
286
|
+
|
|
287
|
+
|
|
288
|
+
|
|
289
|
+
|
|
290
|
+
|
|
291
|
+
|
|
292
|
+
|
|
293
|
+
|
|
294
|
+
|
|
295
|
+
|
|
296
|
+
|
|
297
|
+
|
|
298
|
+
|
|
299
|
+
|
|
300
|
+
|
|
301
|
+
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
|
|
305
|
+
|
|
306
|
+
|
|
307
|
+
|
|
308
|
+
|
|
309
|
+
|
|
310
|
+
|
|
311
|
+
|
|
312
|
+
|
|
313
|
+
|
|
314
|
+
|
|
315
|
+
|
|
316
|
+
|
|
317
|
+
|
|
318
|
+
|
|
319
|
+
|
|
320
|
+
|
|
321
|
+
|
|
322
|
+
|
|
323
|
+
|
|
324
|
+
|
|
325
|
+
|
|
326
|
+
|
|
327
|
+
|
|
328
|
+
|
|
329
|
+
|
|
330
|
+
|
|
331
|
+
|
|
332
|
+
|
|
333
|
+
// ── Function allocation ─────────────────────────────────────
|
|
334
|
+
allocate fnAcquireSensors to gpcaDevice.gpcaDeviceSensors;
|
|
335
|
+
allocate fnAcquireSensors to gpcaDevice.gpcaSoftware.systemStatus;
|
|
336
|
+
allocate fnPresentStatus to gpcaDevice.gpcaSoftware.outputBus;
|
|
337
|
+
allocate fnValidatePrescription to gpcaDevice.gpcaSoftware.config;
|
|
338
|
+
allocate fnMonitorAlarm to gpcaDevice.gpcaSoftware.alarm;
|
|
339
|
+
allocate fnAnnunciate to audibleAlarm;
|
|
340
|
+
allocate fnManageInfusion to gpcaDevice.gpcaSoftware.infusionMgr;
|
|
341
|
+
allocate fnEnforceLimits to gpcaDevice.gpcaSoftware.infusionMgr;
|
|
342
|
+
allocate fnCommandPump to pumpMotorAssembly;
|
|
343
|
+
allocate fnLogEvents to gpcaDevice.gpcaSoftware.logging;
|
|
344
|
+
allocate fnManagePower to gpcaDevice.gpcaSoftware.systemMonitor;
|
|
345
|
+
allocate fnPresentStatus to operatorDisplay;
|
|
346
|
+
allocate fnSelfTest to gpcaDevice.gpcaSoftware.systemMonitor;
|
|
357
347
|
// ── Deployment, hosting, and interface realization ──────────
|
|
358
|
-
|
|
348
|
+
allocation gpcaSoftwareDeployment : DeploysTo allocate gpcaDevice.gpcaSoftware to controllerBoard;
|
|
359
349
|
connection : HostedBy connect processingNode ::> mainController to hostAssembly ::> controllerBoard;
|
|
360
|
-
|
|
361
|
-
|
|
350
|
+
#refinement dependency sensorInputInterface to hwSoftwareBus;
|
|
351
|
+
#refinement dependency actuatorCommandInterface to pumpMotorDrive;
|
|
362
352
|
connection : BindsToInterface connect portElement ::> portPatientPendant to boundInterface ::> bolusButtonLine;
|
|
363
353
|
connection : BindsToInterface connect portElement ::> portMotorDrive to boundInterface ::> pumpMotorDrive;
|
|
364
354
|
connection : BindsToInterface connect portElement ::> portSensorHarness to boundInterface ::> occlusionAnalogLine;
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
355
|
+
allocate lfSensorAcquisition to exSensorVector;
|
|
356
|
+
allocate lfFlowCommand to exFlowCommand;
|
|
357
|
+
allocate lfAlarmSignal to exAlarmAnnunciation;
|
|
358
|
+
allocate lfPrescriptionEntry to exPrescriptionEntry;
|
|
370
359
|
// ── Fig 4.1 mode hierarchy (CriSys §4.1) ────────────────────
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
//
|
|
382
|
-
//
|
|
383
|
-
//
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
388
|
-
|
|
389
|
-
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
connection : ExchangesWith connect source ::> config to target ::> infusionMgr;
|
|
414
|
-
connection : ExchangesWith connect source ::> alarm to target ::> infusionMgr;
|
|
415
|
-
connection : ExchangesWith connect source ::> systemStatus to target ::> infusionMgr;
|
|
416
|
-
connection : ExchangesWith connect source ::> infusionMgr to target ::> outputBus;
|
|
417
|
-
connection : ExchangesWith connect source ::> tlm to target ::> systemMonitor;
|
|
418
|
-
connection : ExchangesWith connect source ::> systemMonitor to target ::> outputBus;
|
|
419
|
-
connection : ExchangesWith connect source ::> tlm to target ::> logging;
|
|
420
|
-
connection : ExchangesWith connect source ::> config to target ::> logging;
|
|
421
|
-
connection : ExchangesWith connect source ::> alarm to target ::> logging;
|
|
422
|
-
connection : ExchangesWith connect source ::> systemStatus to target ::> logging;
|
|
423
|
-
connection : ExchangesWith connect source ::> infusionMgr to target ::> logging;
|
|
424
|
-
connection : ExchangesWith connect source ::> logging to target ::> outputBus;
|
|
425
|
-
connection : ExchangesWith connect source ::> outputBus to target ::> portGpcaSwOut;
|
|
360
|
+
|
|
361
|
+
// ── GPCA_SW.Impl connection topology (AADL; CE-101..142) ─────
|
|
362
|
+
// The COMPONENT-granularity half of the 42 GPCA_SW.Impl port
|
|
363
|
+
// connections; immediate semantics per connection are carried on
|
|
364
|
+
// the CE-1xx elements.
|
|
365
|
+
//
|
|
366
|
+
// Only the 27 subcomponent-to-subcomponent edges live here. AADL's
|
|
367
|
+
// other 15 are DELEGATIONS between GPCA_SW's own boundary port and
|
|
368
|
+
// a subcomponent, and a delegation has no component-granularity
|
|
369
|
+
// spelling: writing it `portOpCmdIn -> tlm` mixes a port end with a
|
|
370
|
+
// component end, and SysML v2 rejects it because a boundary port
|
|
371
|
+
// reads as a sink from outside its part. All 15 are already
|
|
372
|
+
// recorded exactly, at port granularity, as `bind` statements in
|
|
373
|
+
// gpca_interfaces.sysml — so nothing is lost by not restating them
|
|
374
|
+
// here in a granularity that cannot express them.
|
|
375
|
+
flow from gpcaDevice.gpcaSoftware.tlm to gpcaDevice.gpcaSoftware.outputBus;
|
|
376
|
+
flow from gpcaDevice.gpcaSoftware.infusionMgr to gpcaDevice.gpcaSoftware.systemStatus;
|
|
377
|
+
flow from gpcaDevice.gpcaSoftware.tlm to gpcaDevice.gpcaSoftware.systemStatus;
|
|
378
|
+
flow from gpcaDevice.gpcaSoftware.config to gpcaDevice.gpcaSoftware.systemStatus;
|
|
379
|
+
flow from gpcaDevice.gpcaSoftware.systemStatus to gpcaDevice.gpcaSoftware.outputBus;
|
|
380
|
+
flow from gpcaDevice.gpcaSoftware.infusionMgr to gpcaDevice.gpcaSoftware.alarm;
|
|
381
|
+
flow from gpcaDevice.gpcaSoftware.tlm to gpcaDevice.gpcaSoftware.alarm;
|
|
382
|
+
flow from gpcaDevice.gpcaSoftware.systemMonitor to gpcaDevice.gpcaSoftware.alarm;
|
|
383
|
+
flow from gpcaDevice.gpcaSoftware.systemStatus to gpcaDevice.gpcaSoftware.alarm;
|
|
384
|
+
flow from gpcaDevice.gpcaSoftware.config to gpcaDevice.gpcaSoftware.alarm;
|
|
385
|
+
flow from gpcaDevice.gpcaSoftware.alarm to gpcaDevice.gpcaSoftware.outputBus;
|
|
386
|
+
flow from gpcaDevice.gpcaSoftware.tlm to gpcaDevice.gpcaSoftware.config;
|
|
387
|
+
flow from gpcaDevice.gpcaSoftware.systemStatus to gpcaDevice.gpcaSoftware.config;
|
|
388
|
+
flow from gpcaDevice.gpcaSoftware.config to gpcaDevice.gpcaSoftware.outputBus;
|
|
389
|
+
flow from gpcaDevice.gpcaSoftware.tlm to gpcaDevice.gpcaSoftware.infusionMgr;
|
|
390
|
+
flow from gpcaDevice.gpcaSoftware.config to gpcaDevice.gpcaSoftware.infusionMgr;
|
|
391
|
+
flow from gpcaDevice.gpcaSoftware.alarm to gpcaDevice.gpcaSoftware.infusionMgr;
|
|
392
|
+
flow from gpcaDevice.gpcaSoftware.systemStatus to gpcaDevice.gpcaSoftware.infusionMgr;
|
|
393
|
+
flow from gpcaDevice.gpcaSoftware.infusionMgr to gpcaDevice.gpcaSoftware.outputBus;
|
|
394
|
+
flow from gpcaDevice.gpcaSoftware.tlm to gpcaDevice.gpcaSoftware.systemMonitor;
|
|
395
|
+
flow from gpcaDevice.gpcaSoftware.systemMonitor to gpcaDevice.gpcaSoftware.outputBus;
|
|
396
|
+
flow from gpcaDevice.gpcaSoftware.tlm to gpcaDevice.gpcaSoftware.logging;
|
|
397
|
+
flow from gpcaDevice.gpcaSoftware.config to gpcaDevice.gpcaSoftware.logging;
|
|
398
|
+
flow from gpcaDevice.gpcaSoftware.alarm to gpcaDevice.gpcaSoftware.logging;
|
|
399
|
+
flow from gpcaDevice.gpcaSoftware.systemStatus to gpcaDevice.gpcaSoftware.logging;
|
|
400
|
+
flow from gpcaDevice.gpcaSoftware.infusionMgr to gpcaDevice.gpcaSoftware.logging;
|
|
401
|
+
flow from gpcaDevice.gpcaSoftware.logging to gpcaDevice.gpcaSoftware.outputBus;
|
|
426
402
|
|
|
427
403
|
// ── GPCA_SW boundary features (AADL GPCA_SW.aadl; CITE-002) ──
|
|
428
404
|
// The seven top-level ports are features of GPCA_Software, so
|
|
429
|
-
// interconnection views pin them on the software boundary.
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
connection : Composes connect parent ::> gpcaSoftware to child ::> portSensorIn;
|
|
434
|
-
connection : Composes connect parent ::> gpcaSoftware to child ::> portConstIn;
|
|
435
|
-
connection : Composes connect parent ::> gpcaSoftware to child ::> portDbIn;
|
|
436
|
-
connection : Composes connect parent ::> gpcaSoftware to child ::> portGpcaSwOut;
|
|
437
|
-
|
|
438
|
-
// ── Device/subsystem feature ownership (published AADL, 1:1) ──
|
|
439
|
-
connection : Composes connect parent ::> gpcaDevice to child ::> devOpCmdIn;
|
|
440
|
-
connection : Composes connect parent ::> gpcaDevice to child ::> devDbIn;
|
|
441
|
-
connection : Composes connect parent ::> gpcaDevice to child ::> devPresIn;
|
|
442
|
-
connection : Composes connect parent ::> gpcaDevice to child ::> devPatientIn;
|
|
443
|
-
connection : Composes connect parent ::> gpcaDevice to child ::> devGpcaOut;
|
|
444
|
-
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsOpCmdIn;
|
|
445
|
-
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsDbIn;
|
|
446
|
-
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsPresIn;
|
|
447
|
-
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsPatientIn;
|
|
448
|
-
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsOpCmdOut;
|
|
449
|
-
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsPresOut;
|
|
450
|
-
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsPatientOut;
|
|
451
|
-
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsSensorOut;
|
|
452
|
-
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsConstOut;
|
|
453
|
-
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsDbOut;
|
|
454
|
-
connection : Composes connect parent ::> gpcaActuators to child ::> actGpcaSwIn;
|
|
455
|
-
connection : Composes connect parent ::> gpcaActuators to child ::> actGpcaOut;
|
|
405
|
+
// interconnection views pin them on the software boundary. Each software
|
|
406
|
+
// module owns the AADL features it declares, natively: the ports are
|
|
407
|
+
// nested in the module's own body in gpca_architecture.sysml, not wired
|
|
408
|
+
// here with a separate relationship.
|
|
456
409
|
|
|
457
410
|
// ── GPCA_Device.Impl connections (GPCA_Device.aadl, 1:1) ──
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
|
|
411
|
+
bind gpcaDevice.devOpCmdIn = gpcaDevice.gpcaDeviceSensors.snsOpCmdIn;
|
|
412
|
+
bind gpcaDevice.devDbIn = gpcaDevice.gpcaDeviceSensors.snsDbIn;
|
|
413
|
+
bind gpcaDevice.devPresIn = gpcaDevice.gpcaDeviceSensors.snsPresIn;
|
|
414
|
+
bind gpcaDevice.devPatientIn = gpcaDevice.gpcaDeviceSensors.snsPatientIn;
|
|
415
|
+
flow from gpcaDevice.gpcaDeviceSensors.snsOpCmdOut to gpcaDevice.gpcaSoftware.portOpCmdIn;
|
|
416
|
+
flow from gpcaDevice.gpcaDeviceSensors.snsPresOut to gpcaDevice.gpcaSoftware.portPresIn;
|
|
417
|
+
flow from gpcaDevice.gpcaDeviceSensors.snsPatientOut to gpcaDevice.gpcaSoftware.portPatientIn;
|
|
418
|
+
flow from gpcaDevice.gpcaDeviceSensors.snsSensorOut to gpcaDevice.gpcaSoftware.portSensorIn;
|
|
419
|
+
flow from gpcaDevice.gpcaDeviceSensors.snsConstOut to gpcaDevice.gpcaSoftware.portConstIn;
|
|
420
|
+
flow from gpcaDevice.gpcaDeviceSensors.snsDbOut to gpcaDevice.gpcaSoftware.portDbIn;
|
|
421
|
+
flow from gpcaDevice.gpcaSoftware.portGpcaSwOut to gpcaDevice.gpcaActuators.actGpcaSwIn;
|
|
422
|
+
bind gpcaDevice.gpcaActuators.actGpcaOut = gpcaDevice.devGpcaOut;
|
|
470
423
|
|
|
471
424
|
// ── Risk chains (ISO 14971, GIIP causal-tree structure) ─────
|
|
472
425
|
// Categorized causes converge on each hazard (GIIP Tables 2-9
|
|
@@ -622,62 +575,61 @@ package memo_examples_gpca_pump_model_catalog_gpca_trace {
|
|
|
622
575
|
connection : Mitigates { attribute :>> mitigationKind = MitigationKind::cutSet; connect control ::> lockoutControl to mitigatedElement ::> mcsBolusPath; }
|
|
623
576
|
|
|
624
577
|
// ── Verification coverage (IEC 62304 §5.7) ──────────────────
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
629
|
-
|
|
630
|
-
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
639
|
-
|
|
640
|
-
|
|
641
|
-
|
|
642
|
-
|
|
643
|
-
|
|
644
|
-
|
|
645
|
-
|
|
646
|
-
|
|
647
|
-
|
|
578
|
+
|
|
579
|
+
|
|
580
|
+
|
|
581
|
+
|
|
582
|
+
|
|
583
|
+
|
|
584
|
+
|
|
585
|
+
|
|
586
|
+
|
|
587
|
+
|
|
588
|
+
|
|
589
|
+
|
|
590
|
+
|
|
591
|
+
|
|
592
|
+
|
|
593
|
+
|
|
594
|
+
|
|
595
|
+
|
|
596
|
+
|
|
597
|
+
|
|
598
|
+
|
|
599
|
+
|
|
600
|
+
|
|
648
601
|
// risk controls
|
|
649
|
-
|
|
650
|
-
|
|
651
|
-
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
|
|
655
|
-
|
|
656
|
-
|
|
657
|
-
|
|
658
|
-
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
602
|
+
|
|
603
|
+
|
|
604
|
+
|
|
605
|
+
|
|
606
|
+
|
|
607
|
+
|
|
608
|
+
|
|
609
|
+
|
|
610
|
+
|
|
611
|
+
|
|
612
|
+
|
|
613
|
+
|
|
614
|
+
|
|
662
615
|
// behavior properties, contracts, and timing
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
616
|
+
|
|
617
|
+
|
|
618
|
+
|
|
619
|
+
|
|
620
|
+
|
|
621
|
+
|
|
622
|
+
|
|
623
|
+
|
|
624
|
+
|
|
672
625
|
// class-C software items
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
678
|
-
|
|
679
|
-
|
|
680
|
-
connection : VerifiedBy connect verificationTarget ::> outputBus to verificationCase ::> vcModeRange;
|
|
626
|
+
|
|
627
|
+
|
|
628
|
+
|
|
629
|
+
|
|
630
|
+
|
|
631
|
+
|
|
632
|
+
|
|
681
633
|
|
|
682
634
|
// ── Validation and usability testing ────────────────────────
|
|
683
635
|
connection : Validates connect validationTarget ::> reqCs59 to validationCase ::> valSimulatedWard;
|
|
@@ -715,9 +667,4 @@ package memo_examples_gpca_pump_model_catalog_gpca_trace {
|
|
|
715
667
|
connection : ProducesEvidence connect producer ::> vcEventLog to producedEvidence ::> evidenceDoseProgramming;
|
|
716
668
|
connection : ProducesEvidence connect producer ::> vcPumpAccuracy to producedEvidence ::> evidenceDeliveryAccuracy;
|
|
717
669
|
connection : ProducesEvidence connect producer ::> valSummativeUsability to producedEvidence ::> evidenceUsability;
|
|
718
|
-
connection : IncludedIn connect sourceElement ::> evidenceLockout to targetView ::> rmfView;
|
|
719
|
-
connection : IncludedIn connect sourceElement ::> evidenceSafetyAlarmSuite to targetView ::> vvView;
|
|
720
|
-
connection : IncludedIn connect sourceElement ::> evidenceUsability to targetView ::> usabilityView;
|
|
721
|
-
connection : IncludedIn connect sourceElement ::> fmeaDelivery to targetView ::> hazardAnalysisView;
|
|
722
|
-
connection : IncludedIn connect sourceElement ::> ftaOverdose to targetView ::> hazardAnalysisView;
|
|
723
670
|
}
|