@memoarchitect/ontology 0.6.5 → 0.8.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/README.md +4 -2
  2. package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +1 -1
  3. package/examples/connected-patient-monitor/model/catalog/project.sysml +24 -0
  4. package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  5. package/examples/connected-patient-monitor/model/{viewpoints → catalog/viewpoints/unassigned/views}/connected_patient_monitor_overview.sysml +1 -1
  6. package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +7 -5
  7. package/examples/embedded-infusion-pump/model/catalog/project.sysml +24 -0
  8. package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  9. package/examples/embedded-infusion-pump/model/{viewpoints → catalog/viewpoints/unassigned/views}/embedded_infusion_pump_overview.sysml +1 -1
  10. package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +5 -5
  11. package/examples/functional-logical-physical/model/catalog/project.sysml +24 -0
  12. package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  13. package/examples/functional-logical-physical/model/{viewpoints → catalog/viewpoints/unassigned/views}/functional_logical_physical_overview.sysml +1 -1
  14. package/examples/gpca-pump/methodology/gpca_methodology.sysml +7 -8
  15. package/examples/gpca-pump/methodology/gpca_profiles.sysml +89 -11
  16. package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +19 -9
  17. package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +342 -100
  18. package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +27 -13
  19. package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +329 -272
  20. package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +57 -16
  21. package/examples/gpca-pump/model/catalog/gpca_context.sysml +12 -8
  22. package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +14 -10
  23. package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +1 -15
  24. package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +181 -264
  25. package/examples/gpca-pump/model/catalog/gpca_operational.sysml +95 -60
  26. package/examples/gpca-pump/model/catalog/gpca_physical.sysml +6 -11
  27. package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +102 -101
  28. package/examples/gpca-pump/model/catalog/gpca_risk.sysml +1 -1
  29. package/examples/gpca-pump/model/catalog/gpca_standards.sysml +161 -0
  30. package/examples/gpca-pump/model/catalog/gpca_system.sysml +47 -30
  31. package/examples/gpca-pump/model/catalog/gpca_trace.sysml +301 -354
  32. package/examples/gpca-pump/model/catalog/gpca_verification.sysml +116 -36
  33. package/examples/gpca-pump/model/catalog/project.sysml +26 -0
  34. package/examples/gpca-pump/model/catalog/viewpoints/context/viewpoint.sysml +8 -0
  35. package/examples/gpca-pump/model/{views → catalog/viewpoints/context/views}/context_system_context_view.sysml +4 -4
  36. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/viewpoint.sysml +8 -0
  37. package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/cybersecurity_cybersecurity_view.sysml +4 -4
  38. package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_cyber_assessment_view.sysml +4 -4
  39. package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_threat_model_view.sysml +5 -5
  40. package/examples/gpca-pump/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
  41. package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_allocation_view.sysml +2 -2
  42. package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_browser_view.sysml +3 -3
  43. package/examples/gpca-pump/model/catalog/viewpoints/logical/viewpoint.sysml +8 -0
  44. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/behavior_action_flow_view.sysml +3 -3
  45. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/document_architecture_description_view.sysml +8 -8
  46. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_device_interconnect_view.sysml +5 -5
  47. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_logical_architecture_view.sysml +3 -3
  48. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_mode_state_view.sysml +4 -4
  49. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_system_decomposition_view.sysml +3 -3
  50. package/examples/gpca-pump/model/catalog/viewpoints/operational/viewpoint.sysml +8 -0
  51. package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_scenario_sequence_view.sysml +3 -3
  52. package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_use_case_view.sysml +4 -4
  53. package/examples/gpca-pump/model/catalog/viewpoints/physical/viewpoint.sysml +8 -0
  54. package/examples/gpca-pump/model/{views → catalog/viewpoints/physical/views}/physical_physical_bom_view.sysml +2 -2
  55. package/examples/gpca-pump/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
  56. package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/document_dhf_index_view.sysml +8 -8
  57. package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/requirements_requirements_trace_view.sysml +2 -2
  58. package/examples/gpca-pump/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
  59. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_hazard_analysis_view.sysml +8 -5
  60. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_rmf_view.sysml +7 -5
  61. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_fmea_view.sysml +3 -3
  62. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_risk_chain_view.sysml +3 -3
  63. package/examples/gpca-pump/model/catalog/viewpoints/software/viewpoint.sysml +8 -0
  64. package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/document_sdd_view.sysml +4 -4
  65. package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/software_software_architecture_view.sysml +5 -5
  66. package/examples/gpca-pump/model/catalog/viewpoints/usability/viewpoint.sysml +8 -0
  67. package/examples/gpca-pump/model/{views → catalog/viewpoints/usability/views}/document_usability_view.sysml +8 -6
  68. package/examples/gpca-pump/model/catalog/viewpoints/verification/viewpoint.sysml +8 -0
  69. package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/document_vv_view.sysml +7 -5
  70. package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/verification_verification_coverage_view.sysml +3 -3
  71. package/examples/ivd-laboratory-system/model/catalog/project.sysml +24 -0
  72. package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  73. package/examples/ivd-laboratory-system/model/{viewpoints → catalog/viewpoints/unassigned/views}/ivd_laboratory_system_overview.sysml +1 -1
  74. package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +4 -2
  75. package/examples/manual-surgical-instrument/model/catalog/project.sysml +24 -0
  76. package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  77. package/examples/manual-surgical-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/manual_surgical_instrument_overview.sysml +1 -1
  78. package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +6 -2
  79. package/examples/multidimensional-layers/model/catalog/project.sysml +24 -0
  80. package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  81. package/examples/multidimensional-layers/model/{viewpoints → catalog/viewpoints/unassigned/views}/multidimensional_layers_overview.sysml +1 -1
  82. package/examples/nested-architecture-dsm/README.md +49 -0
  83. package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +179 -0
  84. package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +165 -0
  85. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +53 -0
  86. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +89 -0
  87. package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +113 -0
  88. package/examples/nested-architecture-dsm/model/catalog/project.sysml +28 -0
  89. package/examples/nested-architecture-dsm/model/catalog/traces.sysml +48 -0
  90. package/examples/reusable-instrument/model/catalog/project.sysml +24 -0
  91. package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +11 -8
  92. package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  93. package/examples/reusable-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/reusable_instrument_overview.sysml +1 -1
  94. package/examples/ros-mobile-robot/README.md +40 -0
  95. package/examples/ros-mobile-robot/model/catalog/project.sysml +33 -0
  96. package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +296 -0
  97. package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +7 -0
  98. package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/views/ros_mobile_robot_overview.sysml +13 -0
  99. package/examples/software-only-medical-device/model/catalog/project.sysml +28 -0
  100. package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +11 -5
  101. package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  102. package/examples/software-only-medical-device/model/{viewpoints → catalog/viewpoints/unassigned/views}/software_only_medical_device_overview.sysml +1 -1
  103. package/examples/surgical-closure-workflow/model/catalog/project.sysml +24 -0
  104. package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +57 -57
  105. package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  106. package/examples/surgical-closure-workflow/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_closure_workflow_overview.sysml +1 -1
  107. package/examples/surgical-robot/model/catalog/project.sysml +24 -0
  108. package/examples/surgical-robot/model/catalog/surgical_robot.sysml +6 -4
  109. package/examples/surgical-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  110. package/examples/surgical-robot/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_robot_overview.sysml +1 -1
  111. package/examples/sysml-diagram-samples/README.md +7 -0
  112. package/examples/sysml-diagram-samples/dhf/documents/DOC-HAR-001.md +11 -0
  113. package/examples/sysml-diagram-samples/memo.package.yaml +11 -5
  114. package/examples/sysml-diagram-samples/model/catalog/project.sysml +33 -0
  115. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  116. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/action_flow_view.sysml +23 -20
  117. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/context_view.sysml +11 -11
  118. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +47 -0
  119. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +143 -0
  120. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +87 -0
  121. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +94 -0
  122. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +109 -0
  123. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +13 -0
  124. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/requirements_view.sysml +6 -7
  125. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +33 -0
  126. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +80 -0
  127. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +48 -0
  128. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/use_case_view.sysml +15 -9
  129. package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +93 -0
  130. package/examples/temperature-alarm/model/catalog/project.sysml +24 -0
  131. package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +29 -21
  132. package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  133. package/examples/temperature-alarm/model/{viewpoints → catalog/viewpoints/unassigned/views}/temperature_alarm_overview.sysml +1 -1
  134. package/examples/ui-screen-regions/README.md +117 -0
  135. package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +84 -0
  136. package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +212 -0
  137. package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +61 -0
  138. package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/drugSelectorRegion/drug-selector-expanded-2.4.1.png +0 -0
  139. package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/mainScreenLayout/main-screen-2.4.1.png +0 -0
  140. package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/settingsScreenLayout/settings-screen-2.4.1.png +0 -0
  141. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +51 -0
  142. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +27 -0
  143. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +27 -0
  144. package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +59 -0
  145. package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +25 -0
  146. package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +178 -0
  147. package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +93 -0
  148. package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +75 -0
  149. package/examples/ui-screen-regions/model/catalog/project.sysml +45 -0
  150. package/examples/ui-screen-regions/model/catalog/relationships.sysml +8 -0
  151. package/examples/ui-screen-regions/model/catalog/traces.sysml +179 -0
  152. package/examples/ui-screen-regions/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
  153. package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +62 -0
  154. package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
  155. package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +62 -0
  156. package/examples/ui-screen-regions/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
  157. package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +62 -0
  158. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/viewpoint.sysml +8 -0
  159. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +57 -0
  160. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +52 -0
  161. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +54 -0
  162. package/extensions/LICENSES/MIT.txt +19 -0
  163. package/extensions/README.md +94 -0
  164. package/extensions/aadl/memo.package.yaml +18 -0
  165. package/extensions/aadl/src/aadl_extension.sysml +6 -0
  166. package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +147 -0
  167. package/extensions/aadl/src/methodology/aadl_methodology.sysml +17 -0
  168. package/extensions/aadl/src/runtime/memo_aadl_runtime.sysml +56 -0
  169. package/extensions/clinical/memo.package.yaml +18 -0
  170. package/extensions/clinical/src/methodology/clinical_methodology.sysml +22 -0
  171. package/extensions/cloud/memo.package.yaml +18 -0
  172. package/extensions/cloud/src/cloud_extension.sysml +44 -0
  173. package/extensions/cloud/src/methodology/cloud_methodology.sysml +17 -0
  174. package/extensions/container/memo.package.yaml +18 -0
  175. package/extensions/container/src/container_extension.sysml +37 -0
  176. package/extensions/container/src/methodology/container_methodology.sysml +17 -0
  177. package/extensions/messaging/memo.package.yaml +18 -0
  178. package/extensions/messaging/src/messaging_extension.sysml +64 -0
  179. package/extensions/messaging/src/methodology/messaging_methodology.sysml +17 -0
  180. package/extensions/ros/memo.package.yaml +18 -0
  181. package/extensions/ros/src/methodology/ros_methodology.sysml +25 -0
  182. package/extensions/ros/src/ros_extension.sysml +200 -0
  183. package/extensions/template/memo.package.yaml +17 -0
  184. package/extensions/template/src/extension.sysml +37 -0
  185. package/memo.manifest.yaml +15 -2
  186. package/methodologies/default/memo.package.yaml +19 -9
  187. package/methodologies/gpca/memo.package.yaml +18 -9
  188. package/ontology/memo.package.yaml +23 -8
  189. package/package.json +6 -6
  190. package/profile/memo.package.yaml +18 -9
  191. package/src/architecture/decisions/memo_decisions.sysml +28 -0
  192. package/src/architecture/functional/behavior/memo_behavior.sysml +50 -22
  193. package/src/architecture/functional/constraints/memo_constraints.sysml +3 -2
  194. package/src/architecture/functional/functions/memo_functions.sysml +93 -43
  195. package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +46 -24
  196. package/src/architecture/implementation/software/structure/memo_software_structure.sysml +52 -12
  197. package/src/architecture/implementation/ui/memo_ui.sysml +276 -53
  198. package/src/architecture/logical/interfaces/memo_interfaces.sysml +64 -13
  199. package/src/architecture/logical/structure/memo_logical_structure.sysml +92 -35
  200. package/src/architecture/operational/activities/memo_activities.sysml +10 -4
  201. package/src/architecture/operational/context/actors/memo_actors.sysml +5 -8
  202. package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +13 -30
  203. package/src/architecture/operational/context/use_context/memo_use_context.sysml +42 -16
  204. package/src/architecture/operational/scenarios/memo_scenarios.sysml +57 -23
  205. package/src/architecture/operational/use_cases/memo_use_cases.sysml +35 -26
  206. package/src/architecture/operational/workflows/memo_workflows.sysml +28 -15
  207. package/src/architecture/realization/deployment/memo_deployment.sysml +111 -16
  208. package/src/architecture/realization/physical/memo_physical_architecture.sysml +27 -2
  209. package/src/artifacts/configuration_management/memo_configuration_management.sysml +35 -0
  210. package/src/artifacts/core/memo_controlled_artifacts.sysml +35 -0
  211. package/src/artifacts/documents/risk_management/memo_risk_management.sysml +12 -0
  212. package/src/artifacts/standards/cfr_21_820.sysml +116 -0
  213. package/src/artifacts/standards/fda_cybersecurity_2023.sysml +80 -0
  214. package/src/artifacts/standards/iec_60601_1.sysml +149 -0
  215. package/src/artifacts/standards/iec_60601_1_2.sysml +56 -0
  216. package/src/artifacts/standards/iec_60812.sysml +51 -0
  217. package/src/artifacts/standards/iec_62304.sysml +210 -0
  218. package/src/artifacts/standards/iec_62366_1.sysml +113 -0
  219. package/src/artifacts/standards/iec_81001_5_1.sysml +84 -0
  220. package/src/artifacts/standards/iso_13485.sysml +113 -0
  221. package/src/artifacts/standards/iso_14971.sysml +94 -0
  222. package/src/artifacts/standards/iso_iec_ieee_42010.sysml +42 -0
  223. package/src/artifacts/standards/memo_artifacts_standards_traceability.sysml +132 -0
  224. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-input.md +1 -1
  225. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-output.md +5 -5
  226. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-review.md +1 -1
  227. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-validation.md +2 -2
  228. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-verification.md +2 -2
  229. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/dhf-index.md +2 -2
  230. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/transfer-plan.md +1 -1
  231. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/user-needs.md +1 -1
  232. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-plan.md +3 -3
  233. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-report.md +4 -4
  234. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/incident-response.md +1 -1
  235. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/postmarket-surveillance.md +3 -2
  236. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/security-arch.md +2 -2
  237. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/threat-model.md +4 -4
  238. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/vuln-assessment.md +4 -3
  239. package/src/artifacts/templates/dhf/iec-60601/hrs.md +170 -0
  240. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/detailed-design.md +1 -1
  241. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/integration-test.md +3 -3
  242. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sad.md +6 -5
  243. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sbom.md +3 -2
  244. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sdp.md +5 -4
  245. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/soup.md +4 -2
  246. package/src/artifacts/templates/dhf/iec-62304/srs.md +172 -0
  247. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sw-traceability.md +3 -3
  248. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/system-test.md +1 -1
  249. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/summative-eval.md +1 -1
  250. package/src/artifacts/templates/dhf/iec-62366/task-analysis.md +93 -0
  251. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ue-plan.md +1 -1
  252. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/urra.md +3 -3
  253. package/src/artifacts/templates/dhf/iso-14971/fmea.md +116 -0
  254. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/har.md +3 -3
  255. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmp.md +2 -2
  256. package/src/artifacts/templates/dhf/system/sad.md +173 -0
  257. package/src/artifacts/templates/dhf/system/standards-checklist.md +87 -0
  258. package/src/artifacts/templates/dhf/system/standards-traceability.md +125 -0
  259. package/src/artifacts/templates/dhf/system/syrs.md +128 -0
  260. package/src/assurance/cybersecurity/memo_cybersecurity.sysml +39 -20
  261. package/src/assurance/human_factors/memo_human_factors.sysml +29 -22
  262. package/src/assurance/requirements/memo_requirements.sysml +5 -2
  263. package/src/assurance/requirements/needs/memo_needs.sysml +1 -1
  264. package/src/assurance/safety_risk/analysis/memo_fmea.sysml +118 -13
  265. package/src/assurance/safety_risk/memo_risk.sysml +78 -7
  266. package/src/assurance/safety_risk/postmarket_surveillance/memo_postmarket_surveillance.sysml +27 -0
  267. package/src/assurance/verification_validation/clinical_evaluation/memo_clinical_evaluation.sysml +11 -0
  268. package/src/assurance/verification_validation/memo_assurance.sysml +17 -21
  269. package/src/core/annotations/memo_annotations.sysml +96 -0
  270. package/src/core/common/memo_common.sysml +140 -18
  271. package/src/core/consistency_rules/consistency_rules.sysml +7 -0
  272. package/src/core/dimensions/dimensions.sysml +17 -1
  273. package/src/core/enumerations/memo_enumerations.sysml +101 -20
  274. package/src/core/methodology_scope/methodology_scope.sysml +7 -15
  275. package/src/core/relationships/memo_relationships.sysml +199 -194
  276. package/src/memo_namespaces.sysml +127 -67
  277. package/src/methodology/core/memo_core.sysml +69 -2
  278. package/src/methodology/profiles/memo_profiles.sysml +31 -41
  279. package/src/methodology/workflow/memo_workflow.sysml +7 -2
  280. package/src/rules/closure/closure_rules.sysml +104 -31
  281. package/src/rules/coverage/coverage_rules.sysml +4 -256
  282. package/src/rules/crosslayer/cross_layer_rules.sysml +6 -15
  283. package/src/rules/lifecycle/lifecycle_rules.sysml +4 -39
  284. package/src/rules/ontology/ontology_invariants.sysml +243 -74
  285. package/src/rules/quantitative/quantitative_rules.sysml +8 -8
  286. package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +10 -3
  287. package/src/viewpoints/clinical/clinical_viewpoint.sysml +4 -2
  288. package/src/viewpoints/clinical/{clinical_evidence_view → views/clinical_evidence_view}/clinical_evidence_view.sysml +2 -2
  289. package/src/viewpoints/context/context_viewpoint.sysml +4 -2
  290. package/src/viewpoints/context/{system_context_view → views/system_context_view}/system_context_view.sysml +2 -2
  291. package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +4 -2
  292. package/src/viewpoints/cybersecurity/{cybersecurity_assessment_view → views/cybersecurity_assessment_view}/cybersecurity_assessment_view.sysml +2 -2
  293. package/src/viewpoints/cybersecurity/{threat_model_view → views/threat_model_view}/threat_model_view.sysml +2 -2
  294. package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +5 -0
  295. package/src/viewpoints/functional/functional_viewpoint.sysml +4 -2
  296. package/src/viewpoints/functional/{function_allocation_view → views/function_allocation_view}/function_allocation_view.sysml +3 -3
  297. package/src/viewpoints/functional/{system_functional_tree_view → views/system_functional_tree_view}/system_functional_tree_view.sysml +3 -3
  298. package/src/viewpoints/logical/logical_viewpoint.sysml +3 -1
  299. package/src/viewpoints/logical/{logical_architecture_view → views/logical_architecture_view}/logical_architecture_view.sysml +2 -2
  300. package/src/viewpoints/operational/operational_viewpoint.sysml +4 -2
  301. package/src/viewpoints/operational/{use_case_view → views/use_case_view}/use_case_view.sysml +3 -3
  302. package/src/viewpoints/physical/physical_viewpoint.sysml +3 -1
  303. package/src/viewpoints/physical/{network_topology_view → views/network_topology_view}/network_topology_view.sysml +2 -2
  304. package/src/viewpoints/physical/{physical_bom_view → views/physical_bom_view}/physical_bom_view.sysml +2 -2
  305. package/src/viewpoints/rendering/memo_rendering.sysml +354 -0
  306. package/src/viewpoints/requirements/requirements_viewpoint.sysml +3 -1
  307. package/src/viewpoints/requirements/{requirements_traceability_view → views/requirements_traceability_view}/requirements_traceability_view.sysml +2 -2
  308. package/src/viewpoints/risk/risk_viewpoint.sysml +3 -1
  309. package/src/viewpoints/risk/{risk_chain_view → views/risk_chain_view}/risk_chain_view.sysml +2 -2
  310. package/src/viewpoints/software/software_viewpoint.sysml +3 -1
  311. package/src/viewpoints/software/{software_architecture_view → views/software_architecture_view}/software_architecture_view.sysml +2 -2
  312. package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +28 -0
  313. package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +23 -0
  314. package/src/viewpoints/usability/usability_viewpoint.sysml +3 -1
  315. package/src/viewpoints/usability/{usability_engineering_view → views/usability_engineering_view}/usability_engineering_view.sysml +2 -2
  316. package/src/viewpoints/verification/verification_viewpoint.sysml +4 -2
  317. package/src/viewpoints/verification/{verification_coverage_view → views/verification_coverage_view}/verification_coverage_view.sysml +3 -3
  318. package/templates/connected-device/memo.package.yaml +11 -5
  319. package/templates/connected-device/model/catalog/project.sysml +28 -0
  320. package/templates/connected-device/syside.toml +1 -1
  321. package/templates/default/memo.package.yaml +11 -5
  322. package/templates/default/model/catalog/project.sysml +28 -0
  323. package/templates/default/syside.toml +1 -1
  324. package/templates/infusion-pump/memo.package.yaml +11 -5
  325. package/templates/infusion-pump/model/catalog/project.sysml +28 -0
  326. package/templates/infusion-pump/syside.toml +1 -1
  327. package/templates/monitoring-device/memo.package.yaml +11 -5
  328. package/templates/monitoring-device/model/catalog/project.sysml +28 -0
  329. package/templates/monitoring-device/syside.toml +1 -1
  330. package/templates/samd/memo.package.yaml +11 -5
  331. package/templates/samd/model/catalog/project.sysml +28 -0
  332. package/templates/samd/syside.toml +1 -1
  333. package/examples/connected-patient-monitor/model/connected_patient_monitor.sysml +0 -3
  334. package/examples/embedded-infusion-pump/model/embedded_infusion_pump.sysml +0 -3
  335. package/examples/extensions/README.md +0 -16
  336. package/examples/extensions/clinical/memo.package.yaml +0 -9
  337. package/examples/extensions/clinical/src/methodology/clinical_methodology.sysml +0 -14
  338. package/examples/extensions/template/memo.package.yaml +0 -9
  339. package/examples/extensions/template/src/extension.sysml +0 -15
  340. package/examples/functional-logical-physical/model/functional_logical_physical.sysml +0 -3
  341. package/examples/gpca-pump/memo.config.yaml +0 -9
  342. package/examples/gpca-pump/methodology/gpca_scope.sysml +0 -25
  343. package/examples/ivd-laboratory-system/model/ivd_laboratory_system.sysml +0 -3
  344. package/examples/manual-surgical-instrument/model/manual_surgical_instrument.sysml +0 -3
  345. package/examples/multidimensional-layers/model/multidimensional_layers.sysml +0 -4
  346. package/examples/reusable-instrument/model/reusable_instrument.sysml +0 -4
  347. package/examples/software-only-medical-device/model/software_only_medical_device.sysml +0 -4
  348. package/examples/surgical-closure-workflow/model/surgical_closure_workflow.sysml +0 -4
  349. package/examples/surgical-robot/model/surgical_robot.sysml +0 -4
  350. package/examples/sysml-diagram-samples/model/samples/functional_flow_view.sysml +0 -164
  351. package/examples/sysml-diagram-samples/model/samples/interconnection_view.sysml +0 -94
  352. package/examples/sysml-diagram-samples/model/samples/operational_behaviour_view.sysml +0 -135
  353. package/examples/sysml-diagram-samples/model/samples/state_transition_view.sysml +0 -109
  354. package/examples/sysml-diagram-samples/model/samples/tree_view.sysml +0 -56
  355. package/examples/temperature-alarm/model/temperature_alarm.sysml +0 -4
  356. package/ontology/memo.rendering.yaml +0 -84
  357. package/src/compliance/artifacts/memo_artifacts.sysml +0 -12
  358. package/src/compliance/change/memo_change.sysml +0 -17
  359. package/src/compliance/dhf-templates/iec-62304/srs.md +0 -138
  360. package/src/compliance/dhf-templates/iec-62366/task-analysis.md +0 -57
  361. package/src/compliance/dhf-templates/iso-14971/fmea.md +0 -93
  362. package/src/compliance/document_views/memo_document_views.sysml +0 -7
  363. package/src/compliance/iso14971/risk_management_file.sysml +0 -16
  364. package/src/compliance/postmarket/memo_postmarket.sysml +0 -16
  365. /package/{examples/extensions → extensions}/clinical/src/clinical_extension.sysml +0 -0
  366. /package/{examples/extensions → extensions}/clinical/src/procedures/memo_clinical_procedures.sysml +0 -0
  367. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/change-record.md +0 -0
  368. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/change-control.md +0 -0
  369. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/formative-eval.md +0 -0
  370. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ui-spec.md +0 -0
  371. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/use-spec.md +0 -0
  372. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/fta.md +0 -0
  373. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-benefit.md +0 -0
  374. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-matrix.md +0 -0
  375. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmr.md +0 -0
  376. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/approval-block.md +0 -0
  377. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/document-control-header.md +0 -0
  378. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/references-section.md +0 -0
  379. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/revision-history-table.md +0 -0
  380. /package/templates/connected-device/{src → model/catalog}/architecture/system.sysml +0 -0
  381. /package/templates/connected-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  382. /package/templates/connected-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
  383. /package/templates/default/{src → model/catalog}/architecture/system.sysml +0 -0
  384. /package/templates/default/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  385. /package/templates/default/{src → model/catalog}/assurance/requirements.sysml +0 -0
  386. /package/templates/infusion-pump/{src → model/catalog}/architecture/system.sysml +0 -0
  387. /package/templates/infusion-pump/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  388. /package/templates/infusion-pump/{src → model/catalog}/assurance/requirements.sysml +0 -0
  389. /package/templates/monitoring-device/{src → model/catalog}/architecture/system.sysml +0 -0
  390. /package/templates/monitoring-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  391. /package/templates/monitoring-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
  392. /package/templates/samd/{src → model/catalog}/architecture/system.sysml +0 -0
  393. /package/templates/samd/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  394. /package/templates/samd/{src → model/catalog}/assurance/requirements.sysml +0 -0
@@ -0,0 +1,179 @@
1
+ // Cross-namespace relationships.
2
+ //
3
+ // A relationship whose ends sit in different project namespaces is owned here
4
+ // rather than duplicated into both, which keeps the namespace files free of
5
+ // mutual imports.
6
+ package memo_examples_ui_screen_regions_traces {
7
+ private import ScalarValues::*;
8
+
9
+ private import memo_architecture_functional_functions::*;
10
+ private import memo_architecture_implementation_ui::*;
11
+ private import memo_assurance_requirements::*;
12
+ private import memo_assurance_requirements_needs::*;
13
+ private import memo_assurance_human_factors::*;
14
+ private import memo_assurance_safety_risk::*;
15
+ private import memo_assurance_verification_validation::*;
16
+ private import memo_artifacts_core::*;
17
+
18
+ private import memo_core_relationships::*;
19
+ private import memo_core_annotations::*;
20
+ private import memo_core_enumerations::*;
21
+ private import memo_examples_ui_screen_regions_architecture_implementation_ui::*;
22
+ private import memo_examples_ui_screen_regions_architecture_functional_functions::*;
23
+ private import memo_examples_ui_screen_regions_assurance_requirements::*;
24
+ private import memo_examples_ui_screen_regions_assurance_requirements_needs::*;
25
+ private import memo_examples_ui_screen_regions_assurance_human_factors::*;
26
+ private import memo_examples_ui_screen_regions_assurance_safety_risk::*;
27
+ private import memo_examples_ui_screen_regions_assurance_verification_validation::*;
28
+ private import memo_examples_ui_screen_regions_artifacts_assets::*;
29
+ private import memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
30
+ private import memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
31
+ private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
32
+ private import memo_assurance_safety_risk_analysis::*;
33
+
34
+ // The UI-element and function trees are native nesting now (see
35
+ // architecture/implementation/ui.sysml and architecture/functional/
36
+ // functions.sysml); no Composes edge is written for either. The two that
37
+ // remain below are the ones nesting cannot express: a tool-drawn region
38
+ // (uiElement12, appended by memo-architect's canvas editor as a flat
39
+ // element plus a Composes edge, not by hand) and a comment-reply thread
40
+ // (a review feature with the same runtime-append shape).
41
+ connection : ElementTriggersAction connect element ::> elMainScreen.elDrugSelectorRegion to triggeredAction ::> uiaSelectDrug;
42
+
43
+ connection : ElementTriggersAction connect element ::> elMainScreen.elDrugSelectorRegion.elDrugSelectorClosed to triggeredAction ::> uiaSelectDrug;
44
+
45
+ connection : ElementTriggersAction connect element ::> elMainScreen.elDrugSelectorRegion.elDrugMenuExpanded to triggeredAction ::> uiaSelectDrug;
46
+
47
+ connection : DerivesFrom connect sourceDriver ::> needReadableProgramming to targetRequirement ::> reqRateLegibility;
48
+
49
+ connection : DerivesFrom connect sourceDriver ::> reqRateLegibility to targetRequirement ::> reqRateEntry;
50
+
51
+ connection : DerivesFrom connect sourceDriver ::> reqRateLegibility to targetRequirement ::> reqVolumeDisplay;
52
+
53
+ connection : DerivesFrom connect sourceDriver ::> needReadableProgramming to targetRequirement ::> reqDrugLibrarySelection;
54
+
55
+ connection : DerivesFrom connect sourceDriver ::> needReadableProgramming to targetRequirement ::> reqDisplayFreshness;
56
+
57
+ connection : DerivesFrom connect sourceDriver ::> needReadableProgramming to targetRequirement ::> reqActiveRateDisplay;
58
+
59
+ connection : DerivesFrom connect sourceDriver ::> needReadableProgramming to targetRequirement ::> reqDrugIdentityDisplay;
60
+
61
+ connection : DerivesFrom connect sourceDriver ::> needReadableProgramming to targetRequirement ::> reqTimeDisplay;
62
+
63
+ connection : DerivesFrom connect sourceDriver ::> reqTimeDisplay to targetRequirement ::> reqTimeAccuracy;
64
+
65
+ connection : DerivesFrom connect sourceDriver ::> needReadableProgramming to targetRequirement ::> reqBatteryStatusDisplay;
66
+
67
+ connection : DerivesFrom connect sourceDriver ::> reqBatteryStatusDisplay to targetRequirement ::> reqBatteryWarningPerformance;
68
+
69
+ connection : DerivesFrom connect sourceDriver ::> reqDrugLibrarySelection to targetRequirement ::> reqDrugSelectionPerformance;
70
+
71
+ connection : ErrorAtElement connect useError ::> ueMisreadRate to element ::> elMainScreen;
72
+
73
+ connection : ControlImplementedBy connect riskControl ::> rcRateConfirm to implementingElement ::> elSettingsScreen.elRateConfirmDialog;
74
+
75
+ connection : Causes connect cause ::> ueMisreadRate to effect ::> hzWrongRate {
76
+ attribute :>> causeKind = CauseKind::useErrorLeadsToHazard;
77
+ }
78
+
79
+ connection : Mitigates connect control ::> rcRateConfirm to mitigatedElement ::> hzWrongRate {
80
+ attribute :>> mitigationKind = MitigationKind::hazard;
81
+ }
82
+
83
+ connection : DerivesFrom connect sourceDriver ::> hzWrongRate to targetRequirement ::> reqRateEntry;
84
+
85
+ connection : ErrorAtElement connect useError ::> ueSelectWrongDrug to element ::> elMainScreen.elDrugSelectorRegion;
86
+
87
+ connection : Causes connect cause ::> ueSelectWrongDrug to effect ::> hzWrongDrug {
88
+ attribute :>> causeKind = CauseKind::useErrorLeadsToHazard;
89
+ }
90
+
91
+ connection : Mitigates connect control ::> rcDrugLibraryGuard to mitigatedElement ::> hzWrongDrug {
92
+ attribute :>> mitigationKind = MitigationKind::hazard;
93
+ }
94
+
95
+ connection : ControlImplementedBy connect riskControl ::> rcDrugLibraryGuard to implementingElement ::> elMainScreen.elDrugSelectorRegion;
96
+
97
+ connection : ControlImplementedBy connect riskControl ::> rcDrugLibraryGuard to implementingElement ::> fnManageInfusionDisplay.fnValidateDrugSelection;
98
+
99
+ connection : DerivesFrom connect sourceDriver ::> hzWrongDrug to targetRequirement ::> reqDrugLibrarySelection;
100
+
101
+ connection : ErrorAtElement connect useError ::> ueMissLowBattery to element ::> elMainScreen;
102
+
103
+ connection : Causes connect cause ::> ueMissLowBattery to effect ::> hzUnexpectedPowerLoss {
104
+ attribute :>> causeKind = CauseKind::useErrorLeadsToHazard;
105
+ }
106
+
107
+ connection : Mitigates connect control ::> rcLowBatteryProminence to mitigatedElement ::> hzUnexpectedPowerLoss {
108
+ attribute :>> mitigationKind = MitigationKind::hazard;
109
+ }
110
+
111
+ connection : ControlImplementedBy connect riskControl ::> rcLowBatteryProminence to implementingElement ::> fnManageInfusionDisplay.fnPresentBatteryStatus;
112
+
113
+ connection : DerivesFrom connect sourceDriver ::> hzUnexpectedPowerLoss to targetRequirement ::> reqBatteryWarningPerformance;
114
+
115
+ connection : ErrorAtElement connect useError ::> ueRelyOnStaleVolume to element ::> elMainScreen;
116
+
117
+ connection : Causes connect cause ::> ueRelyOnStaleVolume to effect ::> hzIncorrectDeliveredVolumeAssessment {
118
+ attribute :>> causeKind = CauseKind::useErrorLeadsToHazard;
119
+ }
120
+
121
+ connection : Mitigates connect control ::> rcDisplayFreshnessMonitor to mitigatedElement ::> hzIncorrectDeliveredVolumeAssessment {
122
+ attribute :>> mitigationKind = MitigationKind::hazard;
123
+ }
124
+
125
+ connection : ControlImplementedBy connect riskControl ::> rcDisplayFreshnessMonitor to implementingElement ::> fnManageInfusionDisplay.fnPresentDeliveryStatus;
126
+
127
+ connection : DerivesFrom connect sourceDriver ::> hzIncorrectDeliveredVolumeAssessment to targetRequirement ::> reqDisplayFreshness;
128
+
129
+ connection : ErrorAtElement connect useError ::> ueMisreadDisplayedTime to element ::> elMainScreen;
130
+
131
+ connection : Causes connect cause ::> ueMisreadDisplayedTime to effect ::> hzIncorrectEventChronology {
132
+ attribute :>> causeKind = CauseKind::useErrorLeadsToHazard;
133
+ }
134
+
135
+ connection : Mitigates connect control ::> rcClockFreshnessCheck to mitigatedElement ::> hzIncorrectEventChronology {
136
+ attribute :>> mitigationKind = MitigationKind::hazard;
137
+ }
138
+
139
+ connection : ControlImplementedBy connect riskControl ::> rcClockFreshnessCheck to implementingElement ::> fnManageInfusionDisplay.fnPresentLocalTime;
140
+
141
+ connection : DerivesFrom connect sourceDriver ::> hzIncorrectEventChronology to targetRequirement ::> reqTimeAccuracy;
142
+
143
+ connection : ProducesEvidence connect producer ::> vcRateChange to producedEvidence ::> evRateChange;
144
+
145
+ connection : ProducesEvidence connect producer ::> vcDrugLibrarySelection to producedEvidence ::> evDrugLibrarySelection;
146
+
147
+ connection : ProducesEvidence connect producer ::> vcInfusionStatusContent to producedEvidence ::> evInfusionStatusContent;
148
+
149
+ allocate fnManageInfusionDisplay.fnSetInfusionRate to uiPumpPanel;
150
+ allocate fnManageInfusionDisplay to uiPumpPanel;
151
+ allocate fnManageInfusionDisplay.fnValidateDrugSelection to uiPumpPanel;
152
+ allocate fnManageInfusionDisplay.fnPresentDeliveryStatus to uiPumpPanel;
153
+ allocate fnManageInfusionDisplay.fnPresentLocalTime to uiPumpPanel;
154
+ allocate fnManageInfusionDisplay.fnPresentBatteryStatus to uiPumpPanel;
155
+ // Two seeded function-to-region traces for exercising relationship editing
156
+ // in the UI. Newly drawn regions can be linked the same way.
157
+ allocate fnManageInfusionDisplay.fnValidateDrugSelection to elMainScreen.elDrugSelectorRegion;
158
+ allocate fnManageInfusionDisplay.fnSetInfusionRate to elSettingsScreen.elRateConfirmDialog;
159
+ connection : CapturesScreen connect capture ::> capMain to screen ::> elMainScreen;
160
+
161
+ connection : CapturesScreen connect capture ::> capSettings to screen ::> elSettingsScreen;
162
+
163
+ connection : CapturesScreen connect capture ::> capDrugSelector to screen ::> elMainScreen.elDrugSelectorRegion;
164
+
165
+ connection : CommentsOn connect remark ::> cmtDecimalSalience to annotatedElement ::> elMainScreen;
166
+
167
+ connection : CommentsOn connect remark ::> cmtStatusBarScope to annotatedElement ::> elMainScreen;
168
+
169
+ connection : RationaleFor connect rationaleRecord ::> ratOverlayGeometry to justifiedElement ::> elMainScreen.elDrugSelectorRegion.elDrugMenuExpanded;
170
+
171
+ connection : NotesOn connect noteRecord ::> noteCaptureReview to notedElement ::> capMain;
172
+
173
+ // A reply is a child of the comment it answers — ordinary Composes, so
174
+ // thread cycles are already forbidden by CR-ONT-001.
175
+ connection : Composes connect parent ::> cmtStatusBarScope to child ::> cmtStatusBarReply;
176
+
177
+ connection rel_composes_elMainScreen_uiElement12 : Composes connect parent ::> elMainScreen to child ::> uiElement12;
178
+
179
+ }
@@ -0,0 +1,8 @@
1
+ // The functional viewpoint frames the system function tree and its allocation.
2
+ //
3
+ // This project does not define its own viewpoint here; it binds the reusable
4
+ // MEMO viewpoint that already frames these concerns. The views this project
5
+ // governs with it sit beneath `views/`.
6
+ package memo_examples_ui_screen_regions_viewpoints_functional {
7
+ public import memo_viewpoints_functional_functional_viewpoint::*;
8
+ }
@@ -0,0 +1,62 @@
1
+ package memo_examples_ui_screen_regions_viewpoints_functional_views_ui_functional_tree {
2
+ private import ScalarValues::*;
3
+
4
+ private import memo_core_relationships::*;
5
+ private import memo_core_annotations::*;
6
+ private import memo_architecture_functional_functions::*;
7
+ private import memo_architecture_implementation_ui::*;
8
+ private import memo_assurance_requirements::*;
9
+ private import memo_assurance_requirements_needs::*;
10
+ private import memo_assurance_human_factors::*;
11
+ private import memo_assurance_safety_risk::*;
12
+ private import memo_assurance_verification_validation::*;
13
+ private import memo_artifacts_core::*;
14
+
15
+ private import memo_viewpoints_definitions::*;
16
+ private import memo_core_enumerations::*;
17
+ private import memo_viewpoints_ui_layout_views_screen_layout_view::*;
18
+ private import memo_examples_ui_screen_regions_viewpoints_functional::*;
19
+ private import memo_examples_ui_screen_regions_architecture_implementation_ui::*;
20
+ private import memo_examples_ui_screen_regions_architecture_functional_functions::*;
21
+ private import memo_examples_ui_screen_regions_assurance_requirements::*;
22
+ private import memo_examples_ui_screen_regions_assurance_requirements_needs::*;
23
+ private import memo_examples_ui_screen_regions_assurance_human_factors::*;
24
+ private import memo_examples_ui_screen_regions_assurance_safety_risk::*;
25
+ private import memo_examples_ui_screen_regions_assurance_verification_validation::*;
26
+ private import memo_examples_ui_screen_regions_artifacts_assets::*;
27
+ private import memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
28
+ private import memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
29
+ private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
30
+ private import memo_examples_ui_screen_regions_traces::*;
31
+
32
+ view uiFunctionalTree : MemoDiagramView {
33
+ expose memo_examples_ui_screen_regions_architecture_implementation_ui::*;
34
+ expose memo_examples_ui_screen_regions_architecture_functional_functions::*;
35
+ expose memo_examples_ui_screen_regions_assurance_requirements::*;
36
+ expose memo_examples_ui_screen_regions_assurance_requirements_needs::*;
37
+ expose memo_examples_ui_screen_regions_assurance_human_factors::*;
38
+ expose memo_examples_ui_screen_regions_assurance_safety_risk::*;
39
+ expose memo_examples_ui_screen_regions_assurance_verification_validation::*;
40
+ expose memo_examples_ui_screen_regions_artifacts_assets::*;
41
+ expose memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
42
+ expose memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
43
+ expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
44
+ expose memo_examples_ui_screen_regions_traces::*;
45
+ attribute depth = 3;
46
+ attribute :>> id = "FUN-101";
47
+ attribute :>> title = "Infusion UI Functional Tree";
48
+ attribute :>> shortDescription = "Display-management functions, invoked actions, and UI allocation.";
49
+ attribute :>> viewKind = DiagramViewKind::general;
50
+ attribute :>> diagramType = "bdd";
51
+ attribute :>> autoPopulate = true;
52
+ part :>> selectionQuery {
53
+ attribute :>> id = "QRY-102";
54
+ attribute :>> name = "UIFunctionalTreeQuery";
55
+ attribute :>> includeElementKinds = ("SystemFunction", "UIAction", "UIElement", "UserInterface");
56
+ attribute :>> includeRelationshipKinds = ("Composes", "ElementTriggersAction", "Performs", "AllocatedTo");
57
+ attribute :>> includeLayers = ("functions", "implementation");
58
+ attribute :>> rationaleText = "Show function decomposition from interaction to allocated user interface.";
59
+ }
60
+ part :>> viewpointDefinition = functionalViewpoint;
61
+ }
62
+ }
@@ -0,0 +1,8 @@
1
+ // The requirements viewpoint frames stakeholder needs and their derivation, satisfaction, and verification.
2
+ //
3
+ // This project does not define its own viewpoint here; it binds the reusable
4
+ // MEMO viewpoint that already frames these concerns. The views this project
5
+ // governs with it sit beneath `views/`.
6
+ package memo_examples_ui_screen_regions_viewpoints_requirements {
7
+ public import memo_viewpoints_requirements_requirements_viewpoint::*;
8
+ }
@@ -0,0 +1,62 @@
1
+ package memo_examples_ui_screen_regions_viewpoints_requirements_views_ui_requirements_trace {
2
+ private import ScalarValues::*;
3
+
4
+ private import memo_core_relationships::*;
5
+ private import memo_core_annotations::*;
6
+ private import memo_architecture_functional_functions::*;
7
+ private import memo_architecture_implementation_ui::*;
8
+ private import memo_assurance_requirements::*;
9
+ private import memo_assurance_requirements_needs::*;
10
+ private import memo_assurance_human_factors::*;
11
+ private import memo_assurance_safety_risk::*;
12
+ private import memo_assurance_verification_validation::*;
13
+ private import memo_artifacts_core::*;
14
+
15
+ private import memo_viewpoints_definitions::*;
16
+ private import memo_core_enumerations::*;
17
+ private import memo_viewpoints_ui_layout_views_screen_layout_view::*;
18
+ private import memo_examples_ui_screen_regions_viewpoints_requirements::*;
19
+ private import memo_examples_ui_screen_regions_architecture_implementation_ui::*;
20
+ private import memo_examples_ui_screen_regions_architecture_functional_functions::*;
21
+ private import memo_examples_ui_screen_regions_assurance_requirements::*;
22
+ private import memo_examples_ui_screen_regions_assurance_requirements_needs::*;
23
+ private import memo_examples_ui_screen_regions_assurance_human_factors::*;
24
+ private import memo_examples_ui_screen_regions_assurance_safety_risk::*;
25
+ private import memo_examples_ui_screen_regions_assurance_verification_validation::*;
26
+ private import memo_examples_ui_screen_regions_artifacts_assets::*;
27
+ private import memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
28
+ private import memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
29
+ private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
30
+ private import memo_examples_ui_screen_regions_traces::*;
31
+
32
+ view uiRequirementsTrace : MemoDiagramView {
33
+ expose memo_examples_ui_screen_regions_architecture_implementation_ui::*;
34
+ expose memo_examples_ui_screen_regions_architecture_functional_functions::*;
35
+ expose memo_examples_ui_screen_regions_assurance_requirements::*;
36
+ expose memo_examples_ui_screen_regions_assurance_requirements_needs::*;
37
+ expose memo_examples_ui_screen_regions_assurance_human_factors::*;
38
+ expose memo_examples_ui_screen_regions_assurance_safety_risk::*;
39
+ expose memo_examples_ui_screen_regions_assurance_verification_validation::*;
40
+ expose memo_examples_ui_screen_regions_artifacts_assets::*;
41
+ expose memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
42
+ expose memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
43
+ expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
44
+ expose memo_examples_ui_screen_regions_traces::*;
45
+ attribute depth = 3;
46
+ attribute :>> id = "REQ-101";
47
+ attribute :>> title = "UI Requirements Traceability";
48
+ attribute :>> shortDescription = "Clinical need through UI requirements to satisfying regions and functions.";
49
+ attribute :>> viewKind = DiagramViewKind::grid;
50
+ attribute :>> diagramType = "req";
51
+ attribute :>> autoPopulate = true;
52
+ part :>> selectionQuery {
53
+ attribute :>> id = "QRY-101";
54
+ attribute :>> name = "UIRequirementsTraceQuery";
55
+ attribute :>> includeElementKinds = ("Need", "Requirement", "UIElement", "SystemFunction", "VerificationCase");
56
+ attribute :>> includeRelationshipKinds = ("DerivesFrom", "SatisfiedBy", "VerifiedBy");
57
+ attribute :>> includeLayers = ("requirements", "implementation", "functions", "assurance");
58
+ attribute :>> rationaleText = "Show the example's requirement derivation and satisfaction chain.";
59
+ }
60
+ part :>> viewpointDefinition = requirementsViewpoint;
61
+ }
62
+ }
@@ -0,0 +1,8 @@
1
+ // The risk viewpoint frames use errors, hazards, controls, and the evidence that they hold.
2
+ //
3
+ // This project does not define its own viewpoint here; it binds the reusable
4
+ // MEMO viewpoint that already frames these concerns. The views this project
5
+ // governs with it sit beneath `views/`.
6
+ package memo_examples_ui_screen_regions_viewpoints_risk {
7
+ public import memo_viewpoints_risk_risk_viewpoint::*;
8
+ }
@@ -0,0 +1,62 @@
1
+ package memo_examples_ui_screen_regions_viewpoints_risk_views_ui_risk_chain {
2
+ private import ScalarValues::*;
3
+
4
+ private import memo_core_relationships::*;
5
+ private import memo_core_annotations::*;
6
+ private import memo_architecture_functional_functions::*;
7
+ private import memo_architecture_implementation_ui::*;
8
+ private import memo_assurance_requirements::*;
9
+ private import memo_assurance_requirements_needs::*;
10
+ private import memo_assurance_human_factors::*;
11
+ private import memo_assurance_safety_risk::*;
12
+ private import memo_assurance_verification_validation::*;
13
+ private import memo_artifacts_core::*;
14
+
15
+ private import memo_viewpoints_definitions::*;
16
+ private import memo_core_enumerations::*;
17
+ private import memo_viewpoints_ui_layout_views_screen_layout_view::*;
18
+ private import memo_examples_ui_screen_regions_viewpoints_risk::*;
19
+ private import memo_examples_ui_screen_regions_architecture_implementation_ui::*;
20
+ private import memo_examples_ui_screen_regions_architecture_functional_functions::*;
21
+ private import memo_examples_ui_screen_regions_assurance_requirements::*;
22
+ private import memo_examples_ui_screen_regions_assurance_requirements_needs::*;
23
+ private import memo_examples_ui_screen_regions_assurance_human_factors::*;
24
+ private import memo_examples_ui_screen_regions_assurance_safety_risk::*;
25
+ private import memo_examples_ui_screen_regions_assurance_verification_validation::*;
26
+ private import memo_examples_ui_screen_regions_artifacts_assets::*;
27
+ private import memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
28
+ private import memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
29
+ private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
30
+ private import memo_examples_ui_screen_regions_traces::*;
31
+
32
+ view uiRiskChain : MemoDiagramView {
33
+ expose memo_examples_ui_screen_regions_architecture_implementation_ui::*;
34
+ expose memo_examples_ui_screen_regions_architecture_functional_functions::*;
35
+ expose memo_examples_ui_screen_regions_assurance_requirements::*;
36
+ expose memo_examples_ui_screen_regions_assurance_requirements_needs::*;
37
+ expose memo_examples_ui_screen_regions_assurance_human_factors::*;
38
+ expose memo_examples_ui_screen_regions_assurance_safety_risk::*;
39
+ expose memo_examples_ui_screen_regions_assurance_verification_validation::*;
40
+ expose memo_examples_ui_screen_regions_artifacts_assets::*;
41
+ expose memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
42
+ expose memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
43
+ expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
44
+ expose memo_examples_ui_screen_regions_traces::*;
45
+ attribute depth = 3;
46
+ attribute :>> id = "RSK-101";
47
+ attribute :>> title = "UI Risk and Control Chains";
48
+ attribute :>> shortDescription = "Use errors through UI hazards to implemented controls and requirements.";
49
+ attribute :>> viewKind = DiagramViewKind::general;
50
+ attribute :>> diagramType = "risk";
51
+ attribute :>> autoPopulate = true;
52
+ part :>> selectionQuery {
53
+ attribute :>> id = "QRY-103";
54
+ attribute :>> name = "UIRiskChainQuery";
55
+ attribute :>> includeElementKinds = ("UseError", "Hazard", "RiskControlMeasure", "Requirement", "UIElement", "SystemFunction", "VerificationCase");
56
+ attribute :>> includeRelationshipKinds = ("ErrorAtElement", "Causes", "Mitigates", "ControlImplementedBy", "DerivesFrom", "VerifiedBy");
57
+ attribute :>> includeLayers = ("human_factors", "risk", "requirements", "implementation", "functions", "assurance");
58
+ attribute :>> rationaleText = "Show both misread-rate and wrong-drug UI risk-control chains.";
59
+ }
60
+ part :>> viewpointDefinition = riskViewpoint;
61
+ }
62
+ }
@@ -0,0 +1,8 @@
1
+ // The UI layout viewpoint frames how a captured screen is marked up: element geometry, disclosure, and the design record attached to each region.
2
+ //
3
+ // This project does not define its own viewpoint here; it binds the reusable
4
+ // MEMO viewpoint that already frames these concerns. The views this project
5
+ // governs with it sit beneath `views/`.
6
+ package memo_examples_ui_screen_regions_viewpoints_ui_layout {
7
+ public import memo_viewpoints_ui_layout_ui_layout_viewpoint::*;
8
+ }
@@ -0,0 +1,57 @@
1
+ package memo_examples_ui_screen_regions_viewpoints_ui_layout_views_main_screen_layout {
2
+ private import ScalarValues::*;
3
+
4
+ private import memo_core_relationships::*;
5
+ private import memo_core_annotations::*;
6
+ private import memo_architecture_functional_functions::*;
7
+ private import memo_architecture_implementation_ui::*;
8
+ private import memo_assurance_requirements::*;
9
+ private import memo_assurance_requirements_needs::*;
10
+ private import memo_assurance_human_factors::*;
11
+ private import memo_assurance_safety_risk::*;
12
+ private import memo_assurance_verification_validation::*;
13
+ private import memo_artifacts_core::*;
14
+
15
+ private import memo_viewpoints_definitions::*;
16
+ private import memo_core_enumerations::*;
17
+ private import memo_viewpoints_ui_layout_views_screen_layout_view::*;
18
+ private import memo_examples_ui_screen_regions_viewpoints_ui_layout::*;
19
+ private import memo_examples_ui_screen_regions_architecture_implementation_ui::*;
20
+ private import memo_examples_ui_screen_regions_architecture_functional_functions::*;
21
+ private import memo_examples_ui_screen_regions_assurance_requirements::*;
22
+ private import memo_examples_ui_screen_regions_assurance_requirements_needs::*;
23
+ private import memo_examples_ui_screen_regions_assurance_human_factors::*;
24
+ private import memo_examples_ui_screen_regions_assurance_safety_risk::*;
25
+ private import memo_examples_ui_screen_regions_assurance_verification_validation::*;
26
+ private import memo_examples_ui_screen_regions_artifacts_assets::*;
27
+ private import memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
28
+ private import memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
29
+ private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
30
+ private import memo_examples_ui_screen_regions_traces::*;
31
+
32
+ // The geometry view: the capture as backdrop, elements drawn at their
33
+ // authored bounds. Images for a layout view live in
34
+ // `model/assets/<viewName>/`, so this view's backdrop is under
35
+ // `model/assets/mainScreenLayout/`.
36
+ //
37
+ // `viewKind` is bound by MemoScreenLayoutView and inherited here; SysIDE
38
+ // rejects redeclaring a bound feature value. No `diagramType` is set —
39
+ // geometry has no legacy intent to map from.
40
+ view mainScreenLayout : MemoScreenLayoutView {
41
+ expose memo_examples_ui_screen_regions_architecture_implementation_ui::*;
42
+ expose memo_examples_ui_screen_regions_architecture_functional_functions::*;
43
+ expose memo_examples_ui_screen_regions_assurance_requirements::*;
44
+ expose memo_examples_ui_screen_regions_assurance_requirements_needs::*;
45
+ expose memo_examples_ui_screen_regions_assurance_human_factors::*;
46
+ expose memo_examples_ui_screen_regions_assurance_safety_risk::*;
47
+ expose memo_examples_ui_screen_regions_assurance_verification_validation::*;
48
+ expose memo_examples_ui_screen_regions_artifacts_assets::*;
49
+ expose memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
50
+ expose memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
51
+ expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
52
+ expose memo_examples_ui_screen_regions_traces::*;
53
+ attribute :>> id = "UIE-001";
54
+ attribute :>> title = "Main Infusion Screen — Region Layout";
55
+ part :>> viewpointDefinition = uiLayoutViewpoint;
56
+ }
57
+ }
@@ -0,0 +1,52 @@
1
+ package memo_examples_ui_screen_regions_viewpoints_ui_layout_views_settings_screen_layout {
2
+ private import ScalarValues::*;
3
+
4
+ private import memo_core_relationships::*;
5
+ private import memo_core_annotations::*;
6
+ private import memo_architecture_functional_functions::*;
7
+ private import memo_architecture_implementation_ui::*;
8
+ private import memo_assurance_requirements::*;
9
+ private import memo_assurance_requirements_needs::*;
10
+ private import memo_assurance_human_factors::*;
11
+ private import memo_assurance_safety_risk::*;
12
+ private import memo_assurance_verification_validation::*;
13
+ private import memo_artifacts_core::*;
14
+
15
+ private import memo_viewpoints_definitions::*;
16
+ private import memo_core_enumerations::*;
17
+ private import memo_viewpoints_ui_layout_views_screen_layout_view::*;
18
+ private import memo_examples_ui_screen_regions_viewpoints_ui_layout::*;
19
+ private import memo_examples_ui_screen_regions_architecture_implementation_ui::*;
20
+ private import memo_examples_ui_screen_regions_architecture_functional_functions::*;
21
+ private import memo_examples_ui_screen_regions_assurance_requirements::*;
22
+ private import memo_examples_ui_screen_regions_assurance_requirements_needs::*;
23
+ private import memo_examples_ui_screen_regions_assurance_human_factors::*;
24
+ private import memo_examples_ui_screen_regions_assurance_safety_risk::*;
25
+ private import memo_examples_ui_screen_regions_assurance_verification_validation::*;
26
+ private import memo_examples_ui_screen_regions_artifacts_assets::*;
27
+ private import memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
28
+ private import memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
29
+ private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
30
+ private import memo_examples_ui_screen_regions_traces::*;
31
+
32
+ // The settings screen reached by NavigatesTo, rendered on its own capture.
33
+ // One layout view per captured screen, and the view's name is the folder
34
+ // its images live in — `model/assets/settingsScreenLayout/`.
35
+ view settingsScreenLayout : MemoScreenLayoutView {
36
+ expose memo_examples_ui_screen_regions_architecture_implementation_ui::*;
37
+ expose memo_examples_ui_screen_regions_architecture_functional_functions::*;
38
+ expose memo_examples_ui_screen_regions_assurance_requirements::*;
39
+ expose memo_examples_ui_screen_regions_assurance_requirements_needs::*;
40
+ expose memo_examples_ui_screen_regions_assurance_human_factors::*;
41
+ expose memo_examples_ui_screen_regions_assurance_safety_risk::*;
42
+ expose memo_examples_ui_screen_regions_assurance_verification_validation::*;
43
+ expose memo_examples_ui_screen_regions_artifacts_assets::*;
44
+ expose memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
45
+ expose memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
46
+ expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
47
+ expose memo_examples_ui_screen_regions_traces::*;
48
+ attribute :>> id = "UIE-008";
49
+ attribute :>> title = "Infusion Settings Screen — Region Layout";
50
+ part :>> viewpointDefinition = uiLayoutViewpoint;
51
+ }
52
+ }
@@ -0,0 +1,54 @@
1
+ package memo_examples_ui_screen_regions_viewpoints_ui_layout_views_ui_region_trace {
2
+ private import ScalarValues::*;
3
+
4
+ private import memo_core_relationships::*;
5
+ private import memo_core_annotations::*;
6
+ private import memo_architecture_functional_functions::*;
7
+ private import memo_architecture_implementation_ui::*;
8
+ private import memo_assurance_requirements::*;
9
+ private import memo_assurance_requirements_needs::*;
10
+ private import memo_assurance_human_factors::*;
11
+ private import memo_assurance_safety_risk::*;
12
+ private import memo_assurance_verification_validation::*;
13
+ private import memo_artifacts_core::*;
14
+
15
+ private import memo_viewpoints_definitions::*;
16
+ private import memo_core_enumerations::*;
17
+ private import memo_viewpoints_ui_layout_views_screen_layout_view::*;
18
+ private import memo_examples_ui_screen_regions_viewpoints_ui_layout::*;
19
+ private import memo_examples_ui_screen_regions_architecture_implementation_ui::*;
20
+ private import memo_examples_ui_screen_regions_architecture_functional_functions::*;
21
+ private import memo_examples_ui_screen_regions_assurance_requirements::*;
22
+ private import memo_examples_ui_screen_regions_assurance_requirements_needs::*;
23
+ private import memo_examples_ui_screen_regions_assurance_human_factors::*;
24
+ private import memo_examples_ui_screen_regions_assurance_safety_risk::*;
25
+ private import memo_examples_ui_screen_regions_assurance_verification_validation::*;
26
+ private import memo_examples_ui_screen_regions_artifacts_assets::*;
27
+ private import memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
28
+ private import memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
29
+ private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
30
+ private import memo_examples_ui_screen_regions_traces::*;
31
+
32
+ // The same content as a graph, for reviewers who want to read the trace
33
+ // chain rather than look at the screen.
34
+ view uiRegionTrace : MemoDiagramView {
35
+ expose memo_examples_ui_screen_regions_architecture_implementation_ui::*;
36
+ expose memo_examples_ui_screen_regions_architecture_functional_functions::*;
37
+ expose memo_examples_ui_screen_regions_assurance_requirements::*;
38
+ expose memo_examples_ui_screen_regions_assurance_requirements_needs::*;
39
+ expose memo_examples_ui_screen_regions_assurance_human_factors::*;
40
+ expose memo_examples_ui_screen_regions_assurance_safety_risk::*;
41
+ expose memo_examples_ui_screen_regions_assurance_verification_validation::*;
42
+ expose memo_examples_ui_screen_regions_artifacts_assets::*;
43
+ expose memo_examples_ui_screen_regions_artifacts_reviews_comments::*;
44
+ expose memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
45
+ expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
46
+ expose memo_examples_ui_screen_regions_traces::*;
47
+ attribute :>> id = "UIV-001";
48
+ attribute depth = 3;
49
+ attribute :>> title = "UI Region Traceability";
50
+ attribute :>> viewKind = DiagramViewKind::general;
51
+ attribute :>> diagramType = "bdd";
52
+ part :>> viewpointDefinition = uiLayoutViewpoint;
53
+ }
54
+ }
@@ -0,0 +1,19 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 memoarchitect
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE.