@memoarchitect/ontology 0.6.5 → 0.8.22

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (394) hide show
  1. package/README.md +4 -2
  2. package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +1 -1
  3. package/examples/connected-patient-monitor/model/catalog/project.sysml +24 -0
  4. package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  5. package/examples/connected-patient-monitor/model/{viewpoints → catalog/viewpoints/unassigned/views}/connected_patient_monitor_overview.sysml +1 -1
  6. package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +7 -5
  7. package/examples/embedded-infusion-pump/model/catalog/project.sysml +24 -0
  8. package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  9. package/examples/embedded-infusion-pump/model/{viewpoints → catalog/viewpoints/unassigned/views}/embedded_infusion_pump_overview.sysml +1 -1
  10. package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +5 -5
  11. package/examples/functional-logical-physical/model/catalog/project.sysml +24 -0
  12. package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  13. package/examples/functional-logical-physical/model/{viewpoints → catalog/viewpoints/unassigned/views}/functional_logical_physical_overview.sysml +1 -1
  14. package/examples/gpca-pump/methodology/gpca_methodology.sysml +7 -8
  15. package/examples/gpca-pump/methodology/gpca_profiles.sysml +89 -11
  16. package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +19 -9
  17. package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +342 -100
  18. package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +27 -13
  19. package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +329 -272
  20. package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +57 -16
  21. package/examples/gpca-pump/model/catalog/gpca_context.sysml +12 -8
  22. package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +14 -10
  23. package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +1 -15
  24. package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +181 -264
  25. package/examples/gpca-pump/model/catalog/gpca_operational.sysml +95 -60
  26. package/examples/gpca-pump/model/catalog/gpca_physical.sysml +6 -11
  27. package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +102 -101
  28. package/examples/gpca-pump/model/catalog/gpca_risk.sysml +1 -1
  29. package/examples/gpca-pump/model/catalog/gpca_standards.sysml +161 -0
  30. package/examples/gpca-pump/model/catalog/gpca_system.sysml +47 -30
  31. package/examples/gpca-pump/model/catalog/gpca_trace.sysml +301 -354
  32. package/examples/gpca-pump/model/catalog/gpca_verification.sysml +116 -36
  33. package/examples/gpca-pump/model/catalog/project.sysml +26 -0
  34. package/examples/gpca-pump/model/catalog/viewpoints/context/viewpoint.sysml +8 -0
  35. package/examples/gpca-pump/model/{views → catalog/viewpoints/context/views}/context_system_context_view.sysml +4 -4
  36. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/viewpoint.sysml +8 -0
  37. package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/cybersecurity_cybersecurity_view.sysml +4 -4
  38. package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_cyber_assessment_view.sysml +4 -4
  39. package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_threat_model_view.sysml +5 -5
  40. package/examples/gpca-pump/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
  41. package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_allocation_view.sysml +2 -2
  42. package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_browser_view.sysml +3 -3
  43. package/examples/gpca-pump/model/catalog/viewpoints/logical/viewpoint.sysml +8 -0
  44. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/behavior_action_flow_view.sysml +3 -3
  45. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/document_architecture_description_view.sysml +8 -8
  46. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_device_interconnect_view.sysml +5 -5
  47. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_logical_architecture_view.sysml +3 -3
  48. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_mode_state_view.sysml +4 -4
  49. package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_system_decomposition_view.sysml +3 -3
  50. package/examples/gpca-pump/model/catalog/viewpoints/operational/viewpoint.sysml +8 -0
  51. package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_scenario_sequence_view.sysml +3 -3
  52. package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_use_case_view.sysml +4 -4
  53. package/examples/gpca-pump/model/catalog/viewpoints/physical/viewpoint.sysml +8 -0
  54. package/examples/gpca-pump/model/{views → catalog/viewpoints/physical/views}/physical_physical_bom_view.sysml +2 -2
  55. package/examples/gpca-pump/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
  56. package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/document_dhf_index_view.sysml +8 -8
  57. package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/requirements_requirements_trace_view.sysml +2 -2
  58. package/examples/gpca-pump/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
  59. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_hazard_analysis_view.sysml +8 -5
  60. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_rmf_view.sysml +7 -5
  61. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_fmea_view.sysml +3 -3
  62. package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_risk_chain_view.sysml +3 -3
  63. package/examples/gpca-pump/model/catalog/viewpoints/software/viewpoint.sysml +8 -0
  64. package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/document_sdd_view.sysml +4 -4
  65. package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/software_software_architecture_view.sysml +5 -5
  66. package/examples/gpca-pump/model/catalog/viewpoints/usability/viewpoint.sysml +8 -0
  67. package/examples/gpca-pump/model/{views → catalog/viewpoints/usability/views}/document_usability_view.sysml +8 -6
  68. package/examples/gpca-pump/model/catalog/viewpoints/verification/viewpoint.sysml +8 -0
  69. package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/document_vv_view.sysml +7 -5
  70. package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/verification_verification_coverage_view.sysml +3 -3
  71. package/examples/ivd-laboratory-system/model/catalog/project.sysml +24 -0
  72. package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  73. package/examples/ivd-laboratory-system/model/{viewpoints → catalog/viewpoints/unassigned/views}/ivd_laboratory_system_overview.sysml +1 -1
  74. package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +4 -2
  75. package/examples/manual-surgical-instrument/model/catalog/project.sysml +24 -0
  76. package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  77. package/examples/manual-surgical-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/manual_surgical_instrument_overview.sysml +1 -1
  78. package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +6 -2
  79. package/examples/multidimensional-layers/model/catalog/project.sysml +24 -0
  80. package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  81. package/examples/multidimensional-layers/model/{viewpoints → catalog/viewpoints/unassigned/views}/multidimensional_layers_overview.sysml +1 -1
  82. package/examples/nested-architecture-dsm/README.md +49 -0
  83. package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +179 -0
  84. package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +165 -0
  85. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +53 -0
  86. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +89 -0
  87. package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +113 -0
  88. package/examples/nested-architecture-dsm/model/catalog/project.sysml +28 -0
  89. package/examples/nested-architecture-dsm/model/catalog/traces.sysml +48 -0
  90. package/examples/reusable-instrument/model/catalog/project.sysml +24 -0
  91. package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +11 -8
  92. package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  93. package/examples/reusable-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/reusable_instrument_overview.sysml +1 -1
  94. package/examples/ros-mobile-robot/README.md +40 -0
  95. package/examples/ros-mobile-robot/model/catalog/project.sysml +33 -0
  96. package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +296 -0
  97. package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +7 -0
  98. package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/views/ros_mobile_robot_overview.sysml +13 -0
  99. package/examples/software-only-medical-device/model/catalog/project.sysml +28 -0
  100. package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +11 -5
  101. package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  102. package/examples/software-only-medical-device/model/{viewpoints → catalog/viewpoints/unassigned/views}/software_only_medical_device_overview.sysml +1 -1
  103. package/examples/surgical-closure-workflow/model/catalog/project.sysml +24 -0
  104. package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +57 -57
  105. package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  106. package/examples/surgical-closure-workflow/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_closure_workflow_overview.sysml +1 -1
  107. package/examples/surgical-robot/model/catalog/project.sysml +24 -0
  108. package/examples/surgical-robot/model/catalog/surgical_robot.sysml +6 -4
  109. package/examples/surgical-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  110. package/examples/surgical-robot/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_robot_overview.sysml +1 -1
  111. package/examples/sysml-diagram-samples/README.md +7 -0
  112. package/examples/sysml-diagram-samples/dhf/documents/DOC-HAR-001.md +11 -0
  113. package/examples/sysml-diagram-samples/memo.package.yaml +11 -5
  114. package/examples/sysml-diagram-samples/model/catalog/project.sysml +33 -0
  115. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  116. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/action_flow_view.sysml +23 -20
  117. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/context_view.sysml +11 -11
  118. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +47 -0
  119. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +143 -0
  120. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +87 -0
  121. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +94 -0
  122. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +109 -0
  123. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +13 -0
  124. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/requirements_view.sysml +6 -7
  125. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +33 -0
  126. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +80 -0
  127. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +48 -0
  128. package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/use_case_view.sysml +15 -9
  129. package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +93 -0
  130. package/examples/temperature-alarm/model/catalog/project.sysml +24 -0
  131. package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +29 -21
  132. package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
  133. package/examples/temperature-alarm/model/{viewpoints → catalog/viewpoints/unassigned/views}/temperature_alarm_overview.sysml +1 -1
  134. package/examples/ui-screen-regions/README.md +117 -0
  135. package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +84 -0
  136. package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +212 -0
  137. package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +61 -0
  138. package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/drugSelectorRegion/drug-selector-expanded-2.4.1.png +0 -0
  139. package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/mainScreenLayout/main-screen-2.4.1.png +0 -0
  140. package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/settingsScreenLayout/settings-screen-2.4.1.png +0 -0
  141. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +51 -0
  142. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +27 -0
  143. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +27 -0
  144. package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +59 -0
  145. package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +25 -0
  146. package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +178 -0
  147. package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +93 -0
  148. package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +75 -0
  149. package/examples/ui-screen-regions/model/catalog/project.sysml +45 -0
  150. package/examples/ui-screen-regions/model/catalog/relationships.sysml +8 -0
  151. package/examples/ui-screen-regions/model/catalog/traces.sysml +179 -0
  152. package/examples/ui-screen-regions/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
  153. package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +62 -0
  154. package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
  155. package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +62 -0
  156. package/examples/ui-screen-regions/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
  157. package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +62 -0
  158. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/viewpoint.sysml +8 -0
  159. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +57 -0
  160. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +52 -0
  161. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +54 -0
  162. package/extensions/LICENSES/MIT.txt +19 -0
  163. package/extensions/README.md +94 -0
  164. package/extensions/aadl/memo.package.yaml +18 -0
  165. package/extensions/aadl/src/aadl_extension.sysml +6 -0
  166. package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +147 -0
  167. package/extensions/aadl/src/methodology/aadl_methodology.sysml +17 -0
  168. package/extensions/aadl/src/runtime/memo_aadl_runtime.sysml +56 -0
  169. package/extensions/clinical/memo.package.yaml +18 -0
  170. package/extensions/clinical/src/methodology/clinical_methodology.sysml +22 -0
  171. package/extensions/cloud/memo.package.yaml +18 -0
  172. package/extensions/cloud/src/cloud_extension.sysml +44 -0
  173. package/extensions/cloud/src/methodology/cloud_methodology.sysml +17 -0
  174. package/extensions/container/memo.package.yaml +18 -0
  175. package/extensions/container/src/container_extension.sysml +37 -0
  176. package/extensions/container/src/methodology/container_methodology.sysml +17 -0
  177. package/extensions/messaging/memo.package.yaml +18 -0
  178. package/extensions/messaging/src/messaging_extension.sysml +64 -0
  179. package/extensions/messaging/src/methodology/messaging_methodology.sysml +17 -0
  180. package/extensions/ros/memo.package.yaml +18 -0
  181. package/extensions/ros/src/methodology/ros_methodology.sysml +25 -0
  182. package/extensions/ros/src/ros_extension.sysml +200 -0
  183. package/extensions/template/memo.package.yaml +17 -0
  184. package/extensions/template/src/extension.sysml +37 -0
  185. package/memo.manifest.yaml +15 -2
  186. package/methodologies/default/memo.package.yaml +19 -9
  187. package/methodologies/gpca/memo.package.yaml +18 -9
  188. package/ontology/memo.package.yaml +23 -8
  189. package/package.json +6 -6
  190. package/profile/memo.package.yaml +18 -9
  191. package/src/architecture/decisions/memo_decisions.sysml +28 -0
  192. package/src/architecture/functional/behavior/memo_behavior.sysml +50 -22
  193. package/src/architecture/functional/constraints/memo_constraints.sysml +3 -2
  194. package/src/architecture/functional/functions/memo_functions.sysml +93 -43
  195. package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +46 -24
  196. package/src/architecture/implementation/software/structure/memo_software_structure.sysml +52 -12
  197. package/src/architecture/implementation/ui/memo_ui.sysml +276 -53
  198. package/src/architecture/logical/interfaces/memo_interfaces.sysml +64 -13
  199. package/src/architecture/logical/structure/memo_logical_structure.sysml +92 -35
  200. package/src/architecture/operational/activities/memo_activities.sysml +10 -4
  201. package/src/architecture/operational/context/actors/memo_actors.sysml +5 -8
  202. package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +13 -30
  203. package/src/architecture/operational/context/use_context/memo_use_context.sysml +42 -16
  204. package/src/architecture/operational/scenarios/memo_scenarios.sysml +57 -23
  205. package/src/architecture/operational/use_cases/memo_use_cases.sysml +35 -26
  206. package/src/architecture/operational/workflows/memo_workflows.sysml +28 -15
  207. package/src/architecture/realization/deployment/memo_deployment.sysml +111 -16
  208. package/src/architecture/realization/physical/memo_physical_architecture.sysml +27 -2
  209. package/src/artifacts/configuration_management/memo_configuration_management.sysml +35 -0
  210. package/src/artifacts/core/memo_controlled_artifacts.sysml +35 -0
  211. package/src/artifacts/documents/risk_management/memo_risk_management.sysml +12 -0
  212. package/src/artifacts/standards/cfr_21_820.sysml +116 -0
  213. package/src/artifacts/standards/fda_cybersecurity_2023.sysml +80 -0
  214. package/src/artifacts/standards/iec_60601_1.sysml +149 -0
  215. package/src/artifacts/standards/iec_60601_1_2.sysml +56 -0
  216. package/src/artifacts/standards/iec_60812.sysml +51 -0
  217. package/src/artifacts/standards/iec_62304.sysml +210 -0
  218. package/src/artifacts/standards/iec_62366_1.sysml +113 -0
  219. package/src/artifacts/standards/iec_81001_5_1.sysml +84 -0
  220. package/src/artifacts/standards/iso_13485.sysml +113 -0
  221. package/src/artifacts/standards/iso_14971.sysml +94 -0
  222. package/src/artifacts/standards/iso_iec_ieee_42010.sysml +42 -0
  223. package/src/artifacts/standards/memo_artifacts_standards_traceability.sysml +132 -0
  224. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-input.md +1 -1
  225. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-output.md +5 -5
  226. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-review.md +1 -1
  227. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-validation.md +2 -2
  228. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-verification.md +2 -2
  229. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/dhf-index.md +2 -2
  230. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/transfer-plan.md +1 -1
  231. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/user-needs.md +1 -1
  232. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-plan.md +3 -3
  233. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-report.md +4 -4
  234. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/incident-response.md +1 -1
  235. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/postmarket-surveillance.md +3 -2
  236. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/security-arch.md +2 -2
  237. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/threat-model.md +4 -4
  238. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/vuln-assessment.md +4 -3
  239. package/src/artifacts/templates/dhf/iec-60601/hrs.md +170 -0
  240. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/detailed-design.md +1 -1
  241. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/integration-test.md +3 -3
  242. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sad.md +6 -5
  243. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sbom.md +3 -2
  244. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sdp.md +5 -4
  245. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/soup.md +4 -2
  246. package/src/artifacts/templates/dhf/iec-62304/srs.md +172 -0
  247. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sw-traceability.md +3 -3
  248. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/system-test.md +1 -1
  249. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/summative-eval.md +1 -1
  250. package/src/artifacts/templates/dhf/iec-62366/task-analysis.md +93 -0
  251. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ue-plan.md +1 -1
  252. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/urra.md +3 -3
  253. package/src/artifacts/templates/dhf/iso-14971/fmea.md +116 -0
  254. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/har.md +3 -3
  255. package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmp.md +2 -2
  256. package/src/artifacts/templates/dhf/system/sad.md +173 -0
  257. package/src/artifacts/templates/dhf/system/standards-checklist.md +87 -0
  258. package/src/artifacts/templates/dhf/system/standards-traceability.md +125 -0
  259. package/src/artifacts/templates/dhf/system/syrs.md +128 -0
  260. package/src/assurance/cybersecurity/memo_cybersecurity.sysml +39 -20
  261. package/src/assurance/human_factors/memo_human_factors.sysml +29 -22
  262. package/src/assurance/requirements/memo_requirements.sysml +5 -2
  263. package/src/assurance/requirements/needs/memo_needs.sysml +1 -1
  264. package/src/assurance/safety_risk/analysis/memo_fmea.sysml +118 -13
  265. package/src/assurance/safety_risk/memo_risk.sysml +78 -7
  266. package/src/assurance/safety_risk/postmarket_surveillance/memo_postmarket_surveillance.sysml +27 -0
  267. package/src/assurance/verification_validation/clinical_evaluation/memo_clinical_evaluation.sysml +11 -0
  268. package/src/assurance/verification_validation/memo_assurance.sysml +17 -21
  269. package/src/core/annotations/memo_annotations.sysml +96 -0
  270. package/src/core/common/memo_common.sysml +140 -18
  271. package/src/core/consistency_rules/consistency_rules.sysml +7 -0
  272. package/src/core/dimensions/dimensions.sysml +17 -1
  273. package/src/core/enumerations/memo_enumerations.sysml +101 -20
  274. package/src/core/methodology_scope/methodology_scope.sysml +7 -15
  275. package/src/core/relationships/memo_relationships.sysml +199 -194
  276. package/src/memo_namespaces.sysml +127 -67
  277. package/src/methodology/core/memo_core.sysml +69 -2
  278. package/src/methodology/profiles/memo_profiles.sysml +31 -41
  279. package/src/methodology/workflow/memo_workflow.sysml +7 -2
  280. package/src/rules/closure/closure_rules.sysml +104 -31
  281. package/src/rules/coverage/coverage_rules.sysml +4 -256
  282. package/src/rules/crosslayer/cross_layer_rules.sysml +6 -15
  283. package/src/rules/lifecycle/lifecycle_rules.sysml +4 -39
  284. package/src/rules/ontology/ontology_invariants.sysml +243 -74
  285. package/src/rules/quantitative/quantitative_rules.sysml +8 -8
  286. package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +10 -3
  287. package/src/viewpoints/clinical/clinical_viewpoint.sysml +4 -2
  288. package/src/viewpoints/clinical/{clinical_evidence_view → views/clinical_evidence_view}/clinical_evidence_view.sysml +2 -2
  289. package/src/viewpoints/context/context_viewpoint.sysml +4 -2
  290. package/src/viewpoints/context/{system_context_view → views/system_context_view}/system_context_view.sysml +2 -2
  291. package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +4 -2
  292. package/src/viewpoints/cybersecurity/{cybersecurity_assessment_view → views/cybersecurity_assessment_view}/cybersecurity_assessment_view.sysml +2 -2
  293. package/src/viewpoints/cybersecurity/{threat_model_view → views/threat_model_view}/threat_model_view.sysml +2 -2
  294. package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +5 -0
  295. package/src/viewpoints/functional/functional_viewpoint.sysml +4 -2
  296. package/src/viewpoints/functional/{function_allocation_view → views/function_allocation_view}/function_allocation_view.sysml +3 -3
  297. package/src/viewpoints/functional/{system_functional_tree_view → views/system_functional_tree_view}/system_functional_tree_view.sysml +3 -3
  298. package/src/viewpoints/logical/logical_viewpoint.sysml +3 -1
  299. package/src/viewpoints/logical/{logical_architecture_view → views/logical_architecture_view}/logical_architecture_view.sysml +2 -2
  300. package/src/viewpoints/operational/operational_viewpoint.sysml +4 -2
  301. package/src/viewpoints/operational/{use_case_view → views/use_case_view}/use_case_view.sysml +3 -3
  302. package/src/viewpoints/physical/physical_viewpoint.sysml +3 -1
  303. package/src/viewpoints/physical/{network_topology_view → views/network_topology_view}/network_topology_view.sysml +2 -2
  304. package/src/viewpoints/physical/{physical_bom_view → views/physical_bom_view}/physical_bom_view.sysml +2 -2
  305. package/src/viewpoints/rendering/memo_rendering.sysml +354 -0
  306. package/src/viewpoints/requirements/requirements_viewpoint.sysml +3 -1
  307. package/src/viewpoints/requirements/{requirements_traceability_view → views/requirements_traceability_view}/requirements_traceability_view.sysml +2 -2
  308. package/src/viewpoints/risk/risk_viewpoint.sysml +3 -1
  309. package/src/viewpoints/risk/{risk_chain_view → views/risk_chain_view}/risk_chain_view.sysml +2 -2
  310. package/src/viewpoints/software/software_viewpoint.sysml +3 -1
  311. package/src/viewpoints/software/{software_architecture_view → views/software_architecture_view}/software_architecture_view.sysml +2 -2
  312. package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +28 -0
  313. package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +23 -0
  314. package/src/viewpoints/usability/usability_viewpoint.sysml +3 -1
  315. package/src/viewpoints/usability/{usability_engineering_view → views/usability_engineering_view}/usability_engineering_view.sysml +2 -2
  316. package/src/viewpoints/verification/verification_viewpoint.sysml +4 -2
  317. package/src/viewpoints/verification/{verification_coverage_view → views/verification_coverage_view}/verification_coverage_view.sysml +3 -3
  318. package/templates/connected-device/memo.package.yaml +11 -5
  319. package/templates/connected-device/model/catalog/project.sysml +28 -0
  320. package/templates/connected-device/syside.toml +1 -1
  321. package/templates/default/memo.package.yaml +11 -5
  322. package/templates/default/model/catalog/project.sysml +28 -0
  323. package/templates/default/syside.toml +1 -1
  324. package/templates/infusion-pump/memo.package.yaml +11 -5
  325. package/templates/infusion-pump/model/catalog/project.sysml +28 -0
  326. package/templates/infusion-pump/syside.toml +1 -1
  327. package/templates/monitoring-device/memo.package.yaml +11 -5
  328. package/templates/monitoring-device/model/catalog/project.sysml +28 -0
  329. package/templates/monitoring-device/syside.toml +1 -1
  330. package/templates/samd/memo.package.yaml +11 -5
  331. package/templates/samd/model/catalog/project.sysml +28 -0
  332. package/templates/samd/syside.toml +1 -1
  333. package/examples/connected-patient-monitor/model/connected_patient_monitor.sysml +0 -3
  334. package/examples/embedded-infusion-pump/model/embedded_infusion_pump.sysml +0 -3
  335. package/examples/extensions/README.md +0 -16
  336. package/examples/extensions/clinical/memo.package.yaml +0 -9
  337. package/examples/extensions/clinical/src/methodology/clinical_methodology.sysml +0 -14
  338. package/examples/extensions/template/memo.package.yaml +0 -9
  339. package/examples/extensions/template/src/extension.sysml +0 -15
  340. package/examples/functional-logical-physical/model/functional_logical_physical.sysml +0 -3
  341. package/examples/gpca-pump/memo.config.yaml +0 -9
  342. package/examples/gpca-pump/methodology/gpca_scope.sysml +0 -25
  343. package/examples/ivd-laboratory-system/model/ivd_laboratory_system.sysml +0 -3
  344. package/examples/manual-surgical-instrument/model/manual_surgical_instrument.sysml +0 -3
  345. package/examples/multidimensional-layers/model/multidimensional_layers.sysml +0 -4
  346. package/examples/reusable-instrument/model/reusable_instrument.sysml +0 -4
  347. package/examples/software-only-medical-device/model/software_only_medical_device.sysml +0 -4
  348. package/examples/surgical-closure-workflow/model/surgical_closure_workflow.sysml +0 -4
  349. package/examples/surgical-robot/model/surgical_robot.sysml +0 -4
  350. package/examples/sysml-diagram-samples/model/samples/functional_flow_view.sysml +0 -164
  351. package/examples/sysml-diagram-samples/model/samples/interconnection_view.sysml +0 -94
  352. package/examples/sysml-diagram-samples/model/samples/operational_behaviour_view.sysml +0 -135
  353. package/examples/sysml-diagram-samples/model/samples/state_transition_view.sysml +0 -109
  354. package/examples/sysml-diagram-samples/model/samples/tree_view.sysml +0 -56
  355. package/examples/temperature-alarm/model/temperature_alarm.sysml +0 -4
  356. package/ontology/memo.rendering.yaml +0 -84
  357. package/src/compliance/artifacts/memo_artifacts.sysml +0 -12
  358. package/src/compliance/change/memo_change.sysml +0 -17
  359. package/src/compliance/dhf-templates/iec-62304/srs.md +0 -138
  360. package/src/compliance/dhf-templates/iec-62366/task-analysis.md +0 -57
  361. package/src/compliance/dhf-templates/iso-14971/fmea.md +0 -93
  362. package/src/compliance/document_views/memo_document_views.sysml +0 -7
  363. package/src/compliance/iso14971/risk_management_file.sysml +0 -16
  364. package/src/compliance/postmarket/memo_postmarket.sysml +0 -16
  365. /package/{examples/extensions → extensions}/clinical/src/clinical_extension.sysml +0 -0
  366. /package/{examples/extensions → extensions}/clinical/src/procedures/memo_clinical_procedures.sysml +0 -0
  367. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/change-record.md +0 -0
  368. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/change-control.md +0 -0
  369. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/formative-eval.md +0 -0
  370. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ui-spec.md +0 -0
  371. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/use-spec.md +0 -0
  372. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/fta.md +0 -0
  373. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-benefit.md +0 -0
  374. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-matrix.md +0 -0
  375. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmr.md +0 -0
  376. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/approval-block.md +0 -0
  377. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/document-control-header.md +0 -0
  378. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/references-section.md +0 -0
  379. /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/revision-history-table.md +0 -0
  380. /package/templates/connected-device/{src → model/catalog}/architecture/system.sysml +0 -0
  381. /package/templates/connected-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  382. /package/templates/connected-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
  383. /package/templates/default/{src → model/catalog}/architecture/system.sysml +0 -0
  384. /package/templates/default/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  385. /package/templates/default/{src → model/catalog}/assurance/requirements.sysml +0 -0
  386. /package/templates/infusion-pump/{src → model/catalog}/architecture/system.sysml +0 -0
  387. /package/templates/infusion-pump/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  388. /package/templates/infusion-pump/{src → model/catalog}/assurance/requirements.sysml +0 -0
  389. /package/templates/monitoring-device/{src → model/catalog}/architecture/system.sysml +0 -0
  390. /package/templates/monitoring-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  391. /package/templates/monitoring-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
  392. /package/templates/samd/{src → model/catalog}/architecture/system.sysml +0 -0
  393. /package/templates/samd/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
  394. /package/templates/samd/{src → model/catalog}/assurance/requirements.sysml +0 -0
@@ -0,0 +1,149 @@
1
+ // IEC 60601-1:2005+AMD1:2012+AMD2:2020 — basic safety and essential
2
+ // performance of medical electrical equipment.
3
+ //
4
+ // This pack is the test of whether the standards library generalises past
5
+ // software: 60601-1 is a hardware-and-system standard, so its clauses are
6
+ // claimed by hardware requirements, physical elements and system-level
7
+ // documents rather than by software items.
8
+ //
9
+ // Depth is representative — the clause level, plus the sub-clauses MEMO
10
+ // documents actually claim. `title` is a MEMO-AUTHORED scope phrase, never
11
+ // the standard's own normative wording.
12
+ package memo_artifacts_standards_iec_60601_1 {
13
+ private import ScalarValues::*;
14
+ private import memo_core_enumerations::*;
15
+ private import memo_core_relationships::*;
16
+ private import memo_artifacts_standards_traceability::*;
17
+
18
+ item iec60601_1 : RegulatoryStandard {
19
+ attribute :>> id = "STD-IEC-60601-1";
20
+ attribute :>> name = "IEC60601_1";
21
+ attribute :>> designation = "IEC 60601-1:2005+AMD1:2012+AMD2:2020";
22
+ attribute :>> edition = "3.2";
23
+ attribute :>> issuer = "IEC";
24
+ attribute :>> appliesToRegime = (RegulatoryRegimeKind::CE, RegulatoryRegimeKind::MDR, RegulatoryRegimeKind::UKCA, RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
25
+ }
26
+
27
+ item iec60601_1Clause4 : StandardClause {
28
+ attribute :>> id = "STD-IEC-60601-1-4";
29
+ attribute :>> name = "IEC60601_1Clause4";
30
+ attribute :>> clauseNumber = "4";
31
+ attribute :>> title = "general requirements for basic safety and essential performance";
32
+ attribute :>> normativeStrength = "shall";
33
+ }
34
+ item iec60601_1Clause4_2 : StandardClause {
35
+ attribute :>> id = "STD-IEC-60601-1-4-2";
36
+ attribute :>> name = "IEC60601_1Clause4_2";
37
+ attribute :>> clauseNumber = "4.2";
38
+ attribute :>> title = "risk management process for medical electrical equipment";
39
+ attribute :>> normativeStrength = "shall";
40
+ }
41
+ item iec60601_1Clause4_3 : StandardClause {
42
+ attribute :>> id = "STD-IEC-60601-1-4-3";
43
+ attribute :>> name = "IEC60601_1Clause4_3";
44
+ attribute :>> clauseNumber = "4.3";
45
+ attribute :>> title = "essential performance identification";
46
+ attribute :>> normativeStrength = "shall";
47
+ }
48
+ item iec60601_1Clause5 : StandardClause {
49
+ attribute :>> id = "STD-IEC-60601-1-5";
50
+ attribute :>> name = "IEC60601_1Clause5";
51
+ attribute :>> clauseNumber = "5";
52
+ attribute :>> title = "general requirements for testing";
53
+ attribute :>> normativeStrength = "shall";
54
+ }
55
+ item iec60601_1Clause7 : StandardClause {
56
+ attribute :>> id = "STD-IEC-60601-1-7";
57
+ attribute :>> name = "IEC60601_1Clause7";
58
+ attribute :>> clauseNumber = "7";
59
+ attribute :>> title = "equipment identification, marking and accompanying documents";
60
+ attribute :>> normativeStrength = "shall";
61
+ }
62
+ item iec60601_1Clause8 : StandardClause {
63
+ attribute :>> id = "STD-IEC-60601-1-8";
64
+ attribute :>> name = "IEC60601_1Clause8";
65
+ attribute :>> clauseNumber = "8";
66
+ attribute :>> title = "protection against electrical hazards";
67
+ attribute :>> normativeStrength = "shall";
68
+ }
69
+ item iec60601_1Clause9 : StandardClause {
70
+ attribute :>> id = "STD-IEC-60601-1-9";
71
+ attribute :>> name = "IEC60601_1Clause9";
72
+ attribute :>> clauseNumber = "9";
73
+ attribute :>> title = "protection against mechanical hazards";
74
+ attribute :>> normativeStrength = "shall";
75
+ }
76
+ item iec60601_1Clause10 : StandardClause {
77
+ attribute :>> id = "STD-IEC-60601-1-10";
78
+ attribute :>> name = "IEC60601_1Clause10";
79
+ attribute :>> clauseNumber = "10";
80
+ attribute :>> title = "protection against unwanted and excessive radiation";
81
+ attribute :>> normativeStrength = "shall";
82
+ }
83
+ item iec60601_1Clause11 : StandardClause {
84
+ attribute :>> id = "STD-IEC-60601-1-11";
85
+ attribute :>> name = "IEC60601_1Clause11";
86
+ attribute :>> clauseNumber = "11";
87
+ attribute :>> title = "protection against excessive temperatures and related hazards";
88
+ attribute :>> normativeStrength = "shall";
89
+ }
90
+ item iec60601_1Clause12 : StandardClause {
91
+ attribute :>> id = "STD-IEC-60601-1-12";
92
+ attribute :>> name = "IEC60601_1Clause12";
93
+ attribute :>> clauseNumber = "12";
94
+ attribute :>> title = "accuracy of controls and protection against hazardous output";
95
+ attribute :>> normativeStrength = "shall";
96
+ }
97
+ item iec60601_1Clause13 : StandardClause {
98
+ attribute :>> id = "STD-IEC-60601-1-13";
99
+ attribute :>> name = "IEC60601_1Clause13";
100
+ attribute :>> clauseNumber = "13";
101
+ attribute :>> title = "hazardous situations and fault conditions";
102
+ attribute :>> normativeStrength = "shall";
103
+ }
104
+ item iec60601_1Clause14 : StandardClause {
105
+ attribute :>> id = "STD-IEC-60601-1-14";
106
+ attribute :>> name = "IEC60601_1Clause14";
107
+ attribute :>> clauseNumber = "14";
108
+ attribute :>> title = "programmable electrical medical systems";
109
+ attribute :>> normativeStrength = "shall";
110
+ }
111
+ item iec60601_1Clause15 : StandardClause {
112
+ attribute :>> id = "STD-IEC-60601-1-15";
113
+ attribute :>> name = "IEC60601_1Clause15";
114
+ attribute :>> clauseNumber = "15";
115
+ attribute :>> title = "construction of medical electrical equipment";
116
+ attribute :>> normativeStrength = "shall";
117
+ }
118
+ item iec60601_1Clause16 : StandardClause {
119
+ attribute :>> id = "STD-IEC-60601-1-16";
120
+ attribute :>> name = "IEC60601_1Clause16";
121
+ attribute :>> clauseNumber = "16";
122
+ attribute :>> title = "medical electrical systems";
123
+ attribute :>> normativeStrength = "shall";
124
+ }
125
+ item iec60601_1Clause17 : StandardClause {
126
+ attribute :>> id = "STD-IEC-60601-1-17";
127
+ attribute :>> name = "IEC60601_1Clause17";
128
+ attribute :>> clauseNumber = "17";
129
+ attribute :>> title = "electromagnetic compatibility";
130
+ attribute :>> normativeStrength = "shall";
131
+ }
132
+
133
+ connection iec60601_1Has4 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause4;
134
+ connection iec60601_1Has5 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause5;
135
+ connection iec60601_1Has7 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause7;
136
+ connection iec60601_1Has8 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause8;
137
+ connection iec60601_1Has9 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause9;
138
+ connection iec60601_1Has10 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause10;
139
+ connection iec60601_1Has11 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause11;
140
+ connection iec60601_1Has12 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause12;
141
+ connection iec60601_1Has13 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause13;
142
+ connection iec60601_1Has14 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause14;
143
+ connection iec60601_1Has15 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause15;
144
+ connection iec60601_1Has16 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause16;
145
+ connection iec60601_1Has17 : Composes connect parent ::> iec60601_1 to child ::> iec60601_1Clause17;
146
+
147
+ connection iec60601_1Has4_2 : Composes connect parent ::> iec60601_1Clause4 to child ::> iec60601_1Clause4_2;
148
+ connection iec60601_1Has4_3 : Composes connect parent ::> iec60601_1Clause4 to child ::> iec60601_1Clause4_3;
149
+ }
@@ -0,0 +1,56 @@
1
+ // IEC 60601-1-2:2014+AMD1:2020 — collateral standard for electromagnetic
2
+ // disturbances.
3
+ //
4
+ // Separate from the 60601-1 pack because it is a separate designation with its
5
+ // own edition and amendment history: a hardware requirement claiming EMC
6
+ // emissions cites this document, not the general standard.
7
+ package memo_artifacts_standards_iec_60601_1_2 {
8
+ private import ScalarValues::*;
9
+ private import memo_core_enumerations::*;
10
+ private import memo_core_relationships::*;
11
+ private import memo_artifacts_standards_traceability::*;
12
+
13
+ item iec60601_1_2 : RegulatoryStandard {
14
+ attribute :>> id = "STD-IEC-60601-1-2-COLLATERAL";
15
+ attribute :>> name = "IEC60601_1_2";
16
+ attribute :>> designation = "IEC 60601-1-2:2014+AMD1:2020";
17
+ attribute :>> edition = "4.1";
18
+ attribute :>> issuer = "IEC";
19
+ attribute :>> amendments = "AMD1:2020";
20
+ attribute :>> appliesToRegime = (RegulatoryRegimeKind::CE, RegulatoryRegimeKind::MDR, RegulatoryRegimeKind::UKCA, RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
21
+ }
22
+
23
+ item iec60601_1_2Clause4 : StandardClause {
24
+ attribute :>> id = "STD-IEC-60601-1-2-4";
25
+ attribute :>> name = "IEC60601_1_2Clause4";
26
+ attribute :>> clauseNumber = "4";
27
+ attribute :>> title = "general requirements for electromagnetic disturbances";
28
+ attribute :>> normativeStrength = "shall";
29
+ }
30
+ item iec60601_1_2Clause5 : StandardClause {
31
+ attribute :>> id = "STD-IEC-60601-1-2-5";
32
+ attribute :>> name = "IEC60601_1_2Clause5";
33
+ attribute :>> clauseNumber = "5";
34
+ attribute :>> title = "electromagnetic compatibility information in accompanying documents";
35
+ attribute :>> normativeStrength = "shall";
36
+ }
37
+ item iec60601_1_2Clause7 : StandardClause {
38
+ attribute :>> id = "STD-IEC-60601-1-2-7";
39
+ attribute :>> name = "IEC60601_1_2Clause7";
40
+ attribute :>> clauseNumber = "7";
41
+ attribute :>> title = "electromagnetic emissions";
42
+ attribute :>> normativeStrength = "shall";
43
+ }
44
+ item iec60601_1_2Clause8 : StandardClause {
45
+ attribute :>> id = "STD-IEC-60601-1-2-8";
46
+ attribute :>> name = "IEC60601_1_2Clause8";
47
+ attribute :>> clauseNumber = "8";
48
+ attribute :>> title = "electromagnetic immunity";
49
+ attribute :>> normativeStrength = "shall";
50
+ }
51
+
52
+ connection iec60601_1_2Has4 : Composes connect parent ::> iec60601_1_2 to child ::> iec60601_1_2Clause4;
53
+ connection iec60601_1_2Has5 : Composes connect parent ::> iec60601_1_2 to child ::> iec60601_1_2Clause5;
54
+ connection iec60601_1_2Has7 : Composes connect parent ::> iec60601_1_2 to child ::> iec60601_1_2Clause7;
55
+ connection iec60601_1_2Has8 : Composes connect parent ::> iec60601_1_2 to child ::> iec60601_1_2Clause8;
56
+ }
@@ -0,0 +1,51 @@
1
+ // IEC 60812:2018 — failure modes and effects analysis (FMEA and FMECA).
2
+ //
3
+ // The analysis method the FMEA template claims; the risk-management process it
4
+ // feeds is ISO 14971, carried separately in that template's `clauses:`.
5
+ //
6
+ // SCOPE PHRASES DELIBERATELY ABSENT. `title` is optional, and the clauses this
7
+ // pack needs are cited by number in the FMEA template without MEMO having a
8
+ // verified reading of what each one governs in the 2018 edition. An absent
9
+ // label is a visible gap a regulatory reviewer can close in one line; a guessed
10
+ // one is a citation nobody can check. Clause resolution and traceability work
11
+ // either way — the phrase is a display label, never what queries match on.
12
+ package memo_artifacts_standards_iec_60812 {
13
+ private import ScalarValues::*;
14
+ private import memo_core_relationships::*;
15
+ private import memo_artifacts_standards_traceability::*;
16
+
17
+ item iec60812 : RegulatoryStandard {
18
+ attribute :>> id = "STD-IEC-60812";
19
+ attribute :>> name = "IEC60812";
20
+ attribute :>> designation = "IEC 60812:2018";
21
+ attribute :>> edition = "2018";
22
+ attribute :>> issuer = "IEC";
23
+ // No submission regime mandates this standard: it is a method /
24
+ // reference standard, cited by documents rather than required by a
25
+ // market. Empty is the authored value, not an omission — see
26
+ // appliesToRegime in memo_artifacts_standards_traceability.
27
+ }
28
+
29
+ item iec60812Clause5 : StandardClause {
30
+ attribute :>> id = "STD-IEC-60812-5";
31
+ attribute :>> name = "IEC60812Clause5";
32
+ attribute :>> clauseNumber = "5";
33
+ attribute :>> normativeStrength = "shall";
34
+ }
35
+ item iec60812Clause6 : StandardClause {
36
+ attribute :>> id = "STD-IEC-60812-6";
37
+ attribute :>> name = "IEC60812Clause6";
38
+ attribute :>> clauseNumber = "6";
39
+ attribute :>> normativeStrength = "shall";
40
+ }
41
+ item iec60812Clause7 : StandardClause {
42
+ attribute :>> id = "STD-IEC-60812-7";
43
+ attribute :>> name = "IEC60812Clause7";
44
+ attribute :>> clauseNumber = "7";
45
+ attribute :>> normativeStrength = "shall";
46
+ }
47
+
48
+ connection iec60812Has5 : Composes connect parent ::> iec60812 to child ::> iec60812Clause5;
49
+ connection iec60812Has6 : Composes connect parent ::> iec60812 to child ::> iec60812Clause6;
50
+ connection iec60812Has7 : Composes connect parent ::> iec60812 to child ::> iec60812Clause7;
51
+ }
@@ -0,0 +1,210 @@
1
+ // IEC 62304:2006+AMD1:2015 — medical device software lifecycle processes.
2
+ //
3
+ // Clause instances, not type machinery. Everything here is data: adding a
4
+ // standard is one file like this one and zero TypeScript changes.
5
+ //
6
+ // Depth is representative, not exhaustive — the level at which the standard
7
+ // makes a distinct normative requirement a MEMO document actually claims.
8
+ // A clause nobody claims yet costs nothing to add later.
9
+ //
10
+ // Each `title` is a MEMO-AUTHORED scope phrase, never the standard's own
11
+ // normative wording, which is copyrighted. It is a display label: queries
12
+ // traverse ConformsTo to the clause instance, they never match on its text.
13
+ package memo_artifacts_standards_iec_62304 {
14
+ private import ScalarValues::*;
15
+ private import memo_core_enumerations::*;
16
+ private import memo_core_relationships::*;
17
+ private import memo_artifacts_standards_traceability::*;
18
+
19
+ item iec62304 : RegulatoryStandard {
20
+ attribute :>> id = "STD-IEC-62304";
21
+ attribute :>> name = "IEC62304";
22
+ attribute :>> designation = "IEC 62304:2006+AMD1:2015";
23
+ attribute :>> edition = "2006";
24
+ attribute :>> issuer = "IEC";
25
+ attribute :>> amendments = "AMD1:2015";
26
+ attribute :>> appliesToRegime = (RegulatoryRegimeKind::CE, RegulatoryRegimeKind::MDR, RegulatoryRegimeKind::UKCA, RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
27
+ }
28
+
29
+ // ── 4 General requirements ───────────────────────────────────────────
30
+ item iec62304Clause4 : StandardClause {
31
+ attribute :>> id = "STD-IEC-62304-4";
32
+ attribute :>> name = "IEC62304Clause4";
33
+ attribute :>> clauseNumber = "4";
34
+ attribute :>> title = "general lifecycle prerequisites";
35
+ attribute :>> normativeStrength = "shall";
36
+ }
37
+ item iec62304Clause4_3 : StandardClause {
38
+ attribute :>> id = "STD-IEC-62304-4-3";
39
+ attribute :>> name = "IEC62304Clause4_3";
40
+ attribute :>> clauseNumber = "4.3";
41
+ attribute :>> title = "software safety classification";
42
+ attribute :>> normativeStrength = "shall";
43
+ }
44
+
45
+ // ── 5 Software development process ───────────────────────────────────
46
+ item iec62304Clause5 : StandardClause {
47
+ attribute :>> id = "STD-IEC-62304-5";
48
+ attribute :>> name = "IEC62304Clause5";
49
+ attribute :>> clauseNumber = "5";
50
+ attribute :>> title = "software development process";
51
+ attribute :>> normativeStrength = "shall";
52
+ }
53
+ item iec62304Clause5_1 : StandardClause {
54
+ attribute :>> id = "STD-IEC-62304-5-1";
55
+ attribute :>> name = "IEC62304Clause5_1";
56
+ attribute :>> clauseNumber = "5.1";
57
+ attribute :>> title = "software development planning";
58
+ attribute :>> normativeStrength = "shall";
59
+ }
60
+ item iec62304Clause5_1_1 : StandardClause {
61
+ attribute :>> id = "STD-IEC-62304-5-1-1";
62
+ attribute :>> name = "IEC62304Clause5_1_1";
63
+ attribute :>> clauseNumber = "5.1.1";
64
+ attribute :>> title = "software development plan";
65
+ attribute :>> normativeStrength = "shall";
66
+ }
67
+ item iec62304Clause5_2 : StandardClause {
68
+ attribute :>> id = "STD-IEC-62304-5-2";
69
+ attribute :>> name = "IEC62304Clause5_2";
70
+ attribute :>> clauseNumber = "5.2";
71
+ attribute :>> title = "software requirements analysis";
72
+ attribute :>> normativeStrength = "shall";
73
+ }
74
+ item iec62304Clause5_2_2 : StandardClause {
75
+ attribute :>> id = "STD-IEC-62304-5-2-2";
76
+ attribute :>> name = "IEC62304Clause5_2_2";
77
+ attribute :>> clauseNumber = "5.2.2";
78
+ attribute :>> title = "software requirements content";
79
+ attribute :>> normativeStrength = "shall";
80
+ }
81
+ item iec62304Clause5_2_3 : StandardClause {
82
+ attribute :>> id = "STD-IEC-62304-5-2-3";
83
+ attribute :>> name = "IEC62304Clause5_2_3";
84
+ attribute :>> clauseNumber = "5.2.3";
85
+ attribute :>> title = "risk control measures carried into software requirements";
86
+ attribute :>> normativeStrength = "shall";
87
+ }
88
+ item iec62304Clause5_2_6 : StandardClause {
89
+ attribute :>> id = "STD-IEC-62304-5-2-6";
90
+ attribute :>> name = "IEC62304Clause5_2_6";
91
+ attribute :>> clauseNumber = "5.2.6";
92
+ attribute :>> title = "software requirements verification";
93
+ attribute :>> normativeStrength = "shall";
94
+ }
95
+ item iec62304Clause5_3 : StandardClause {
96
+ attribute :>> id = "STD-IEC-62304-5-3";
97
+ attribute :>> name = "IEC62304Clause5_3";
98
+ attribute :>> clauseNumber = "5.3";
99
+ attribute :>> title = "software architectural design";
100
+ attribute :>> normativeStrength = "shall";
101
+ }
102
+ item iec62304Clause5_4 : StandardClause {
103
+ attribute :>> id = "STD-IEC-62304-5-4";
104
+ attribute :>> name = "IEC62304Clause5_4";
105
+ attribute :>> clauseNumber = "5.4";
106
+ attribute :>> title = "software detailed design";
107
+ attribute :>> normativeStrength = "shall";
108
+ }
109
+ item iec62304Clause5_5 : StandardClause {
110
+ attribute :>> id = "STD-IEC-62304-5-5";
111
+ attribute :>> name = "IEC62304Clause5_5";
112
+ attribute :>> clauseNumber = "5.5";
113
+ attribute :>> title = "software unit implementation and verification";
114
+ attribute :>> normativeStrength = "shall";
115
+ }
116
+ item iec62304Clause5_6 : StandardClause {
117
+ attribute :>> id = "STD-IEC-62304-5-6";
118
+ attribute :>> name = "IEC62304Clause5_6";
119
+ attribute :>> clauseNumber = "5.6";
120
+ attribute :>> title = "software integration and integration testing";
121
+ attribute :>> normativeStrength = "shall";
122
+ }
123
+ item iec62304Clause5_7 : StandardClause {
124
+ attribute :>> id = "STD-IEC-62304-5-7";
125
+ attribute :>> name = "IEC62304Clause5_7";
126
+ attribute :>> clauseNumber = "5.7";
127
+ attribute :>> title = "software system testing";
128
+ attribute :>> normativeStrength = "shall";
129
+ }
130
+ item iec62304Clause5_7_5 : StandardClause {
131
+ attribute :>> id = "STD-IEC-62304-5-7-5";
132
+ attribute :>> name = "IEC62304Clause5_7_5";
133
+ attribute :>> clauseNumber = "5.7.5";
134
+ attribute :>> title = "software system test records";
135
+ attribute :>> normativeStrength = "shall";
136
+ }
137
+ item iec62304Clause5_8 : StandardClause {
138
+ attribute :>> id = "STD-IEC-62304-5-8";
139
+ attribute :>> name = "IEC62304Clause5_8";
140
+ attribute :>> clauseNumber = "5.8";
141
+ attribute :>> title = "software release";
142
+ attribute :>> normativeStrength = "shall";
143
+ }
144
+
145
+ // ── 6-9 Supporting processes ─────────────────────────────────────────
146
+ item iec62304Clause6 : StandardClause {
147
+ attribute :>> id = "STD-IEC-62304-6";
148
+ attribute :>> name = "IEC62304Clause6";
149
+ attribute :>> clauseNumber = "6";
150
+ attribute :>> title = "software maintenance process";
151
+ attribute :>> normativeStrength = "shall";
152
+ }
153
+ item iec62304Clause7 : StandardClause {
154
+ attribute :>> id = "STD-IEC-62304-7";
155
+ attribute :>> name = "IEC62304Clause7";
156
+ attribute :>> clauseNumber = "7";
157
+ attribute :>> title = "software risk management process";
158
+ attribute :>> normativeStrength = "shall";
159
+ }
160
+ item iec62304Clause8 : StandardClause {
161
+ attribute :>> id = "STD-IEC-62304-8";
162
+ attribute :>> name = "IEC62304Clause8";
163
+ attribute :>> clauseNumber = "8";
164
+ attribute :>> title = "software configuration management process";
165
+ attribute :>> normativeStrength = "shall";
166
+ }
167
+ item iec62304Clause8_1_2 : StandardClause {
168
+ attribute :>> id = "STD-IEC-62304-8-1-2";
169
+ attribute :>> name = "IEC62304Clause8_1_2";
170
+ attribute :>> clauseNumber = "8.1.2";
171
+ attribute :>> title = "SOUP identification";
172
+ attribute :>> normativeStrength = "shall";
173
+ }
174
+ item iec62304Clause9 : StandardClause {
175
+ attribute :>> id = "STD-IEC-62304-9";
176
+ attribute :>> name = "IEC62304Clause9";
177
+ attribute :>> clauseNumber = "9";
178
+ attribute :>> title = "software problem resolution process";
179
+ attribute :>> normativeStrength = "shall";
180
+ }
181
+
182
+ // ── Containment ──────────────────────────────────────────────────────
183
+ // The existing Composes relation, standard → clause → sub-clause. There
184
+ // is no clause-specific composition type: whole/part decomposition is
185
+ // already one relation in MEMO.
186
+ connection iec62304Has4 : Composes connect parent ::> iec62304 to child ::> iec62304Clause4;
187
+ connection iec62304Has5 : Composes connect parent ::> iec62304 to child ::> iec62304Clause5;
188
+ connection iec62304Has6 : Composes connect parent ::> iec62304 to child ::> iec62304Clause6;
189
+ connection iec62304Has7 : Composes connect parent ::> iec62304 to child ::> iec62304Clause7;
190
+ connection iec62304Has8 : Composes connect parent ::> iec62304 to child ::> iec62304Clause8;
191
+ connection iec62304Has9 : Composes connect parent ::> iec62304 to child ::> iec62304Clause9;
192
+
193
+ connection iec62304Has4_3 : Composes connect parent ::> iec62304Clause4 to child ::> iec62304Clause4_3;
194
+
195
+ connection iec62304Has5_1 : Composes connect parent ::> iec62304Clause5 to child ::> iec62304Clause5_1;
196
+ connection iec62304Has5_2 : Composes connect parent ::> iec62304Clause5 to child ::> iec62304Clause5_2;
197
+ connection iec62304Has5_3 : Composes connect parent ::> iec62304Clause5 to child ::> iec62304Clause5_3;
198
+ connection iec62304Has5_4 : Composes connect parent ::> iec62304Clause5 to child ::> iec62304Clause5_4;
199
+ connection iec62304Has5_5 : Composes connect parent ::> iec62304Clause5 to child ::> iec62304Clause5_5;
200
+ connection iec62304Has5_6 : Composes connect parent ::> iec62304Clause5 to child ::> iec62304Clause5_6;
201
+ connection iec62304Has5_7 : Composes connect parent ::> iec62304Clause5 to child ::> iec62304Clause5_7;
202
+ connection iec62304Has5_8 : Composes connect parent ::> iec62304Clause5 to child ::> iec62304Clause5_8;
203
+
204
+ connection iec62304Has5_1_1 : Composes connect parent ::> iec62304Clause5_1 to child ::> iec62304Clause5_1_1;
205
+ connection iec62304Has5_2_2 : Composes connect parent ::> iec62304Clause5_2 to child ::> iec62304Clause5_2_2;
206
+ connection iec62304Has5_2_3 : Composes connect parent ::> iec62304Clause5_2 to child ::> iec62304Clause5_2_3;
207
+ connection iec62304Has5_2_6 : Composes connect parent ::> iec62304Clause5_2 to child ::> iec62304Clause5_2_6;
208
+ connection iec62304Has5_7_5 : Composes connect parent ::> iec62304Clause5_7 to child ::> iec62304Clause5_7_5;
209
+ connection iec62304Has8_1_2 : Composes connect parent ::> iec62304Clause8 to child ::> iec62304Clause8_1_2;
210
+ }
@@ -0,0 +1,113 @@
1
+ // IEC 62366-1:2015+AMD1:2020 — application of usability engineering to
2
+ // medical devices.
3
+ //
4
+ // The amendment is carried in the designation: dropping it is a CE/MDR
5
+ // regression. `title` is a MEMO-AUTHORED scope phrase, never the standard's
6
+ // own normative wording.
7
+ package memo_artifacts_standards_iec_62366_1 {
8
+ private import ScalarValues::*;
9
+ private import memo_core_enumerations::*;
10
+ private import memo_core_relationships::*;
11
+ private import memo_artifacts_standards_traceability::*;
12
+
13
+ item iec62366_1 : RegulatoryStandard {
14
+ attribute :>> id = "STD-IEC-62366-1";
15
+ attribute :>> name = "IEC62366_1";
16
+ attribute :>> designation = "IEC 62366-1:2015+AMD1:2020";
17
+ attribute :>> edition = "2015";
18
+ attribute :>> issuer = "IEC";
19
+ attribute :>> amendments = "AMD1:2020";
20
+ attribute :>> appliesToRegime = (RegulatoryRegimeKind::CE, RegulatoryRegimeKind::MDR, RegulatoryRegimeKind::UKCA, RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
21
+ }
22
+
23
+ item iec62366_1Clause4 : StandardClause {
24
+ attribute :>> id = "STD-IEC-62366-1-4";
25
+ attribute :>> name = "IEC62366_1Clause4";
26
+ attribute :>> clauseNumber = "4";
27
+ attribute :>> title = "general requirements for the usability engineering process";
28
+ attribute :>> normativeStrength = "shall";
29
+ }
30
+ item iec62366_1Clause5 : StandardClause {
31
+ attribute :>> id = "STD-IEC-62366-1-5";
32
+ attribute :>> name = "IEC62366_1Clause5";
33
+ attribute :>> clauseNumber = "5";
34
+ attribute :>> title = "usability engineering process";
35
+ attribute :>> normativeStrength = "shall";
36
+ }
37
+ item iec62366_1Clause5_1 : StandardClause {
38
+ attribute :>> id = "STD-IEC-62366-1-5-1";
39
+ attribute :>> name = "IEC62366_1Clause5_1";
40
+ attribute :>> clauseNumber = "5.1";
41
+ attribute :>> title = "use specification";
42
+ attribute :>> normativeStrength = "shall";
43
+ }
44
+ item iec62366_1Clause5_2 : StandardClause {
45
+ attribute :>> id = "STD-IEC-62366-1-5-2";
46
+ attribute :>> name = "IEC62366_1Clause5_2";
47
+ attribute :>> clauseNumber = "5.2";
48
+ attribute :>> title = "user interface characteristics related to safety";
49
+ attribute :>> normativeStrength = "shall";
50
+ }
51
+ item iec62366_1Clause5_3 : StandardClause {
52
+ attribute :>> id = "STD-IEC-62366-1-5-3";
53
+ attribute :>> name = "IEC62366_1Clause5_3";
54
+ attribute :>> clauseNumber = "5.3";
55
+ attribute :>> title = "known and foreseeable use-related hazards";
56
+ attribute :>> normativeStrength = "shall";
57
+ }
58
+ item iec62366_1Clause5_4 : StandardClause {
59
+ attribute :>> id = "STD-IEC-62366-1-5-4";
60
+ attribute :>> name = "IEC62366_1Clause5_4";
61
+ attribute :>> clauseNumber = "5.4";
62
+ attribute :>> title = "hazard-related use scenarios";
63
+ attribute :>> normativeStrength = "shall";
64
+ }
65
+ item iec62366_1Clause5_5 : StandardClause {
66
+ attribute :>> id = "STD-IEC-62366-1-5-5";
67
+ attribute :>> name = "IEC62366_1Clause5_5";
68
+ attribute :>> clauseNumber = "5.5";
69
+ attribute :>> title = "selection of use scenarios for summative evaluation";
70
+ attribute :>> normativeStrength = "shall";
71
+ }
72
+ item iec62366_1Clause5_6 : StandardClause {
73
+ attribute :>> id = "STD-IEC-62366-1-5-6";
74
+ attribute :>> name = "IEC62366_1Clause5_6";
75
+ attribute :>> clauseNumber = "5.6";
76
+ attribute :>> title = "user interface specification";
77
+ attribute :>> normativeStrength = "shall";
78
+ }
79
+ item iec62366_1Clause5_7 : StandardClause {
80
+ attribute :>> id = "STD-IEC-62366-1-5-7";
81
+ attribute :>> name = "IEC62366_1Clause5_7";
82
+ attribute :>> clauseNumber = "5.7";
83
+ attribute :>> title = "user interface evaluation plan";
84
+ attribute :>> normativeStrength = "shall";
85
+ }
86
+ item iec62366_1Clause5_8 : StandardClause {
87
+ attribute :>> id = "STD-IEC-62366-1-5-8";
88
+ attribute :>> name = "IEC62366_1Clause5_8";
89
+ attribute :>> clauseNumber = "5.8";
90
+ attribute :>> title = "user interface design and formative evaluation";
91
+ attribute :>> normativeStrength = "shall";
92
+ }
93
+ item iec62366_1Clause5_9 : StandardClause {
94
+ attribute :>> id = "STD-IEC-62366-1-5-9";
95
+ attribute :>> name = "IEC62366_1Clause5_9";
96
+ attribute :>> clauseNumber = "5.9";
97
+ attribute :>> title = "summative evaluation of the user interface";
98
+ attribute :>> normativeStrength = "shall";
99
+ }
100
+
101
+ connection iec62366_1Has4 : Composes connect parent ::> iec62366_1 to child ::> iec62366_1Clause4;
102
+ connection iec62366_1Has5 : Composes connect parent ::> iec62366_1 to child ::> iec62366_1Clause5;
103
+
104
+ connection iec62366_1Has5_1 : Composes connect parent ::> iec62366_1Clause5 to child ::> iec62366_1Clause5_1;
105
+ connection iec62366_1Has5_2 : Composes connect parent ::> iec62366_1Clause5 to child ::> iec62366_1Clause5_2;
106
+ connection iec62366_1Has5_3 : Composes connect parent ::> iec62366_1Clause5 to child ::> iec62366_1Clause5_3;
107
+ connection iec62366_1Has5_4 : Composes connect parent ::> iec62366_1Clause5 to child ::> iec62366_1Clause5_4;
108
+ connection iec62366_1Has5_5 : Composes connect parent ::> iec62366_1Clause5 to child ::> iec62366_1Clause5_5;
109
+ connection iec62366_1Has5_6 : Composes connect parent ::> iec62366_1Clause5 to child ::> iec62366_1Clause5_6;
110
+ connection iec62366_1Has5_7 : Composes connect parent ::> iec62366_1Clause5 to child ::> iec62366_1Clause5_7;
111
+ connection iec62366_1Has5_8 : Composes connect parent ::> iec62366_1Clause5 to child ::> iec62366_1Clause5_8;
112
+ connection iec62366_1Has5_9 : Composes connect parent ::> iec62366_1Clause5 to child ::> iec62366_1Clause5_9;
113
+ }