@memoarchitect/ontology 0.6.5 → 0.7.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (319) hide show
  1. package/README.md +1 -1
  2. package/examples/connected-patient-monitor/model/catalog/project.sysml +24 -0
  3. package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  4. package/examples/connected-patient-monitor/model/{viewpoints → catalog/viewpoints/unassigned/views}/connected_patient_monitor_overview.sysml +1 -1
  5. package/examples/embedded-infusion-pump/model/catalog/project.sysml +24 -0
  6. package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  7. package/examples/embedded-infusion-pump/model/{viewpoints → catalog/viewpoints/unassigned/views}/embedded_infusion_pump_overview.sysml +1 -1
  8. package/examples/extensions/clinical/memo.package.yaml +18 -9
  9. package/examples/extensions/clinical/src/methodology/clinical_methodology.sysml +10 -2
  10. package/examples/extensions/template/memo.package.yaml +17 -9
  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/gpca-pump.kpar +0 -0
  15. package/examples/gpca-pump/methodology/gpca_methodology.sysml +7 -8
  16. package/examples/gpca-pump/methodology/gpca_profiles.sysml +89 -11
  17. package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +1 -1
  18. package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +1 -1
  19. package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +2 -2
  20. package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +1 -1
  21. package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +5 -5
  22. package/examples/gpca-pump/model/catalog/gpca_context.sysml +3 -8
  23. package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +6 -6
  24. package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +1 -15
  25. package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +7 -6
  26. package/examples/gpca-pump/model/catalog/gpca_operational.sysml +19 -8
  27. package/examples/gpca-pump/model/catalog/gpca_physical.sysml +2 -2
  28. package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +1 -1
  29. package/examples/gpca-pump/model/catalog/gpca_risk.sysml +1 -1
  30. package/examples/gpca-pump/model/catalog/gpca_system.sysml +34 -30
  31. package/examples/gpca-pump/model/catalog/gpca_trace.sysml +27 -23
  32. package/examples/gpca-pump/model/catalog/gpca_verification.sysml +1 -1
  33. package/examples/gpca-pump/model/catalog/project.sysml +21 -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 +3 -3
  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 +3 -3
  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 +4 -4
  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 +7 -7
  46. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_device_interconnect_view.sysml +3 -3
  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 +3 -3
  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 +2 -2
  52. package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_use_case_view.sysml +3 -3
  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 +6 -6
  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 +3 -3
  60. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_rmf_view.sysml +3 -3
  61. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_fmea_view.sysml +2 -2
  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 +3 -3
  65. package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/software_software_architecture_view.sysml +3 -3
  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 +4 -4
  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 +3 -3
  70. package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/verification_verification_coverage_view.sysml +2 -2
  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 +1 -0
  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/project.sysml +24 -0
  79. package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  80. package/examples/multidimensional-layers/model/{viewpoints → catalog/viewpoints/unassigned/views}/multidimensional_layers_overview.sysml +1 -1
  81. package/examples/nested-architecture-dsm/README.md +49 -0
  82. package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +174 -0
  83. package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +183 -0
  84. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +53 -0
  85. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +89 -0
  86. package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +90 -0
  87. package/examples/nested-architecture-dsm/model/catalog/project.sysml +28 -0
  88. package/examples/nested-architecture-dsm/model/catalog/traces.sysml +49 -0
  89. package/examples/reusable-instrument/model/catalog/project.sysml +24 -0
  90. package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +7 -6
  91. package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  92. package/examples/reusable-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/reusable_instrument_overview.sysml +1 -1
  93. package/examples/software-only-medical-device/model/catalog/project.sysml +24 -0
  94. package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  95. package/examples/software-only-medical-device/model/{viewpoints → catalog/viewpoints/unassigned/views}/software_only_medical_device_overview.sysml +1 -1
  96. package/examples/surgical-closure-workflow/model/catalog/project.sysml +24 -0
  97. package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +23 -19
  98. package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  99. package/examples/surgical-closure-workflow/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_closure_workflow_overview.sysml +1 -1
  100. package/examples/surgical-robot/model/catalog/project.sysml +24 -0
  101. package/examples/surgical-robot/model/catalog/surgical_robot.sysml +5 -3
  102. package/examples/surgical-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  103. package/examples/surgical-robot/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_robot_overview.sysml +1 -1
  104. package/examples/sysml-diagram-samples/README.md +7 -0
  105. package/examples/sysml-diagram-samples/dhf/documents/DOC-HAR-001.md +11 -0
  106. package/examples/sysml-diagram-samples/memo.package.yaml +11 -5
  107. package/examples/sysml-diagram-samples/model/catalog/project.sysml +33 -0
  108. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  109. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/action_flow_view.sysml +18 -10
  110. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/context_view.sysml +4 -2
  111. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +47 -0
  112. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/functional_flow_view.sysml +23 -20
  113. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/interconnection_view.sysml +17 -14
  114. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +94 -0
  115. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/operational_behaviour_view.sysml +23 -20
  116. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +13 -0
  117. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/requirements_view.sysml +3 -1
  118. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +51 -0
  119. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/state_transition_view.sysml +3 -1
  120. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/tree_view.sysml +3 -1
  121. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/use_case_view.sysml +3 -1
  122. package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +93 -0
  123. package/examples/temperature-alarm/model/catalog/project.sysml +24 -0
  124. package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +2 -1
  125. package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  126. package/examples/temperature-alarm/model/{viewpoints → catalog/viewpoints/unassigned/views}/temperature_alarm_overview.sysml +1 -1
  127. package/examples/ui-screen-regions/README.md +117 -0
  128. package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +60 -0
  129. package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +189 -0
  130. package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +61 -0
  131. package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/drugSelectorRegion/drug-selector-expanded-2.4.1.png +0 -0
  132. package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/mainScreenLayout/main-screen-2.4.1.png +0 -0
  133. package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/settingsScreenLayout/settings-screen-2.4.1.png +0 -0
  134. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +51 -0
  135. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +27 -0
  136. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +27 -0
  137. package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +59 -0
  138. package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +25 -0
  139. package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +178 -0
  140. package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +93 -0
  141. package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +60 -0
  142. package/examples/ui-screen-regions/model/catalog/project.sysml +45 -0
  143. package/examples/ui-screen-regions/model/catalog/traces.sysml +276 -0
  144. package/examples/ui-screen-regions/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
  145. package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +62 -0
  146. package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
  147. package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +62 -0
  148. package/examples/ui-screen-regions/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
  149. package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +62 -0
  150. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/viewpoint.sysml +8 -0
  151. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +57 -0
  152. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +52 -0
  153. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +54 -0
  154. package/memo.manifest.yaml +2 -0
  155. package/methodologies/default/memo.package.yaml +19 -9
  156. package/methodologies/gpca/memo.package.yaml +18 -9
  157. package/ontology/memo.package.yaml +23 -8
  158. package/package.json +2 -4
  159. package/profile/memo.package.yaml +18 -9
  160. package/src/architecture/decisions/memo_decisions.sysml +7 -0
  161. package/src/architecture/functional/behavior/memo_behavior.sysml +1 -1
  162. package/src/architecture/functional/functions/memo_functions.sysml +5 -12
  163. package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +1 -3
  164. package/src/architecture/implementation/software/structure/memo_software_structure.sysml +18 -5
  165. package/src/architecture/implementation/ui/memo_ui.sysml +210 -27
  166. package/src/architecture/logical/interfaces/memo_interfaces.sysml +1 -2
  167. package/src/architecture/logical/structure/memo_logical_structure.sysml +71 -15
  168. package/src/architecture/operational/activities/memo_activities.sysml +0 -1
  169. package/src/architecture/operational/scenarios/memo_scenarios.sysml +2 -2
  170. package/src/architecture/operational/workflows/memo_workflows.sysml +0 -6
  171. package/src/{compliance/change/memo_change.sysml → artifacts/configuration_management/memo_configuration_management.sysml} +5 -3
  172. package/src/artifacts/core/memo_controlled_artifacts.sysml +33 -0
  173. package/src/artifacts/documents/risk_management/memo_risk_management.sysml +12 -0
  174. package/src/assurance/cybersecurity/memo_cybersecurity.sysml +1 -1
  175. package/src/assurance/human_factors/memo_human_factors.sysml +1 -1
  176. package/src/assurance/safety_risk/postmarket_surveillance/memo_postmarket_surveillance.sysml +11 -0
  177. package/src/assurance/verification_validation/clinical_evaluation/memo_clinical_evaluation.sysml +11 -0
  178. package/src/assurance/verification_validation/memo_assurance.sysml +1 -1
  179. package/src/core/annotations/memo_annotations.sysml +77 -0
  180. package/src/core/common/memo_common.sysml +20 -3
  181. package/src/core/consistency_rules/consistency_rules.sysml +7 -0
  182. package/src/core/dimensions/dimensions.sysml +5 -1
  183. package/src/core/enumerations/memo_enumerations.sysml +41 -6
  184. package/src/core/methodology_scope/methodology_scope.sysml +7 -15
  185. package/src/core/relationships/memo_relationships.sysml +4 -2
  186. package/src/memo_namespaces.sysml +97 -67
  187. package/src/methodology/core/memo_core.sysml +45 -2
  188. package/src/methodology/profiles/memo_profiles.sysml +30 -40
  189. package/src/methodology/workflow/memo_workflow.sysml +7 -2
  190. package/src/rules/closure/closure_rules.sysml +104 -31
  191. package/src/rules/coverage/coverage_rules.sysml +4 -256
  192. package/src/rules/crosslayer/cross_layer_rules.sysml +6 -15
  193. package/src/rules/lifecycle/lifecycle_rules.sysml +4 -39
  194. package/src/rules/ontology/ontology_invariants.sysml +30 -73
  195. package/src/rules/quantitative/quantitative_rules.sysml +8 -8
  196. package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +7 -0
  197. package/src/viewpoints/clinical/clinical_viewpoint.sysml +3 -1
  198. package/src/viewpoints/clinical/{clinical_evidence_view → views/clinical_evidence_view}/clinical_evidence_view.sysml +2 -2
  199. package/src/viewpoints/context/context_viewpoint.sysml +3 -1
  200. package/src/viewpoints/context/{system_context_view → views/system_context_view}/system_context_view.sysml +2 -2
  201. package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +3 -1
  202. package/src/viewpoints/cybersecurity/{cybersecurity_assessment_view → views/cybersecurity_assessment_view}/cybersecurity_assessment_view.sysml +2 -2
  203. package/src/viewpoints/cybersecurity/{threat_model_view → views/threat_model_view}/threat_model_view.sysml +2 -2
  204. package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +4 -0
  205. package/src/viewpoints/functional/functional_viewpoint.sysml +3 -1
  206. package/src/viewpoints/functional/{function_allocation_view → views/function_allocation_view}/function_allocation_view.sysml +2 -2
  207. package/src/viewpoints/functional/{system_functional_tree_view → views/system_functional_tree_view}/system_functional_tree_view.sysml +2 -2
  208. package/src/viewpoints/logical/logical_viewpoint.sysml +3 -1
  209. package/src/viewpoints/logical/{logical_architecture_view → views/logical_architecture_view}/logical_architecture_view.sysml +2 -2
  210. package/src/viewpoints/operational/operational_viewpoint.sysml +3 -1
  211. package/src/viewpoints/operational/{use_case_view → views/use_case_view}/use_case_view.sysml +2 -2
  212. package/src/viewpoints/physical/physical_viewpoint.sysml +3 -1
  213. package/src/viewpoints/physical/{network_topology_view → views/network_topology_view}/network_topology_view.sysml +2 -2
  214. package/src/viewpoints/physical/{physical_bom_view → views/physical_bom_view}/physical_bom_view.sysml +2 -2
  215. package/src/viewpoints/rendering/memo_rendering.sysml +354 -0
  216. package/src/viewpoints/requirements/requirements_viewpoint.sysml +3 -1
  217. package/src/viewpoints/requirements/{requirements_traceability_view → views/requirements_traceability_view}/requirements_traceability_view.sysml +2 -2
  218. package/src/viewpoints/risk/risk_viewpoint.sysml +3 -1
  219. package/src/viewpoints/risk/{risk_chain_view → views/risk_chain_view}/risk_chain_view.sysml +2 -2
  220. package/src/viewpoints/software/software_viewpoint.sysml +3 -1
  221. package/src/viewpoints/software/{software_architecture_view → views/software_architecture_view}/software_architecture_view.sysml +2 -2
  222. package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +28 -0
  223. package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +23 -0
  224. package/src/viewpoints/usability/usability_viewpoint.sysml +3 -1
  225. package/src/viewpoints/usability/{usability_engineering_view → views/usability_engineering_view}/usability_engineering_view.sysml +2 -2
  226. package/src/viewpoints/verification/verification_viewpoint.sysml +3 -1
  227. package/src/viewpoints/verification/{verification_coverage_view → views/verification_coverage_view}/verification_coverage_view.sysml +2 -2
  228. package/templates/connected-device/memo.package.yaml +11 -5
  229. package/templates/connected-device/model/catalog/project.sysml +28 -0
  230. package/templates/connected-device/syside.toml +1 -1
  231. package/templates/default/memo.package.yaml +11 -5
  232. package/templates/default/model/catalog/project.sysml +28 -0
  233. package/templates/default/syside.toml +1 -1
  234. package/templates/infusion-pump/memo.package.yaml +11 -5
  235. package/templates/infusion-pump/model/catalog/project.sysml +28 -0
  236. package/templates/infusion-pump/syside.toml +1 -1
  237. package/templates/monitoring-device/memo.package.yaml +11 -5
  238. package/templates/monitoring-device/model/catalog/project.sysml +28 -0
  239. package/templates/monitoring-device/syside.toml +1 -1
  240. package/templates/samd/memo.package.yaml +11 -5
  241. package/templates/samd/model/catalog/project.sysml +28 -0
  242. package/templates/samd/syside.toml +1 -1
  243. package/examples/connected-patient-monitor/model/connected_patient_monitor.sysml +0 -3
  244. package/examples/embedded-infusion-pump/model/embedded_infusion_pump.sysml +0 -3
  245. package/examples/functional-logical-physical/model/functional_logical_physical.sysml +0 -3
  246. package/examples/gpca-pump/memo.config.yaml +0 -9
  247. package/examples/gpca-pump/methodology/gpca_scope.sysml +0 -25
  248. package/examples/ivd-laboratory-system/model/ivd_laboratory_system.sysml +0 -3
  249. package/examples/manual-surgical-instrument/model/manual_surgical_instrument.sysml +0 -3
  250. package/examples/multidimensional-layers/model/multidimensional_layers.sysml +0 -4
  251. package/examples/reusable-instrument/model/reusable_instrument.sysml +0 -4
  252. package/examples/software-only-medical-device/model/software_only_medical_device.sysml +0 -4
  253. package/examples/surgical-closure-workflow/model/surgical_closure_workflow.sysml +0 -4
  254. package/examples/surgical-robot/model/surgical_robot.sysml +0 -4
  255. package/examples/temperature-alarm/model/temperature_alarm.sysml +0 -4
  256. package/ontology/memo.rendering.yaml +0 -84
  257. package/src/compliance/artifacts/memo_artifacts.sysml +0 -12
  258. package/src/compliance/document_views/memo_document_views.sysml +0 -7
  259. package/src/compliance/iso14971/risk_management_file.sysml +0 -16
  260. package/src/compliance/postmarket/memo_postmarket.sysml +0 -16
  261. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/change-record.md +0 -0
  262. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-input.md +0 -0
  263. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-output.md +0 -0
  264. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-review.md +0 -0
  265. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-validation.md +0 -0
  266. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-verification.md +0 -0
  267. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/dhf-index.md +0 -0
  268. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/transfer-plan.md +0 -0
  269. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/user-needs.md +0 -0
  270. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-plan.md +0 -0
  271. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-report.md +0 -0
  272. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/incident-response.md +0 -0
  273. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/postmarket-surveillance.md +0 -0
  274. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/security-arch.md +0 -0
  275. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/threat-model.md +0 -0
  276. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/vuln-assessment.md +0 -0
  277. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/change-control.md +0 -0
  278. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/detailed-design.md +0 -0
  279. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/integration-test.md +0 -0
  280. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sad.md +0 -0
  281. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sbom.md +0 -0
  282. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sdp.md +0 -0
  283. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/soup.md +0 -0
  284. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/srs.md +0 -0
  285. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sw-traceability.md +0 -0
  286. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/system-test.md +0 -0
  287. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/formative-eval.md +0 -0
  288. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/summative-eval.md +0 -0
  289. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/task-analysis.md +0 -0
  290. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ue-plan.md +0 -0
  291. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ui-spec.md +0 -0
  292. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/urra.md +0 -0
  293. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/use-spec.md +0 -0
  294. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/fmea.md +0 -0
  295. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/fta.md +0 -0
  296. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/har.md +0 -0
  297. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-benefit.md +0 -0
  298. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-matrix.md +0 -0
  299. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmp.md +0 -0
  300. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmr.md +0 -0
  301. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/approval-block.md +0 -0
  302. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/document-control-header.md +0 -0
  303. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/references-section.md +0 -0
  304. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/revision-history-table.md +0 -0
  305. /package/templates/connected-device/{src → model/catalog}/architecture/system.sysml +0 -0
  306. /package/templates/connected-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  307. /package/templates/connected-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
  308. /package/templates/default/{src → model/catalog}/architecture/system.sysml +0 -0
  309. /package/templates/default/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  310. /package/templates/default/{src → model/catalog}/assurance/requirements.sysml +0 -0
  311. /package/templates/infusion-pump/{src → model/catalog}/architecture/system.sysml +0 -0
  312. /package/templates/infusion-pump/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  313. /package/templates/infusion-pump/{src → model/catalog}/assurance/requirements.sysml +0 -0
  314. /package/templates/monitoring-device/{src → model/catalog}/architecture/system.sysml +0 -0
  315. /package/templates/monitoring-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  316. /package/templates/monitoring-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
  317. /package/templates/samd/{src → model/catalog}/architecture/system.sysml +0 -0
  318. /package/templates/samd/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  319. /package/templates/samd/{src → model/catalog}/assurance/requirements.sysml +0 -0
@@ -6,6 +6,7 @@ package memo {
6
6
  public import memo_core_terminology::*;
7
7
  public import memo_core_common::*;
8
8
  public import memo_core_relationships::*;
9
+ public import memo_core_annotations::*;
9
10
 
10
11
  public import memo_architecture_operational_context_actors::*;
11
12
  public import memo_architecture_operational_context_stakeholders::*;
@@ -31,44 +32,48 @@ package memo {
31
32
  public import memo_assurance_safety_risk::*;
32
33
  public import memo_assurance_cybersecurity::*;
33
34
  public import memo_assurance_verification_validation::*;
35
+ public import memo_assurance_verification_validation_clinical_evaluation::*;
34
36
  public import memo_architecture_realization_physical::*;
35
37
  public import memo_assurance_safety_risk_analysis::*;
38
+ public import memo_assurance_safety_risk_postmarket_surveillance::*;
36
39
  public import memo_architecture_decisions::*;
37
40
 
38
41
  public import memo_viewpoints_definitions::*;
39
42
  public import memo_viewpoints_catalog::*;
40
43
  public import memo_viewpoints_context_context_viewpoint::*;
41
- public import memo_viewpoints_context_system_context_view::*;
44
+ public import memo_viewpoints_context_views_system_context_view::*;
42
45
  public import memo_viewpoints_operational_operational_viewpoint::*;
43
- public import memo_viewpoints_operational_use_case_view::*;
46
+ public import memo_viewpoints_operational_views_use_case_view::*;
44
47
  public import memo_viewpoints_requirements_requirements_viewpoint::*;
45
- public import memo_viewpoints_requirements_requirements_traceability_view::*;
48
+ public import memo_viewpoints_requirements_views_requirements_traceability_view::*;
46
49
  public import memo_viewpoints_functional_functional_viewpoint::*;
47
- public import memo_viewpoints_functional_system_functional_tree_view::*;
48
- public import memo_viewpoints_functional_function_allocation_view::*;
50
+ public import memo_viewpoints_functional_views_system_functional_tree_view::*;
51
+ public import memo_viewpoints_functional_views_function_allocation_view::*;
49
52
  public import memo_viewpoints_logical_logical_viewpoint::*;
50
- public import memo_viewpoints_logical_logical_architecture_view::*;
53
+ public import memo_viewpoints_logical_views_logical_architecture_view::*;
51
54
  public import memo_viewpoints_software_software_viewpoint::*;
52
- public import memo_viewpoints_software_software_architecture_view::*;
55
+ public import memo_viewpoints_software_views_software_architecture_view::*;
53
56
  public import memo_viewpoints_physical_physical_viewpoint::*;
54
- public import memo_viewpoints_physical_physical_bom_view::*;
55
- public import memo_viewpoints_physical_network_topology_view::*;
57
+ public import memo_viewpoints_physical_views_physical_bom_view::*;
58
+ public import memo_viewpoints_physical_views_network_topology_view::*;
56
59
  public import memo_viewpoints_risk_risk_viewpoint::*;
57
- public import memo_viewpoints_risk_risk_chain_view::*;
60
+ public import memo_viewpoints_risk_views_risk_chain_view::*;
58
61
  public import memo_viewpoints_verification_verification_viewpoint::*;
59
- public import memo_viewpoints_verification_verification_coverage_view::*;
62
+ public import memo_viewpoints_verification_views_verification_coverage_view::*;
60
63
  public import memo_viewpoints_cybersecurity_cybersecurity_viewpoint::*;
61
- public import memo_viewpoints_cybersecurity_threat_model_view::*;
62
- public import memo_viewpoints_cybersecurity_cybersecurity_assessment_view::*;
64
+ public import memo_viewpoints_cybersecurity_views_threat_model_view::*;
65
+ public import memo_viewpoints_cybersecurity_views_cybersecurity_assessment_view::*;
63
66
  public import memo_viewpoints_clinical_clinical_viewpoint::*;
64
- public import memo_viewpoints_clinical_clinical_evidence_view::*;
67
+ public import memo_viewpoints_clinical_views_clinical_evidence_view::*;
65
68
  public import memo_viewpoints_usability_usability_viewpoint::*;
66
- public import memo_viewpoints_usability_usability_engineering_view::*;
69
+ public import memo_viewpoints_usability_views_usability_engineering_view::*;
70
+ public import memo_viewpoints_ui_layout_ui_layout_viewpoint::*;
71
+ public import memo_viewpoints_ui_layout_views_screen_layout_view::*;
67
72
 
68
73
  public import memo_artifacts_definitions::*;
69
- public import memo_compliance_artifacts::*;
70
- public import memo_compliance_change::*;
71
- public import memo_compliance_postmarket::*;
74
+ public import memo_artifacts_core::*;
75
+ public import memo_artifacts_configuration_management::*;
76
+ public import memo_artifacts_documents_risk_management::*;
72
77
 
73
78
  public import memo_methodology_core::*;
74
79
  public import memo_methodology_rules::*;
@@ -80,7 +85,6 @@ package memo {
80
85
  alias architecture for memo_namespace_architecture;
81
86
  alias assurance for memo_namespace_assurance;
82
87
  alias artifacts for memo_namespace_artifacts;
83
- alias compliance for memo_namespace_compliance;
84
88
  alias core for memo_namespace_core;
85
89
  alias methodology for memo_namespace_methodology;
86
90
  alias rules for memo_namespace_rules;
@@ -103,6 +107,7 @@ package memo_namespace_assurance {
103
107
  public import memo_assurance_safety_risk::*;
104
108
  public import memo_assurance_safety_risk_arch_risk::*;
105
109
  alias 'analysis' for memo_namespace_assurance_safety_risk_analysis;
110
+ alias postmarket_surveillance for memo_namespace_assurance_safety_risk_postmarket_surveillance;
106
111
  }
107
112
  alias cybersecurity for memo_namespace_assurance_cybersecurity;
108
113
  alias human_factors for memo_namespace_assurance_human_factors;
@@ -235,17 +240,13 @@ package memo_namespace_architecture {
235
240
 
236
241
  package memo_namespace_artifacts {
237
242
  alias definitions for memo_namespace_artifacts_definitions;
238
- }
239
-
240
- package memo_namespace_compliance {
241
- alias artifacts for memo_namespace_compliance_artifacts;
242
- alias change for memo_namespace_compliance_change;
243
- alias document_views for memo_namespace_compliance_document_views;
244
- alias iso14971 for memo_namespace_compliance_iso14971;
245
- alias postmarket for memo_namespace_compliance_postmarket;
243
+ alias core for memo_namespace_artifacts_core;
244
+ alias configuration_management for memo_namespace_artifacts_configuration_management;
245
+ alias documents for memo_namespace_artifacts_documents;
246
246
  }
247
247
 
248
248
  package memo_namespace_core {
249
+ alias annotations for memo_namespace_core_annotations;
249
250
  alias common for memo_namespace_core_common;
250
251
  alias consistency_rules for memo_namespace_core_consistency_rules;
251
252
  alias dimensions for memo_namespace_core_dimensions;
@@ -290,6 +291,7 @@ package memo_namespace_viewpoints {
290
291
  alias requirements for memo_namespace_viewpoints_requirements;
291
292
  alias risk for memo_namespace_viewpoints_risk;
292
293
  alias software for memo_namespace_viewpoints_software;
294
+ alias ui_layout for memo_namespace_viewpoints_ui_layout;
293
295
  alias usability for memo_namespace_viewpoints_usability;
294
296
  alias 'verification' for memo_namespace_viewpoints_verification;
295
297
  }
@@ -300,6 +302,7 @@ package memo_namespace_assurance_safety_risk_analysis {
300
302
 
301
303
  package memo_namespace_assurance_verification_validation {
302
304
  public import memo_assurance_verification_validation::*;
305
+ alias clinical_evaluation for memo_namespace_assurance_verification_validation_clinical_evaluation;
303
306
  }
304
307
 
305
308
  package memo_namespace_architecture_behavior {
@@ -350,24 +353,32 @@ package memo_namespace_artifacts_definitions {
350
353
  public import memo_artifacts_definitions::*;
351
354
  }
352
355
 
353
- package memo_namespace_compliance_artifacts {
354
- public import memo_compliance_artifacts::*;
356
+ package memo_namespace_artifacts_core {
357
+ public import memo_artifacts_core::*;
358
+ }
359
+
360
+ package memo_namespace_artifacts_configuration_management {
361
+ public import memo_artifacts_configuration_management::*;
355
362
  }
356
363
 
357
- package memo_namespace_compliance_change {
358
- public import memo_compliance_change::*;
364
+ package memo_namespace_artifacts_documents {
365
+ alias risk_management for memo_namespace_artifacts_documents_risk_management;
359
366
  }
360
367
 
361
- package memo_namespace_compliance_document_views {
362
- public import memo_compliance_document_views::*;
368
+ package memo_namespace_artifacts_documents_risk_management {
369
+ public import memo_artifacts_documents_risk_management::*;
363
370
  }
364
371
 
365
- package memo_namespace_compliance_iso14971 {
366
- public import memo_compliance_iso14971::*;
372
+ package memo_namespace_assurance_verification_validation_clinical_evaluation {
373
+ public import memo_assurance_verification_validation_clinical_evaluation::*;
367
374
  }
368
375
 
369
- package memo_namespace_compliance_postmarket {
370
- public import memo_compliance_postmarket::*;
376
+ package memo_namespace_assurance_safety_risk_postmarket_surveillance {
377
+ public import memo_assurance_safety_risk_postmarket_surveillance::*;
378
+ }
379
+
380
+ package memo_namespace_core_annotations {
381
+ public import memo_core_annotations::*;
371
382
  }
372
383
 
373
384
  package memo_namespace_core_common {
@@ -470,19 +481,21 @@ package memo_namespace_viewpoints_catalog {
470
481
  }
471
482
 
472
483
  package memo_namespace_viewpoints_clinical {
473
- alias clinical_evidence_view for memo_namespace_viewpoints_clinical_clinical_evidence_view;
474
484
  public import memo_viewpoints_clinical_clinical_viewpoint::*;
485
+ package views { alias clinical_evidence_view for memo_namespace_viewpoints_clinical_clinical_evidence_view; }
475
486
  }
476
487
 
477
488
  package memo_namespace_viewpoints_context {
478
- alias system_context_view for memo_namespace_viewpoints_context_system_context_view;
479
489
  public import memo_viewpoints_context_context_viewpoint::*;
490
+ package views { alias system_context_view for memo_namespace_viewpoints_context_system_context_view; }
480
491
  }
481
492
 
482
493
  package memo_namespace_viewpoints_cybersecurity {
483
- alias cybersecurity_assessment_view for memo_namespace_viewpoints_cybersecurity_cybersecurity_assessment_view;
484
- alias threat_model_view for memo_namespace_viewpoints_cybersecurity_threat_model_view;
485
494
  public import memo_viewpoints_cybersecurity_cybersecurity_viewpoint::*;
495
+ package views {
496
+ alias cybersecurity_assessment_view for memo_namespace_viewpoints_cybersecurity_cybersecurity_assessment_view;
497
+ alias threat_model_view for memo_namespace_viewpoints_cybersecurity_threat_model_view;
498
+ }
486
499
  }
487
500
 
488
501
  package memo_namespace_viewpoints_definitions {
@@ -490,50 +503,59 @@ package memo_namespace_viewpoints_definitions {
490
503
  }
491
504
 
492
505
  package memo_namespace_viewpoints_functional {
493
- alias function_allocation_view for memo_namespace_viewpoints_functional_function_allocation_view;
494
- alias system_functional_tree_view for memo_namespace_viewpoints_functional_system_functional_tree_view;
495
506
  public import memo_viewpoints_functional_functional_viewpoint::*;
507
+ package views {
508
+ alias function_allocation_view for memo_namespace_viewpoints_functional_function_allocation_view;
509
+ alias system_functional_tree_view for memo_namespace_viewpoints_functional_system_functional_tree_view;
510
+ }
496
511
  }
497
512
 
498
513
  package memo_namespace_viewpoints_logical {
499
- alias logical_architecture_view for memo_namespace_viewpoints_logical_logical_architecture_view;
500
514
  public import memo_viewpoints_logical_logical_viewpoint::*;
515
+ package views { alias logical_architecture_view for memo_namespace_viewpoints_logical_logical_architecture_view; }
501
516
  }
502
517
 
503
518
  package memo_namespace_viewpoints_operational {
504
- alias use_case_view for memo_namespace_viewpoints_operational_use_case_view;
505
519
  public import memo_viewpoints_operational_operational_viewpoint::*;
520
+ package views { alias use_case_view for memo_namespace_viewpoints_operational_use_case_view; }
506
521
  }
507
522
 
508
523
  package memo_namespace_viewpoints_physical {
509
- alias network_topology_view for memo_namespace_viewpoints_physical_network_topology_view;
510
- alias physical_bom_view for memo_namespace_viewpoints_physical_physical_bom_view;
511
524
  public import memo_viewpoints_physical_physical_viewpoint::*;
525
+ package views {
526
+ alias network_topology_view for memo_namespace_viewpoints_physical_network_topology_view;
527
+ alias physical_bom_view for memo_namespace_viewpoints_physical_physical_bom_view;
528
+ }
512
529
  }
513
530
 
514
531
  package memo_namespace_viewpoints_requirements {
515
- alias requirements_traceability_view for memo_namespace_viewpoints_requirements_requirements_traceability_view;
516
532
  public import memo_viewpoints_requirements_requirements_viewpoint::*;
533
+ package views { alias requirements_traceability_view for memo_namespace_viewpoints_requirements_requirements_traceability_view; }
517
534
  }
518
535
 
519
536
  package memo_namespace_viewpoints_risk {
520
- alias risk_chain_view for memo_namespace_viewpoints_risk_risk_chain_view;
521
537
  public import memo_viewpoints_risk_risk_viewpoint::*;
538
+ package views { alias risk_chain_view for memo_namespace_viewpoints_risk_risk_chain_view; }
522
539
  }
523
540
 
524
541
  package memo_namespace_viewpoints_software {
525
- alias software_architecture_view for memo_namespace_viewpoints_software_software_architecture_view;
526
542
  public import memo_viewpoints_software_software_viewpoint::*;
543
+ package views { alias software_architecture_view for memo_namespace_viewpoints_software_software_architecture_view; }
527
544
  }
528
545
 
529
546
  package memo_namespace_viewpoints_usability {
530
- alias usability_engineering_view for memo_namespace_viewpoints_usability_usability_engineering_view;
531
547
  public import memo_viewpoints_usability_usability_viewpoint::*;
548
+ package views { alias usability_engineering_view for memo_namespace_viewpoints_usability_usability_engineering_view; }
549
+ }
550
+
551
+ package memo_namespace_viewpoints_ui_layout {
552
+ public import memo_viewpoints_ui_layout_ui_layout_viewpoint::*;
553
+ package views { alias screen_layout_view for memo_namespace_viewpoints_ui_layout_screen_layout_view; }
532
554
  }
533
555
 
534
556
  package memo_namespace_viewpoints_verification {
535
- alias verification_coverage_view for memo_namespace_viewpoints_verification_verification_coverage_view;
536
557
  public import memo_viewpoints_verification_verification_viewpoint::*;
558
+ package views { alias verification_coverage_view for memo_namespace_viewpoints_verification_verification_coverage_view; }
537
559
  }
538
560
 
539
561
  package memo_namespace_core_stdlib_collections {
@@ -553,61 +575,69 @@ package memo_namespace_core_stdlib_time {
553
575
  }
554
576
 
555
577
  package memo_namespace_viewpoints_clinical_clinical_evidence_view {
556
- public import memo_viewpoints_clinical_clinical_evidence_view::*;
578
+ public import memo_viewpoints_clinical_views_clinical_evidence_view::*;
557
579
  }
558
580
 
559
581
  package memo_namespace_viewpoints_context_system_context_view {
560
- public import memo_viewpoints_context_system_context_view::*;
582
+ public import memo_viewpoints_context_views_system_context_view::*;
561
583
  }
562
584
 
563
585
  package memo_namespace_viewpoints_cybersecurity_cybersecurity_assessment_view {
564
- public import memo_viewpoints_cybersecurity_cybersecurity_assessment_view::*;
586
+ public import memo_viewpoints_cybersecurity_views_cybersecurity_assessment_view::*;
565
587
  }
566
588
 
567
589
  package memo_namespace_viewpoints_cybersecurity_threat_model_view {
568
- public import memo_viewpoints_cybersecurity_threat_model_view::*;
590
+ public import memo_viewpoints_cybersecurity_views_threat_model_view::*;
569
591
  }
570
592
 
571
593
  package memo_namespace_viewpoints_functional_function_allocation_view {
572
- public import memo_viewpoints_functional_function_allocation_view::*;
594
+ public import memo_viewpoints_functional_views_function_allocation_view::*;
573
595
  }
574
596
 
575
597
  package memo_namespace_viewpoints_functional_system_functional_tree_view {
576
- public import memo_viewpoints_functional_system_functional_tree_view::*;
598
+ public import memo_viewpoints_functional_views_system_functional_tree_view::*;
577
599
  }
578
600
 
579
601
  package memo_namespace_viewpoints_logical_logical_architecture_view {
580
- public import memo_viewpoints_logical_logical_architecture_view::*;
602
+ public import memo_viewpoints_logical_views_logical_architecture_view::*;
581
603
  }
582
604
 
583
605
  package memo_namespace_viewpoints_operational_use_case_view {
584
- public import memo_viewpoints_operational_use_case_view::*;
606
+ public import memo_viewpoints_operational_views_use_case_view::*;
585
607
  }
586
608
 
587
609
  package memo_namespace_viewpoints_physical_network_topology_view {
588
- public import memo_viewpoints_physical_network_topology_view::*;
610
+ public import memo_viewpoints_physical_views_network_topology_view::*;
589
611
  }
590
612
 
591
613
  package memo_namespace_viewpoints_physical_physical_bom_view {
592
- public import memo_viewpoints_physical_physical_bom_view::*;
614
+ public import memo_viewpoints_physical_views_physical_bom_view::*;
593
615
  }
594
616
 
595
617
  package memo_namespace_viewpoints_requirements_requirements_traceability_view {
596
- public import memo_viewpoints_requirements_requirements_traceability_view::*;
618
+ public import memo_viewpoints_requirements_views_requirements_traceability_view::*;
597
619
  }
598
620
 
599
621
  package memo_namespace_viewpoints_risk_risk_chain_view {
600
- public import memo_viewpoints_risk_risk_chain_view::*;
622
+ public import memo_viewpoints_risk_views_risk_chain_view::*;
601
623
  }
602
624
 
603
625
  package memo_namespace_viewpoints_software_software_architecture_view {
604
- public import memo_viewpoints_software_software_architecture_view::*;
626
+ public import memo_viewpoints_software_views_software_architecture_view::*;
605
627
  }
606
628
 
607
629
  package memo_namespace_viewpoints_usability_usability_engineering_view {
608
- public import memo_viewpoints_usability_usability_engineering_view::*;
630
+ public import memo_viewpoints_usability_views_usability_engineering_view::*;
631
+ }
632
+
633
+ package memo_namespace_viewpoints_ui_layout_ui_layout_viewpoint {
634
+ public import memo_viewpoints_ui_layout_ui_layout_viewpoint::*;
635
+ }
636
+
637
+ package memo_namespace_viewpoints_ui_layout_screen_layout_view {
638
+ public import memo_viewpoints_ui_layout_views_screen_layout_view::*;
609
639
  }
610
640
 
611
641
  package memo_namespace_viewpoints_verification_verification_coverage_view {
612
- public import memo_viewpoints_verification_verification_coverage_view::*;
642
+ public import memo_viewpoints_verification_views_verification_coverage_view::*;
613
643
  }
@@ -3,6 +3,7 @@ package memo_methodology_core {
3
3
 
4
4
  private import memo_core_common::*;
5
5
  private import memo_core_enumerations::*;
6
+ private import memo_core_consistency_rules::*;
6
7
 
7
8
  part def MethodologyLibrary :> MemoPart {
8
9
  attribute version : String;
@@ -10,18 +11,56 @@ package memo_methodology_core {
10
11
  attribute :>> description : String;
11
12
  }
12
13
 
14
+ // A rule's disposition under one methodology or project binding.
15
+ //
16
+ // `targetRule` and `replacementRule` are typed references to the rule's own
17
+ // `constraint def`, narrowed at the usage with `ref :>> targetRule : <Rule>`.
18
+ // There is deliberately no `targetRuleId : String`: a qualified SysML
19
+ // reference already identifies the rule, and a parallel string namespace
20
+ // would be a MEMO-specific identifier where the language has one. The
21
+ // stable rule ID survives on the rule itself, for audit records and
22
+ // diagnostics — a different job from being the reference mechanism.
23
+ part def RulePolicy :> MemoPart {
24
+ ref targetRule : MemoConsistencyRule;
25
+ // A replacement must be another native constraint. A methodology
26
+ // cannot replace a predicate with a string expression stored here.
27
+ ref replacementRule : MemoConsistencyRule[0..1];
28
+ attribute disposition : RuleDispositionKind;
29
+ attribute severityOverride : RuleSeverityKind[0..1];
30
+ attribute rationaleText : String;
31
+ attribute authority : String;
32
+ attribute approvalReference : String[0..1];
33
+ attribute approvedBy : String[0..1];
34
+ attribute approvedOn : String[0..1];
35
+ }
36
+
13
37
  part def MethodologyDefinition :> MemoPart {
14
38
  attribute version : String;
15
39
  attribute domain : String;
16
40
  attribute :>> description : String;
17
- attribute baseMethodName : String;
41
+ // Exactly one base methodology at most. Multiple inheritance is not a
42
+ // multiplicity the resolver has conflict semantics for, so the model
43
+ // does not permit expressing it.
44
+ ref baseMethodology : MethodologyDefinition[0..1];
45
+ // Whether the inclusion lists below are the whole story. Under
46
+ // `explicit`, an empty list selects nothing.
47
+ attribute scopeMode : ScopeModeKind;
18
48
  // A methodology is an inclusion set. Layer entries normally name a
19
49
  // public MEMO layer namespace; module entries may name any qualified
20
50
  // package available to the project, including packages outside MEMO.
21
51
  attribute includedLayer : String[0..*];
22
52
  attribute includedModule : String[0..*];
53
+ attribute includedStandard : String[0..*];
54
+ attribute includedArtifactKind : String[0..*];
55
+ attribute includedViewpoint : String[0..*];
56
+ part rulePolicy : RulePolicy[0..*];
23
57
  }
24
58
 
59
+ // Derived, never authored. The resolver projects this from a binding and
60
+ // its methodology chain. If it is serialized for review it is generated
61
+ // output that records its input hashes; it does not compete with the
62
+ // authored methodology and binding, and ontology source declares no
63
+ // instances of it.
25
64
  part def ResolvedMethodology :> MemoPart {
26
65
  attribute version : String;
27
66
  // The effective inclusion set after the project binding has added any
@@ -32,10 +71,14 @@ package memo_methodology_core {
32
71
 
33
72
  part def ProjectMethodBinding :> MemoPart {
34
73
  attribute projectName : String;
35
- attribute methodologyName : String;
74
+ ref selectedMethodology : MethodologyDefinition;
75
+ // Additive: what the project adds on top of the selected methodology.
76
+ // An empty list under `explicit` means no project additions.
77
+ attribute scopeMode : ScopeModeKind;
36
78
  // Project bindings may add project or supplier modules to the selected
37
79
  // methodology without requiring those packages to live under memo::.
38
80
  attribute includedModule : String[0..*];
81
+ part rulePolicy : RulePolicy[0..*];
39
82
  }
40
83
 
41
84
  part def DhfDocumentBinding :> MemoPart {
@@ -17,23 +17,26 @@ package memo_methodology_profiles {
17
17
  attribute :>> description = "Methodology layer for selecting, restricting, sequencing, tailoring, and lightly extending use of the medical-device ontology.";
18
18
  }
19
19
 
20
- part mdLightDefaultDefinition : MethodologyDefinition {
21
- attribute :>> id = "METH-001";
22
- attribute :>> name = "MedicalDeviceLightDefault";
23
- attribute :>> version = "0.1";
20
+ // The default methodology deliberately selects everything the project's
21
+ // resolved reusable packages provide. That is what `scopeMode` exists to
22
+ // say: `allAvailable` is an authored decision, not an empty list that the
23
+ // resolver silently reads as "allow everything". Under `allAvailable` the
24
+ // inclusion lists must stay empty — authoring both would leave two
25
+ // competing answers to the same question.
26
+ //
27
+ // Before the flip this methodology carried a narrower `includedLayer` /
28
+ // `includedModule` pair that nothing consumed: effective scope came from
29
+ // the separate `mdCoverageScope : MethodologyScope` part, whose lists said
30
+ // "all five architecture layers, all five assurance disciplines". Folding
31
+ // that into `allAvailable` preserves the effective result and removes the
32
+ // second scope authority.
33
+ part mdDefaultDefinition : MethodologyDefinition {
34
+ attribute :>> id = "METH-MD-DEFAULT";
35
+ attribute :>> name = "MedicalDeviceDefault";
36
+ attribute :>> version = "0.6.5";
24
37
  attribute :>> domain = "medical device modeling";
25
- attribute :>> description = "Light default methodology around the ontology for smaller or early project use.";
26
- attribute :>> baseMethodName = "";
27
- attribute :>> includedLayer = ("memo::architecture::operational", "memo::architecture::functional", "memo::architecture::logical");
28
- attribute :>> includedModule = ("memo::assurance::requirements", "memo::assurance::safety_risk", "memo::assurance::verification_validation");
29
- }
30
-
31
- part mdLightDefaultResolved : ResolvedMethodology {
32
- attribute :>> id = "RMETH-001";
33
- attribute :>> name = "MedicalDeviceLightDefaultResolved";
34
- attribute :>> version = "0.1";
35
- attribute :>> includedLayer = ("memo::architecture::operational", "memo::architecture::functional", "memo::architecture::logical");
36
- attribute :>> includedModule = ("memo::assurance::requirements", "memo::assurance::safety_risk", "memo::assurance::verification_validation");
38
+ attribute :>> description = "MEMO default medical-device methodology. Selects every layer, discipline, standard, artifact kind, and viewpoint the resolved ontology and extension packages provide.";
39
+ attribute :>> scopeMode = ScopeModeKind::allAvailable;
37
40
  }
38
41
 
39
42
  part useRiskAndResidualRule : ElementUsageRule {
@@ -68,45 +71,44 @@ package memo_methodology_profiles {
68
71
  attribute :>> strength = RuleStrengthKind::required;
69
72
  }
70
73
 
71
- part stepRequirements : WorkflowStep {
74
+ action stepRequirements : MethodologyWorkflowStep {
72
75
  attribute :>> id = "STEP-001";
73
76
  attribute :>> name = "CaptureRequirements";
74
- attribute :>> stepOrder = 1;
75
77
  attribute :>> stage = WorkflowStageKind::requirements;
76
78
  attribute :>> objectiveDescription = "Capture stakeholder needs and derive requirements.";
77
79
  attribute :>> entryCriteria = "Intended use and actors understood.";
78
80
  attribute :>> exitCriteria = "Initial requirement set exists.";
79
81
  }
80
82
 
81
- part stepArchitecture : WorkflowStep {
83
+ action stepArchitecture : MethodologyWorkflowStep {
82
84
  attribute :>> id = "STEP-002";
83
85
  attribute :>> name = "DefineArchitecture";
84
- attribute :>> stepOrder = 2;
85
86
  attribute :>> stage = WorkflowStageKind::architecture;
86
87
  attribute :>> objectiveDescription = "Define key software and hardware architecture elements and interfaces.";
87
88
  attribute :>> entryCriteria = "Initial requirements exist.";
88
89
  attribute :>> exitCriteria = "Core architecture and interfaces exist.";
89
90
  }
90
91
 
91
- part stepRisk : WorkflowStep {
92
+ action stepRisk : MethodologyWorkflowStep {
92
93
  attribute :>> id = "STEP-003";
93
94
  attribute :>> name = "PerformRiskAnalysis";
94
- attribute :>> stepOrder = 3;
95
95
  attribute :>> stage = WorkflowStageKind::risk;
96
96
  attribute :>> objectiveDescription = "Create core risk chain and controls.";
97
97
  attribute :>> entryCriteria = "Initial requirements and key behavior exist.";
98
98
  attribute :>> exitCriteria = "Risk and control model exists.";
99
99
  }
100
100
 
101
- part stepVerification : WorkflowStep {
101
+ action stepVerification : MethodologyWorkflowStep {
102
102
  attribute :>> id = "STEP-004";
103
103
  attribute :>> name = "PlanVerification";
104
- attribute :>> stepOrder = 4;
105
104
  attribute :>> stage = WorkflowStageKind::verificationStage;
106
105
  attribute :>> objectiveDescription = "Define verification and evidence expectations.";
107
106
  attribute :>> entryCriteria = "Requirements and controls exist.";
108
107
  attribute :>> exitCriteria = "Verification cases and evidence targets exist.";
109
108
  }
109
+ first stepRequirements then stepArchitecture;
110
+ first stepArchitecture then stepRisk;
111
+ first stepRisk then stepVerification;
110
112
 
111
113
  part gateLightComplete : QualityGate {
112
114
  attribute :>> id = "GATE-001";
@@ -115,22 +117,10 @@ package memo_methodology_profiles {
115
117
  attribute :>> passCriteria = "Core traceability, risk, verification, and RMF view support are present.";
116
118
  }
117
119
 
118
- part mdCoverageScope : MethodologyScope {
119
- attribute :>> id = "SCOPE-COV-001";
120
- attribute :>> name = "MedicalDeviceCoverageScope";
121
- attribute :>> scopeName = "coverage";
122
-
123
- attribute :>> includedArchLayer = ("memo::architecture::operational", "memo::architecture::functional", "memo::architecture::logical", "memo::architecture::implementation", "memo::architecture::realization");
124
- attribute :>> includedModule = ("memo::assurance::requirements", "memo::assurance::safety_risk", "memo::assurance::cybersecurity", "memo::assurance::human_factors", "memo::assurance::verification_validation");
125
- attribute :>> description = "Comprehensive default MEMO layer and module selection.";
126
- }
127
-
128
- part gpcaProjectBinding : ProjectMethodBinding {
129
- attribute :>> id = "PMB-001";
130
- attribute :>> name = "GPCAProjectMethodBinding";
131
- attribute :>> projectName = "GPCA";
132
- attribute :>> methodologyName = "MedicalDeviceLightDefault";
133
- }
120
+ // The GPCA binding used to live here, in the reusable default methodology,
121
+ // naming its methodology by string. A project binding is project content:
122
+ // it now lives in the GPCA project's own `model/catalog/project.sysml` and
123
+ // references its methodology with a typed SysML reference.
134
124
 
135
125
  part rmpDoc : DhfDocumentBinding {
136
126
  attribute :>> id = "DHF-001";
@@ -4,8 +4,13 @@ package memo_methodology_workflow {
4
4
  private import memo_core_common::*;
5
5
  private import memo_core_enumerations::*;
6
6
 
7
- part def WorkflowStep :> MemoPart {
8
- attribute stepOrder : Integer;
7
+ // Named for its axis: this is a step in a METHODOLOGY workflow (a lifecycle
8
+ // stage with entry/exit criteria), distinct from
9
+ // memo_architecture_operational_workflows::WorkflowStep, which is a step in
10
+ // an OPERATIONAL workflow performed by users. The two carry different
11
+ // attributes and must not share a short name — an overloaded name resolves
12
+ // by load order and silently validates a usage against the wrong type.
13
+ action def MethodologyWorkflowStep :> MemoAction {
9
14
  attribute stage : WorkflowStageKind;
10
15
  attribute objectiveDescription : String;
11
16
  attribute entryCriteria : String;