@memoarchitect/ontology 0.8.22 → 0.8.24
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/memo.package.yaml +3 -0
- package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/views/connected_patient_monitor_overview.sysml +1 -1
- package/examples/embedded-infusion-pump/memo.package.yaml +3 -0
- package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +2 -2
- package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/views/embedded_infusion_pump_overview.sysml +1 -1
- package/examples/functional-logical-physical/memo.package.yaml +3 -0
- package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +1 -1
- package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/views/functional_logical_physical_overview.sysml +1 -1
- package/examples/gpca-pump/memo.package.yaml +3 -0
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +5 -3
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +1 -2
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +52 -82
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +6 -19
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +0 -3
- package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +1 -4
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +2 -5
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +3 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_logical_architecture_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +3 -6
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +1 -4
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +1 -4
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_risk_chain_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +1 -4
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +2 -5
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +1 -4
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +1 -3
- package/examples/ivd-laboratory-system/memo.package.yaml +3 -0
- package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +1 -1
- package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/views/ivd_laboratory_system_overview.sysml +1 -1
- package/examples/manual-surgical-instrument/memo.package.yaml +3 -0
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +1 -1
- package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/views/manual_surgical_instrument_overview.sysml +1 -1
- package/examples/multidimensional-layers/memo.package.yaml +3 -0
- package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/views/multidimensional_layers_overview.sysml +0 -1
- package/examples/nested-architecture-dsm/memo.package.yaml +3 -0
- package/examples/reusable-instrument/memo.package.yaml +3 -0
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +15 -24
- package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/views/reusable_instrument_overview.sysml +0 -1
- package/examples/ros-mobile-robot/memo.package.yaml +3 -0
- package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/views/ros_mobile_robot_overview.sysml +0 -1
- package/examples/software-only-medical-device/memo.package.yaml +3 -0
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +1 -1
- package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/views/software_only_medical_device_overview.sysml +0 -1
- package/examples/surgical-closure-workflow/memo.package.yaml +3 -0
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +36 -49
- package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/views/surgical_closure_workflow_overview.sysml +0 -1
- package/examples/surgical-robot/memo.package.yaml +3 -0
- package/examples/surgical-robot/model/catalog/viewpoints/unassigned/views/surgical_robot_overview.sysml +0 -1
- package/examples/sysml-diagram-samples/memo.package.yaml +2 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +2 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +1 -2
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +1 -2
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +1 -2
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +14 -15
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +1 -2
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +1 -2
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +1 -2
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +1 -2
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +1 -2
- package/examples/temperature-alarm/memo.package.yaml +3 -0
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +4 -8
- package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/views/temperature_alarm_overview.sysml +0 -1
- package/examples/ui-screen-regions/memo.package.yaml +3 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +1 -2
- package/extensions/aadl/memo.package.yaml +1 -1
- package/extensions/cloud/memo.package.yaml +1 -1
- package/extensions/container/memo.package.yaml +1 -1
- package/extensions/container/src/container_extension.sysml +2 -2
- package/extensions/messaging/memo.package.yaml +1 -1
- package/extensions/ros/memo.package.yaml +1 -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 +1 -1
- package/profile/memo.package.yaml +1 -1
- package/src/architecture/functional/behavior/memo_behavior.sysml +4 -4
- package/src/architecture/functional/functions/memo_functions.sysml +6 -6
- package/src/architecture/implementation/hardware/common/memo_hardware_common.sysml +2 -2
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +7 -7
- package/src/architecture/implementation/ui/memo_ui.sysml +8 -8
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +1 -1
- package/src/architecture/logical/structure/memo_logical_structure.sysml +5 -5
- package/src/architecture/operational/activities/memo_activities.sysml +19 -28
- package/src/architecture/operational/context/actors/memo_actors.sysml +5 -4
- package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +7 -7
- package/src/architecture/operational/context/use_context/memo_use_context.sysml +2 -3
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +18 -100
- package/src/architecture/operational/structure/memo_operational.sysml +42 -13
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +0 -1
- package/src/architecture/operational/workflows/memo_workflows.sysml +20 -22
- package/src/architecture/realization/deployment/memo_deployment.sysml +10 -10
- package/src/architecture/realization/physical/memo_physical_architecture.sysml +2 -2
- package/src/artifacts/templates/dhf/system/sad.md +3 -3
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +2 -2
- package/src/assurance/human_factors/memo_human_factors.sysml +2 -2
- package/src/assurance/requirements/memo_requirements.sysml +2 -18
- package/src/assurance/safety_risk/analysis/memo_fmea.sysml +1 -1
- package/src/assurance/safety_risk/memo_risk.sysml +12 -0
- package/src/assurance/verification_validation/memo_assurance.sysml +1 -1
- package/src/core/common/memo_common.sysml +9 -5
- package/src/core/relationships/memo_relationships.sysml +8 -8
- package/src/methodology/workflow/memo_workflow.sysml +5 -5
- package/src/rules/closure/closure_rules.sysml +20 -20
- package/src/rules/crosslayer/cross_layer_rules.sysml +2 -2
- package/src/rules/ontology/ontology_invariants.sysml +40 -40
- package/src/rules/quantitative/quantitative_rules.sysml +2 -2
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +29 -29
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +1 -2
- package/src/viewpoints/context/context_viewpoint.sysml +1 -2
- package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +1 -2
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +2 -4
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +46 -4
- package/src/viewpoints/functional/functional_viewpoint.sysml +2 -3
- package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +1 -2
- package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +1 -2
- package/src/viewpoints/logical/logical_viewpoint.sysml +1 -2
- package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +1 -2
- package/src/viewpoints/operational/operational_viewpoint.sysml +2 -3
- package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +2 -3
- package/src/viewpoints/physical/physical_viewpoint.sysml +1 -2
- package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +1 -2
- package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +1 -2
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +1 -2
- package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +1 -2
- package/src/viewpoints/risk/risk_viewpoint.sysml +1 -2
- package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +1 -2
- package/src/viewpoints/software/software_viewpoint.sysml +1 -2
- package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +1 -2
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +1 -2
- package/src/viewpoints/usability/usability_viewpoint.sysml +1 -2
- package/src/viewpoints/verification/verification_viewpoint.sysml +1 -2
- package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +1 -2
- package/templates/connected-device/memo.package.yaml +2 -0
- package/templates/default/memo.package.yaml +2 -0
- package/templates/infusion-pump/memo.package.yaml +2 -0
- package/templates/monitoring-device/memo.package.yaml +2 -0
- package/templates/samd/memo.package.yaml +2 -0
|
@@ -34,41 +34,32 @@ package memo_examples_reusable_instrument {
|
|
|
34
34
|
attribute :>> workflowState = WorkflowStateKind::asIs;
|
|
35
35
|
attribute :>> entryCondition = "used instrument received in decontamination";
|
|
36
36
|
attribute :>> completionCondition = "sterile pack released to storage";
|
|
37
|
-
|
|
38
|
-
action wsClean : WorkflowStep { ref :>> performedActivity = actClean; }
|
|
39
|
-
first wsClean then wsInspect;
|
|
40
37
|
}
|
|
41
|
-
action actClean :
|
|
38
|
+
action actClean : OperativeAction {
|
|
42
39
|
attribute :>> id = "RI-ACT-001"; attribute :>> name = "CleanAndDisinfect";
|
|
43
40
|
attribute :>> criticality = CriticalityKind::high;
|
|
44
41
|
}
|
|
45
|
-
action actInspect :
|
|
42
|
+
action actInspect : OperativeAction {
|
|
46
43
|
attribute :>> id = "RI-ACT-002"; attribute :>> name = "InspectAndFunctionTest";
|
|
47
44
|
attribute :>> criticality = CriticalityKind::high;
|
|
48
45
|
}
|
|
49
|
-
action actSterilizeLoad :
|
|
46
|
+
action actSterilizeLoad : OperativeAction {
|
|
50
47
|
attribute :>> id = "RI-ACT-003"; attribute :>> name = "PackAndAutoclave";
|
|
51
48
|
attribute :>> criticality = CriticalityKind::high;
|
|
52
49
|
}
|
|
53
|
-
action wsInspect : WorkflowStep { ref :>> performedActivity = actInspect; }
|
|
54
|
-
action wsSterilize : WorkflowStep { ref :>> performedActivity = actSterilizeLoad; }
|
|
55
|
-
first wsInspect then wsSterilize;
|
|
56
|
-
connection : Supports { attribute :>> supportKind = SupportKind::useCase; connect supporter ::> wfReprocess to supported ::> ucSterilize; }
|
|
57
50
|
|
|
58
|
-
action scNominalCycle :
|
|
51
|
+
action scNominalCycle : OperativeScenario {
|
|
59
52
|
attribute :>> id = "RI-SC-001"; attribute :>> name = "NominalReprocessingCycle";
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
// may associate this occurrence with their asset or batch record.
|
|
67
|
-
part occCycle113 : ScenarioOccurrence {
|
|
68
|
-
attribute :>> id = "RI-OCC-113"; attribute :>> name = "ReprocessingCycle113";
|
|
69
|
-
attribute :>> occurredAt = "2026-07-15T14:02:00Z";
|
|
70
|
-
attribute :>> hypothetical = false;
|
|
71
|
-
attribute :>> outcomeSummary = "cycle completed; biological indicator passed";
|
|
72
|
-
ref :>> executedScenario = scNominalCycle;
|
|
53
|
+
|
|
54
|
+
perform actClean;
|
|
55
|
+
perform actInspect;
|
|
56
|
+
perform actSterilizeLoad;
|
|
57
|
+
first actClean then actInspect;
|
|
58
|
+
first actInspect then actSterilizeLoad;
|
|
73
59
|
}
|
|
60
|
+
|
|
61
|
+
connection : RealizesUseCase connect realizingWorkflow ::> wfReprocess to realizedUseCase ::> ucSterilize;
|
|
62
|
+
|
|
63
|
+
|
|
64
|
+
connection : HasScenario connect owningWorkflow ::> wfReprocess to pathScenario ::> scNominalCycle;
|
|
74
65
|
}
|
|
@@ -6,7 +6,6 @@ package memo_examples_reusable_instrument_viewpoints_unassigned_views_reusable_i
|
|
|
6
6
|
view reusableInstrumentOverview : MemoDiagramView {
|
|
7
7
|
expose memo_examples_reusable_instrument::*;
|
|
8
8
|
attribute depth = 2;
|
|
9
|
-
attribute :>> title = "Reusable Instrument Overview";
|
|
10
9
|
attribute :>> viewKind = DiagramViewKind::actionflow;
|
|
11
10
|
attribute :>> diagramType = "ofd";
|
|
12
11
|
}
|
|
@@ -6,7 +6,6 @@ package memo_examples_ros_mobile_robot_viewpoints_unassigned_views_ros_mobile_ro
|
|
|
6
6
|
view rosMobileRobotOverview : MemoDiagramView {
|
|
7
7
|
expose memo_examples_ros_mobile_robot::*;
|
|
8
8
|
attribute depth = 2;
|
|
9
|
-
attribute :>> title = "ROS Mobile Robot Overview";
|
|
10
9
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
11
10
|
attribute :>> diagramType = "bdd";
|
|
12
11
|
}
|
package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml
CHANGED
|
@@ -50,7 +50,7 @@ package memo_examples_software_only_medical_device {
|
|
|
50
50
|
}
|
|
51
51
|
#refinement dependency svcGrading to swGradingModule;
|
|
52
52
|
|
|
53
|
-
part duContainerImage :
|
|
53
|
+
part duContainerImage : SoftwareDeploymentUnit {
|
|
54
54
|
attribute :>> id = "SMD-DU-001"; attribute :>> name = "ScreeningServiceImage";
|
|
55
55
|
attribute :>> unitKind = "OCI container image";
|
|
56
56
|
attribute :>> integrityProtection = "image signature + SBOM attestation";
|
|
@@ -6,7 +6,6 @@ package memo_examples_software_only_medical_device_viewpoints_unassigned_views_s
|
|
|
6
6
|
view softwareOnlyMedicalDeviceOverview : MemoDiagramView {
|
|
7
7
|
expose memo_examples_software_only_medical_device::*;
|
|
8
8
|
attribute depth = 2;
|
|
9
|
-
attribute :>> title = "Software-only Medical Device Overview";
|
|
10
9
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
11
10
|
attribute :>> diagramType = "bdd";
|
|
12
11
|
}
|
|
@@ -60,13 +60,13 @@ package memo_examples_surgical_closure_workflow {
|
|
|
60
60
|
connection : Motivates connect motivatingNeed ::> needControlledGastricResection to motivatedUseCase ::> ucPerformSleeveGastrectomy;
|
|
61
61
|
|
|
62
62
|
// ── Procedure workflow ──────────────────────────────────────
|
|
63
|
-
action actTimeOutAndPosition :
|
|
64
|
-
action actEstablishAccess :
|
|
65
|
-
action actMobilizeStomach :
|
|
66
|
-
action actSizeAndCreateSleeve :
|
|
63
|
+
action actTimeOutAndPosition : OperativeAction { attribute :>> id = "LSG-ACT-001"; attribute :>> name = "ConfirmTimeOutAndPosition"; }
|
|
64
|
+
action actEstablishAccess : OperativeAction { attribute :>> id = "LSG-ACT-002"; attribute :>> name = "EstablishLaparoscopicAccess"; }
|
|
65
|
+
action actMobilizeStomach : OperativeAction { attribute :>> id = "LSG-ACT-003"; attribute :>> name = "MobilizeStomach"; }
|
|
66
|
+
action actSizeAndCreateSleeve : OperativeAction {
|
|
67
67
|
attribute :>> id = "LSG-ACT-004"; attribute :>> name = "SizeAndCreateSleeve"; attribute :>> criticality = CriticalityKind::high;
|
|
68
68
|
|
|
69
|
-
action taskCreateStapleLine :
|
|
69
|
+
action taskCreateStapleLine : OperativeAction {
|
|
70
70
|
attribute :>> criticality = CriticalityKind::high;
|
|
71
71
|
attribute :>> id = "LSG-TASK-001";
|
|
72
72
|
attribute :>> name = "CreateAndInspectStapleLine";
|
|
@@ -74,18 +74,18 @@ package memo_examples_surgical_closure_workflow {
|
|
|
74
74
|
attribute :>> potentialHarm = "bleeding or staple-line complication not recognized before handover";
|
|
75
75
|
attribute :>> severityIfFailed = SeverityKind::serious;
|
|
76
76
|
|
|
77
|
-
action stConfirmAnatomy :
|
|
78
|
-
action stCreateStapleLine :
|
|
79
|
-
action stInspectBleeding :
|
|
80
|
-
action stAssessIntegrity :
|
|
77
|
+
action stConfirmAnatomy : OperativeAction { attribute :>> id = "LSG-ST-001"; attribute :>> name = "ConfirmAnatomy"; }
|
|
78
|
+
action stCreateStapleLine : OperativeAction { attribute :>> id = "LSG-ST-002"; attribute :>> name = "CreateStapleLine"; }
|
|
79
|
+
action stInspectBleeding : OperativeAction { attribute :>> id = "LSG-ST-003"; attribute :>> name = "InspectForBleeding"; }
|
|
80
|
+
action stAssessIntegrity : OperativeAction { attribute :>> id = "LSG-ST-004"; attribute :>> name = "AssessStapleLineIntegrity"; }
|
|
81
81
|
first stConfirmAnatomy then stCreateStapleLine;
|
|
82
82
|
first stCreateStapleLine then stInspectBleeding;
|
|
83
83
|
first stInspectBleeding then stAssessIntegrity;
|
|
84
84
|
}
|
|
85
85
|
}
|
|
86
|
-
action actAssessStapleLine :
|
|
87
|
-
action actExtractSpecimenAndClose :
|
|
88
|
-
action actHandover :
|
|
86
|
+
action actAssessStapleLine : OperativeAction { attribute :>> id = "LSG-ACT-005"; attribute :>> name = "AssessStapleLine"; attribute :>> criticality = CriticalityKind::high; }
|
|
87
|
+
action actExtractSpecimenAndClose : OperativeAction { attribute :>> id = "LSG-ACT-006"; attribute :>> name = "ExtractSpecimenAndClosePorts"; }
|
|
88
|
+
action actHandover : OperativeAction { attribute :>> id = "LSG-ACT-007"; attribute :>> name = "CompletePostoperativeHandover"; }
|
|
89
89
|
|
|
90
90
|
action wfSleeveGastrectomy : ClinicalProcedureWorkflow {
|
|
91
91
|
attribute :>> id = "LSG-WF-001";
|
|
@@ -94,53 +94,33 @@ package memo_examples_surgical_closure_workflow {
|
|
|
94
94
|
attribute :>> entryCondition = "patient prepared; time-out ready";
|
|
95
95
|
attribute :>> completionCondition = "staple line assessed; postoperative handover complete";
|
|
96
96
|
attribute :>> clinicalObjective = "create a gastric sleeve after controlled mobilisation and staple-line assessment";
|
|
97
|
-
|
|
98
|
-
action wsTimeOut : WorkflowStep { ref :>> performedActivity = actTimeOutAndPosition; }
|
|
99
|
-
action wsAccess : WorkflowStep { ref :>> performedActivity = actEstablishAccess; }
|
|
100
|
-
action wsMobilize : WorkflowStep { ref :>> performedActivity = actMobilizeStomach; }
|
|
101
|
-
action wsSleeve : WorkflowStep { ref :>> performedActivity = actSizeAndCreateSleeve; }
|
|
102
|
-
action wsAssess : WorkflowStep { ref :>> performedActivity = actAssessStapleLine; }
|
|
103
|
-
action wsClose : WorkflowStep { ref :>> performedActivity = actExtractSpecimenAndClose; }
|
|
104
|
-
action wsHandover : WorkflowStep { ref :>> performedActivity = actHandover; }
|
|
105
|
-
first wsTimeOut then wsAccess;
|
|
106
|
-
first wsAccess then wsMobilize;
|
|
107
|
-
first wsMobilize then wsSleeve;
|
|
108
|
-
first wsSleeve then wsAssess;
|
|
109
|
-
first wsAssess then wsClose;
|
|
110
|
-
first wsClose then wsHandover;
|
|
111
97
|
}
|
|
112
|
-
connection : Supports { attribute :>> supportKind = SupportKind::useCase; connect supporter ::> wfSleeveGastrectomy to supported ::> ucPerformSleeveGastrectomy; }
|
|
113
98
|
|
|
114
99
|
// ── Scenario paths, each with its own activity/action flow ──
|
|
115
|
-
action scNominalSleeveProcedure :
|
|
100
|
+
action scNominalSleeveProcedure : OperativeScenario {
|
|
116
101
|
attribute :>> id = "LSG-SC-001"; attribute :>> name = "NominalSleeveGastrectomy";
|
|
117
|
-
attribute :>> scenarioKind = ScenarioKind::operative;
|
|
118
|
-
attribute :>> variantKind = ScenarioVariantKind::nominal;
|
|
119
|
-
attribute :>> operationalCondition = OperationalConditionKind::normal;
|
|
120
102
|
attribute :>> pathSummary = "Time-out, access, mobilisation, sleeve creation, staple-line assessment, closure, and handover complete without rework.";
|
|
121
|
-
ref :>> parentWorkflow = wfSleeveGastrectomy;
|
|
122
|
-
ref :>> parentUseCase = ucPerformSleeveGastrectomy;
|
|
123
|
-
ref :>> activities = oaCompleteSleeveProcedure;
|
|
124
103
|
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
104
|
+
perform actTimeOutAndPosition;
|
|
105
|
+
perform actEstablishAccess;
|
|
106
|
+
perform actMobilizeStomach;
|
|
107
|
+
perform actSizeAndCreateSleeve;
|
|
108
|
+
perform actAssessStapleLine;
|
|
109
|
+
perform actExtractSpecimenAndClose;
|
|
110
|
+
perform actHandover;
|
|
111
|
+
first actTimeOutAndPosition then actEstablishAccess;
|
|
112
|
+
first actEstablishAccess then actMobilizeStomach;
|
|
113
|
+
first actMobilizeStomach then actSizeAndCreateSleeve;
|
|
114
|
+
first actSizeAndCreateSleeve then actAssessStapleLine;
|
|
115
|
+
first actAssessStapleLine then actExtractSpecimenAndClose;
|
|
116
|
+
first actExtractSpecimenAndClose then actHandover;
|
|
130
117
|
}
|
|
131
|
-
action scStapleLineBleeding :
|
|
118
|
+
action scStapleLineBleeding : OperativeScenario {
|
|
119
|
+
attribute :>> scenarioKind = ScenarioKind::alternate;
|
|
132
120
|
attribute :>> id = "LSG-SC-002"; attribute :>> name = "StapleLineBleedingRecovery";
|
|
133
|
-
attribute :>> scenarioKind = ScenarioKind::operative;
|
|
134
|
-
attribute :>> variantKind = ScenarioVariantKind::recovery;
|
|
135
|
-
attribute :>> operationalCondition = OperationalConditionKind::degraded;
|
|
136
|
-
attribute :>> variationPoint = "bleeding observed during staple-line assessment";
|
|
137
121
|
attribute :>> pathSummary = "Recognize bleeding, apply the selected control, reassess the staple line, and escalate if the condition remains unresolved.";
|
|
138
|
-
ref :>> baseScenario = scNominalSleeveProcedure;
|
|
139
|
-
ref :>> parentWorkflow = wfSleeveGastrectomy;
|
|
140
|
-
ref :>> parentUseCase = ucPerformSleeveGastrectomy;
|
|
141
|
-
ref :>> activities = oaControlStapleLineBleeding;
|
|
142
122
|
|
|
143
|
-
action oaControlStapleLineBleeding :
|
|
123
|
+
action oaControlStapleLineBleeding : OperativeAction {
|
|
144
124
|
attribute :>> name = "ControlStapleLineBleeding";
|
|
145
125
|
action recognizeBleeding; action controlBleeding; action reassessStapleLine; action escalateIfNeeded;
|
|
146
126
|
first start then recognizeBleeding; first recognizeBleeding then controlBleeding; first controlBleeding then reassessStapleLine; first reassessStapleLine then escalateIfNeeded; first escalateIfNeeded then done;
|
|
@@ -148,4 +128,11 @@ package memo_examples_surgical_closure_workflow {
|
|
|
148
128
|
}
|
|
149
129
|
#refinement dependency scNominalSleeveProcedure to ucPerformSleeveGastrectomy;
|
|
150
130
|
#refinement dependency scStapleLineBleeding to ucPerformSleeveGastrectomy;
|
|
131
|
+
|
|
132
|
+
connection : RealizesUseCase connect realizingWorkflow ::> wfSleeveGastrectomy to realizedUseCase ::> ucPerformSleeveGastrectomy;
|
|
133
|
+
|
|
134
|
+
|
|
135
|
+
connection : HasScenario connect owningWorkflow ::> wfSleeveGastrectomy to pathScenario ::> scNominalSleeveProcedure;
|
|
136
|
+
connection : HasScenario connect owningWorkflow ::> wfSleeveGastrectomy to pathScenario ::> scStapleLineBleeding;
|
|
137
|
+
|
|
151
138
|
}
|
|
@@ -6,7 +6,6 @@ package memo_examples_surgical_closure_workflow_viewpoints_unassigned_views_surg
|
|
|
6
6
|
view surgicalClosureWorkflowOverview : MemoDiagramView {
|
|
7
7
|
expose memo_examples_surgical_closure_workflow::*;
|
|
8
8
|
attribute depth = 2;
|
|
9
|
-
attribute :>> title = "Laparoscopic Sleeve Gastrectomy Workflow";
|
|
10
9
|
attribute :>> viewKind = DiagramViewKind::actionflow;
|
|
11
10
|
attribute :>> diagramType = "ofd";
|
|
12
11
|
}
|
|
@@ -6,7 +6,6 @@ package memo_examples_surgical_robot_viewpoints_unassigned_views_surgical_robot_
|
|
|
6
6
|
view surgicalRobotOverview : MemoDiagramView {
|
|
7
7
|
expose memo_examples_surgical_robot::*;
|
|
8
8
|
attribute depth = 2;
|
|
9
|
-
attribute :>> title = "Surgical Robot Overview";
|
|
10
9
|
attribute :>> viewKind = DiagramViewKind::interconnection;
|
|
11
10
|
attribute :>> diagramType = "ibd";
|
|
12
11
|
}
|
|
@@ -7,5 +7,7 @@
|
|
|
7
7
|
# (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
|
|
8
8
|
# removed at the native semantic flip and are now rejected if present.
|
|
9
9
|
name: sysml-diagram-samples
|
|
10
|
+
entrypoint: model/catalog/project.sysml
|
|
11
|
+
include: [model]
|
|
10
12
|
version: 0.1.0
|
|
11
13
|
description: "MEMO Architect diagram rendering samples \u2014 one openable view per standard SysML v2 diagram type. Open with: memo-architect --example standard-sysml-diagrams"
|
|
@@ -62,7 +62,7 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_action_f
|
|
|
62
62
|
allocate sampleActionFlow.record to laneB;
|
|
63
63
|
|
|
64
64
|
// MemoLink sample — the universal relation, exercised where nothing else
|
|
65
|
-
// reaches. laneB is a `part` (LogicalComponent :>
|
|
65
|
+
// reaches. laneB is a `part` (LogicalComponent :> MemoPart) and
|
|
66
66
|
// `sampleActionFlow.process` is an action usage (:> MemoAction). Those
|
|
67
67
|
// foundations share no supertype, so every typed relation in the ontology
|
|
68
68
|
// is unavailable here: legalRelationshipTypes returns MemoLink and nothing
|
|
@@ -84,10 +84,9 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_action_f
|
|
|
84
84
|
expose laneA;
|
|
85
85
|
expose laneB;
|
|
86
86
|
attribute depth = 2;
|
|
87
|
-
attribute :>> title = "Sample · Action Flow";
|
|
88
87
|
attribute :>> shortDescription = "Dummy actions, typed item flows, successions, and a composite action for renderer development.";
|
|
89
88
|
attribute :>> viewKind = DiagramViewKind::actionflow;
|
|
90
89
|
attribute :>> diagramType = "afd";
|
|
91
|
-
|
|
90
|
+
ref :>> viewpointDefinition = functionalViewpoint;
|
|
92
91
|
}
|
|
93
92
|
}
|
package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml
CHANGED
|
@@ -43,11 +43,10 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_context_
|
|
|
43
43
|
expose pharmacySystem;
|
|
44
44
|
expose homeContext;
|
|
45
45
|
attribute depth = 1;
|
|
46
|
-
attribute :>> title = "Sample · System Context";
|
|
47
46
|
attribute :>> shortDescription = "Operational system context: one black-box system boundary, its external people, peer systems, operating environment, and named boundary-crossing interactions.";
|
|
48
47
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
49
48
|
attribute :>> diagramType = "context";
|
|
50
|
-
|
|
49
|
+
ref :>> viewpointDefinition = contextViewpoint;
|
|
51
50
|
part :>> selectionQuery {
|
|
52
51
|
attribute :>> includeRelationshipKinds = ("InteractsWith", "flow", "AppliesInContext");
|
|
53
52
|
}
|
|
@@ -134,10 +134,9 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_function
|
|
|
134
134
|
expose fxDeliveryFlow::**;
|
|
135
135
|
expose fxPumpSystem::**;
|
|
136
136
|
attribute depth = 2;
|
|
137
|
-
attribute :>> title = "Sample · Dose Delivery (Functional Flow)";
|
|
138
137
|
attribute :>> shortDescription = "Component behaviour: functions in swimlanes per realising component, typed data/energy/material flows, a fork/join for concurrent occlusion monitoring, and a composite 'Deliver Medication' valve sub-flow (double-click to drill in).";
|
|
139
138
|
attribute :>> viewKind = DiagramViewKind::actionflow;
|
|
140
139
|
attribute :>> diagramType = "ffd";
|
|
141
|
-
|
|
140
|
+
ref :>> viewpointDefinition = functionalViewpoint;
|
|
142
141
|
}
|
|
143
142
|
}
|
|
@@ -75,11 +75,10 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_intercon
|
|
|
75
75
|
expose waterSupply::**;
|
|
76
76
|
expose cup::**;
|
|
77
77
|
attribute depth = 2;
|
|
78
|
-
attribute :>> title = "Coffee Machine · Thermal & Fluid IBD";
|
|
79
78
|
attribute :>> shortDescription = "Balanced internal architecture with readable boundary ports, nested service diagnostics, and external water and beverage interfaces.";
|
|
80
79
|
attribute :>> viewKind = DiagramViewKind::interconnection;
|
|
81
80
|
attribute :>> diagramType = "ibd";
|
|
82
|
-
|
|
81
|
+
ref :>> viewpointDefinition = logicalArchitectureViewpoint;
|
|
83
82
|
part :>> selectionQuery {
|
|
84
83
|
attribute :>> includeRelationshipKinds = ("Composes", "flow", "bind");
|
|
85
84
|
}
|
|
@@ -18,10 +18,10 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_operatio
|
|
|
18
18
|
attribute :>> itemKind = InterfaceItemKind::signal;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
-
action def OpPrescribeTherapy specializes
|
|
22
|
-
action def OpVerifyPrescription specializes
|
|
23
|
-
action def OpRequestBolus specializes
|
|
24
|
-
action def OpCheckLockout specializes
|
|
21
|
+
action def OpPrescribeTherapy specializes OperativeAction { out item prescription : OpPrescription; }
|
|
22
|
+
action def OpVerifyPrescription specializes OperativeAction { in item prescription : OpPrescription; }
|
|
23
|
+
action def OpRequestBolus specializes OperativeAction { out item bolusRequest : OpBolusRequest; }
|
|
24
|
+
action def OpCheckLockout specializes OperativeAction { in item bolusRequest : OpBolusRequest; }
|
|
25
25
|
|
|
26
26
|
// Use the canonical MEMO operational system type—never a sample-local
|
|
27
27
|
// placeholder—so ontology-driven Explorer grouping remains authoritative.
|
|
@@ -45,22 +45,22 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_operatio
|
|
|
45
45
|
}
|
|
46
46
|
}
|
|
47
47
|
|
|
48
|
-
action opSetupFlow :
|
|
48
|
+
action opSetupFlow : OperativeAction {
|
|
49
49
|
action opPrescribe : OpPrescribeTherapy { attribute :>> name = "Prescribe Therapy"; }
|
|
50
50
|
action opVerify : OpVerifyPrescription { attribute :>> name = "Verify Prescription"; }
|
|
51
51
|
fork opForkPrep;
|
|
52
|
-
action opPrime :
|
|
53
|
-
action opSelfTest :
|
|
52
|
+
action opPrime : OperativeAction { attribute :>> name = "Prime Pump & Load Reservoir"; }
|
|
53
|
+
action opSelfTest : OperativeAction { attribute :>> name = "Run Device Self-Test"; }
|
|
54
54
|
join opJoinPrep;
|
|
55
|
-
action opProgram :
|
|
56
|
-
action opConnect :
|
|
57
|
-
action opStart :
|
|
58
|
-
action opAdminister :
|
|
55
|
+
action opProgram : OperativeAction { attribute :>> name = "Program Pump Parameters"; }
|
|
56
|
+
action opConnect : OperativeAction { attribute :>> name = "Connect to Patient"; }
|
|
57
|
+
action opStart : OperativeAction { attribute :>> name = "Start Infusion"; }
|
|
58
|
+
action opAdminister : OperativeAction {
|
|
59
59
|
attribute :>> name = "Administer PCA Therapy";
|
|
60
60
|
action opRequestBolus : OpRequestBolus { attribute :>> name = "Request Bolus"; }
|
|
61
61
|
action opCheckLockout : OpCheckLockout { attribute :>> name = "Check Lockout"; }
|
|
62
|
-
action opDeliverDose :
|
|
63
|
-
action opLogEvent :
|
|
62
|
+
action opDeliverDose : OperativeAction { attribute :>> name = "Deliver Dose"; }
|
|
63
|
+
action opLogEvent : OperativeAction { attribute :>> name = "Log Dose Event"; }
|
|
64
64
|
flow of OpBolusRequest from opRequestBolus.bolusRequest to opCheckLockout.bolusRequest;
|
|
65
65
|
first start then opRequestBolus;
|
|
66
66
|
first opRequestBolus then opCheckLockout;
|
|
@@ -100,10 +100,9 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_operatio
|
|
|
100
100
|
expose opSetupFlow::**;
|
|
101
101
|
expose opCareSystem::**;
|
|
102
102
|
attribute depth = 2;
|
|
103
|
-
attribute :>> title = "Sample · Clinical PCA Setup (Operational)";
|
|
104
103
|
attribute :>> shortDescription = "Operational activity across clinical roles with concurrent preparation and a composite therapy step.";
|
|
105
104
|
attribute :>> viewKind = DiagramViewKind::actionflow;
|
|
106
105
|
attribute :>> diagramType = "ofd";
|
|
107
|
-
|
|
106
|
+
ref :>> viewpointDefinition = operationalViewpoint;
|
|
108
107
|
}
|
|
109
108
|
}
|
|
@@ -50,11 +50,10 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_requirem
|
|
|
50
50
|
expose reqOcclusionAlarm;
|
|
51
51
|
expose reqAlarmLoudness;
|
|
52
52
|
attribute depth = 1;
|
|
53
|
-
attribute :>> title = "Sample · Requirements";
|
|
54
53
|
attribute :>> shortDescription = "Stakeholder needs deriving into system requirements, wired by DerivesFrom trace edges.";
|
|
55
54
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
56
55
|
attribute :>> diagramType = "req";
|
|
57
|
-
|
|
56
|
+
ref :>> viewpointDefinition = requirementsViewpoint;
|
|
58
57
|
part :>> selectionQuery {
|
|
59
58
|
attribute :>> includeRelationshipKinds = ("DerivesFrom");
|
|
60
59
|
}
|
|
@@ -24,10 +24,9 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_standard
|
|
|
24
24
|
view standardActivityView : MemoDiagramView {
|
|
25
25
|
expose CustomerProcess::**;
|
|
26
26
|
attribute depth = 2;
|
|
27
|
-
attribute :>> title = "Sample · Customer Purchase Process";
|
|
28
27
|
attribute :>> shortDescription = "Customer login, guarded validation, shopping loop, checkout, credit approval, and explicit completion outcomes.";
|
|
29
28
|
attribute :>> viewKind = DiagramViewKind::actionflow;
|
|
30
29
|
attribute :>> diagramType = "afd";
|
|
31
|
-
|
|
30
|
+
ref :>> viewpointDefinition = functionalViewpoint;
|
|
32
31
|
}
|
|
33
32
|
}
|
|
@@ -64,11 +64,10 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_state_tr
|
|
|
64
64
|
view sampleStateTransitionView : MemoDiagramView {
|
|
65
65
|
expose pumpModes::**;
|
|
66
66
|
attribute depth = 2;
|
|
67
|
-
attribute :>> title = "Sample · State Transition";
|
|
68
67
|
attribute :>> shortDescription = "A pump-mode state machine — Idle, Infusing, Paused, Alarm — where Infusing is a composite state nesting Priming, Delivering and Holding.";
|
|
69
68
|
attribute :>> viewKind = DiagramViewKind::statetransition;
|
|
70
69
|
attribute :>> diagramType = "stm";
|
|
71
|
-
|
|
70
|
+
ref :>> viewpointDefinition = functionalViewpoint;
|
|
72
71
|
part :>> selectionQuery {
|
|
73
72
|
attribute :>> includeElementKinds = ("StateMachine", "MemoState");
|
|
74
73
|
}
|
package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml
CHANGED
|
@@ -34,11 +34,10 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_tree_vie
|
|
|
34
34
|
view sampleTreeView : MemoDiagramView {
|
|
35
35
|
expose rootA::**;
|
|
36
36
|
attribute depth = 2;
|
|
37
|
-
attribute :>> title = "Sample · Tree";
|
|
38
37
|
attribute :>> shortDescription = "One connected dummy hierarchy with varied branch depths for tree layout development.";
|
|
39
38
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
40
39
|
attribute :>> diagramType = "bdd";
|
|
41
|
-
|
|
40
|
+
ref :>> viewpointDefinition = physicalViewpoint;
|
|
42
41
|
attribute :>> layoutHint = "tree";
|
|
43
42
|
attribute :>> styleHint = "expanded:rootA,rootB,branchA1,branchB1";
|
|
44
43
|
part :>> selectionQuery {
|
package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml
CHANGED
|
@@ -72,11 +72,10 @@ package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_use_case
|
|
|
72
72
|
expose maintainDevice;
|
|
73
73
|
expose documentTreatment;
|
|
74
74
|
expose validateTherapySettings;
|
|
75
|
-
attribute :>> title = "Sample · Device Use Cases";
|
|
76
75
|
attribute :>> shortDescription = "Actors outside a device boundary with include, extend, hierarchy-level, and orthogonal-routing presentation.";
|
|
77
76
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
78
77
|
attribute :>> diagramType = "ucd";
|
|
79
|
-
|
|
78
|
+
ref :>> viewpointDefinition = operationalViewpoint;
|
|
80
79
|
part :>> selectionQuery {
|
|
81
80
|
attribute :>> includeElementKinds = ("User", "UseCase");
|
|
82
81
|
attribute :>> includeRelationshipKinds = ("ParticipatesIn", "IncludesStep", "Extends");
|
|
@@ -38,11 +38,11 @@ package memo_examples_temperature_alarm {
|
|
|
38
38
|
subject supportingSystem;
|
|
39
39
|
actor icuNurseInitiator = icuNurse;
|
|
40
40
|
}
|
|
41
|
-
action actAcknowledgeAlarm :
|
|
41
|
+
action actAcknowledgeAlarm : OperativeAction {
|
|
42
42
|
attribute :>> id = "TA-ACT-001"; attribute :>> name = "ReviewAndAcknowledgeAlarm";
|
|
43
43
|
attribute :>> criticality = CriticalityKind::high;
|
|
44
44
|
|
|
45
|
-
action taskAckAlarm :
|
|
45
|
+
action taskAckAlarm : OperativeAction {
|
|
46
46
|
attribute :>> criticality = CriticalityKind::high;
|
|
47
47
|
attribute :>> id = "TA-TASK-001"; attribute :>> name = "AcknowledgeTemperatureAlarm";
|
|
48
48
|
attribute :>> taskGoal = "recognize, assess, and acknowledge the alarm";
|
|
@@ -89,7 +89,7 @@ package memo_examples_temperature_alarm {
|
|
|
89
89
|
perform fnDetectDeviation;
|
|
90
90
|
}
|
|
91
91
|
connection : ElementTriggersAction connect element ::> elAlarmBanner to triggeredAction ::> uiaAcknowledge;
|
|
92
|
-
connection : Supports {
|
|
92
|
+
connection : Supports { connect supporter ::> uiBedside to supported ::> actAcknowledgeAlarm.taskAckAlarm; }
|
|
93
93
|
|
|
94
94
|
// ── Risk chain with use error ───────────────────────────────
|
|
95
95
|
part ueSilenceAndForget : UseError {
|
|
@@ -114,12 +114,8 @@ package memo_examples_temperature_alarm {
|
|
|
114
114
|
connection : ControlImplementedBy connect riskControl ::> rcReAnnunciate to implementingElement ::> elAlarmBanner;
|
|
115
115
|
|
|
116
116
|
// ── Verification, validation, evidence ──────────────────────
|
|
117
|
-
action vsAlarmLatency :
|
|
117
|
+
action vsAlarmLatency : OperativeScenario {
|
|
118
118
|
attribute :>> id = "TA-VS-001"; attribute :>> name = "AlarmLatencyScenario";
|
|
119
|
-
attribute :>> scenarioKind = ScenarioKind::memoVerification;
|
|
120
|
-
attribute :>> variantKind = ScenarioVariantKind::nominal;
|
|
121
|
-
attribute :>> operationalCondition = OperationalConditionKind::normal;
|
|
122
|
-
attribute :>> scenarioPurpose = ScenarioPurposeKind::memoVerification;
|
|
123
119
|
attribute :>> pathSummary = "Induce out-of-range temperature; measure detection-to-annunciation latency.";
|
|
124
120
|
}
|
|
125
121
|
verification vcAlarmLatency : VerificationCase {
|
|
@@ -6,7 +6,6 @@ package memo_examples_temperature_alarm_viewpoints_unassigned_views_temperature_
|
|
|
6
6
|
view temperatureAlarmOverview : MemoDiagramView {
|
|
7
7
|
expose memo_examples_temperature_alarm::*;
|
|
8
8
|
attribute depth = 2;
|
|
9
|
-
attribute :>> title = "Temperature Alarm Overview";
|
|
10
9
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
11
10
|
attribute :>> diagramType = "bdd";
|
|
12
11
|
}
|
|
@@ -44,7 +44,6 @@ package memo_examples_ui_screen_regions_viewpoints_functional_views_ui_functiona
|
|
|
44
44
|
expose memo_examples_ui_screen_regions_traces::*;
|
|
45
45
|
attribute depth = 3;
|
|
46
46
|
attribute :>> id = "FUN-101";
|
|
47
|
-
attribute :>> title = "Infusion UI Functional Tree";
|
|
48
47
|
attribute :>> shortDescription = "Display-management functions, invoked actions, and UI allocation.";
|
|
49
48
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
50
49
|
attribute :>> diagramType = "bdd";
|
|
@@ -57,6 +56,6 @@ package memo_examples_ui_screen_regions_viewpoints_functional_views_ui_functiona
|
|
|
57
56
|
attribute :>> includeLayers = ("functions", "implementation");
|
|
58
57
|
attribute :>> rationaleText = "Show function decomposition from interaction to allocated user interface.";
|
|
59
58
|
}
|
|
60
|
-
|
|
59
|
+
ref :>> viewpointDefinition = functionalViewpoint;
|
|
61
60
|
}
|
|
62
61
|
}
|
|
@@ -44,7 +44,6 @@ package memo_examples_ui_screen_regions_viewpoints_requirements_views_ui_require
|
|
|
44
44
|
expose memo_examples_ui_screen_regions_traces::*;
|
|
45
45
|
attribute depth = 3;
|
|
46
46
|
attribute :>> id = "REQ-101";
|
|
47
|
-
attribute :>> title = "UI Requirements Traceability";
|
|
48
47
|
attribute :>> shortDescription = "Clinical need through UI requirements to satisfying regions and functions.";
|
|
49
48
|
attribute :>> viewKind = DiagramViewKind::grid;
|
|
50
49
|
attribute :>> diagramType = "req";
|
|
@@ -57,6 +56,6 @@ package memo_examples_ui_screen_regions_viewpoints_requirements_views_ui_require
|
|
|
57
56
|
attribute :>> includeLayers = ("requirements", "implementation", "functions", "assurance");
|
|
58
57
|
attribute :>> rationaleText = "Show the example's requirement derivation and satisfaction chain.";
|
|
59
58
|
}
|
|
60
|
-
|
|
59
|
+
ref :>> viewpointDefinition = requirementsViewpoint;
|
|
61
60
|
}
|
|
62
61
|
}
|
|
@@ -44,7 +44,6 @@ package memo_examples_ui_screen_regions_viewpoints_risk_views_ui_risk_chain {
|
|
|
44
44
|
expose memo_examples_ui_screen_regions_traces::*;
|
|
45
45
|
attribute depth = 3;
|
|
46
46
|
attribute :>> id = "RSK-101";
|
|
47
|
-
attribute :>> title = "UI Risk and Control Chains";
|
|
48
47
|
attribute :>> shortDescription = "Use errors through UI hazards to implemented controls and requirements.";
|
|
49
48
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
50
49
|
attribute :>> diagramType = "risk";
|
|
@@ -57,6 +56,6 @@ package memo_examples_ui_screen_regions_viewpoints_risk_views_ui_risk_chain {
|
|
|
57
56
|
attribute :>> includeLayers = ("human_factors", "risk", "requirements", "implementation", "functions", "assurance");
|
|
58
57
|
attribute :>> rationaleText = "Show both misread-rate and wrong-drug UI risk-control chains.";
|
|
59
58
|
}
|
|
60
|
-
|
|
59
|
+
ref :>> viewpointDefinition = riskViewpoint;
|
|
61
60
|
}
|
|
62
61
|
}
|
package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml
CHANGED
|
@@ -51,7 +51,6 @@ package memo_examples_ui_screen_regions_viewpoints_ui_layout_views_main_screen_l
|
|
|
51
51
|
expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
|
|
52
52
|
expose memo_examples_ui_screen_regions_traces::*;
|
|
53
53
|
attribute :>> id = "UIE-001";
|
|
54
|
-
|
|
55
|
-
part :>> viewpointDefinition = uiLayoutViewpoint;
|
|
54
|
+
ref :>> viewpointDefinition = uiLayoutViewpoint;
|
|
56
55
|
}
|
|
57
56
|
}
|
|
@@ -46,7 +46,6 @@ package memo_examples_ui_screen_regions_viewpoints_ui_layout_views_settings_scre
|
|
|
46
46
|
expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
|
|
47
47
|
expose memo_examples_ui_screen_regions_traces::*;
|
|
48
48
|
attribute :>> id = "UIE-008";
|
|
49
|
-
|
|
50
|
-
part :>> viewpointDefinition = uiLayoutViewpoint;
|
|
49
|
+
ref :>> viewpointDefinition = uiLayoutViewpoint;
|
|
51
50
|
}
|
|
52
51
|
}
|
package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml
CHANGED
|
@@ -46,9 +46,8 @@ package memo_examples_ui_screen_regions_viewpoints_ui_layout_views_ui_region_tra
|
|
|
46
46
|
expose memo_examples_ui_screen_regions_traces::*;
|
|
47
47
|
attribute :>> id = "UIV-001";
|
|
48
48
|
attribute depth = 3;
|
|
49
|
-
attribute :>> title = "UI Region Traceability";
|
|
50
49
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
51
50
|
attribute :>> diagramType = "bdd";
|
|
52
|
-
|
|
51
|
+
ref :>> viewpointDefinition = uiLayoutViewpoint;
|
|
53
52
|
}
|
|
54
53
|
}
|