@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
@@ -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,60 @@ 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::*;
77
+ public import memo_artifacts_standards_traceability::*;
78
+ public import memo_artifacts_standards_cfr_21_820::*;
79
+ public import memo_artifacts_standards_fda_cybersecurity_2023::*;
80
+ public import memo_artifacts_standards_iec_60601_1::*;
81
+ public import memo_artifacts_standards_iec_60601_1_2::*;
82
+ public import memo_artifacts_standards_iec_60812::*;
83
+ public import memo_artifacts_standards_iec_62304::*;
84
+ public import memo_artifacts_standards_iec_62366_1::*;
85
+ public import memo_artifacts_standards_iec_81001_5_1::*;
86
+ public import memo_artifacts_standards_iso_13485::*;
87
+ public import memo_artifacts_standards_iso_14971::*;
88
+ public import memo_artifacts_standards_iso_iec_ieee_42010::*;
72
89
 
73
90
  public import memo_methodology_core::*;
74
91
  public import memo_methodology_rules::*;
@@ -80,7 +97,6 @@ package memo {
80
97
  alias architecture for memo_namespace_architecture;
81
98
  alias assurance for memo_namespace_assurance;
82
99
  alias artifacts for memo_namespace_artifacts;
83
- alias compliance for memo_namespace_compliance;
84
100
  alias core for memo_namespace_core;
85
101
  alias methodology for memo_namespace_methodology;
86
102
  alias rules for memo_namespace_rules;
@@ -103,6 +119,7 @@ package memo_namespace_assurance {
103
119
  public import memo_assurance_safety_risk::*;
104
120
  public import memo_assurance_safety_risk_arch_risk::*;
105
121
  alias 'analysis' for memo_namespace_assurance_safety_risk_analysis;
122
+ alias postmarket_surveillance for memo_namespace_assurance_safety_risk_postmarket_surveillance;
106
123
  }
107
124
  alias cybersecurity for memo_namespace_assurance_cybersecurity;
108
125
  alias human_factors for memo_namespace_assurance_human_factors;
@@ -235,17 +252,14 @@ package memo_namespace_architecture {
235
252
 
236
253
  package memo_namespace_artifacts {
237
254
  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;
255
+ alias core for memo_namespace_artifacts_core;
256
+ alias configuration_management for memo_namespace_artifacts_configuration_management;
257
+ alias documents for memo_namespace_artifacts_documents;
258
+ alias standards for memo_namespace_artifacts_standards;
246
259
  }
247
260
 
248
261
  package memo_namespace_core {
262
+ alias annotations for memo_namespace_core_annotations;
249
263
  alias common for memo_namespace_core_common;
250
264
  alias consistency_rules for memo_namespace_core_consistency_rules;
251
265
  alias dimensions for memo_namespace_core_dimensions;
@@ -290,6 +304,7 @@ package memo_namespace_viewpoints {
290
304
  alias requirements for memo_namespace_viewpoints_requirements;
291
305
  alias risk for memo_namespace_viewpoints_risk;
292
306
  alias software for memo_namespace_viewpoints_software;
307
+ alias ui_layout for memo_namespace_viewpoints_ui_layout;
293
308
  alias usability for memo_namespace_viewpoints_usability;
294
309
  alias 'verification' for memo_namespace_viewpoints_verification;
295
310
  }
@@ -300,6 +315,7 @@ package memo_namespace_assurance_safety_risk_analysis {
300
315
 
301
316
  package memo_namespace_assurance_verification_validation {
302
317
  public import memo_assurance_verification_validation::*;
318
+ alias clinical_evaluation for memo_namespace_assurance_verification_validation_clinical_evaluation;
303
319
  }
304
320
 
305
321
  package memo_namespace_architecture_behavior {
@@ -350,24 +366,49 @@ package memo_namespace_artifacts_definitions {
350
366
  public import memo_artifacts_definitions::*;
351
367
  }
352
368
 
353
- package memo_namespace_compliance_artifacts {
354
- public import memo_compliance_artifacts::*;
369
+ package memo_namespace_artifacts_core {
370
+ public import memo_artifacts_core::*;
355
371
  }
356
372
 
357
- package memo_namespace_compliance_change {
358
- public import memo_compliance_change::*;
373
+ package memo_namespace_artifacts_configuration_management {
374
+ public import memo_artifacts_configuration_management::*;
359
375
  }
360
376
 
361
- package memo_namespace_compliance_document_views {
362
- public import memo_compliance_document_views::*;
377
+ package memo_namespace_artifacts_documents {
378
+ alias risk_management for memo_namespace_artifacts_documents_risk_management;
363
379
  }
364
380
 
365
- package memo_namespace_compliance_iso14971 {
366
- public import memo_compliance_iso14971::*;
381
+ package memo_namespace_artifacts_documents_risk_management {
382
+ public import memo_artifacts_documents_risk_management::*;
367
383
  }
368
384
 
369
- package memo_namespace_compliance_postmarket {
370
- public import memo_compliance_postmarket::*;
385
+ package memo_namespace_artifacts_standards {
386
+ public import memo_artifacts_standards_traceability::*;
387
+ // The library itself: one package per standard, concrete clause instances.
388
+ // Adding a standard is one file next to these and no change anywhere else.
389
+ public import memo_artifacts_standards_cfr_21_820::*;
390
+ public import memo_artifacts_standards_fda_cybersecurity_2023::*;
391
+ public import memo_artifacts_standards_iec_60601_1::*;
392
+ public import memo_artifacts_standards_iec_60601_1_2::*;
393
+ public import memo_artifacts_standards_iec_60812::*;
394
+ public import memo_artifacts_standards_iec_62304::*;
395
+ public import memo_artifacts_standards_iec_62366_1::*;
396
+ public import memo_artifacts_standards_iec_81001_5_1::*;
397
+ public import memo_artifacts_standards_iso_13485::*;
398
+ public import memo_artifacts_standards_iso_14971::*;
399
+ public import memo_artifacts_standards_iso_iec_ieee_42010::*;
400
+ }
401
+
402
+ package memo_namespace_assurance_verification_validation_clinical_evaluation {
403
+ public import memo_assurance_verification_validation_clinical_evaluation::*;
404
+ }
405
+
406
+ package memo_namespace_assurance_safety_risk_postmarket_surveillance {
407
+ public import memo_assurance_safety_risk_postmarket_surveillance::*;
408
+ }
409
+
410
+ package memo_namespace_core_annotations {
411
+ public import memo_core_annotations::*;
371
412
  }
372
413
 
373
414
  package memo_namespace_core_common {
@@ -470,19 +511,21 @@ package memo_namespace_viewpoints_catalog {
470
511
  }
471
512
 
472
513
  package memo_namespace_viewpoints_clinical {
473
- alias clinical_evidence_view for memo_namespace_viewpoints_clinical_clinical_evidence_view;
474
514
  public import memo_viewpoints_clinical_clinical_viewpoint::*;
515
+ package views { alias clinical_evidence_view for memo_namespace_viewpoints_clinical_clinical_evidence_view; }
475
516
  }
476
517
 
477
518
  package memo_namespace_viewpoints_context {
478
- alias system_context_view for memo_namespace_viewpoints_context_system_context_view;
479
519
  public import memo_viewpoints_context_context_viewpoint::*;
520
+ package views { alias system_context_view for memo_namespace_viewpoints_context_system_context_view; }
480
521
  }
481
522
 
482
523
  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
524
  public import memo_viewpoints_cybersecurity_cybersecurity_viewpoint::*;
525
+ package views {
526
+ alias cybersecurity_assessment_view for memo_namespace_viewpoints_cybersecurity_cybersecurity_assessment_view;
527
+ alias threat_model_view for memo_namespace_viewpoints_cybersecurity_threat_model_view;
528
+ }
486
529
  }
487
530
 
488
531
  package memo_namespace_viewpoints_definitions {
@@ -490,50 +533,59 @@ package memo_namespace_viewpoints_definitions {
490
533
  }
491
534
 
492
535
  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
536
  public import memo_viewpoints_functional_functional_viewpoint::*;
537
+ package views {
538
+ alias function_allocation_view for memo_namespace_viewpoints_functional_function_allocation_view;
539
+ alias system_functional_tree_view for memo_namespace_viewpoints_functional_system_functional_tree_view;
540
+ }
496
541
  }
497
542
 
498
543
  package memo_namespace_viewpoints_logical {
499
- alias logical_architecture_view for memo_namespace_viewpoints_logical_logical_architecture_view;
500
544
  public import memo_viewpoints_logical_logical_viewpoint::*;
545
+ package views { alias logical_architecture_view for memo_namespace_viewpoints_logical_logical_architecture_view; }
501
546
  }
502
547
 
503
548
  package memo_namespace_viewpoints_operational {
504
- alias use_case_view for memo_namespace_viewpoints_operational_use_case_view;
505
549
  public import memo_viewpoints_operational_operational_viewpoint::*;
550
+ package views { alias use_case_view for memo_namespace_viewpoints_operational_use_case_view; }
506
551
  }
507
552
 
508
553
  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
554
  public import memo_viewpoints_physical_physical_viewpoint::*;
555
+ package views {
556
+ alias network_topology_view for memo_namespace_viewpoints_physical_network_topology_view;
557
+ alias physical_bom_view for memo_namespace_viewpoints_physical_physical_bom_view;
558
+ }
512
559
  }
513
560
 
514
561
  package memo_namespace_viewpoints_requirements {
515
- alias requirements_traceability_view for memo_namespace_viewpoints_requirements_requirements_traceability_view;
516
562
  public import memo_viewpoints_requirements_requirements_viewpoint::*;
563
+ package views { alias requirements_traceability_view for memo_namespace_viewpoints_requirements_requirements_traceability_view; }
517
564
  }
518
565
 
519
566
  package memo_namespace_viewpoints_risk {
520
- alias risk_chain_view for memo_namespace_viewpoints_risk_risk_chain_view;
521
567
  public import memo_viewpoints_risk_risk_viewpoint::*;
568
+ package views { alias risk_chain_view for memo_namespace_viewpoints_risk_risk_chain_view; }
522
569
  }
523
570
 
524
571
  package memo_namespace_viewpoints_software {
525
- alias software_architecture_view for memo_namespace_viewpoints_software_software_architecture_view;
526
572
  public import memo_viewpoints_software_software_viewpoint::*;
573
+ package views { alias software_architecture_view for memo_namespace_viewpoints_software_software_architecture_view; }
527
574
  }
528
575
 
529
576
  package memo_namespace_viewpoints_usability {
530
- alias usability_engineering_view for memo_namespace_viewpoints_usability_usability_engineering_view;
531
577
  public import memo_viewpoints_usability_usability_viewpoint::*;
578
+ package views { alias usability_engineering_view for memo_namespace_viewpoints_usability_usability_engineering_view; }
579
+ }
580
+
581
+ package memo_namespace_viewpoints_ui_layout {
582
+ public import memo_viewpoints_ui_layout_ui_layout_viewpoint::*;
583
+ package views { alias screen_layout_view for memo_namespace_viewpoints_ui_layout_screen_layout_view; }
532
584
  }
533
585
 
534
586
  package memo_namespace_viewpoints_verification {
535
- alias verification_coverage_view for memo_namespace_viewpoints_verification_verification_coverage_view;
536
587
  public import memo_viewpoints_verification_verification_viewpoint::*;
588
+ package views { alias verification_coverage_view for memo_namespace_viewpoints_verification_verification_coverage_view; }
537
589
  }
538
590
 
539
591
  package memo_namespace_core_stdlib_collections {
@@ -553,61 +605,69 @@ package memo_namespace_core_stdlib_time {
553
605
  }
554
606
 
555
607
  package memo_namespace_viewpoints_clinical_clinical_evidence_view {
556
- public import memo_viewpoints_clinical_clinical_evidence_view::*;
608
+ public import memo_viewpoints_clinical_views_clinical_evidence_view::*;
557
609
  }
558
610
 
559
611
  package memo_namespace_viewpoints_context_system_context_view {
560
- public import memo_viewpoints_context_system_context_view::*;
612
+ public import memo_viewpoints_context_views_system_context_view::*;
561
613
  }
562
614
 
563
615
  package memo_namespace_viewpoints_cybersecurity_cybersecurity_assessment_view {
564
- public import memo_viewpoints_cybersecurity_cybersecurity_assessment_view::*;
616
+ public import memo_viewpoints_cybersecurity_views_cybersecurity_assessment_view::*;
565
617
  }
566
618
 
567
619
  package memo_namespace_viewpoints_cybersecurity_threat_model_view {
568
- public import memo_viewpoints_cybersecurity_threat_model_view::*;
620
+ public import memo_viewpoints_cybersecurity_views_threat_model_view::*;
569
621
  }
570
622
 
571
623
  package memo_namespace_viewpoints_functional_function_allocation_view {
572
- public import memo_viewpoints_functional_function_allocation_view::*;
624
+ public import memo_viewpoints_functional_views_function_allocation_view::*;
573
625
  }
574
626
 
575
627
  package memo_namespace_viewpoints_functional_system_functional_tree_view {
576
- public import memo_viewpoints_functional_system_functional_tree_view::*;
628
+ public import memo_viewpoints_functional_views_system_functional_tree_view::*;
577
629
  }
578
630
 
579
631
  package memo_namespace_viewpoints_logical_logical_architecture_view {
580
- public import memo_viewpoints_logical_logical_architecture_view::*;
632
+ public import memo_viewpoints_logical_views_logical_architecture_view::*;
581
633
  }
582
634
 
583
635
  package memo_namespace_viewpoints_operational_use_case_view {
584
- public import memo_viewpoints_operational_use_case_view::*;
636
+ public import memo_viewpoints_operational_views_use_case_view::*;
585
637
  }
586
638
 
587
639
  package memo_namespace_viewpoints_physical_network_topology_view {
588
- public import memo_viewpoints_physical_network_topology_view::*;
640
+ public import memo_viewpoints_physical_views_network_topology_view::*;
589
641
  }
590
642
 
591
643
  package memo_namespace_viewpoints_physical_physical_bom_view {
592
- public import memo_viewpoints_physical_physical_bom_view::*;
644
+ public import memo_viewpoints_physical_views_physical_bom_view::*;
593
645
  }
594
646
 
595
647
  package memo_namespace_viewpoints_requirements_requirements_traceability_view {
596
- public import memo_viewpoints_requirements_requirements_traceability_view::*;
648
+ public import memo_viewpoints_requirements_views_requirements_traceability_view::*;
597
649
  }
598
650
 
599
651
  package memo_namespace_viewpoints_risk_risk_chain_view {
600
- public import memo_viewpoints_risk_risk_chain_view::*;
652
+ public import memo_viewpoints_risk_views_risk_chain_view::*;
601
653
  }
602
654
 
603
655
  package memo_namespace_viewpoints_software_software_architecture_view {
604
- public import memo_viewpoints_software_software_architecture_view::*;
656
+ public import memo_viewpoints_software_views_software_architecture_view::*;
605
657
  }
606
658
 
607
659
  package memo_namespace_viewpoints_usability_usability_engineering_view {
608
- public import memo_viewpoints_usability_usability_engineering_view::*;
660
+ public import memo_viewpoints_usability_views_usability_engineering_view::*;
661
+ }
662
+
663
+ package memo_namespace_viewpoints_ui_layout_ui_layout_viewpoint {
664
+ public import memo_viewpoints_ui_layout_ui_layout_viewpoint::*;
665
+ }
666
+
667
+ package memo_namespace_viewpoints_ui_layout_screen_layout_view {
668
+ public import memo_viewpoints_ui_layout_views_screen_layout_view::*;
609
669
  }
610
670
 
611
671
  package memo_namespace_viewpoints_verification_verification_coverage_view {
612
- public import memo_viewpoints_verification_verification_coverage_view::*;
672
+ public import memo_viewpoints_verification_views_verification_coverage_view::*;
613
673
  }
@@ -1,8 +1,11 @@
1
1
  package memo_methodology_core {
2
+ private import Metaobjects::SemanticMetadata;
2
3
  private import ScalarValues::*;
4
+ private import memo_core_relationships::*; // MemoRelationship
3
5
 
4
6
  private import memo_core_common::*;
5
7
  private import memo_core_enumerations::*;
8
+ private import memo_core_consistency_rules::*;
6
9
 
7
10
  part def MethodologyLibrary :> MemoPart {
8
11
  attribute version : String;
@@ -10,18 +13,56 @@ package memo_methodology_core {
10
13
  attribute :>> description : String;
11
14
  }
12
15
 
16
+ // A rule's disposition under one methodology or project binding.
17
+ //
18
+ // `targetRule` and `replacementRule` are typed references to the rule's own
19
+ // `constraint def`, narrowed at the usage with `ref :>> targetRule : <Rule>`.
20
+ // There is deliberately no `targetRuleId : String`: a qualified SysML
21
+ // reference already identifies the rule, and a parallel string namespace
22
+ // would be a MEMO-specific identifier where the language has one. The
23
+ // stable rule ID survives on the rule itself, for audit records and
24
+ // diagnostics — a different job from being the reference mechanism.
25
+ part def RulePolicy :> MemoPart {
26
+ ref targetRule : MemoConsistencyRule;
27
+ // A replacement must be another native constraint. A methodology
28
+ // cannot replace a predicate with a string expression stored here.
29
+ ref replacementRule : MemoConsistencyRule[0..1];
30
+ attribute disposition : RuleDispositionKind;
31
+ attribute severityOverride : RuleSeverityKind[0..1];
32
+ attribute rationaleText : String;
33
+ attribute authority : String;
34
+ attribute approvalReference : String[0..1];
35
+ attribute approvedBy : String[0..1];
36
+ attribute approvedOn : String[0..1];
37
+ }
38
+
13
39
  part def MethodologyDefinition :> MemoPart {
14
40
  attribute version : String;
15
41
  attribute domain : String;
16
42
  attribute :>> description : String;
17
- attribute baseMethodName : String;
43
+ // Exactly one base methodology at most. Multiple inheritance is not a
44
+ // multiplicity the resolver has conflict semantics for, so the model
45
+ // does not permit expressing it.
46
+ ref baseMethodology : MethodologyDefinition[0..1];
47
+ // Whether the inclusion lists below are the whole story. Under
48
+ // `explicit`, an empty list selects nothing.
49
+ attribute scopeMode : ScopeModeKind;
18
50
  // A methodology is an inclusion set. Layer entries normally name a
19
51
  // public MEMO layer namespace; module entries may name any qualified
20
52
  // package available to the project, including packages outside MEMO.
21
53
  attribute includedLayer : String[0..*];
22
54
  attribute includedModule : String[0..*];
55
+ attribute includedStandard : String[0..*];
56
+ attribute includedArtifactKind : String[0..*];
57
+ attribute includedViewpoint : String[0..*];
58
+ part rulePolicy : RulePolicy[0..*];
23
59
  }
24
60
 
61
+ // Derived, never authored. The resolver projects this from a binding and
62
+ // its methodology chain. If it is serialized for review it is generated
63
+ // output that records its input hashes; it does not compete with the
64
+ // authored methodology and binding, and ontology source declares no
65
+ // instances of it.
25
66
  part def ResolvedMethodology :> MemoPart {
26
67
  attribute version : String;
27
68
  // The effective inclusion set after the project binding has added any
@@ -32,10 +73,22 @@ package memo_methodology_core {
32
73
 
33
74
  part def ProjectMethodBinding :> MemoPart {
34
75
  attribute projectName : String;
35
- attribute methodologyName : String;
76
+ ref selectedMethodology : MethodologyDefinition;
77
+ // Additive: what the project adds on top of the selected methodology.
78
+ // An empty list under `explicit` means no project additions.
79
+ attribute scopeMode : ScopeModeKind;
36
80
  // Project bindings may add project or supplier modules to the selected
37
81
  // methodology without requiring those packages to live under memo::.
38
82
  attribute includedModule : String[0..*];
83
+ // The submission regimes this project targets, declared once here.
84
+ // Everything downstream that needs to know which standards apply —
85
+ // `memo standards check`, the standards checklist, the Architect gap
86
+ // badges — reads this, so the regime axis is a project fact stated in
87
+ // SysML rather than a per-document array maintained in 44 places.
88
+ // Empty means the project has not declared its regimes; a report that
89
+ // needs them says so rather than assuming a default market.
90
+ attribute regulatoryRegime : RegulatoryRegimeKind[0..*];
91
+ part rulePolicy : RulePolicy[0..*];
39
92
  }
40
93
 
41
94
  part def DhfDocumentBinding :> MemoPart {
@@ -56,4 +109,18 @@ package memo_methodology_core {
56
109
  attribute includedStandard : String;
57
110
  attribute templateDir : String;
58
111
  }
112
+
113
+ // ── Relations owned by this package ─────────────────────────────
114
+ // Moved out of memo_core_relationships: their ends are typed against
115
+ // types declared here, and core must not depend on a domain package.
116
+ connection def ResolvesToMethodology :> MemoRelationship {
117
+ end boundModelElement : MemoPart :>> source;
118
+ end resolvedMethodology : MethodologyDefinition :>> target;
119
+ }
120
+ abstract connection resolvesToMethodologyLinks : ResolvesToMethodology[*];
121
+ metadata def <resolvesToMethodology> ResolvesToMethodologyMetadata :> SemanticMetadata {
122
+ :> annotatedElement : SysML::ConnectionDefinition;
123
+ :> annotatedElement : SysML::ConnectionUsage;
124
+ :>> baseType = resolvesToMethodologyLinks meta SysML::Usage;
125
+ }
59
126
  }
@@ -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 {
@@ -47,7 +50,7 @@ package memo_methodology_profiles {
47
50
  part requireVerifiedByRule : RelationUsageRule {
48
51
  attribute :>> id = "RULE-002";
49
52
  attribute :>> name = "VerifiedBysRequired";
50
- attribute :>> relationTypeName = "VerifiedBy";
53
+ attribute :>> relationTypeName = "verify";
51
54
  attribute :>> strength = RuleStrengthKind::required;
52
55
  attribute :>> rationaleText = "Safety-relevant requirements and controls shall trace to verification.";
53
56
  }
@@ -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;