@memoarchitect/ontology 0.8.24 → 0.11.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +9 -7
- package/examples/connected-patient-monitor/model/catalog/project.sysml +3 -1
- package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +9 -7
- package/examples/embedded-infusion-pump/model/catalog/project.sysml +3 -1
- package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +8 -6
- package/examples/functional-logical-physical/model/catalog/project.sysml +3 -1
- package/examples/gpca-pump/memo.identity.yaml +2185 -0
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +3 -1
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +29 -27
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +115 -114
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +42 -41
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +26 -25
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +29 -24
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +14 -13
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +42 -40
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +198 -197
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +121 -125
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +8 -6
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +390 -388
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +164 -163
- package/examples/gpca-pump/model/catalog/gpca_standards.sysml +44 -43
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +15 -14
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +10 -8
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +62 -61
- package/examples/gpca-pump/model/catalog/project.sysml +3 -1
- package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +6 -4
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_logical_architecture_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_risk_chain_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +6 -4
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +5 -3
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +5 -3
- package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +9 -7
- package/examples/ivd-laboratory-system/model/catalog/project.sysml +3 -1
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +6 -4
- package/examples/manual-surgical-instrument/model/catalog/project.sysml +3 -1
- package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +6 -4
- package/examples/multidimensional-layers/model/catalog/project.sysml +3 -1
- package/examples/nested-architecture-dsm/memo.identity.yaml +181 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +20 -18
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +20 -18
- package/examples/nested-architecture-dsm/model/catalog/architecture/operational/context.sysml +34 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +11 -6
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +16 -14
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +18 -16
- package/examples/nested-architecture-dsm/model/catalog/project.sysml +4 -1
- package/examples/reusable-instrument/model/catalog/project.sysml +3 -1
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +17 -16
- package/examples/ros-mobile-robot/model/catalog/project.sysml +3 -1
- package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +18 -16
- package/examples/software-only-medical-device/model/catalog/project.sysml +3 -1
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +10 -8
- package/examples/surgical-closure-workflow/model/catalog/project.sysml +3 -1
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +54 -51
- package/examples/surgical-robot/model/catalog/project.sysml +3 -1
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +9 -7
- package/examples/sysml-diagram-samples/model/catalog/project.sysml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +10 -8
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +7 -5
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +2 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +11 -9
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +2 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +11 -7
- package/examples/temperature-alarm/memo.identity.yaml +64 -0
- package/examples/temperature-alarm/model/catalog/project.sysml +3 -1
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +27 -22
- package/examples/ui-screen-regions/memo.identity.yaml +205 -0
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +14 -12
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +35 -33
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +8 -6
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +14 -13
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +4 -2
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +4 -2
- package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +12 -10
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +3 -1
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +26 -24
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +17 -15
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +10 -9
- package/examples/ui-screen-regions/model/catalog/project.sysml +3 -1
- package/examples/ui-screen-regions/model/catalog/relationships.sysml +2 -2
- package/examples/ui-screen-regions/model/catalog/traces.sysml +0 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +5 -3
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +5 -3
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +5 -3
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +3 -1
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +3 -1
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +3 -1
- package/extensions/aadl/memo.package.yaml +1 -1
- package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +23 -21
- package/extensions/aadl/src/methodology/aadl_methodology.sysml +3 -1
- package/extensions/clinical/src/methodology/clinical_methodology.sysml +3 -1
- package/extensions/cloud/memo.package.yaml +1 -1
- package/extensions/cloud/src/methodology/cloud_methodology.sysml +3 -1
- package/extensions/container/memo.package.yaml +1 -1
- package/extensions/container/src/methodology/container_methodology.sysml +3 -1
- package/extensions/messaging/memo.package.yaml +1 -1
- package/extensions/messaging/src/methodology/messaging_methodology.sysml +3 -1
- package/extensions/ros/memo.package.yaml +1 -1
- package/extensions/ros/src/methodology/ros_methodology.sysml +3 -1
- package/extensions/template/src/extension.sysml +3 -1
- package/methodologies/default/memo.package.yaml +1 -1
- package/methodologies/gpca/memo.package.yaml +1 -1
- package/ontology/memo.package.yaml +1 -1
- package/package.json +2 -2
- package/profile/memo.package.yaml +1 -1
- package/src/architecture/functional/behavior/memo_behavior.sysml +1 -1
- package/src/architecture/implementation/hardware/common/memo_hardware_common.sysml +12 -2
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +0 -11
- package/src/architecture/implementation/ui/memo_ui.sysml +0 -23
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +3 -1
- package/src/architecture/operational/context/use_context/memo_use_context.sysml +3 -11
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +1 -12
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +7 -11
- package/src/architecture/operational/workflows/memo_workflows.sysml +0 -20
- package/src/architecture/realization/deployment/memo_deployment.sysml +16 -9
- package/src/architecture/realization/physical/memo_physical_architecture.sysml +8 -2
- package/src/artifacts/standards/cfr_21_820.sysml +80 -89
- package/src/artifacts/standards/fda_cybersecurity_2023.sysml +45 -49
- package/src/artifacts/standards/iec_60601_1.sysml +108 -121
- package/src/artifacts/standards/iec_60601_1_2.sysml +31 -33
- package/src/artifacts/standards/iec_60812.sysml +21 -22
- package/src/artifacts/standards/iec_62304.sysml +150 -169
- package/src/artifacts/standards/iec_62366_1.sysml +80 -89
- package/src/artifacts/standards/iec_81001_5_1.sysml +52 -57
- package/src/artifacts/standards/iso_13485.sysml +80 -89
- package/src/artifacts/standards/iso_14971.sysml +66 -73
- package/src/artifacts/standards/iso_iec_ieee_42010.sysml +15 -15
- package/src/artifacts/templates/dhf/iec-60601/hrs.md +6 -6
- package/src/artifacts/templates/dhf/iec-62304/srs.md +10 -10
- package/src/artifacts/templates/dhf/system/syrs.md +6 -6
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +0 -1
- package/src/assurance/human_factors/memo_human_factors.sysml +0 -1
- package/src/assurance/requirements/memo_requirements.sysml +20 -16
- package/src/assurance/requirements/needs/memo_needs.sysml +33 -5
- package/src/assurance/safety_risk/memo_risk.sysml +20 -0
- package/src/assurance/verification_validation/memo_assurance.sysml +7 -12
- package/src/core/common/memo_common.sysml +50 -50
- package/src/core/enumerations/memo_enumerations.sysml +1 -1
- package/src/core/relationships/memo_relationships.sysml +22 -49
- package/src/methodology/archetypes/memo_archetypes.sysml +10 -8
- package/src/methodology/core/memo_core.sysml +0 -10
- package/src/methodology/profiles/memo_profiles.sysml +18 -16
- package/src/rules/closure/closure_rules.sysml +58 -22
- package/src/rules/crosslayer/cross_layer_rules.sysml +5 -3
- package/src/rules/ontology/ontology_invariants.sysml +119 -35
- package/src/rules/quantitative/quantitative_rules.sysml +4 -2
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +29 -28
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +4 -2
- package/src/viewpoints/context/context_viewpoint.sysml +5 -3
- package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +5 -3
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +4 -2
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +6 -16
- package/src/viewpoints/functional/functional_viewpoint.sysml +4 -2
- package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +5 -3
- package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +5 -3
- package/src/viewpoints/logical/logical_viewpoint.sysml +4 -2
- package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +5 -3
- package/src/viewpoints/operational/operational_viewpoint.sysml +4 -2
- package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +5 -3
- package/src/viewpoints/physical/physical_viewpoint.sysml +4 -2
- package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +5 -3
- package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +5 -3
- package/src/viewpoints/rendering/memo_rendering.sysml +220 -40
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +4 -2
- package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +5 -3
- package/src/viewpoints/risk/risk_viewpoint.sysml +4 -2
- package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +5 -3
- package/src/viewpoints/software/software_viewpoint.sysml +4 -2
- package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +5 -3
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +4 -2
- package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +3 -1
- package/src/viewpoints/usability/usability_viewpoint.sysml +4 -2
- package/src/viewpoints/verification/verification_viewpoint.sysml +4 -2
- package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +5 -3
- package/templates/connected-device/model/catalog/project.sysml +3 -1
- package/templates/default/model/catalog/project.sysml +3 -1
- package/templates/infusion-pump/model/catalog/project.sysml +3 -1
- package/templates/monitoring-device/model/catalog/project.sysml +3 -1
- package/templates/samd/model/catalog/project.sysml +3 -1
|
@@ -9,6 +9,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
9
9
|
private import memo_examples_gpca_pump_gpca_behavior_subsystems::*;
|
|
10
10
|
private import memo_core_enumerations::*;
|
|
11
11
|
private import memo_core_dimensions::*;
|
|
12
|
+
private import memo_core_common::MemoIdentity;
|
|
12
13
|
abstract interface def SensorDataInterface :> DataInterface {
|
|
13
14
|
attribute :>> interfaceKind = InterfaceKind::data;
|
|
14
15
|
attribute :>> protocolSemantics = "flow, air, occlusion, door, battery, cpu, memory, pump state";
|
|
@@ -19,7 +20,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
19
20
|
attribute :>> sensorDomain = "physiological and device state";
|
|
20
21
|
}
|
|
21
22
|
interface sensorInputInterface : Interface {
|
|
22
|
-
|
|
23
|
+
@MemoIdentity { :>> providedId = "LI-005"; }
|
|
23
24
|
attribute :>> name = "SensorInputInterface";
|
|
24
25
|
attribute :>> interfaceKind = InterfaceKind::data;
|
|
25
26
|
attribute :>> direction = DirectionKind::input;
|
|
@@ -27,7 +28,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
27
28
|
attribute :>> protocolSemantics = "flow, air, occlusion, door, battery, cpu, memory, pump state";
|
|
28
29
|
}
|
|
29
30
|
interface actuatorCommandInterface : Interface {
|
|
30
|
-
|
|
31
|
+
@MemoIdentity { :>> providedId = "LI-006"; }
|
|
31
32
|
attribute :>> name = "ActuatorCommandInterface";
|
|
32
33
|
attribute :>> interfaceKind = InterfaceKind::control;
|
|
33
34
|
attribute :>> direction = DirectionKind::output;
|
|
@@ -35,7 +36,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
35
36
|
attribute :>> protocolSemantics = "pump flow command, buzzer tone select, display content";
|
|
36
37
|
}
|
|
37
38
|
interface operatorEntryInterface : Interface {
|
|
38
|
-
|
|
39
|
+
@MemoIdentity { :>> providedId = "LI-007"; }
|
|
39
40
|
attribute :>> name = "OperatorEntryInterface";
|
|
40
41
|
attribute :>> interfaceKind = InterfaceKind::userInteraction;
|
|
41
42
|
attribute :>> direction = DirectionKind::input;
|
|
@@ -43,7 +44,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
43
44
|
attribute :>> protocolSemantics = "prescription fields, alarm silence, start/stop commands";
|
|
44
45
|
}
|
|
45
46
|
interface eventLogInterface : Interface {
|
|
46
|
-
|
|
47
|
+
@MemoIdentity { :>> providedId = "LI-008"; }
|
|
47
48
|
attribute :>> name = "EventLogInterface";
|
|
48
49
|
attribute :>> interfaceKind = InterfaceKind::logging;
|
|
49
50
|
attribute :>> direction = DirectionKind::output;
|
|
@@ -51,7 +52,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
51
52
|
attribute :>> protocolSemantics = "timestamped therapy, alarm, and configuration events";
|
|
52
53
|
}
|
|
53
54
|
interface hwSoftwareBus : Interface {
|
|
54
|
-
|
|
55
|
+
@MemoIdentity { :>> providedId = "PI-001"; }
|
|
55
56
|
attribute :>> name = "HW_SW_DataBus";
|
|
56
57
|
attribute :>> interfaceKind = InterfaceKind::digitalSignal;
|
|
57
58
|
attribute :>> protocol = "immediate data port mapping";
|
|
@@ -63,7 +64,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
63
64
|
attribute :>> nominalCurrentA = 0.02;
|
|
64
65
|
}
|
|
65
66
|
interface pumpMotorDrive : Interface {
|
|
66
|
-
|
|
67
|
+
@MemoIdentity { :>> providedId = "PI-002"; }
|
|
67
68
|
attribute :>> name = "PumpMotorStepDrive";
|
|
68
69
|
attribute :>> interfaceKind = InterfaceKind::digitalSignal;
|
|
69
70
|
attribute :>> protocol = "step/direction pulse train";
|
|
@@ -75,7 +76,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
75
76
|
attribute :>> signaling = "step/dir with enable interlock";
|
|
76
77
|
}
|
|
77
78
|
interface bolusButtonLine : Interface {
|
|
78
|
-
|
|
79
|
+
@MemoIdentity { :>> providedId = "PI-003"; }
|
|
79
80
|
attribute :>> name = "BolusButtonInputLine";
|
|
80
81
|
attribute :>> interfaceKind = InterfaceKind::digitalSignal;
|
|
81
82
|
attribute :>> protocol = "debounced discrete input";
|
|
@@ -86,7 +87,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
86
87
|
attribute :>> nominalCurrentA = 0.001;
|
|
87
88
|
}
|
|
88
89
|
interface occlusionAnalogLine : Interface {
|
|
89
|
-
|
|
90
|
+
@MemoIdentity { :>> providedId = "PI-004"; }
|
|
90
91
|
attribute :>> name = "OcclusionPressureAnalogLine";
|
|
91
92
|
attribute :>> interfaceKind = InterfaceKind::analogSignal;
|
|
92
93
|
attribute :>> directionality = DirectionKind::input;
|
|
@@ -96,7 +97,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
96
97
|
attribute :>> signalRange = "0 to 30 psi line pressure";
|
|
97
98
|
}
|
|
98
99
|
interface batteryMonitorLine : Interface {
|
|
99
|
-
|
|
100
|
+
@MemoIdentity { :>> providedId = "PI-005"; }
|
|
100
101
|
attribute :>> name = "BatteryVoltageMonitorLine";
|
|
101
102
|
attribute :>> interfaceKind = InterfaceKind::power;
|
|
102
103
|
attribute :>> directionality = DirectionKind::input;
|
|
@@ -108,80 +109,80 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
108
109
|
|
|
109
110
|
// ── System-level interfaces (CriSys Ch.3, I 1-I 11) ─────────
|
|
110
111
|
interface siDataEntry : Interface {
|
|
111
|
-
|
|
112
|
+
@MemoIdentity { :>> providedId = "SI-001"; }
|
|
112
113
|
attribute :>> name = "DataEntryInterface";
|
|
113
114
|
attribute :>> interfaceKind = InterfaceKind::userInteraction;
|
|
114
115
|
attribute :>> direction = DirectionKind::input;
|
|
115
116
|
attribute :>> protocol = "CriSys I 1, I 2, I 3";
|
|
116
117
|
attribute :>> protocolSemantics = "Prescription data entry (13 fields, PatientID_prog..NumberMax_pbolus_prog), control commands (9 mode-gated Boolean events), and drug reservoir data (ReservoirInitialVolume_prog)";
|
|
117
118
|
attribute :>> interactionPattern = "clinician enter/edit/save with mode-gated commands";
|
|
118
|
-
|
|
119
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1 Data Entry Interface"; }
|
|
119
120
|
}
|
|
120
121
|
interface siBolusRequest : Interface {
|
|
121
|
-
|
|
122
|
+
@MemoIdentity { :>> providedId = "SI-002"; }
|
|
122
123
|
attribute :>> name = "BolusRequestInterface";
|
|
123
124
|
attribute :>> interfaceKind = InterfaceKind::userInteraction;
|
|
124
125
|
attribute :>> direction = DirectionKind::input;
|
|
125
126
|
attribute :>> protocol = "CriSys I 4";
|
|
126
127
|
attribute :>> protocolSemantics = "BolusRequest_prog: patient request for a patient bolus; accepted only in ACTIVE mode";
|
|
127
128
|
attribute :>> interactionPattern = "patient pendant button press";
|
|
128
|
-
|
|
129
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.2 Bolus Request Interface"; }
|
|
129
130
|
}
|
|
130
131
|
interface siDrugFlow : Interface {
|
|
131
|
-
|
|
132
|
+
@MemoIdentity { :>> providedId = "SI-003"; }
|
|
132
133
|
attribute :>> name = "DrugFlowInterface";
|
|
133
134
|
attribute :>> interfaceKind = InterfaceKind::fluidic;
|
|
134
135
|
attribute :>> direction = DirectionKind::output;
|
|
135
136
|
attribute :>> protocol = "CriSys I 5, I 6";
|
|
136
137
|
attribute :>> protocolSemantics = "Physical drug delivery to the patient through the needle connected at the standard CCC connection point; represented by FlowRate_output (ml/hr)";
|
|
137
138
|
attribute :>> interactionPattern = "continuous fluid path while infusing";
|
|
138
|
-
|
|
139
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.3 Drug Flow Interface"; }
|
|
139
140
|
}
|
|
140
141
|
interface siNotification : Interface {
|
|
141
|
-
|
|
142
|
+
@MemoIdentity { :>> providedId = "SI-004"; }
|
|
142
143
|
attribute :>> name = "NotificationInterface";
|
|
143
144
|
attribute :>> interfaceKind = InterfaceKind::notification;
|
|
144
145
|
attribute :>> direction = DirectionKind::output;
|
|
145
146
|
attribute :>> protocol = "CriSys I 7, I 8";
|
|
146
147
|
attribute :>> protocolSemantics = "Visual display of all active notification messages plus audio output (50 dB for 2 seconds per notification), ON mode only";
|
|
147
148
|
attribute :>> interactionPattern = "visual list with per-notification audio annunciation";
|
|
148
|
-
|
|
149
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.4 Notification Interface"; }
|
|
149
150
|
}
|
|
150
151
|
interface siPharmacyDb : Interface {
|
|
151
|
-
|
|
152
|
+
@MemoIdentity { :>> providedId = "SI-005"; }
|
|
152
153
|
attribute :>> name = "HospitalPharmacyDatabaseInterface";
|
|
153
154
|
attribute :>> interfaceKind = InterfaceKind::data;
|
|
154
155
|
attribute :>> direction = DirectionKind::inputOutput;
|
|
155
156
|
attribute :>> protocol = "CriSys I 9, I 10, I 11";
|
|
156
157
|
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";
|
|
157
158
|
attribute :>> interactionPattern = "query/response safe-value lookup";
|
|
158
|
-
|
|
159
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.5 Hospital Pharmacy Database Interface"; }
|
|
159
160
|
}
|
|
160
161
|
|
|
161
162
|
// ── CriSys Ch.3 data dictionary (prog / hd / output families) ─
|
|
162
163
|
item ddPatientIDProg : InterfaceItem {
|
|
163
164
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
164
|
-
|
|
165
|
+
@MemoIdentity { :>> providedId = "DD-005"; }
|
|
165
166
|
attribute :>> name = "PatientID_prog";
|
|
166
167
|
attribute :>> description = "Identifier of the patient in the hospital; provided in the prescription and programmed by the clinician.";
|
|
167
168
|
attribute :>> semantics = "Cannot be empty; alphanumeric without space.";
|
|
168
169
|
attribute :>> unit = "NA";
|
|
169
170
|
attribute :>> encoding = "String";
|
|
170
|
-
|
|
171
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
171
172
|
}
|
|
172
173
|
item ddDrugNameProg : InterfaceItem {
|
|
173
174
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
174
|
-
|
|
175
|
+
@MemoIdentity { :>> providedId = "DD-006"; }
|
|
175
176
|
attribute :>> name = "DrugName_prog";
|
|
176
177
|
attribute :>> description = "Name of the drug prescribed for infusion.";
|
|
177
178
|
attribute :>> semantics = "Cannot be empty; entered value must match DrugName_hd in the hospital pharmacy database.";
|
|
178
179
|
attribute :>> unit = "NA";
|
|
179
180
|
attribute :>> encoding = "String";
|
|
180
|
-
|
|
181
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
181
182
|
}
|
|
182
183
|
item ddDrugConcentrationProg : InterfaceItem {
|
|
183
184
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
184
|
-
|
|
185
|
+
@MemoIdentity { :>> providedId = "DD-007"; }
|
|
185
186
|
attribute :>> name = "DrugConcentration_prog";
|
|
186
187
|
attribute :>> description = "Concentration of the drug in the solution prescribed for infusion.";
|
|
187
188
|
attribute :>> semantics = "Must be between DrugConcentration_lo_hd and DrugConcentration_hi_hd for DrugName_prog in the hospital database.";
|
|
@@ -189,11 +190,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
189
190
|
attribute :>> minValue = "0";
|
|
190
191
|
attribute :>> maxValue = "999";
|
|
191
192
|
attribute :>> encoding = "Positive Integer";
|
|
192
|
-
|
|
193
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
193
194
|
}
|
|
194
195
|
item ddVTBITotalProg : InterfaceItem {
|
|
195
196
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
196
|
-
|
|
197
|
+
@MemoIdentity { :>> providedId = "DD-008"; }
|
|
197
198
|
attribute :>> name = "VTBI_total_prog";
|
|
198
199
|
attribute :>> description = "Maximum total volume of the drug solution that can be infused for the prescription.";
|
|
199
200
|
attribute :>> semantics = "Must be between VTBI_lo_hd and VTBI_hi_hd for DrugName_prog in the hospital database.";
|
|
@@ -201,11 +202,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
201
202
|
attribute :>> minValue = "0";
|
|
202
203
|
attribute :>> maxValue = "999";
|
|
203
204
|
attribute :>> encoding = "Positive Integer";
|
|
204
|
-
|
|
205
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
205
206
|
}
|
|
206
207
|
item ddDurationTotalProg : InterfaceItem {
|
|
207
208
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
208
|
-
|
|
209
|
+
@MemoIdentity { :>> providedId = "DD-009"; }
|
|
209
210
|
attribute :>> name = "Duration_total_prog";
|
|
210
211
|
attribute :>> description = "Prescribed total duration of drug infusion across all delivery modes (BASAL, SQUARE BOLUS, PATIENT BOLUS).";
|
|
211
212
|
attribute :>> semantics = "Cannot be empty; should be >= 0.";
|
|
@@ -213,11 +214,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
213
214
|
attribute :>> minValue = "0";
|
|
214
215
|
attribute :>> maxValue = "999";
|
|
215
216
|
attribute :>> encoding = "Time";
|
|
216
|
-
|
|
217
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
217
218
|
}
|
|
218
219
|
item ddFlowRateBasalProg : InterfaceItem {
|
|
219
220
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
220
|
-
|
|
221
|
+
@MemoIdentity { :>> providedId = "DD-010"; }
|
|
221
222
|
attribute :>> name = "FlowRate_basal_prog";
|
|
222
223
|
attribute :>> description = "Prescribed rate of flow of drug during BASAL delivery mode; default FlowRate_lo_hd.";
|
|
223
224
|
attribute :>> semantics = "Between FlowRate_lo_hd and FlowRate_hi_hd for DrugName_prog; should be < VTBI_total_prog / Duration_total_prog.";
|
|
@@ -225,11 +226,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
225
226
|
attribute :>> minValue = "0";
|
|
226
227
|
attribute :>> maxValue = "999";
|
|
227
228
|
attribute :>> encoding = "Positive Integer";
|
|
228
|
-
|
|
229
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
229
230
|
}
|
|
230
231
|
item ddFlowRateSbolusProg : InterfaceItem {
|
|
231
232
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
232
|
-
|
|
233
|
+
@MemoIdentity { :>> providedId = "DD-011"; }
|
|
233
234
|
attribute :>> name = "FlowRate_sbolus_prog";
|
|
234
235
|
attribute :>> description = "Prescribed flow rate of drug during SQUARE bolus delivery.";
|
|
235
236
|
attribute :>> semantics = ">= 0; if Duration_sbolus_prog or Interval_sbolus_prog > 0, must be between FlowRate_lo_hd and FlowRate_hi_hd.";
|
|
@@ -237,11 +238,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
237
238
|
attribute :>> minValue = "0";
|
|
238
239
|
attribute :>> maxValue = "999";
|
|
239
240
|
attribute :>> encoding = "Positive Integer";
|
|
240
|
-
|
|
241
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
241
242
|
}
|
|
242
243
|
item ddDurationSbolusProg : InterfaceItem {
|
|
243
244
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
244
|
-
|
|
245
|
+
@MemoIdentity { :>> providedId = "DD-012"; }
|
|
245
246
|
attribute :>> name = "Duration_sbolus_prog";
|
|
246
247
|
attribute :>> description = "Maximum duration of a single uninterrupted square bolus delivery.";
|
|
247
248
|
attribute :>> semantics = ">= 0; if FlowRate_sbolus_prog or Interval_sbolus_prog > 0, must be < Interval_sbolus_prog and Duration_total_prog.";
|
|
@@ -249,11 +250,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
249
250
|
attribute :>> minValue = "0";
|
|
250
251
|
attribute :>> maxValue = "999";
|
|
251
252
|
attribute :>> encoding = "Time";
|
|
252
|
-
|
|
253
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
253
254
|
}
|
|
254
255
|
item ddIntervalSbolusProg : InterfaceItem {
|
|
255
256
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
256
|
-
|
|
257
|
+
@MemoIdentity { :>> providedId = "DD-013"; }
|
|
257
258
|
attribute :>> name = "Interval_sbolus_prog";
|
|
258
259
|
attribute :>> description = "Minimum interval between two consecutive square bolus initiations; the first square bolus starts Interval_sbolus_prog minutes after infusion initiation.";
|
|
259
260
|
attribute :>> semantics = ">= 0; if FlowRate_sbolus_prog or Duration_sbolus_prog > 0, must be > Duration_sbolus_prog.";
|
|
@@ -261,11 +262,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
261
262
|
attribute :>> minValue = "0";
|
|
262
263
|
attribute :>> maxValue = "999";
|
|
263
264
|
attribute :>> encoding = "Positive Integer";
|
|
264
|
-
|
|
265
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
265
266
|
}
|
|
266
267
|
item ddFlowRatePbolusProg : InterfaceItem {
|
|
267
268
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
268
|
-
|
|
269
|
+
@MemoIdentity { :>> providedId = "DD-014"; }
|
|
269
270
|
attribute :>> name = "FlowRate_pbolus_prog";
|
|
270
271
|
attribute :>> description = "Prescribed flow rate of drug during patient bolus delivery.";
|
|
271
272
|
attribute :>> semantics = ">= 0; if Duration_pbolus_prog or LockOutPeriod_pbolus_prog > 0, must be between FlowRate_lo_hd and FlowRate_hi_hd.";
|
|
@@ -273,11 +274,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
273
274
|
attribute :>> minValue = "0";
|
|
274
275
|
attribute :>> maxValue = "999";
|
|
275
276
|
attribute :>> encoding = "Positive Integer";
|
|
276
|
-
|
|
277
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
277
278
|
}
|
|
278
279
|
item ddDurationPbolusProg : InterfaceItem {
|
|
279
280
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
280
|
-
|
|
281
|
+
@MemoIdentity { :>> providedId = "DD-015"; }
|
|
281
282
|
attribute :>> name = "Duration_pbolus_prog";
|
|
282
283
|
attribute :>> description = "Maximum duration of a single uninterrupted patient bolus delivery.";
|
|
283
284
|
attribute :>> semantics = ">= 0; if FlowRate_pbolus_prog or LockOutPeriod_pbolus_prog > 0, must be < LockOutPeriod_pbolus_prog and Duration_total_prog.";
|
|
@@ -285,11 +286,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
285
286
|
attribute :>> minValue = "0";
|
|
286
287
|
attribute :>> maxValue = "999";
|
|
287
288
|
attribute :>> encoding = "Time";
|
|
288
|
-
|
|
289
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
289
290
|
}
|
|
290
291
|
item ddLockOutPeriodPbolusProg : InterfaceItem {
|
|
291
292
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
292
|
-
|
|
293
|
+
@MemoIdentity { :>> providedId = "DD-016"; }
|
|
293
294
|
attribute :>> name = "LockOutPeriod_pbolus_prog";
|
|
294
295
|
attribute :>> description = "Minimum interval between two consecutive patient bolus initiations (the lockout period), irrespective of interruption or completion.";
|
|
295
296
|
attribute :>> semantics = ">= 0; if FlowRate_pbolus_prog or Duration_pbolus_prog > 0, must be > Duration_pbolus_prog.";
|
|
@@ -297,11 +298,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
297
298
|
attribute :>> minValue = "0";
|
|
298
299
|
attribute :>> maxValue = "999";
|
|
299
300
|
attribute :>> encoding = "Positive Integer";
|
|
300
|
-
|
|
301
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
301
302
|
}
|
|
302
303
|
item ddNumberMaxPbolusProg : InterfaceItem {
|
|
303
304
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
304
|
-
|
|
305
|
+
@MemoIdentity { :>> providedId = "DD-017"; }
|
|
305
306
|
attribute :>> name = "NumberMax_pbolus_prog";
|
|
306
307
|
attribute :>> description = "Maximum total number of patient boluses that may be initiated during Duration_total_prog.";
|
|
307
308
|
attribute :>> semantics = ">= 0; must be <= NumberMax_pbolus_hd for DrugName_prog in the hospital database.";
|
|
@@ -309,101 +310,101 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
309
310
|
attribute :>> minValue = "0";
|
|
310
311
|
attribute :>> maxValue = "999";
|
|
311
312
|
attribute :>> encoding = "Positive Integer";
|
|
312
|
-
|
|
313
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.1 Prescription Data"; }
|
|
313
314
|
}
|
|
314
315
|
item ddSystemStartProg : InterfaceItem {
|
|
315
316
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
316
|
-
|
|
317
|
+
@MemoIdentity { :>> providedId = "DD-018"; }
|
|
317
318
|
attribute :>> name = "System_start_prog";
|
|
318
319
|
attribute :>> description = "Command to start the system.";
|
|
319
320
|
attribute :>> semantics = "Can be commanded only if the system is in OFF mode.";
|
|
320
321
|
attribute :>> unit = "NA";
|
|
321
322
|
attribute :>> encoding = "Boolean event";
|
|
322
|
-
|
|
323
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.2 Commands"; }
|
|
323
324
|
}
|
|
324
325
|
item ddSystemStopProg : InterfaceItem {
|
|
325
326
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
326
|
-
|
|
327
|
+
@MemoIdentity { :>> providedId = "DD-019"; }
|
|
327
328
|
attribute :>> name = "System_stop_prog";
|
|
328
329
|
attribute :>> description = "Command to stop the system.";
|
|
329
330
|
attribute :>> semantics = "Can be commanded only if the system is in ON mode.";
|
|
330
331
|
attribute :>> unit = "NA";
|
|
331
332
|
attribute :>> encoding = "Boolean event";
|
|
332
|
-
|
|
333
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.2 Commands"; }
|
|
333
334
|
}
|
|
334
335
|
item ddInfusionInitiateProg : InterfaceItem {
|
|
335
336
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
336
|
-
|
|
337
|
+
@MemoIdentity { :>> providedId = "DD-020"; }
|
|
337
338
|
attribute :>> name = "Infusion_initiate_prog";
|
|
338
339
|
attribute :>> description = "Command to initiate infusion of drug.";
|
|
339
340
|
attribute :>> semantics = "Can be commanded only if the system is in ON mode.";
|
|
340
341
|
attribute :>> unit = "NA";
|
|
341
342
|
attribute :>> encoding = "Boolean event";
|
|
342
|
-
|
|
343
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.2 Commands"; }
|
|
343
344
|
}
|
|
344
345
|
item ddInfusionInhibitProg : InterfaceItem {
|
|
345
346
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
346
|
-
|
|
347
|
+
@MemoIdentity { :>> providedId = "DD-021"; }
|
|
347
348
|
attribute :>> name = "Infusion_inhibit_prog";
|
|
348
349
|
attribute :>> description = "Command to inhibit infusion of drug.";
|
|
349
350
|
attribute :>> semantics = "Can be commanded only if the system is in ON mode.";
|
|
350
351
|
attribute :>> unit = "NA";
|
|
351
352
|
attribute :>> encoding = "Boolean event";
|
|
352
|
-
|
|
353
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.2 Commands"; }
|
|
353
354
|
}
|
|
354
355
|
item ddSystemSaveProg : InterfaceItem {
|
|
355
356
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
356
|
-
|
|
357
|
+
@MemoIdentity { :>> providedId = "DD-022"; }
|
|
357
358
|
attribute :>> name = "System_save_prog";
|
|
358
359
|
attribute :>> description = "Command to save the prescription and reservoir initial volume data.";
|
|
359
360
|
attribute :>> semantics = "Can be commanded only if the system is in ON mode.";
|
|
360
361
|
attribute :>> unit = "NA";
|
|
361
362
|
attribute :>> encoding = "Boolean event";
|
|
362
|
-
|
|
363
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.2 Commands"; }
|
|
363
364
|
}
|
|
364
365
|
item ddNotificationCancelProg : InterfaceItem {
|
|
365
366
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
366
|
-
|
|
367
|
+
@MemoIdentity { :>> providedId = "DD-023"; }
|
|
367
368
|
attribute :>> name = "Notification_cancel_prog";
|
|
368
369
|
attribute :>> description = "Command to cancel a selected notification.";
|
|
369
370
|
attribute :>> semantics = "Can be commanded only in ON mode and if a notification is selected.";
|
|
370
371
|
attribute :>> unit = "NA";
|
|
371
372
|
attribute :>> encoding = "Boolean event";
|
|
372
|
-
|
|
373
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.2 Commands"; }
|
|
373
374
|
}
|
|
374
375
|
item ddDisableAudioProg : InterfaceItem {
|
|
375
376
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
376
|
-
|
|
377
|
+
@MemoIdentity { :>> providedId = "DD-024"; }
|
|
377
378
|
attribute :>> name = "Disable_audio_prog";
|
|
378
379
|
attribute :>> description = "Command to disable audio notifications, permanently or temporarily.";
|
|
379
380
|
attribute :>> semantics = "Default FALSE.";
|
|
380
381
|
attribute :>> unit = "NA";
|
|
381
382
|
attribute :>> encoding = "PERM | TEMP | FALSE";
|
|
382
|
-
|
|
383
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.2 Commands"; }
|
|
383
384
|
}
|
|
384
385
|
item ddEnableAudioProg : InterfaceItem {
|
|
385
386
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
386
|
-
|
|
387
|
+
@MemoIdentity { :>> providedId = "DD-025"; }
|
|
387
388
|
attribute :>> name = "Enable_audio_prog";
|
|
388
389
|
attribute :>> description = "Command to enable audio notifications.";
|
|
389
390
|
attribute :>> semantics = "Can be commanded only if audio is disabled.";
|
|
390
391
|
attribute :>> unit = "NA";
|
|
391
392
|
attribute :>> encoding = "Boolean event";
|
|
392
|
-
|
|
393
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.2 Commands"; }
|
|
393
394
|
}
|
|
394
395
|
item ddDataConfigProg : InterfaceItem {
|
|
395
396
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
396
|
-
|
|
397
|
+
@MemoIdentity { :>> providedId = "DD-026"; }
|
|
397
398
|
attribute :>> name = "DataConfig_prog";
|
|
398
399
|
attribute :>> description = "Command to configure prescription data (printed as 'DataCofig_prog' in the source).";
|
|
399
400
|
attribute :>> semantics = "Can be commanded only if the system is in ON mode.";
|
|
400
401
|
attribute :>> unit = "NA";
|
|
401
402
|
attribute :>> encoding = "Boolean event";
|
|
402
|
-
|
|
403
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.2 Commands"; }
|
|
403
404
|
}
|
|
404
405
|
item ddReservoirInitialVolumeProg : InterfaceItem {
|
|
405
406
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
406
|
-
|
|
407
|
+
@MemoIdentity { :>> providedId = "DD-027"; }
|
|
407
408
|
attribute :>> name = "ReservoirInitialVolume_prog";
|
|
408
409
|
attribute :>> description = "Initial volume of drug in the reservoir at the time of entering the prescription; read from the reservoir label.";
|
|
409
410
|
attribute :>> semantics = "Mandatory; shall be >= X ml (threshold left unspecified in the source draft).";
|
|
@@ -411,21 +412,21 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
411
412
|
attribute :>> minValue = "0";
|
|
412
413
|
attribute :>> maxValue = "999";
|
|
413
414
|
attribute :>> encoding = "Positive Integer";
|
|
414
|
-
|
|
415
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.1.3 Drug Reservoir Data"; }
|
|
415
416
|
}
|
|
416
417
|
item ddBolusRequestProg : InterfaceItem {
|
|
417
418
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
418
|
-
|
|
419
|
+
@MemoIdentity { :>> providedId = "DD-028"; }
|
|
419
420
|
attribute :>> name = "BolusRequest_prog";
|
|
420
421
|
attribute :>> description = "Request by the patient to deliver a patient bolus.";
|
|
421
422
|
attribute :>> semantics = "Can be commanded only if the system is in ACTIVE mode.";
|
|
422
423
|
attribute :>> unit = "NA";
|
|
423
424
|
attribute :>> encoding = "Boolean event";
|
|
424
|
-
|
|
425
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.2 Bolus Request Interface"; }
|
|
425
426
|
}
|
|
426
427
|
item ddFlowRateOutput : InterfaceItem {
|
|
427
428
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
428
|
-
|
|
429
|
+
@MemoIdentity { :>> providedId = "DD-029"; }
|
|
429
430
|
attribute :>> name = "FlowRate_output";
|
|
430
431
|
attribute :>> description = "Flow rate of the drug through the hose delivering the drug, measured every X seconds when the system is in ON mode.";
|
|
431
432
|
attribute :>> semantics = "None stated.";
|
|
@@ -433,41 +434,41 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
433
434
|
attribute :>> minValue = "0";
|
|
434
435
|
attribute :>> maxValue = "999";
|
|
435
436
|
attribute :>> encoding = "Positive Integer";
|
|
436
|
-
|
|
437
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.3 Drug Flow Interface"; }
|
|
437
438
|
}
|
|
438
439
|
item ddNotificationVisualOutput : InterfaceItem {
|
|
439
440
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
440
|
-
|
|
441
|
+
@MemoIdentity { :>> providedId = "DD-030"; }
|
|
441
442
|
attribute :>> name = "Notification_Visual_output";
|
|
442
443
|
attribute :>> description = "Visual display of the messages of all active notifications in the system.";
|
|
443
444
|
attribute :>> semantics = "Messages displayed only when the system is in ON mode.";
|
|
444
445
|
attribute :>> unit = "NA";
|
|
445
446
|
attribute :>> encoding = "List of String";
|
|
446
|
-
|
|
447
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.4 Notification Interface"; }
|
|
447
448
|
}
|
|
448
449
|
item ddNotificationAudioOutput : InterfaceItem {
|
|
449
450
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
450
|
-
|
|
451
|
+
@MemoIdentity { :>> providedId = "DD-031"; }
|
|
451
452
|
attribute :>> name = "Notification_Audio_output";
|
|
452
453
|
attribute :>> description = "Audio output for each active notification, in the same order as Notification_Visual_output.";
|
|
453
454
|
attribute :>> semantics = "Audio output possible only when the system is in ON mode.";
|
|
454
455
|
attribute :>> unit = "NA";
|
|
455
456
|
attribute :>> encoding = "List of Boolean";
|
|
456
|
-
|
|
457
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.4 Notification Interface"; }
|
|
457
458
|
}
|
|
458
459
|
item ddDrugNameHd : InterfaceItem {
|
|
459
460
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
460
|
-
|
|
461
|
+
@MemoIdentity { :>> providedId = "DD-032"; }
|
|
461
462
|
attribute :>> name = "DrugName_hd";
|
|
462
463
|
attribute :>> description = "Name of a drug usable for infusion in the hospital that matches DrugName_prog.";
|
|
463
464
|
attribute :>> semantics = "None stated.";
|
|
464
465
|
attribute :>> unit = "NA";
|
|
465
466
|
attribute :>> encoding = "String";
|
|
466
|
-
|
|
467
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.5 Hospital Pharmacy Database Interface"; }
|
|
467
468
|
}
|
|
468
469
|
item ddDrugConcentrationHiHd : InterfaceItem {
|
|
469
470
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
470
|
-
|
|
471
|
+
@MemoIdentity { :>> providedId = "DD-033"; }
|
|
471
472
|
attribute :>> name = "DrugConcentration_hi_hd";
|
|
472
473
|
attribute :>> description = "Maximum concentration of the drug in a solution that can safely be used for infusion for DrugName_hd.";
|
|
473
474
|
attribute :>> semantics = "None stated.";
|
|
@@ -475,11 +476,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
475
476
|
attribute :>> minValue = "0";
|
|
476
477
|
attribute :>> maxValue = "999";
|
|
477
478
|
attribute :>> encoding = "Positive Integer";
|
|
478
|
-
|
|
479
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.5 Hospital Pharmacy Database Interface"; }
|
|
479
480
|
}
|
|
480
481
|
item ddDrugConcentrationLoHd : InterfaceItem {
|
|
481
482
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
482
|
-
|
|
483
|
+
@MemoIdentity { :>> providedId = "DD-034"; }
|
|
483
484
|
attribute :>> name = "DrugConcentration_lo_hd";
|
|
484
485
|
attribute :>> description = "Minimum concentration of the drug in a solution that can safely be used for infusion for DrugName_hd.";
|
|
485
486
|
attribute :>> semantics = "None stated.";
|
|
@@ -487,11 +488,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
487
488
|
attribute :>> minValue = "0";
|
|
488
489
|
attribute :>> maxValue = "999";
|
|
489
490
|
attribute :>> encoding = "Positive Integer";
|
|
490
|
-
|
|
491
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.5 Hospital Pharmacy Database Interface"; }
|
|
491
492
|
}
|
|
492
493
|
item ddVTBIHiHd : InterfaceItem {
|
|
493
494
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
494
|
-
|
|
495
|
+
@MemoIdentity { :>> providedId = "DD-035"; }
|
|
495
496
|
attribute :>> name = "VTBI_hi_hd";
|
|
496
497
|
attribute :>> description = "Maximum volume of drug that is safe to be infused for DrugName_hd.";
|
|
497
498
|
attribute :>> semantics = "None stated.";
|
|
@@ -499,11 +500,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
499
500
|
attribute :>> minValue = "0";
|
|
500
501
|
attribute :>> maxValue = "999";
|
|
501
502
|
attribute :>> encoding = "Positive Integer";
|
|
502
|
-
|
|
503
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.5 Hospital Pharmacy Database Interface"; }
|
|
503
504
|
}
|
|
504
505
|
item ddVTBILoHd : InterfaceItem {
|
|
505
506
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
506
|
-
|
|
507
|
+
@MemoIdentity { :>> providedId = "DD-036"; }
|
|
507
508
|
attribute :>> name = "VTBI_lo_hd";
|
|
508
509
|
attribute :>> description = "Minimum volume of drug that is safe to be infused for DrugName_hd.";
|
|
509
510
|
attribute :>> semantics = "Mandatory.";
|
|
@@ -511,11 +512,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
511
512
|
attribute :>> minValue = "0";
|
|
512
513
|
attribute :>> maxValue = "999";
|
|
513
514
|
attribute :>> encoding = "Positive Integer";
|
|
514
|
-
|
|
515
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.5 Hospital Pharmacy Database Interface"; }
|
|
515
516
|
}
|
|
516
517
|
item ddFlowRateHiHd : InterfaceItem {
|
|
517
518
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
518
|
-
|
|
519
|
+
@MemoIdentity { :>> providedId = "DD-037"; }
|
|
519
520
|
attribute :>> name = "FlowRate_hi_hd";
|
|
520
521
|
attribute :>> description = "Maximum safe flow rate of the drug for DrugName_hd.";
|
|
521
522
|
attribute :>> semantics = "Mandatory.";
|
|
@@ -523,11 +524,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
523
524
|
attribute :>> minValue = "0";
|
|
524
525
|
attribute :>> maxValue = "999";
|
|
525
526
|
attribute :>> encoding = "Positive Integer";
|
|
526
|
-
|
|
527
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.5 Hospital Pharmacy Database Interface"; }
|
|
527
528
|
}
|
|
528
529
|
item ddFlowRateLoHd : InterfaceItem {
|
|
529
530
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
530
|
-
|
|
531
|
+
@MemoIdentity { :>> providedId = "DD-038"; }
|
|
531
532
|
attribute :>> name = "FlowRate_lo_hd";
|
|
532
533
|
attribute :>> description = "Minimum safe flow rate of the drug for DrugName_hd.";
|
|
533
534
|
attribute :>> semantics = "Mandatory.";
|
|
@@ -535,11 +536,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
535
536
|
attribute :>> minValue = "0";
|
|
536
537
|
attribute :>> maxValue = "999";
|
|
537
538
|
attribute :>> encoding = "Positive Integer";
|
|
538
|
-
|
|
539
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.5 Hospital Pharmacy Database Interface"; }
|
|
539
540
|
}
|
|
540
541
|
item ddIntervalPbolusHd : InterfaceItem {
|
|
541
542
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
542
|
-
|
|
543
|
+
@MemoIdentity { :>> providedId = "DD-039"; }
|
|
543
544
|
attribute :>> name = "Interval_pbolus_hd";
|
|
544
545
|
attribute :>> description = "Minimum safe interval between two consecutive patient bolus initiations for DrugName_hd.";
|
|
545
546
|
attribute :>> semantics = "Mandatory.";
|
|
@@ -547,11 +548,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
547
548
|
attribute :>> minValue = "0";
|
|
548
549
|
attribute :>> maxValue = "999";
|
|
549
550
|
attribute :>> encoding = "Positive Integer";
|
|
550
|
-
|
|
551
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.5 Hospital Pharmacy Database Interface"; }
|
|
551
552
|
}
|
|
552
553
|
item ddNumberMaxPbolusHd : InterfaceItem {
|
|
553
554
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
554
|
-
|
|
555
|
+
@MemoIdentity { :>> providedId = "DD-040"; }
|
|
555
556
|
attribute :>> name = "NumberMax_pbolus_hd";
|
|
556
557
|
attribute :>> description = "Maximum number of patient bolus initiations safe to be self-administered for DrugName_hd.";
|
|
557
558
|
attribute :>> semantics = "Mandatory.";
|
|
@@ -559,11 +560,11 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
559
560
|
attribute :>> minValue = "0";
|
|
560
561
|
attribute :>> maxValue = "999";
|
|
561
562
|
attribute :>> encoding = "Positive Integer";
|
|
562
|
-
|
|
563
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.5 Hospital Pharmacy Database Interface"; }
|
|
563
564
|
}
|
|
564
565
|
item ddFlowRateKvoHd : InterfaceItem {
|
|
565
566
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
566
|
-
|
|
567
|
+
@MemoIdentity { :>> providedId = "DD-041"; }
|
|
567
568
|
attribute :>> name = "FlowRate_kvo_hd";
|
|
568
569
|
attribute :>> description = "Minimum flow rate of DrugName_hd that should be maintained to keep the vein open (KVO); default 0.1.";
|
|
569
570
|
attribute :>> semantics = "Mandatory.";
|
|
@@ -571,7 +572,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
571
572
|
attribute :>> minValue = "0";
|
|
572
573
|
attribute :>> maxValue = "5";
|
|
573
574
|
attribute :>> encoding = "Positive Integer";
|
|
574
|
-
|
|
575
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), §3.5 Hospital Pharmacy Database Interface"; }
|
|
575
576
|
}
|
|
576
577
|
|
|
577
578
|
// ── MEMO functional-to-physical allocation abstractions ────
|
|
@@ -579,7 +580,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
579
580
|
// intent. They are not the named port connections in GPCA_Device.aadl;
|
|
580
581
|
// the exact AADL feature topology is authored below and in gpca_trace.
|
|
581
582
|
part exSensorVector : ComponentExchange {
|
|
582
|
-
|
|
583
|
+
@MemoIdentity { :>> providedId = "CE-001"; }
|
|
583
584
|
attribute :>> name = "SensorStatusVectorExchange";
|
|
584
585
|
attribute :>> exchangeKind = FlowKind::measurement;
|
|
585
586
|
ref :>> sourceEndpoint = gpcaDevice.gpcaDeviceSensors;
|
|
@@ -587,10 +588,10 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
587
588
|
ref :>> allocatedExchanges = lfSensorAcquisition;
|
|
588
589
|
attribute :>> direction = DirectionKind::input;
|
|
589
590
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
590
|
-
|
|
591
|
+
@MemoIdentity { :>> sourceReference = "MEMO design extension allocated from LF-001; not a GPCA_Device.aadl connection"; }
|
|
591
592
|
}
|
|
592
593
|
part exFlowCommand : ComponentExchange {
|
|
593
|
-
|
|
594
|
+
@MemoIdentity { :>> providedId = "CE-002"; }
|
|
594
595
|
attribute :>> name = "FlowCommandExchange";
|
|
595
596
|
attribute :>> exchangeKind = FlowKind::command;
|
|
596
597
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portGpcaSwOut;
|
|
@@ -598,10 +599,10 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
598
599
|
ref :>> allocatedExchanges = lfFlowCommand;
|
|
599
600
|
attribute :>> direction = DirectionKind::output;
|
|
600
601
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
601
|
-
|
|
602
|
+
@MemoIdentity { :>> sourceReference = "MEMO design extension allocated from LF-002; not a GPCA_Device.aadl connection"; }
|
|
602
603
|
}
|
|
603
604
|
part exAlarmAnnunciation : ComponentExchange {
|
|
604
|
-
|
|
605
|
+
@MemoIdentity { :>> providedId = "CE-003"; }
|
|
605
606
|
attribute :>> name = "AlarmAnnunciationExchange";
|
|
606
607
|
attribute :>> exchangeKind = FlowKind::alarm;
|
|
607
608
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portGpcaSwOut;
|
|
@@ -609,10 +610,10 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
609
610
|
ref :>> allocatedExchanges = lfAlarmSignal;
|
|
610
611
|
attribute :>> direction = DirectionKind::output;
|
|
611
612
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
612
|
-
|
|
613
|
+
@MemoIdentity { :>> sourceReference = "MEMO design extension allocated from LF-003; not a GPCA_Device.aadl connection"; }
|
|
613
614
|
}
|
|
614
615
|
part exPrescriptionEntry : ComponentExchange {
|
|
615
|
-
|
|
616
|
+
@MemoIdentity { :>> providedId = "CE-004"; }
|
|
616
617
|
attribute :>> name = "PrescriptionEntryExchange";
|
|
617
618
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
618
619
|
ref :>> sourceEndpoint = operatorKeypad;
|
|
@@ -620,7 +621,7 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
620
621
|
ref :>> allocatedExchanges = lfPrescriptionEntry;
|
|
621
622
|
attribute :>> direction = DirectionKind::input;
|
|
622
623
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
623
|
-
|
|
624
|
+
@MemoIdentity { :>> sourceReference = "MEMO design extension allocated from LF-004; not a GPCA_Device.aadl connection"; }
|
|
624
625
|
}
|
|
625
626
|
|
|
626
627
|
// ── GPCA_Device and hardware-subsystem ports (AADL, 1:1) ───
|
|
@@ -649,416 +650,416 @@ package memo_examples_gpca_pump_gpca_interfaces {
|
|
|
649
650
|
// ALARM_to_IM immediate is the same-step alarm-response
|
|
650
651
|
// mechanism the formal properties rely on.
|
|
651
652
|
part ceOpCmdToTlm : ComponentExchange {
|
|
652
|
-
|
|
653
|
+
@MemoIdentity { :>> providedId = "CE-101"; } attribute :>> name = "OP_CMDtoTLM";
|
|
653
654
|
attribute :>> exchangeKind = FlowKind::command;
|
|
654
655
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portOpCmdIn;
|
|
655
656
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmOpCmdIn;
|
|
656
657
|
attribute :>> direction = DirectionKind::input;
|
|
657
658
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
658
|
-
|
|
659
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
659
660
|
}
|
|
660
661
|
part ceConstToTlm : ComponentExchange {
|
|
661
|
-
|
|
662
|
+
@MemoIdentity { :>> providedId = "CE-102"; } attribute :>> name = "CONSTtoTLM";
|
|
662
663
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
663
664
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portConstIn;
|
|
664
665
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmConstIn;
|
|
665
666
|
attribute :>> direction = DirectionKind::input;
|
|
666
667
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
667
|
-
|
|
668
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
668
669
|
}
|
|
669
670
|
part ceTlmOutToOutput : ComponentExchange {
|
|
670
|
-
|
|
671
|
+
@MemoIdentity { :>> providedId = "CE-103"; } attribute :>> name = "TLM_OUT_toOUTPUT";
|
|
671
672
|
attribute :>> exchangeKind = FlowKind::status;
|
|
672
673
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
673
674
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputTlmModeIn;
|
|
674
675
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
675
|
-
|
|
676
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
676
677
|
}
|
|
677
678
|
part ceImToSysStat : ComponentExchange {
|
|
678
|
-
|
|
679
|
+
@MemoIdentity { :>> providedId = "CE-104"; } attribute :>> name = "IM_to_SYS_STAT";
|
|
679
680
|
attribute :>> exchangeKind = FlowKind::status;
|
|
680
681
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImImOut;
|
|
681
682
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatImIn;
|
|
682
683
|
attribute :>> timingSemantics = "sampled (no timing property in source; AADL default breaks the feedback cycle)";
|
|
683
|
-
|
|
684
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
684
685
|
}
|
|
685
686
|
part ceTlmToSysStat : ComponentExchange {
|
|
686
|
-
|
|
687
|
+
@MemoIdentity { :>> providedId = "CE-105"; } attribute :>> name = "TLM_to_SYS_STAT";
|
|
687
688
|
attribute :>> exchangeKind = FlowKind::status;
|
|
688
689
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
689
690
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatTlmModeIn;
|
|
690
691
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
691
|
-
|
|
692
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
692
693
|
}
|
|
693
694
|
part ceSensorToSysStat : ComponentExchange {
|
|
694
|
-
|
|
695
|
+
@MemoIdentity { :>> providedId = "CE-106"; } attribute :>> name = "SENSOR_to_SYS_STAT";
|
|
695
696
|
attribute :>> exchangeKind = FlowKind::measurement;
|
|
696
697
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portSensorIn;
|
|
697
698
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSensorIn;
|
|
698
699
|
attribute :>> direction = DirectionKind::input;
|
|
699
700
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
700
|
-
|
|
701
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
701
702
|
}
|
|
702
703
|
part ceConstToSysStat : ComponentExchange {
|
|
703
|
-
|
|
704
|
+
@MemoIdentity { :>> providedId = "CE-107"; } attribute :>> name = "CONST_to_SYS_STAT";
|
|
704
705
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
705
706
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portConstIn;
|
|
706
707
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatConstIn;
|
|
707
708
|
attribute :>> direction = DirectionKind::input;
|
|
708
709
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
709
|
-
|
|
710
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
710
711
|
}
|
|
711
712
|
part ceConfigToSysStat : ComponentExchange {
|
|
712
|
-
|
|
713
|
+
@MemoIdentity { :>> providedId = "CE-108"; } attribute :>> name = "CONFIG_to_SYS_STAT";
|
|
713
714
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
714
715
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.config.portConfigConfigOut;
|
|
715
716
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatConfigIn;
|
|
716
717
|
attribute :>> timingSemantics = "sampled (no timing property in source; AADL default breaks the feedback cycle)";
|
|
717
|
-
|
|
718
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
718
719
|
}
|
|
719
720
|
part ceSysStatOutToOutput : ComponentExchange {
|
|
720
|
-
|
|
721
|
+
@MemoIdentity { :>> providedId = "CE-109"; } attribute :>> name = "SYS_STAT_OUT_toOUTPUT";
|
|
721
722
|
attribute :>> exchangeKind = FlowKind::status;
|
|
722
723
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut;
|
|
723
724
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputSysStatIn;
|
|
724
725
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
725
|
-
|
|
726
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
726
727
|
}
|
|
727
728
|
part ceImToAlarm : ComponentExchange {
|
|
728
|
-
|
|
729
|
+
@MemoIdentity { :>> providedId = "CE-110"; } attribute :>> name = "IM_to_ALARM";
|
|
729
730
|
attribute :>> exchangeKind = FlowKind::status;
|
|
730
731
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImImOut;
|
|
731
732
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmImIn;
|
|
732
733
|
attribute :>> timingSemantics = "sampled (no timing property in source; AADL default breaks the feedback cycle)";
|
|
733
|
-
|
|
734
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
734
735
|
}
|
|
735
736
|
part ceTlmToAlarm : ComponentExchange {
|
|
736
|
-
|
|
737
|
+
@MemoIdentity { :>> providedId = "CE-111"; } attribute :>> name = "TLM_to_ALARM";
|
|
737
738
|
attribute :>> exchangeKind = FlowKind::status;
|
|
738
739
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
739
740
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmTlmModeIn;
|
|
740
741
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
741
|
-
|
|
742
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
742
743
|
}
|
|
743
744
|
part ceSysMonToAlarm : ComponentExchange {
|
|
744
|
-
|
|
745
|
+
@MemoIdentity { :>> providedId = "CE-112"; } attribute :>> name = "SYS_MON_to_ALARM";
|
|
745
746
|
attribute :>> exchangeKind = FlowKind::status;
|
|
746
747
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemMonitor.portSysMonSysMonOut;
|
|
747
748
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmSysMonIn;
|
|
748
749
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
749
|
-
|
|
750
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
750
751
|
}
|
|
751
752
|
part ceOpCmdToAlarm : ComponentExchange {
|
|
752
|
-
|
|
753
|
+
@MemoIdentity { :>> providedId = "CE-113"; } attribute :>> name = "OP_CMD_to_ALARM";
|
|
753
754
|
attribute :>> exchangeKind = FlowKind::command;
|
|
754
755
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portOpCmdIn;
|
|
755
756
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmOpCmdIn;
|
|
756
757
|
attribute :>> direction = DirectionKind::input;
|
|
757
758
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
758
|
-
|
|
759
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
759
760
|
}
|
|
760
761
|
part ceDbToAlarm : ComponentExchange {
|
|
761
|
-
|
|
762
|
+
@MemoIdentity { :>> providedId = "CE-114"; } attribute :>> name = "DB_to_ALARM";
|
|
762
763
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
763
764
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portDbIn;
|
|
764
765
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmDbIn;
|
|
765
766
|
attribute :>> direction = DirectionKind::input;
|
|
766
767
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
767
|
-
|
|
768
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
768
769
|
}
|
|
769
770
|
part ceSensorToAlarm : ComponentExchange {
|
|
770
|
-
|
|
771
|
+
@MemoIdentity { :>> providedId = "CE-115"; } attribute :>> name = "SENSOR_to_ALARM";
|
|
771
772
|
attribute :>> exchangeKind = FlowKind::measurement;
|
|
772
773
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portSensorIn;
|
|
773
774
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmSensorIn;
|
|
774
775
|
attribute :>> direction = DirectionKind::input;
|
|
775
776
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
776
|
-
|
|
777
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
777
778
|
}
|
|
778
779
|
part ceConstToAlarm : ComponentExchange {
|
|
779
|
-
|
|
780
|
+
@MemoIdentity { :>> providedId = "CE-116"; } attribute :>> name = "CONST_to_ALARM";
|
|
780
781
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
781
782
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portConstIn;
|
|
782
783
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmConstIn;
|
|
783
784
|
attribute :>> direction = DirectionKind::input;
|
|
784
785
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
785
|
-
|
|
786
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
786
787
|
}
|
|
787
788
|
part ceSysStatToAlarm : ComponentExchange {
|
|
788
|
-
|
|
789
|
+
@MemoIdentity { :>> providedId = "CE-117"; } attribute :>> name = "SYS_STAT_to_ALARM";
|
|
789
790
|
attribute :>> exchangeKind = FlowKind::status;
|
|
790
791
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut;
|
|
791
792
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmSysStatIn;
|
|
792
793
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
793
|
-
|
|
794
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
794
795
|
}
|
|
795
796
|
part ceConfigToAlarm : ComponentExchange {
|
|
796
|
-
|
|
797
|
+
@MemoIdentity { :>> providedId = "CE-118"; } attribute :>> name = "CONFIG_to_ALARM";
|
|
797
798
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
798
799
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.config.portConfigConfigOut;
|
|
799
800
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmConfigIn;
|
|
800
801
|
attribute :>> timingSemantics = "sampled (no timing property in source; AADL default breaks the feedback cycle)";
|
|
801
|
-
|
|
802
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
802
803
|
}
|
|
803
804
|
part ceAlarmOutToOutput : ComponentExchange {
|
|
804
|
-
|
|
805
|
+
@MemoIdentity { :>> providedId = "CE-119"; } attribute :>> name = "ALARM_OUT_toOUTPUT";
|
|
805
806
|
attribute :>> exchangeKind = FlowKind::alarm;
|
|
806
807
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmAlarmOut;
|
|
807
808
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputAlarmIn;
|
|
808
809
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
809
|
-
|
|
810
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
810
811
|
}
|
|
811
812
|
part ceTlmToConfig : ComponentExchange {
|
|
812
|
-
|
|
813
|
+
@MemoIdentity { :>> providedId = "CE-120"; } attribute :>> name = "TLM_to_CONFIG";
|
|
813
814
|
attribute :>> exchangeKind = FlowKind::status;
|
|
814
815
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
815
816
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.config.portConfigTlmModeIn;
|
|
816
817
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
817
|
-
|
|
818
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
818
819
|
}
|
|
819
820
|
part cePresToConfig : ComponentExchange {
|
|
820
|
-
|
|
821
|
+
@MemoIdentity { :>> providedId = "CE-121"; } attribute :>> name = "PRES_to_CONFIG";
|
|
821
822
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
822
823
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portPresIn;
|
|
823
824
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.config.portConfigPresIn;
|
|
824
825
|
attribute :>> direction = DirectionKind::input;
|
|
825
826
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
826
|
-
|
|
827
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
827
828
|
}
|
|
828
829
|
part ceOpCmdToConfig : ComponentExchange {
|
|
829
|
-
|
|
830
|
+
@MemoIdentity { :>> providedId = "CE-122"; } attribute :>> name = "OP_CMD_to_CONFIG";
|
|
830
831
|
attribute :>> exchangeKind = FlowKind::command;
|
|
831
832
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portOpCmdIn;
|
|
832
833
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.config.portConfigOpCmdIn;
|
|
833
834
|
attribute :>> direction = DirectionKind::input;
|
|
834
835
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
835
|
-
|
|
836
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
836
837
|
}
|
|
837
838
|
part ceDbToConfig : ComponentExchange {
|
|
838
|
-
|
|
839
|
+
@MemoIdentity { :>> providedId = "CE-123"; } attribute :>> name = "DB_to_CONFIG";
|
|
839
840
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
840
841
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portDbIn;
|
|
841
842
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.config.portConfigDbIn;
|
|
842
843
|
attribute :>> direction = DirectionKind::input;
|
|
843
844
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
844
|
-
|
|
845
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
845
846
|
}
|
|
846
847
|
part ceConsToConfig : ComponentExchange {
|
|
847
|
-
|
|
848
|
+
@MemoIdentity { :>> providedId = "CE-124"; } attribute :>> name = "CONS_to_CONFIG";
|
|
848
849
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
849
850
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portConstIn;
|
|
850
851
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.config.portConfigConstIn;
|
|
851
852
|
attribute :>> direction = DirectionKind::input;
|
|
852
853
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
853
|
-
|
|
854
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
854
855
|
}
|
|
855
856
|
part ceSysStatToConfig : ComponentExchange {
|
|
856
|
-
|
|
857
|
+
@MemoIdentity { :>> providedId = "CE-125"; } attribute :>> name = "SYS_STAT_to_CONFIG";
|
|
857
858
|
attribute :>> exchangeKind = FlowKind::status;
|
|
858
859
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut;
|
|
859
860
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.config.portConfigSysStatIn;
|
|
860
861
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
861
|
-
|
|
862
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
862
863
|
}
|
|
863
864
|
part ceConfigToOutput : ComponentExchange {
|
|
864
|
-
|
|
865
|
+
@MemoIdentity { :>> providedId = "CE-126"; } attribute :>> name = "CONFIG_toOUTPUT";
|
|
865
866
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
866
867
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.config.portConfigConfigOut;
|
|
867
868
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputConfigIn;
|
|
868
869
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
869
|
-
|
|
870
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
870
871
|
}
|
|
871
872
|
part ceTlmToIm : ComponentExchange {
|
|
872
|
-
|
|
873
|
+
@MemoIdentity { :>> providedId = "CE-127"; } attribute :>> name = "TLM_to_IM";
|
|
873
874
|
attribute :>> exchangeKind = FlowKind::status;
|
|
874
875
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
875
876
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImTlmModeIn;
|
|
876
877
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
877
|
-
|
|
878
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
878
879
|
}
|
|
879
880
|
part ceOpCmdToIm : ComponentExchange {
|
|
880
|
-
|
|
881
|
+
@MemoIdentity { :>> providedId = "CE-128"; } attribute :>> name = "OP_CMD_to_IM";
|
|
881
882
|
attribute :>> exchangeKind = FlowKind::command;
|
|
882
883
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portOpCmdIn;
|
|
883
884
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImOpCmdIn;
|
|
884
885
|
attribute :>> direction = DirectionKind::input;
|
|
885
886
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
886
|
-
|
|
887
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
887
888
|
}
|
|
888
889
|
part cePatientToIm : ComponentExchange {
|
|
889
|
-
|
|
890
|
+
@MemoIdentity { :>> providedId = "CE-129"; } attribute :>> name = "PATIENT_to_IM";
|
|
890
891
|
attribute :>> exchangeKind = FlowKind::command;
|
|
891
892
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.portPatientIn;
|
|
892
893
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImPatientIn;
|
|
893
894
|
attribute :>> direction = DirectionKind::input;
|
|
894
895
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
895
|
-
|
|
896
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
896
897
|
}
|
|
897
898
|
part ceConfigToIm : ComponentExchange {
|
|
898
|
-
|
|
899
|
+
@MemoIdentity { :>> providedId = "CE-130"; } attribute :>> name = "CONFIG_to_IM";
|
|
899
900
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
900
901
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.config.portConfigConfigOut;
|
|
901
902
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImConfigIn;
|
|
902
903
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
903
|
-
|
|
904
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
904
905
|
}
|
|
905
906
|
part ceAlarmToIm : ComponentExchange {
|
|
906
|
-
|
|
907
|
+
@MemoIdentity { :>> providedId = "CE-131"; } attribute :>> name = "ALARM_to_IM";
|
|
907
908
|
attribute :>> exchangeKind = FlowKind::alarm;
|
|
908
909
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmAlarmOut;
|
|
909
910
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImAlarmIn;
|
|
910
911
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
911
|
-
|
|
912
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
912
913
|
}
|
|
913
914
|
part ceSysStatToIm : ComponentExchange {
|
|
914
|
-
|
|
915
|
+
@MemoIdentity { :>> providedId = "CE-132"; } attribute :>> name = "SYS_STAT_to_IM";
|
|
915
916
|
attribute :>> exchangeKind = FlowKind::status;
|
|
916
917
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut;
|
|
917
918
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImSysStatIn;
|
|
918
919
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
919
|
-
|
|
920
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
920
921
|
}
|
|
921
922
|
part ceImToOutput : ComponentExchange {
|
|
922
|
-
|
|
923
|
+
@MemoIdentity { :>> providedId = "CE-133"; } attribute :>> name = "IM_toOUTPUT";
|
|
923
924
|
attribute :>> exchangeKind = FlowKind::status;
|
|
924
925
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImImOut;
|
|
925
926
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputImIn;
|
|
926
927
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
927
|
-
|
|
928
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
928
929
|
}
|
|
929
930
|
part ceTlmToSysMon : ComponentExchange {
|
|
930
|
-
|
|
931
|
+
@MemoIdentity { :>> providedId = "CE-134"; } attribute :>> name = "TLM_to_SYS_MON";
|
|
931
932
|
attribute :>> exchangeKind = FlowKind::status;
|
|
932
933
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
933
934
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.systemMonitor.portSysMonTlmModeIn;
|
|
934
935
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
935
|
-
|
|
936
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
936
937
|
}
|
|
937
938
|
part ceSysMonToOutput : ComponentExchange {
|
|
938
|
-
|
|
939
|
+
@MemoIdentity { :>> providedId = "CE-135"; } attribute :>> name = "SYS_MON_toOUTPUT";
|
|
939
940
|
attribute :>> exchangeKind = FlowKind::status;
|
|
940
941
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemMonitor.portSysMonSysMonOut;
|
|
941
942
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputSysMonIn;
|
|
942
943
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
943
|
-
|
|
944
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
944
945
|
}
|
|
945
946
|
part ceTlmToLog : ComponentExchange {
|
|
946
|
-
|
|
947
|
+
@MemoIdentity { :>> providedId = "CE-136"; } attribute :>> name = "TLM_to_LOG";
|
|
947
948
|
attribute :>> exchangeKind = FlowKind::status;
|
|
948
949
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.tlm.portTlmTlmModeOut;
|
|
949
950
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.logging.portLogTlmModeIn;
|
|
950
951
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
951
|
-
|
|
952
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
952
953
|
}
|
|
953
954
|
part ceConfigToLog : ComponentExchange {
|
|
954
|
-
|
|
955
|
+
@MemoIdentity { :>> providedId = "CE-137"; } attribute :>> name = "CONFIG_to_LOG";
|
|
955
956
|
attribute :>> exchangeKind = FlowKind::configuration;
|
|
956
957
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.config.portConfigConfigOut;
|
|
957
958
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.logging.portLogConfigIn;
|
|
958
959
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
959
|
-
|
|
960
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
960
961
|
}
|
|
961
962
|
part ceAlarmToLog : ComponentExchange {
|
|
962
|
-
|
|
963
|
+
@MemoIdentity { :>> providedId = "CE-138"; } attribute :>> name = "ALARM_to_LOG";
|
|
963
964
|
attribute :>> exchangeKind = FlowKind::alarm;
|
|
964
965
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.alarm.portAlarmAlarmOut;
|
|
965
966
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.logging.portLogAlarmIn;
|
|
966
967
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
967
|
-
|
|
968
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
968
969
|
}
|
|
969
970
|
part ceSysStatToLog : ComponentExchange {
|
|
970
|
-
|
|
971
|
+
@MemoIdentity { :>> providedId = "CE-139"; } attribute :>> name = "SYS_STAT_to_LOG";
|
|
971
972
|
attribute :>> exchangeKind = FlowKind::status;
|
|
972
973
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.systemStatus.portSysStatSysStatOut;
|
|
973
974
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.logging.portLogSysStatIn;
|
|
974
975
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
975
|
-
|
|
976
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
976
977
|
}
|
|
977
978
|
part ceImToLog : ComponentExchange {
|
|
978
|
-
|
|
979
|
+
@MemoIdentity { :>> providedId = "CE-140"; } attribute :>> name = "IM_to_LOG";
|
|
979
980
|
attribute :>> exchangeKind = FlowKind::status;
|
|
980
981
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.infusionMgr.portImImOut;
|
|
981
982
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.logging.portLogImIn;
|
|
982
983
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
983
|
-
|
|
984
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
984
985
|
}
|
|
985
986
|
part ceLogToOutput : ComponentExchange {
|
|
986
|
-
|
|
987
|
+
@MemoIdentity { :>> providedId = "CE-141"; } attribute :>> name = "LOG_toOUTPUT";
|
|
987
988
|
attribute :>> exchangeKind = FlowKind::audit;
|
|
988
989
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.logging.portLogLogOut;
|
|
989
990
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputLogIn;
|
|
990
991
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
991
|
-
|
|
992
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
992
993
|
}
|
|
993
994
|
part ceOutputToGpcaOut : ComponentExchange {
|
|
994
|
-
|
|
995
|
+
@MemoIdentity { :>> providedId = "CE-142"; } attribute :>> name = "OUTPUT_to_GPCA_OUT";
|
|
995
996
|
attribute :>> exchangeKind = FlowKind::status;
|
|
996
997
|
ref :>> sourceEndpoint = gpcaDevice.gpcaSoftware.outputBus.portOutputGpcaSwOut;
|
|
997
998
|
ref :>> targetEndpoint = gpcaDevice.gpcaSoftware.portGpcaSwOut;
|
|
998
999
|
attribute :>> direction = DirectionKind::output;
|
|
999
1000
|
attribute :>> timingSemantics = "immediate (same-step delivery, Communication_Properties::Timing => immediate)";
|
|
1000
|
-
|
|
1001
|
+
@MemoIdentity { :>> sourceReference = "CITE-002: CriSys GPCA AADL v2.0, packages/GPCA_SW.aadl (GPCA_SW.Impl)"; }
|
|
1001
1002
|
}
|
|
1002
1003
|
// ── Text macros (App. A.3 internal state variables) ─────────
|
|
1003
1004
|
item ddActualInfusionDurationMacro : InterfaceItem {
|
|
1004
1005
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
1005
|
-
|
|
1006
|
+
@MemoIdentity { :>> providedId = "DD-042"; }
|
|
1006
1007
|
attribute :>> name = "Actual_Infusion_Duration_macro";
|
|
1007
1008
|
attribute :>> description = "Total duration the system has been in ACTIVE mode since infusion was initiated with the current prescription.";
|
|
1008
1009
|
attribute :>> semantics = "Internal variable; reset to 0 every time infusion is initiated with a new prescription (REQ 12/13).";
|
|
1009
1010
|
attribute :>> unit = "minutes";
|
|
1010
1011
|
attribute :>> encoding = "Time";
|
|
1011
|
-
|
|
1012
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), App. A.3 Text Macros"; }
|
|
1012
1013
|
}
|
|
1013
1014
|
item ddActualVolumeInfusedMacro : InterfaceItem {
|
|
1014
1015
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
1015
|
-
|
|
1016
|
+
@MemoIdentity { :>> providedId = "DD-043"; }
|
|
1016
1017
|
attribute :>> name = "Actual_Volume_Infused_macro";
|
|
1017
1018
|
attribute :>> description = "Total volume of drug infused during Actual_Infusion_Duration_macro; drives the infusion-complete condition (REQ 28) and over-infusion VTBI (REQ 20).";
|
|
1018
1019
|
attribute :>> semantics = "Internal variable; default 0; reset to 0 on infusion initiation.";
|
|
1019
1020
|
attribute :>> unit = "ml/hr";
|
|
1020
1021
|
attribute :>> encoding = "Positive Integer";
|
|
1021
|
-
|
|
1022
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), App. A.3 Text Macros"; }
|
|
1022
1023
|
}
|
|
1023
1024
|
item ddFlowRateModeMacro : InterfaceItem {
|
|
1024
1025
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
1025
|
-
|
|
1026
|
+
@MemoIdentity { :>> providedId = "DD-044"; }
|
|
1026
1027
|
attribute :>> name = "FlowRate_Mode_macro";
|
|
1027
1028
|
attribute :>> description = "Programmed flow rate of the current mode: FlowRate_kvo_hd in PAUSED, FlowRate_basal_prog in BASAL, FlowRate_sbolus_prog in SQUARE BOLUS, FlowRate_pbolus_prog in PATIENT BOLUS (§4.1.5).";
|
|
1028
1029
|
attribute :>> semantics = "Internal variable; set by the system when entering the respective mode.";
|
|
1029
1030
|
attribute :>> unit = "ml/hr";
|
|
1030
1031
|
attribute :>> encoding = "Positive Integer";
|
|
1031
|
-
|
|
1032
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), App. A.3 Text Macros"; }
|
|
1032
1033
|
}
|
|
1033
1034
|
item ddInhibitedInfusionMacro : InterfaceItem {
|
|
1034
1035
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
1035
|
-
|
|
1036
|
+
@MemoIdentity { :>> providedId = "DD-045"; }
|
|
1036
1037
|
attribute :>> name = "Inhibited_Infusion_macro";
|
|
1037
1038
|
attribute :>> description = "TRUE when the notification in effect requires all infusion to be inhibited ('Inhibit Infusion' column of REQ 59); FALSE when that notification is cancelled or the system transitions to OFF.";
|
|
1038
1039
|
attribute :>> semantics = "Internal variable set per the REQ 59 action table; drives REQ 30/37 transitions.";
|
|
1039
1040
|
attribute :>> unit = "-";
|
|
1040
1041
|
attribute :>> encoding = "Boolean";
|
|
1041
|
-
|
|
1042
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), App. A.3 Text Macros"; }
|
|
1042
1043
|
}
|
|
1043
1044
|
item ddInhibitedBolusMacro : InterfaceItem {
|
|
1044
1045
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
1045
|
-
|
|
1046
|
+
@MemoIdentity { :>> providedId = "DD-046"; }
|
|
1046
1047
|
attribute :>> name = "Inhibited_Bolus_macro";
|
|
1047
1048
|
attribute :>> description = "TRUE when the notification in effect requires square boluses to be inhibited ('Inhibit Square Bolus' column of REQ 59); cleared on cancel or OFF.";
|
|
1048
1049
|
attribute :>> semantics = "Internal variable set per the REQ 59 action table; drives REQ 31/34/39 guards.";
|
|
1049
1050
|
attribute :>> unit = "-";
|
|
1050
1051
|
attribute :>> encoding = "Boolean";
|
|
1051
|
-
|
|
1052
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), App. A.3 Text Macros"; }
|
|
1052
1053
|
}
|
|
1053
1054
|
item ddInhibitedPatientBolusMacro : InterfaceItem {
|
|
1054
1055
|
attribute :>> itemKind = InterfaceItemKind::data;
|
|
1055
|
-
|
|
1056
|
+
@MemoIdentity { :>> providedId = "DD-047"; }
|
|
1056
1057
|
attribute :>> name = "Inhibited_PatientBolus_macro";
|
|
1057
1058
|
attribute :>> description = "TRUE when the notification in effect requires PATIENT BOLUS inhibit ('Inhibit Patient Bolus' column of REQ 59); cleared on cancel or OFF.";
|
|
1058
1059
|
attribute :>> semantics = "Internal variable set per the REQ 59 action table; drives REQ 25/35/36/38 guards.";
|
|
1059
1060
|
attribute :>> unit = "-";
|
|
1060
1061
|
attribute :>> encoding = "Boolean";
|
|
1061
|
-
|
|
1062
|
+
@MemoIdentity { :>> sourceReference = "CITE-001: CriSys GPCA System Requirements (2013), App. A.3 Text Macros"; }
|
|
1062
1063
|
}
|
|
1063
1064
|
|
|
1064
1065
|
// ── The exchanges as FLOWS (Track A3) ────────────────────────────
|