@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,11 +1,12 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_gpca_interfaces {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_architecture_logical_interfaces::*;
|
|
5
5
|
private import memo_architecture_realization_physical::*;
|
|
6
6
|
private import memo_architecture_functional_functions::*;
|
|
7
|
-
private import
|
|
8
|
-
private import
|
|
7
|
+
private import memo_core_common::*;
|
|
8
|
+
private import memo_examples_gpca_pump_gpca_architecture::*;
|
|
9
|
+
private import memo_examples_gpca_pump_gpca_behavior_subsystems::*;
|
|
9
10
|
private import memo_core_enumerations::*;
|
|
10
11
|
private import memo_core_dimensions::*;
|
|
11
12
|
abstract interface def SensorDataInterface :> DataInterface {
|
|
@@ -13,7 +14,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
13
14
|
attribute :>> protocolSemantics = "flow, air, occlusion, door, battery, cpu, memory, pump state";
|
|
14
15
|
}
|
|
15
16
|
port def SensorInputPort :> SensorPort {
|
|
16
|
-
|
|
17
|
+
in item sensorData : MemoItem;
|
|
17
18
|
attribute :>> interfaceType = "SensorDataInterface";
|
|
18
19
|
attribute :>> sensorDomain = "physiological and device state";
|
|
19
20
|
}
|
|
@@ -54,7 +55,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
54
55
|
attribute :>> name = "HW_SW_DataBus";
|
|
55
56
|
attribute :>> interfaceKind = InterfaceKind::digitalSignal;
|
|
56
57
|
attribute :>> protocol = "immediate data port mapping";
|
|
57
|
-
attribute :>> directionality = DirectionKind::
|
|
58
|
+
attribute :>> directionality = DirectionKind::inputOutput;
|
|
58
59
|
attribute :>> bandwidth = "implementation-defined";
|
|
59
60
|
attribute :>> timingConstraint = "same execution step where required";
|
|
60
61
|
attribute :>> electricalStandard = "logical/AADL";
|
|
@@ -150,7 +151,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
150
151
|
attribute :>> id = "SI-005";
|
|
151
152
|
attribute :>> name = "HospitalPharmacyDatabaseInterface";
|
|
152
153
|
attribute :>> interfaceKind = InterfaceKind::data;
|
|
153
|
-
attribute :>> direction = DirectionKind::
|
|
154
|
+
attribute :>> direction = DirectionKind::inputOutput;
|
|
154
155
|
attribute :>> protocol = "CriSys I 9, I 10, I 11";
|
|
155
156
|
attribute :>> protocolSemantics = "Retrieves the safe-value set (concentration, VTBI, flow rate, bolus interval/count, KVO rate) where DrugName_hd = DrugName_prog; resets to defaults when no record matches";
|
|
156
157
|
attribute :>> interactionPattern = "query/response safe-value lookup";
|
|
@@ -581,10 +582,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
581
582
|
attribute :>> id = "CE-001";
|
|
582
583
|
attribute :>> name = "SensorStatusVectorExchange";
|
|
583
584
|
attribute :>> exchangeKind = FlowKind::measurement;
|
|
584
|
-
ref :>> sourceEndpoint = gpcaDeviceSensors;
|
|
585
|
-
|
|
586
|
-
ref :>> targetEndpoint = portSensorIn;
|
|
587
|
-
attribute :>> targetPortPath = "GPCA_SW.SENSOR_IN (PORT-04)";
|
|
585
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaDeviceSensors;
|
|
586
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.portSensorIn;
|
|
588
587
|
ref :>> allocatedExchanges = lfSensorAcquisition;
|
|
589
588
|
attribute :>> direction = DirectionKind::input;
|
|
590
589
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
@@ -594,10 +593,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
594
593
|
attribute :>> id = "CE-002";
|
|
595
594
|
attribute :>> name = "FlowCommandExchange";
|
|
596
595
|
attribute :>> exchangeKind = FlowKind::command;
|
|
597
|
-
ref :>> sourceEndpoint = portGpcaSwOut;
|
|
598
|
-
attribute :>> sourcePortPath = "GPCA_SW.GPCA_SW_OUT (Commanded_Flow_Rate)";
|
|
596
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portGpcaSwOut;
|
|
599
597
|
ref :>> targetEndpoint = pumpMotorAssembly;
|
|
600
|
-
attribute :>> targetPortPath = "HW-003: PumpMotorAssembly";
|
|
601
598
|
ref :>> allocatedExchanges = lfFlowCommand;
|
|
602
599
|
attribute :>> direction = DirectionKind::output;
|
|
603
600
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
@@ -607,10 +604,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
607
604
|
attribute :>> id = "CE-003";
|
|
608
605
|
attribute :>> name = "AlarmAnnunciationExchange";
|
|
609
606
|
attribute :>> exchangeKind = FlowKind::alarm;
|
|
610
|
-
ref :>> sourceEndpoint = portGpcaSwOut;
|
|
611
|
-
attribute :>> sourcePortPath = "GPCA_SW.GPCA_SW_OUT (Notification_Message, Is_Audio_Disabled)";
|
|
607
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portGpcaSwOut;
|
|
612
608
|
ref :>> targetEndpoint = audibleAlarm;
|
|
613
|
-
attribute :>> targetPortPath = "HW-004: AudibleAlarmAnnunciator / HW-005: OperatorDisplay";
|
|
614
609
|
ref :>> allocatedExchanges = lfAlarmSignal;
|
|
615
610
|
attribute :>> direction = DirectionKind::output;
|
|
616
611
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
@@ -621,9 +616,7 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
621
616
|
attribute :>> name = "PrescriptionEntryExchange";
|
|
622
617
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
623
618
|
ref :>> sourceEndpoint = operatorKeypad;
|
|
624
|
-
|
|
625
|
-
ref :>> targetEndpoint = portPresIn;
|
|
626
|
-
attribute :>> targetPortPath = "GPCA_SW.PRES_IN / GPCA_SW.OP_CMD_IN (PORT-02, PORT-01)";
|
|
619
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.portPresIn;
|
|
627
620
|
ref :>> allocatedExchanges = lfPrescriptionEntry;
|
|
628
621
|
attribute :>> direction = DirectionKind::input;
|
|
629
622
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
@@ -635,94 +628,31 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
635
628
|
// not decompose into the individual physical parts modelled elsewhere in
|
|
636
629
|
// this MEMO example. These features and their connections are therefore
|
|
637
630
|
// kept exact and separate from that extended physical design content.
|
|
638
|
-
part devOpCmdIn : PhysicalPort { attribute :>> id = "PORT-DEV-01"; attribute :>> name = "OP_CMD_IN"; attribute :>> direction = DirectionKind::input; attribute :>> sourceReference = "CITE-002: GPCA_Device.aadl"; }
|
|
639
|
-
part devDbIn : PhysicalPort { attribute :>> id = "PORT-DEV-02"; attribute :>> name = "DB_IN"; attribute :>> direction = DirectionKind::input; attribute :>> sourceReference = "CITE-002: GPCA_Device.aadl"; }
|
|
640
|
-
part devPresIn : PhysicalPort { attribute :>> id = "PORT-DEV-03"; attribute :>> name = "PRES_IN"; attribute :>> direction = DirectionKind::input; attribute :>> sourceReference = "CITE-002: GPCA_Device.aadl"; }
|
|
641
|
-
part devPatientIn : PhysicalPort { attribute :>> id = "PORT-DEV-04"; attribute :>> name = "PATIENT_IN"; attribute :>> direction = DirectionKind::input; attribute :>> sourceReference = "CITE-002: GPCA_Device.aadl"; }
|
|
642
|
-
part devGpcaOut : PhysicalPort { attribute :>> id = "PORT-DEV-05"; attribute :>> name = "GPCA_OUT"; attribute :>> direction = DirectionKind::output; attribute :>> sourceReference = "CITE-002: GPCA_Device.aadl"; }
|
|
643
|
-
|
|
644
|
-
part snsOpCmdIn : PhysicalPort { attribute :>> id = "PORT-SNS-01"; attribute :>> name = "OP_CMD_IN"; attribute :>> direction = DirectionKind::input; attribute :>> sourceReference = "CITE-002: GPCA_HW_Sensors.aadl"; }
|
|
645
|
-
part snsDbIn : PhysicalPort { attribute :>> id = "PORT-SNS-02"; attribute :>> name = "DB_IN"; attribute :>> direction = DirectionKind::input; attribute :>> sourceReference = "CITE-002: GPCA_HW_Sensors.aadl"; }
|
|
646
|
-
part snsPresIn : PhysicalPort { attribute :>> id = "PORT-SNS-03"; attribute :>> name = "PRES_IN"; attribute :>> direction = DirectionKind::input; attribute :>> sourceReference = "CITE-002: GPCA_HW_Sensors.aadl"; }
|
|
647
|
-
part snsPatientIn : PhysicalPort { attribute :>> id = "PORT-SNS-04"; attribute :>> name = "PATIENT_IN"; attribute :>> direction = DirectionKind::input; attribute :>> sourceReference = "CITE-002: GPCA_HW_Sensors.aadl"; }
|
|
648
|
-
part snsOpCmdOut : PhysicalPort { attribute :>> id = "PORT-SNS-05"; attribute :>> name = "OP_CMD_OUT"; attribute :>> direction = DirectionKind::output; attribute :>> sourceReference = "CITE-002: GPCA_HW_Sensors.aadl"; }
|
|
649
|
-
part snsPresOut : PhysicalPort { attribute :>> id = "PORT-SNS-06"; attribute :>> name = "PRES_OUT"; attribute :>> direction = DirectionKind::output; attribute :>> sourceReference = "CITE-002: GPCA_HW_Sensors.aadl"; }
|
|
650
|
-
part snsPatientOut : PhysicalPort { attribute :>> id = "PORT-SNS-07"; attribute :>> name = "PATIENT_OUT"; attribute :>> direction = DirectionKind::output; attribute :>> sourceReference = "CITE-002: GPCA_HW_Sensors.aadl"; }
|
|
651
|
-
part snsSensorOut : PhysicalPort { attribute :>> id = "PORT-SNS-08"; attribute :>> name = "SENSOR_OUT"; attribute :>> direction = DirectionKind::output; attribute :>> sourceReference = "CITE-002: GPCA_HW_Sensors.aadl"; }
|
|
652
|
-
part snsConstOut : PhysicalPort { attribute :>> id = "PORT-SNS-09"; attribute :>> name = "CONST_OUT"; attribute :>> direction = DirectionKind::output; attribute :>> sourceReference = "CITE-002: GPCA_HW_Sensors.aadl"; }
|
|
653
|
-
part snsDbOut : PhysicalPort { attribute :>> id = "PORT-SNS-10"; attribute :>> name = "DB_OUT"; attribute :>> direction = DirectionKind::output; attribute :>> sourceReference = "CITE-002: GPCA_HW_Sensors.aadl"; }
|
|
654
|
-
|
|
655
|
-
part actGpcaSwIn : PhysicalPort { attribute :>> id = "PORT-ACT-01"; attribute :>> name = "GPCA_SW_IN"; attribute :>> direction = DirectionKind::input; attribute :>> sourceReference = "CITE-002: GPCA_HW_Actuators.aadl"; }
|
|
656
|
-
part actGpcaOut : PhysicalPort { attribute :>> id = "PORT-ACT-02"; attribute :>> name = "GPCA_OUT"; attribute :>> direction = DirectionKind::output; attribute :>> sourceReference = "CITE-002: GPCA_HW_Actuators.aadl"; }
|
|
657
|
-
|
|
658
631
|
// ── GPCA_SW top-level ports (AADL GPCA_SW.aadl features) ────
|
|
659
|
-
|
|
660
|
-
|
|
661
|
-
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
|
|
665
|
-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
part portPatientIn : SoftwarePort {
|
|
676
|
-
attribute :>> id = "PORT-03"; attribute :>> name = "PATIENT_IN";
|
|
677
|
-
attribute :>> description = "Patient bolus request (I 4, BolusRequest_prog).";
|
|
678
|
-
attribute :>> portKind = InterfaceKind::userInteraction;
|
|
679
|
-
attribute :>> direction = DirectionKind::input;
|
|
680
|
-
attribute :>> dataTypeName = "DATATYPES::Patient_Inputs.Impl";
|
|
681
|
-
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
682
|
-
}
|
|
683
|
-
part portSensorIn : SoftwarePort {
|
|
684
|
-
attribute :>> id = "PORT-04"; attribute :>> name = "SENSOR_IN";
|
|
685
|
-
attribute :>> description = "Device sensor inputs (air-in-line, occlusion, door, reservoir, flow).";
|
|
686
|
-
attribute :>> portKind = InterfaceKind::digitalSignal;
|
|
687
|
-
attribute :>> direction = DirectionKind::input;
|
|
688
|
-
attribute :>> dataTypeName = "DATATYPES::Device_Sensor_Inputs.Impl";
|
|
689
|
-
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
690
|
-
}
|
|
691
|
-
part portConstIn : SoftwarePort {
|
|
692
|
-
attribute :>> id = "PORT-05"; attribute :>> name = "CONST_IN";
|
|
693
|
-
attribute :>> description = "Device configuration constants (App. A.4 values such as Empty_Reservoir, tolerances).";
|
|
694
|
-
attribute :>> portKind = InterfaceKind::data;
|
|
695
|
-
attribute :>> direction = DirectionKind::input;
|
|
696
|
-
attribute :>> dataTypeName = "DATATYPES::Device_Configuration_Inputs.Impl";
|
|
697
|
-
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
698
|
-
}
|
|
699
|
-
part portDbIn : SoftwarePort {
|
|
700
|
-
attribute :>> id = "PORT-06"; attribute :>> name = "DB_IN";
|
|
701
|
-
attribute :>> description = "Hospital pharmacy database safe values (I 9-I 11); realizes SI-005 HospitalPharmacyDatabaseInterface.";
|
|
702
|
-
attribute :>> portKind = InterfaceKind::data;
|
|
703
|
-
attribute :>> direction = DirectionKind::input;
|
|
704
|
-
attribute :>> dataTypeName = "DATATYPES::Drug_Database_Inputs.Impl";
|
|
705
|
-
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
706
|
-
}
|
|
707
|
-
part portGpcaSwOut : SoftwarePort {
|
|
708
|
-
attribute :>> id = "PORT-07"; attribute :>> name = "GPCA_SW_OUT";
|
|
709
|
-
attribute :>> description = "Aggregated software output vector (Current_System_Mode, Commanded_Flow_Rate, notifications, prescription echo, status).";
|
|
710
|
-
attribute :>> portKind = InterfaceKind::data;
|
|
711
|
-
attribute :>> direction = DirectionKind::output;
|
|
712
|
-
attribute :>> dataTypeName = "DATATYPES::GPCA_SW_Outputs.Impl";
|
|
713
|
-
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
714
|
-
}
|
|
715
|
-
|
|
632
|
+
// ── Software-module ports (AADL GPCA_SW.Impl subcomponent features) ──
|
|
633
|
+
// These 49 were `sourcePortPath` / `targetPortPath` STRINGS until now
|
|
634
|
+
// (§13.3): "TLM.OP_CMD_IN" and the like, which nothing could follow to an
|
|
635
|
+
// element. The AADL packages declare them as real features, so they are
|
|
636
|
+
// declared as real ports here and the exchanges below reference them
|
|
637
|
+
// directly. `portKind` follows the seven top-level GPCA_SW ports wherever
|
|
638
|
+
// the feature name matches one of them, and otherwise the single FlowKind
|
|
639
|
+
// every exchange across that feature carries — no path carried two.
|
|
640
|
+
// TLM
|
|
641
|
+
// CONFIG
|
|
642
|
+
// ALARM
|
|
643
|
+
// LOG
|
|
644
|
+
// IM
|
|
645
|
+
// OUTPUT
|
|
646
|
+
// SYS_MON
|
|
647
|
+
// SYS_STAT
|
|
716
648
|
// ── GPCA_SW.Impl inter-component connections (AADL, 1:1) ────
|
|
717
649
|
// ALARM_to_IM immediate is the same-step alarm-response
|
|
718
650
|
// mechanism the formal properties rely on.
|
|
719
651
|
part ceOpCmdToTlm : ComponentExchange {
|
|
720
652
|
attribute :>> id = "CE-101"; attribute :>> name = "OP_CMDtoTLM";
|
|
721
653
|
attribute :>> exchangeKind = FlowKind::command;
|
|
722
|
-
ref :>> sourceEndpoint = portOpCmdIn;
|
|
723
|
-
|
|
724
|
-
ref :>> targetEndpoint = tlm;
|
|
725
|
-
attribute :>> targetPortPath = "TLM.OP_CMD_IN";
|
|
654
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portOpCmdIn;
|
|
655
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmOpCmdIn;
|
|
726
656
|
attribute :>> direction = DirectionKind::input;
|
|
727
657
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
728
658
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -730,10 +660,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
730
660
|
part ceConstToTlm : ComponentExchange {
|
|
731
661
|
attribute :>> id = "CE-102"; attribute :>> name = "CONSTtoTLM";
|
|
732
662
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
733
|
-
ref :>> sourceEndpoint = portConstIn;
|
|
734
|
-
|
|
735
|
-
ref :>> targetEndpoint = tlm;
|
|
736
|
-
attribute :>> targetPortPath = "TLM.CONST_IN";
|
|
663
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portConstIn;
|
|
664
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmConstIn;
|
|
737
665
|
attribute :>> direction = DirectionKind::input;
|
|
738
666
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
739
667
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -741,40 +669,32 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
741
669
|
part ceTlmOutToOutput : ComponentExchange {
|
|
742
670
|
attribute :>> id = "CE-103"; attribute :>> name = "TLM_OUT_toOUTPUT";
|
|
743
671
|
attribute :>> exchangeKind = FlowKind::status;
|
|
744
|
-
ref :>> sourceEndpoint = tlm;
|
|
745
|
-
|
|
746
|
-
ref :>> targetEndpoint = outputBus;
|
|
747
|
-
attribute :>> targetPortPath = "OUTPUT.TLM_MODE_IN";
|
|
672
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
673
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputTlmModeIn;
|
|
748
674
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
749
675
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
750
676
|
}
|
|
751
677
|
part ceImToSysStat : ComponentExchange {
|
|
752
678
|
attribute :>> id = "CE-104"; attribute :>> name = "IM_to_SYS_STAT";
|
|
753
679
|
attribute :>> exchangeKind = FlowKind::status;
|
|
754
|
-
ref :>> sourceEndpoint = infusionMgr;
|
|
755
|
-
|
|
756
|
-
ref :>> targetEndpoint = systemStatus;
|
|
757
|
-
attribute :>> targetPortPath = "SYS_STAT.IM_IN";
|
|
680
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImImOut;
|
|
681
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatImIn;
|
|
758
682
|
attribute :>> timingSemantics = "sampled (no timing property in source; AADL default breaks the feedback cycle)";
|
|
759
683
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
760
684
|
}
|
|
761
685
|
part ceTlmToSysStat : ComponentExchange {
|
|
762
686
|
attribute :>> id = "CE-105"; attribute :>> name = "TLM_to_SYS_STAT";
|
|
763
687
|
attribute :>> exchangeKind = FlowKind::status;
|
|
764
|
-
ref :>> sourceEndpoint = tlm;
|
|
765
|
-
|
|
766
|
-
ref :>> targetEndpoint = systemStatus;
|
|
767
|
-
attribute :>> targetPortPath = "SYS_STAT.TLM_MODE_IN";
|
|
688
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
689
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatTlmModeIn;
|
|
768
690
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
769
691
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
770
692
|
}
|
|
771
693
|
part ceSensorToSysStat : ComponentExchange {
|
|
772
694
|
attribute :>> id = "CE-106"; attribute :>> name = "SENSOR_to_SYS_STAT";
|
|
773
695
|
attribute :>> exchangeKind = FlowKind::measurement;
|
|
774
|
-
ref :>> sourceEndpoint = portSensorIn;
|
|
775
|
-
|
|
776
|
-
ref :>> targetEndpoint = systemStatus;
|
|
777
|
-
attribute :>> targetPortPath = "SYS_STAT.SENSOR_IN";
|
|
696
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portSensorIn;
|
|
697
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSensorIn;
|
|
778
698
|
attribute :>> direction = DirectionKind::input;
|
|
779
699
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
780
700
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -782,10 +702,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
782
702
|
part ceConstToSysStat : ComponentExchange {
|
|
783
703
|
attribute :>> id = "CE-107"; attribute :>> name = "CONST_to_SYS_STAT";
|
|
784
704
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
785
|
-
ref :>> sourceEndpoint = portConstIn;
|
|
786
|
-
|
|
787
|
-
ref :>> targetEndpoint = systemStatus;
|
|
788
|
-
attribute :>> targetPortPath = "SYS_STAT.CONST_IN";
|
|
705
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portConstIn;
|
|
706
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatConstIn;
|
|
789
707
|
attribute :>> direction = DirectionKind::input;
|
|
790
708
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
791
709
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -793,60 +711,48 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
793
711
|
part ceConfigToSysStat : ComponentExchange {
|
|
794
712
|
attribute :>> id = "CE-108"; attribute :>> name = "CONFIG_to_SYS_STAT";
|
|
795
713
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
796
|
-
ref :>> sourceEndpoint = config;
|
|
797
|
-
|
|
798
|
-
ref :>> targetEndpoint = systemStatus;
|
|
799
|
-
attribute :>> targetPortPath = "SYS_STAT.CONFIG_IN";
|
|
714
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.config.portConfigConfigOut;
|
|
715
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatConfigIn;
|
|
800
716
|
attribute :>> timingSemantics = "sampled (no timing property in source; AADL default breaks the feedback cycle)";
|
|
801
717
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
802
718
|
}
|
|
803
719
|
part ceSysStatOutToOutput : ComponentExchange {
|
|
804
720
|
attribute :>> id = "CE-109"; attribute :>> name = "SYS_STAT_OUT_toOUTPUT";
|
|
805
721
|
attribute :>> exchangeKind = FlowKind::status;
|
|
806
|
-
ref :>> sourceEndpoint = systemStatus;
|
|
807
|
-
|
|
808
|
-
ref :>> targetEndpoint = outputBus;
|
|
809
|
-
attribute :>> targetPortPath = "OUTPUT.SYS_STAT_IN";
|
|
722
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut;
|
|
723
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputSysStatIn;
|
|
810
724
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
811
725
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
812
726
|
}
|
|
813
727
|
part ceImToAlarm : ComponentExchange {
|
|
814
728
|
attribute :>> id = "CE-110"; attribute :>> name = "IM_to_ALARM";
|
|
815
729
|
attribute :>> exchangeKind = FlowKind::status;
|
|
816
|
-
ref :>> sourceEndpoint = infusionMgr;
|
|
817
|
-
|
|
818
|
-
ref :>> targetEndpoint = alarm;
|
|
819
|
-
attribute :>> targetPortPath = "ALARM.IM_IN";
|
|
730
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImImOut;
|
|
731
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmImIn;
|
|
820
732
|
attribute :>> timingSemantics = "sampled (no timing property in source; AADL default breaks the feedback cycle)";
|
|
821
733
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
822
734
|
}
|
|
823
735
|
part ceTlmToAlarm : ComponentExchange {
|
|
824
736
|
attribute :>> id = "CE-111"; attribute :>> name = "TLM_to_ALARM";
|
|
825
737
|
attribute :>> exchangeKind = FlowKind::status;
|
|
826
|
-
ref :>> sourceEndpoint = tlm;
|
|
827
|
-
|
|
828
|
-
ref :>> targetEndpoint = alarm;
|
|
829
|
-
attribute :>> targetPortPath = "ALARM.TLM_MODE_IN";
|
|
738
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
739
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmTlmModeIn;
|
|
830
740
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
831
741
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
832
742
|
}
|
|
833
743
|
part ceSysMonToAlarm : ComponentExchange {
|
|
834
744
|
attribute :>> id = "CE-112"; attribute :>> name = "SYS_MON_to_ALARM";
|
|
835
745
|
attribute :>> exchangeKind = FlowKind::status;
|
|
836
|
-
ref :>> sourceEndpoint = systemMonitor;
|
|
837
|
-
|
|
838
|
-
ref :>> targetEndpoint = alarm;
|
|
839
|
-
attribute :>> targetPortPath = "ALARM.SYS_MON_IN";
|
|
746
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemMonitor.portSysMonSysMonOut;
|
|
747
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmSysMonIn;
|
|
840
748
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
841
749
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
842
750
|
}
|
|
843
751
|
part ceOpCmdToAlarm : ComponentExchange {
|
|
844
752
|
attribute :>> id = "CE-113"; attribute :>> name = "OP_CMD_to_ALARM";
|
|
845
753
|
attribute :>> exchangeKind = FlowKind::command;
|
|
846
|
-
ref :>> sourceEndpoint = portOpCmdIn;
|
|
847
|
-
|
|
848
|
-
ref :>> targetEndpoint = alarm;
|
|
849
|
-
attribute :>> targetPortPath = "ALARM.OP_CMD_IN";
|
|
754
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portOpCmdIn;
|
|
755
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmOpCmdIn;
|
|
850
756
|
attribute :>> direction = DirectionKind::input;
|
|
851
757
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
852
758
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -854,10 +760,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
854
760
|
part ceDbToAlarm : ComponentExchange {
|
|
855
761
|
attribute :>> id = "CE-114"; attribute :>> name = "DB_to_ALARM";
|
|
856
762
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
857
|
-
ref :>> sourceEndpoint = portDbIn;
|
|
858
|
-
|
|
859
|
-
ref :>> targetEndpoint = alarm;
|
|
860
|
-
attribute :>> targetPortPath = "ALARM.DB_IN";
|
|
763
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portDbIn;
|
|
764
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmDbIn;
|
|
861
765
|
attribute :>> direction = DirectionKind::input;
|
|
862
766
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
863
767
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -865,10 +769,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
865
769
|
part ceSensorToAlarm : ComponentExchange {
|
|
866
770
|
attribute :>> id = "CE-115"; attribute :>> name = "SENSOR_to_ALARM";
|
|
867
771
|
attribute :>> exchangeKind = FlowKind::measurement;
|
|
868
|
-
ref :>> sourceEndpoint = portSensorIn;
|
|
869
|
-
|
|
870
|
-
ref :>> targetEndpoint = alarm;
|
|
871
|
-
attribute :>> targetPortPath = "ALARM.SENSOR_IN";
|
|
772
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portSensorIn;
|
|
773
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmSensorIn;
|
|
872
774
|
attribute :>> direction = DirectionKind::input;
|
|
873
775
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
874
776
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -876,10 +778,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
876
778
|
part ceConstToAlarm : ComponentExchange {
|
|
877
779
|
attribute :>> id = "CE-116"; attribute :>> name = "CONST_to_ALARM";
|
|
878
780
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
879
|
-
ref :>> sourceEndpoint = portConstIn;
|
|
880
|
-
|
|
881
|
-
ref :>> targetEndpoint = alarm;
|
|
882
|
-
attribute :>> targetPortPath = "ALARM.CONST_IN";
|
|
781
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portConstIn;
|
|
782
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmConstIn;
|
|
883
783
|
attribute :>> direction = DirectionKind::input;
|
|
884
784
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
885
785
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -887,50 +787,40 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
887
787
|
part ceSysStatToAlarm : ComponentExchange {
|
|
888
788
|
attribute :>> id = "CE-117"; attribute :>> name = "SYS_STAT_to_ALARM";
|
|
889
789
|
attribute :>> exchangeKind = FlowKind::status;
|
|
890
|
-
ref :>> sourceEndpoint = systemStatus;
|
|
891
|
-
|
|
892
|
-
ref :>> targetEndpoint = alarm;
|
|
893
|
-
attribute :>> targetPortPath = "ALARM.SYS_STAT_IN";
|
|
790
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut;
|
|
791
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmSysStatIn;
|
|
894
792
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
895
793
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
896
794
|
}
|
|
897
795
|
part ceConfigToAlarm : ComponentExchange {
|
|
898
796
|
attribute :>> id = "CE-118"; attribute :>> name = "CONFIG_to_ALARM";
|
|
899
797
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
900
|
-
ref :>> sourceEndpoint = config;
|
|
901
|
-
|
|
902
|
-
ref :>> targetEndpoint = alarm;
|
|
903
|
-
attribute :>> targetPortPath = "ALARM.CONFIG_IN";
|
|
798
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.config.portConfigConfigOut;
|
|
799
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmConfigIn;
|
|
904
800
|
attribute :>> timingSemantics = "sampled (no timing property in source; AADL default breaks the feedback cycle)";
|
|
905
801
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
906
802
|
}
|
|
907
803
|
part ceAlarmOutToOutput : ComponentExchange {
|
|
908
804
|
attribute :>> id = "CE-119"; attribute :>> name = "ALARM_OUT_toOUTPUT";
|
|
909
805
|
attribute :>> exchangeKind = FlowKind::alarm;
|
|
910
|
-
ref :>> sourceEndpoint = alarm;
|
|
911
|
-
|
|
912
|
-
ref :>> targetEndpoint = outputBus;
|
|
913
|
-
attribute :>> targetPortPath = "OUTPUT.ALARM_IN";
|
|
806
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmAlarmOut;
|
|
807
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputAlarmIn;
|
|
914
808
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
915
809
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
916
810
|
}
|
|
917
811
|
part ceTlmToConfig : ComponentExchange {
|
|
918
812
|
attribute :>> id = "CE-120"; attribute :>> name = "TLM_to_CONFIG";
|
|
919
813
|
attribute :>> exchangeKind = FlowKind::status;
|
|
920
|
-
ref :>> sourceEndpoint = tlm;
|
|
921
|
-
|
|
922
|
-
ref :>> targetEndpoint = config;
|
|
923
|
-
attribute :>> targetPortPath = "CONFIG.TLM_MODE_IN";
|
|
814
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
815
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.config.portConfigTlmModeIn;
|
|
924
816
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
925
817
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
926
818
|
}
|
|
927
819
|
part cePresToConfig : ComponentExchange {
|
|
928
820
|
attribute :>> id = "CE-121"; attribute :>> name = "PRES_to_CONFIG";
|
|
929
821
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
930
|
-
ref :>> sourceEndpoint = portPresIn;
|
|
931
|
-
|
|
932
|
-
ref :>> targetEndpoint = config;
|
|
933
|
-
attribute :>> targetPortPath = "CONFIG.PRES_IN";
|
|
822
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portPresIn;
|
|
823
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.config.portConfigPresIn;
|
|
934
824
|
attribute :>> direction = DirectionKind::input;
|
|
935
825
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
936
826
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -938,10 +828,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
938
828
|
part ceOpCmdToConfig : ComponentExchange {
|
|
939
829
|
attribute :>> id = "CE-122"; attribute :>> name = "OP_CMD_to_CONFIG";
|
|
940
830
|
attribute :>> exchangeKind = FlowKind::command;
|
|
941
|
-
ref :>> sourceEndpoint = portOpCmdIn;
|
|
942
|
-
|
|
943
|
-
ref :>> targetEndpoint = config;
|
|
944
|
-
attribute :>> targetPortPath = "CONFIG.OP_CMD_IN";
|
|
831
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portOpCmdIn;
|
|
832
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.config.portConfigOpCmdIn;
|
|
945
833
|
attribute :>> direction = DirectionKind::input;
|
|
946
834
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
947
835
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -949,10 +837,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
949
837
|
part ceDbToConfig : ComponentExchange {
|
|
950
838
|
attribute :>> id = "CE-123"; attribute :>> name = "DB_to_CONFIG";
|
|
951
839
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
952
|
-
ref :>> sourceEndpoint = portDbIn;
|
|
953
|
-
|
|
954
|
-
ref :>> targetEndpoint = config;
|
|
955
|
-
attribute :>> targetPortPath = "CONFIG.DB_IN";
|
|
840
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portDbIn;
|
|
841
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.config.portConfigDbIn;
|
|
956
842
|
attribute :>> direction = DirectionKind::input;
|
|
957
843
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
958
844
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -960,10 +846,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
960
846
|
part ceConsToConfig : ComponentExchange {
|
|
961
847
|
attribute :>> id = "CE-124"; attribute :>> name = "CONS_to_CONFIG";
|
|
962
848
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
963
|
-
ref :>> sourceEndpoint = portConstIn;
|
|
964
|
-
|
|
965
|
-
ref :>> targetEndpoint = config;
|
|
966
|
-
attribute :>> targetPortPath = "CONFIG.CONST_IN";
|
|
849
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portConstIn;
|
|
850
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.config.portConfigConstIn;
|
|
967
851
|
attribute :>> direction = DirectionKind::input;
|
|
968
852
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
969
853
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -971,40 +855,32 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
971
855
|
part ceSysStatToConfig : ComponentExchange {
|
|
972
856
|
attribute :>> id = "CE-125"; attribute :>> name = "SYS_STAT_to_CONFIG";
|
|
973
857
|
attribute :>> exchangeKind = FlowKind::status;
|
|
974
|
-
ref :>> sourceEndpoint = systemStatus;
|
|
975
|
-
|
|
976
|
-
ref :>> targetEndpoint = config;
|
|
977
|
-
attribute :>> targetPortPath = "CONFIG.SYS_STAT_IN";
|
|
858
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut;
|
|
859
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.config.portConfigSysStatIn;
|
|
978
860
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
979
861
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
980
862
|
}
|
|
981
863
|
part ceConfigToOutput : ComponentExchange {
|
|
982
864
|
attribute :>> id = "CE-126"; attribute :>> name = "CONFIG_toOUTPUT";
|
|
983
865
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
984
|
-
ref :>> sourceEndpoint = config;
|
|
985
|
-
|
|
986
|
-
ref :>> targetEndpoint = outputBus;
|
|
987
|
-
attribute :>> targetPortPath = "OUTPUT.CONFIG_IN";
|
|
866
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.config.portConfigConfigOut;
|
|
867
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputConfigIn;
|
|
988
868
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
989
869
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
990
870
|
}
|
|
991
871
|
part ceTlmToIm : ComponentExchange {
|
|
992
872
|
attribute :>> id = "CE-127"; attribute :>> name = "TLM_to_IM";
|
|
993
873
|
attribute :>> exchangeKind = FlowKind::status;
|
|
994
|
-
ref :>> sourceEndpoint = tlm;
|
|
995
|
-
|
|
996
|
-
ref :>> targetEndpoint = infusionMgr;
|
|
997
|
-
attribute :>> targetPortPath = "IM.TLM_MODE_IN";
|
|
874
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
875
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImTlmModeIn;
|
|
998
876
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
999
877
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1000
878
|
}
|
|
1001
879
|
part ceOpCmdToIm : ComponentExchange {
|
|
1002
880
|
attribute :>> id = "CE-128"; attribute :>> name = "OP_CMD_to_IM";
|
|
1003
881
|
attribute :>> exchangeKind = FlowKind::command;
|
|
1004
|
-
ref :>> sourceEndpoint = portOpCmdIn;
|
|
1005
|
-
|
|
1006
|
-
ref :>> targetEndpoint = infusionMgr;
|
|
1007
|
-
attribute :>> targetPortPath = "IM.OP_CMD_IN";
|
|
882
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portOpCmdIn;
|
|
883
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImOpCmdIn;
|
|
1008
884
|
attribute :>> direction = DirectionKind::input;
|
|
1009
885
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1010
886
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -1012,10 +888,8 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
1012
888
|
part cePatientToIm : ComponentExchange {
|
|
1013
889
|
attribute :>> id = "CE-129"; attribute :>> name = "PATIENT_to_IM";
|
|
1014
890
|
attribute :>> exchangeKind = FlowKind::command;
|
|
1015
|
-
ref :>> sourceEndpoint = portPatientIn;
|
|
1016
|
-
|
|
1017
|
-
ref :>> targetEndpoint = infusionMgr;
|
|
1018
|
-
attribute :>> targetPortPath = "IM.PATIENT_IN";
|
|
891
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portPatientIn;
|
|
892
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImPatientIn;
|
|
1019
893
|
attribute :>> direction = DirectionKind::input;
|
|
1020
894
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1021
895
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -1023,130 +897,104 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
1023
897
|
part ceConfigToIm : ComponentExchange {
|
|
1024
898
|
attribute :>> id = "CE-130"; attribute :>> name = "CONFIG_to_IM";
|
|
1025
899
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
1026
|
-
ref :>> sourceEndpoint = config;
|
|
1027
|
-
|
|
1028
|
-
ref :>> targetEndpoint = infusionMgr;
|
|
1029
|
-
attribute :>> targetPortPath = "IM.CONFIG_IN";
|
|
900
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.config.portConfigConfigOut;
|
|
901
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImConfigIn;
|
|
1030
902
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1031
903
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1032
904
|
}
|
|
1033
905
|
part ceAlarmToIm : ComponentExchange {
|
|
1034
906
|
attribute :>> id = "CE-131"; attribute :>> name = "ALARM_to_IM";
|
|
1035
907
|
attribute :>> exchangeKind = FlowKind::alarm;
|
|
1036
|
-
ref :>> sourceEndpoint = alarm;
|
|
1037
|
-
|
|
1038
|
-
ref :>> targetEndpoint = infusionMgr;
|
|
1039
|
-
attribute :>> targetPortPath = "IM.ALARM_IN";
|
|
908
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmAlarmOut;
|
|
909
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImAlarmIn;
|
|
1040
910
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1041
911
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1042
912
|
}
|
|
1043
913
|
part ceSysStatToIm : ComponentExchange {
|
|
1044
914
|
attribute :>> id = "CE-132"; attribute :>> name = "SYS_STAT_to_IM";
|
|
1045
915
|
attribute :>> exchangeKind = FlowKind::status;
|
|
1046
|
-
ref :>> sourceEndpoint = systemStatus;
|
|
1047
|
-
|
|
1048
|
-
ref :>> targetEndpoint = infusionMgr;
|
|
1049
|
-
attribute :>> targetPortPath = "IM.SYS_STAT_IN";
|
|
916
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut;
|
|
917
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImSysStatIn;
|
|
1050
918
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1051
919
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1052
920
|
}
|
|
1053
921
|
part ceImToOutput : ComponentExchange {
|
|
1054
922
|
attribute :>> id = "CE-133"; attribute :>> name = "IM_toOUTPUT";
|
|
1055
923
|
attribute :>> exchangeKind = FlowKind::status;
|
|
1056
|
-
ref :>> sourceEndpoint = infusionMgr;
|
|
1057
|
-
|
|
1058
|
-
ref :>> targetEndpoint = outputBus;
|
|
1059
|
-
attribute :>> targetPortPath = "OUTPUT.IM_IN";
|
|
924
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImImOut;
|
|
925
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputImIn;
|
|
1060
926
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1061
927
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1062
928
|
}
|
|
1063
929
|
part ceTlmToSysMon : ComponentExchange {
|
|
1064
930
|
attribute :>> id = "CE-134"; attribute :>> name = "TLM_to_SYS_MON";
|
|
1065
931
|
attribute :>> exchangeKind = FlowKind::status;
|
|
1066
|
-
ref :>> sourceEndpoint = tlm;
|
|
1067
|
-
|
|
1068
|
-
ref :>> targetEndpoint = systemMonitor;
|
|
1069
|
-
attribute :>> targetPortPath = "SYS_MON.TLM_MODE_IN";
|
|
932
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
933
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.systemMonitor.portSysMonTlmModeIn;
|
|
1070
934
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1071
935
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1072
936
|
}
|
|
1073
937
|
part ceSysMonToOutput : ComponentExchange {
|
|
1074
938
|
attribute :>> id = "CE-135"; attribute :>> name = "SYS_MON_toOUTPUT";
|
|
1075
939
|
attribute :>> exchangeKind = FlowKind::status;
|
|
1076
|
-
ref :>> sourceEndpoint = systemMonitor;
|
|
1077
|
-
|
|
1078
|
-
ref :>> targetEndpoint = outputBus;
|
|
1079
|
-
attribute :>> targetPortPath = "OUTPUT.SYS_MON_IN";
|
|
940
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemMonitor.portSysMonSysMonOut;
|
|
941
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputSysMonIn;
|
|
1080
942
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1081
943
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1082
944
|
}
|
|
1083
945
|
part ceTlmToLog : ComponentExchange {
|
|
1084
946
|
attribute :>> id = "CE-136"; attribute :>> name = "TLM_to_LOG";
|
|
1085
947
|
attribute :>> exchangeKind = FlowKind::status;
|
|
1086
|
-
ref :>> sourceEndpoint = tlm;
|
|
1087
|
-
|
|
1088
|
-
ref :>> targetEndpoint = logging;
|
|
1089
|
-
attribute :>> targetPortPath = "LOG.TLM_MODE_IN";
|
|
948
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
949
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.logging.portLogTlmModeIn;
|
|
1090
950
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1091
951
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1092
952
|
}
|
|
1093
953
|
part ceConfigToLog : ComponentExchange {
|
|
1094
954
|
attribute :>> id = "CE-137"; attribute :>> name = "CONFIG_to_LOG";
|
|
1095
955
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
1096
|
-
ref :>> sourceEndpoint = config;
|
|
1097
|
-
|
|
1098
|
-
ref :>> targetEndpoint = logging;
|
|
1099
|
-
attribute :>> targetPortPath = "LOG.CONFIG_IN";
|
|
956
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.config.portConfigConfigOut;
|
|
957
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.logging.portLogConfigIn;
|
|
1100
958
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1101
959
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1102
960
|
}
|
|
1103
961
|
part ceAlarmToLog : ComponentExchange {
|
|
1104
962
|
attribute :>> id = "CE-138"; attribute :>> name = "ALARM_to_LOG";
|
|
1105
963
|
attribute :>> exchangeKind = FlowKind::alarm;
|
|
1106
|
-
ref :>> sourceEndpoint = alarm;
|
|
1107
|
-
|
|
1108
|
-
ref :>> targetEndpoint = logging;
|
|
1109
|
-
attribute :>> targetPortPath = "LOG.ALARM_IN";
|
|
964
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmAlarmOut;
|
|
965
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.logging.portLogAlarmIn;
|
|
1110
966
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1111
967
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1112
968
|
}
|
|
1113
969
|
part ceSysStatToLog : ComponentExchange {
|
|
1114
970
|
attribute :>> id = "CE-139"; attribute :>> name = "SYS_STAT_to_LOG";
|
|
1115
971
|
attribute :>> exchangeKind = FlowKind::status;
|
|
1116
|
-
ref :>> sourceEndpoint = systemStatus;
|
|
1117
|
-
|
|
1118
|
-
ref :>> targetEndpoint = logging;
|
|
1119
|
-
attribute :>> targetPortPath = "LOG.SYS_STAT_IN";
|
|
972
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut;
|
|
973
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.logging.portLogSysStatIn;
|
|
1120
974
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1121
975
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1122
976
|
}
|
|
1123
977
|
part ceImToLog : ComponentExchange {
|
|
1124
978
|
attribute :>> id = "CE-140"; attribute :>> name = "IM_to_LOG";
|
|
1125
979
|
attribute :>> exchangeKind = FlowKind::status;
|
|
1126
|
-
ref :>> sourceEndpoint = infusionMgr;
|
|
1127
|
-
|
|
1128
|
-
ref :>> targetEndpoint = logging;
|
|
1129
|
-
attribute :>> targetPortPath = "LOG.IM_IN";
|
|
980
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImImOut;
|
|
981
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.logging.portLogImIn;
|
|
1130
982
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1131
983
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1132
984
|
}
|
|
1133
985
|
part ceLogToOutput : ComponentExchange {
|
|
1134
986
|
attribute :>> id = "CE-141"; attribute :>> name = "LOG_toOUTPUT";
|
|
1135
987
|
attribute :>> exchangeKind = FlowKind::audit;
|
|
1136
|
-
ref :>> sourceEndpoint = logging;
|
|
1137
|
-
|
|
1138
|
-
ref :>> targetEndpoint = outputBus;
|
|
1139
|
-
attribute :>> targetPortPath = "OUTPUT.LOG_IN";
|
|
988
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.logging.portLogLogOut;
|
|
989
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputLogIn;
|
|
1140
990
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1141
991
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
1142
992
|
}
|
|
1143
993
|
part ceOutputToGpcaOut : ComponentExchange {
|
|
1144
994
|
attribute :>> id = "CE-142"; attribute :>> name = "OUTPUT_to_GPCA_OUT";
|
|
1145
995
|
attribute :>> exchangeKind = FlowKind::status;
|
|
1146
|
-
ref :>> sourceEndpoint = outputBus;
|
|
1147
|
-
|
|
1148
|
-
ref :>> targetEndpoint = portGpcaSwOut;
|
|
1149
|
-
attribute :>> targetPortPath = "GPCA_SW_OUT";
|
|
996
|
+
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputGpcaSwOut;
|
|
997
|
+
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.portGpcaSwOut;
|
|
1150
998
|
attribute :>> direction = DirectionKind::output;
|
|
1151
999
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1152
1000
|
attribute :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)";
|
|
@@ -1212,4 +1060,73 @@ package memo_examples_gpca_pump_model_catalog_gpca_interfaces {
|
|
|
1212
1060
|
attribute :>> encoding = "Boolean";
|
|
1213
1061
|
attribute :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), App. A.3 Text Macros";
|
|
1214
1062
|
}
|
|
1063
|
+
|
|
1064
|
+
// ── The exchanges as FLOWS (Track A3) ────────────────────────────
|
|
1065
|
+
// The flow is the edge; the ComponentExchange part above it carries the
|
|
1066
|
+
// budget and assurance attributes. Each flow is NAMED with its exchange,
|
|
1067
|
+
// and that shared identifier IS the binding between the two halves —
|
|
1068
|
+
// `relationships["ceOpCmdToTlm"]` and `elements["ceOpCmdToTlm"]` are one
|
|
1069
|
+
// statement, checked by CR-ONT-076. A named flow needs the grammar to
|
|
1070
|
+
// accept a name at all, which is why this could not land before the
|
|
1071
|
+
// productions did.
|
|
1072
|
+
//
|
|
1073
|
+
// The ends are the PORTS, not the components — the port-level topology the
|
|
1074
|
+
// *PortPath strings used to approximate. gpca_trace.sysml keeps the
|
|
1075
|
+
// component-level dependencies; AADL distinguishes the two granularities
|
|
1076
|
+
// and so does this.
|
|
1077
|
+
//
|
|
1078
|
+
// Two spellings, because AADL's two connection kinds are two different
|
|
1079
|
+
// things. A `flow` transports an item between components and runs `out` to
|
|
1080
|
+
// `in`. A `bind` is a DELEGATION between a boundary port and the interior
|
|
1081
|
+
// it stands for: `in` to `in`, or `out` to `out`, because nothing travels —
|
|
1082
|
+
// the two features are the same feature. SysML v2 keeps them apart the same
|
|
1083
|
+
// way (training ch. 13 and ch. 12), and the 15 delegations recorded below
|
|
1084
|
+
// are the ones gpca_trace.sysml therefore cannot restate at component
|
|
1085
|
+
// granularity.
|
|
1086
|
+
flow of InterfaceItem from gpcaDevice.gpcaDeviceSensors to gpcaDevice.gpcaSoftware.portSensorIn;
|
|
1087
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.portGpcaSwOut to pumpMotorAssembly;
|
|
1088
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.portGpcaSwOut to audibleAlarm;
|
|
1089
|
+
flow of InterfaceItem from operatorKeypad to gpcaDevice.gpcaSoftware.portPresIn;
|
|
1090
|
+
bind gpcaDevice.gpcaSoftware.portOpCmdIn = gpcaDevice.gpcaSoftware.tlm.portTlmOpCmdIn;
|
|
1091
|
+
bind gpcaDevice.gpcaSoftware.portConstIn = gpcaDevice.gpcaSoftware.tlm.portTlmConstIn;
|
|
1092
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut to gpcaDevice.gpcaSoftware.outputBus.portOutputTlmModeIn;
|
|
1093
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.infusionMgr.portImImOut to gpcaDevice.gpcaSoftware.systemStatus.portSysStatImIn;
|
|
1094
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut to gpcaDevice.gpcaSoftware.systemStatus.portSysStatTlmModeIn;
|
|
1095
|
+
bind gpcaDevice.gpcaSoftware.portSensorIn = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSensorIn;
|
|
1096
|
+
bind gpcaDevice.gpcaSoftware.portConstIn = gpcaDevice.gpcaSoftware.systemStatus.portSysStatConstIn;
|
|
1097
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.config.portConfigConfigOut to gpcaDevice.gpcaSoftware.systemStatus.portSysStatConfigIn;
|
|
1098
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut to gpcaDevice.gpcaSoftware.outputBus.portOutputSysStatIn;
|
|
1099
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.infusionMgr.portImImOut to gpcaDevice.gpcaSoftware.alarm.portAlarmImIn;
|
|
1100
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut to gpcaDevice.gpcaSoftware.alarm.portAlarmTlmModeIn;
|
|
1101
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.systemMonitor.portSysMonSysMonOut to gpcaDevice.gpcaSoftware.alarm.portAlarmSysMonIn;
|
|
1102
|
+
bind gpcaDevice.gpcaSoftware.portOpCmdIn = gpcaDevice.gpcaSoftware.alarm.portAlarmOpCmdIn;
|
|
1103
|
+
bind gpcaDevice.gpcaSoftware.portDbIn = gpcaDevice.gpcaSoftware.alarm.portAlarmDbIn;
|
|
1104
|
+
bind gpcaDevice.gpcaSoftware.portSensorIn = gpcaDevice.gpcaSoftware.alarm.portAlarmSensorIn;
|
|
1105
|
+
bind gpcaDevice.gpcaSoftware.portConstIn = gpcaDevice.gpcaSoftware.alarm.portAlarmConstIn;
|
|
1106
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut to gpcaDevice.gpcaSoftware.alarm.portAlarmSysStatIn;
|
|
1107
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.config.portConfigConfigOut to gpcaDevice.gpcaSoftware.alarm.portAlarmConfigIn;
|
|
1108
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.alarm.portAlarmAlarmOut to gpcaDevice.gpcaSoftware.outputBus.portOutputAlarmIn;
|
|
1109
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut to gpcaDevice.gpcaSoftware.config.portConfigTlmModeIn;
|
|
1110
|
+
bind gpcaDevice.gpcaSoftware.portPresIn = gpcaDevice.gpcaSoftware.config.portConfigPresIn;
|
|
1111
|
+
bind gpcaDevice.gpcaSoftware.portOpCmdIn = gpcaDevice.gpcaSoftware.config.portConfigOpCmdIn;
|
|
1112
|
+
bind gpcaDevice.gpcaSoftware.portDbIn = gpcaDevice.gpcaSoftware.config.portConfigDbIn;
|
|
1113
|
+
bind gpcaDevice.gpcaSoftware.portConstIn = gpcaDevice.gpcaSoftware.config.portConfigConstIn;
|
|
1114
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut to gpcaDevice.gpcaSoftware.config.portConfigSysStatIn;
|
|
1115
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.config.portConfigConfigOut to gpcaDevice.gpcaSoftware.outputBus.portOutputConfigIn;
|
|
1116
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut to gpcaDevice.gpcaSoftware.infusionMgr.portImTlmModeIn;
|
|
1117
|
+
bind gpcaDevice.gpcaSoftware.portOpCmdIn = gpcaDevice.gpcaSoftware.infusionMgr.portImOpCmdIn;
|
|
1118
|
+
bind gpcaDevice.gpcaSoftware.portPatientIn = gpcaDevice.gpcaSoftware.infusionMgr.portImPatientIn;
|
|
1119
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.config.portConfigConfigOut to gpcaDevice.gpcaSoftware.infusionMgr.portImConfigIn;
|
|
1120
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.alarm.portAlarmAlarmOut to gpcaDevice.gpcaSoftware.infusionMgr.portImAlarmIn;
|
|
1121
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut to gpcaDevice.gpcaSoftware.infusionMgr.portImSysStatIn;
|
|
1122
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.infusionMgr.portImImOut to gpcaDevice.gpcaSoftware.outputBus.portOutputImIn;
|
|
1123
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut to gpcaDevice.gpcaSoftware.systemMonitor.portSysMonTlmModeIn;
|
|
1124
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.systemMonitor.portSysMonSysMonOut to gpcaDevice.gpcaSoftware.outputBus.portOutputSysMonIn;
|
|
1125
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut to gpcaDevice.gpcaSoftware.logging.portLogTlmModeIn;
|
|
1126
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.config.portConfigConfigOut to gpcaDevice.gpcaSoftware.logging.portLogConfigIn;
|
|
1127
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.alarm.portAlarmAlarmOut to gpcaDevice.gpcaSoftware.logging.portLogAlarmIn;
|
|
1128
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut to gpcaDevice.gpcaSoftware.logging.portLogSysStatIn;
|
|
1129
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.infusionMgr.portImImOut to gpcaDevice.gpcaSoftware.logging.portLogImIn;
|
|
1130
|
+
flow of InterfaceItem from gpcaDevice.gpcaSoftware.logging.portLogLogOut to gpcaDevice.gpcaSoftware.outputBus.portOutputLogIn;
|
|
1131
|
+
bind gpcaDevice.gpcaSoftware.outputBus.portOutputGpcaSwOut = gpcaDevice.gpcaSoftware.portGpcaSwOut;
|
|
1215
1132
|
}
|