@memoarchitect/ontology 0.8.22 → 0.10.9

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 (240) hide show
  1. package/README.md +1 -1
  2. package/examples/connected-patient-monitor/memo.package.yaml +3 -0
  3. package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +9 -7
  4. package/examples/connected-patient-monitor/model/catalog/project.sysml +3 -1
  5. package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/views/connected_patient_monitor_overview.sysml +1 -1
  6. package/examples/embedded-infusion-pump/memo.package.yaml +3 -0
  7. package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +11 -9
  8. package/examples/embedded-infusion-pump/model/catalog/project.sysml +3 -1
  9. package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/views/embedded_infusion_pump_overview.sysml +1 -1
  10. package/examples/functional-logical-physical/memo.package.yaml +3 -0
  11. package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +9 -7
  12. package/examples/functional-logical-physical/model/catalog/project.sysml +3 -1
  13. package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/views/functional_logical_physical_overview.sysml +1 -1
  14. package/examples/gpca-pump/memo.identity.yaml +2179 -0
  15. package/examples/gpca-pump/memo.package.yaml +3 -0
  16. package/examples/gpca-pump/methodology/gpca_profiles.sysml +3 -1
  17. package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +29 -27
  18. package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +115 -114
  19. package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +42 -41
  20. package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +26 -25
  21. package/examples/gpca-pump/model/catalog/gpca_context.sysml +27 -23
  22. package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +15 -15
  23. package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +42 -40
  24. package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +198 -197
  25. package/examples/gpca-pump/model/catalog/gpca_operational.sysml +146 -180
  26. package/examples/gpca-pump/model/catalog/gpca_physical.sysml +8 -6
  27. package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +290 -288
  28. package/examples/gpca-pump/model/catalog/gpca_risk.sysml +164 -163
  29. package/examples/gpca-pump/model/catalog/gpca_standards.sysml +44 -43
  30. package/examples/gpca-pump/model/catalog/gpca_system.sysml +21 -33
  31. package/examples/gpca-pump/model/catalog/gpca_trace.sysml +10 -11
  32. package/examples/gpca-pump/model/catalog/gpca_verification.sysml +62 -61
  33. package/examples/gpca-pump/model/catalog/project.sysml +3 -1
  34. package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +7 -7
  35. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +7 -7
  36. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +6 -7
  37. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +7 -8
  38. package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +6 -6
  39. package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +6 -6
  40. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +6 -6
  41. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +8 -9
  42. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +6 -6
  43. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_logical_architecture_view.sysml +6 -6
  44. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +6 -6
  45. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +6 -6
  46. package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +7 -7
  47. package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +6 -6
  48. package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +6 -6
  49. package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +8 -9
  50. package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +6 -6
  51. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +6 -7
  52. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +6 -7
  53. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +6 -6
  54. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_risk_chain_view.sysml +6 -6
  55. package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +6 -7
  56. package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +6 -6
  57. package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +8 -9
  58. package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +6 -7
  59. package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +6 -6
  60. package/examples/ivd-laboratory-system/memo.package.yaml +3 -0
  61. package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +10 -8
  62. package/examples/ivd-laboratory-system/model/catalog/project.sysml +3 -1
  63. package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/views/ivd_laboratory_system_overview.sysml +1 -1
  64. package/examples/manual-surgical-instrument/memo.package.yaml +3 -0
  65. package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +7 -5
  66. package/examples/manual-surgical-instrument/model/catalog/project.sysml +3 -1
  67. package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/views/manual_surgical_instrument_overview.sysml +1 -1
  68. package/examples/multidimensional-layers/memo.package.yaml +3 -0
  69. package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +6 -4
  70. package/examples/multidimensional-layers/model/catalog/project.sysml +3 -1
  71. package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/views/multidimensional_layers_overview.sysml +0 -1
  72. package/examples/nested-architecture-dsm/memo.package.yaml +3 -0
  73. package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +20 -18
  74. package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +20 -18
  75. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +6 -4
  76. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +9 -7
  77. package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +18 -16
  78. package/examples/nested-architecture-dsm/model/catalog/project.sysml +3 -1
  79. package/examples/reusable-instrument/memo.package.yaml +3 -0
  80. package/examples/reusable-instrument/model/catalog/project.sysml +3 -1
  81. package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +23 -31
  82. package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/views/reusable_instrument_overview.sysml +0 -1
  83. package/examples/ros-mobile-robot/memo.package.yaml +3 -0
  84. package/examples/ros-mobile-robot/model/catalog/project.sysml +3 -1
  85. package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +18 -16
  86. package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/views/ros_mobile_robot_overview.sysml +0 -1
  87. package/examples/software-only-medical-device/memo.package.yaml +3 -0
  88. package/examples/software-only-medical-device/model/catalog/project.sysml +3 -1
  89. package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +11 -9
  90. package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/views/software_only_medical_device_overview.sysml +0 -1
  91. package/examples/surgical-closure-workflow/memo.package.yaml +3 -0
  92. package/examples/surgical-closure-workflow/model/catalog/project.sysml +3 -1
  93. package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +56 -69
  94. package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/views/surgical_closure_workflow_overview.sysml +0 -1
  95. package/examples/surgical-robot/memo.package.yaml +3 -0
  96. package/examples/surgical-robot/model/catalog/project.sysml +3 -1
  97. package/examples/surgical-robot/model/catalog/surgical_robot.sysml +9 -7
  98. package/examples/surgical-robot/model/catalog/viewpoints/unassigned/views/surgical_robot_overview.sysml +0 -1
  99. package/examples/sysml-diagram-samples/memo.package.yaml +2 -0
  100. package/examples/sysml-diagram-samples/model/catalog/project.sysml +3 -1
  101. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +12 -11
  102. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +8 -7
  103. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +4 -3
  104. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +3 -3
  105. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +17 -16
  106. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +9 -8
  107. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +4 -3
  108. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +3 -3
  109. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +4 -3
  110. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +12 -9
  111. package/examples/temperature-alarm/memo.identity.yaml +64 -0
  112. package/examples/temperature-alarm/memo.package.yaml +3 -0
  113. package/examples/temperature-alarm/model/catalog/project.sysml +3 -1
  114. package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +30 -29
  115. package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/views/temperature_alarm_overview.sysml +0 -1
  116. package/examples/ui-screen-regions/memo.package.yaml +3 -0
  117. package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +14 -12
  118. package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +35 -33
  119. package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +8 -6
  120. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +14 -13
  121. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +4 -2
  122. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +4 -2
  123. package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +12 -10
  124. package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +3 -1
  125. package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +14 -12
  126. package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +17 -15
  127. package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +10 -9
  128. package/examples/ui-screen-regions/model/catalog/project.sysml +3 -1
  129. package/examples/ui-screen-regions/model/catalog/relationships.sysml +2 -2
  130. package/examples/ui-screen-regions/model/catalog/traces.sysml +0 -2
  131. package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +6 -5
  132. package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +6 -5
  133. package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +6 -5
  134. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +4 -3
  135. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +4 -3
  136. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +4 -3
  137. package/extensions/aadl/memo.package.yaml +1 -1
  138. package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +23 -21
  139. package/extensions/aadl/src/methodology/aadl_methodology.sysml +3 -1
  140. package/extensions/clinical/src/methodology/clinical_methodology.sysml +3 -1
  141. package/extensions/cloud/memo.package.yaml +1 -1
  142. package/extensions/cloud/src/methodology/cloud_methodology.sysml +3 -1
  143. package/extensions/container/memo.package.yaml +1 -1
  144. package/extensions/container/src/container_extension.sysml +2 -2
  145. package/extensions/container/src/methodology/container_methodology.sysml +3 -1
  146. package/extensions/messaging/memo.package.yaml +1 -1
  147. package/extensions/messaging/src/methodology/messaging_methodology.sysml +3 -1
  148. package/extensions/ros/memo.package.yaml +1 -1
  149. package/extensions/ros/src/methodology/ros_methodology.sysml +3 -1
  150. package/extensions/template/src/extension.sysml +3 -1
  151. package/methodologies/default/memo.package.yaml +1 -1
  152. package/methodologies/gpca/memo.package.yaml +1 -1
  153. package/ontology/memo.package.yaml +1 -1
  154. package/package.json +2 -2
  155. package/profile/memo.package.yaml +1 -1
  156. package/src/architecture/functional/behavior/memo_behavior.sysml +5 -5
  157. package/src/architecture/functional/functions/memo_functions.sysml +6 -6
  158. package/src/architecture/implementation/hardware/common/memo_hardware_common.sysml +12 -2
  159. package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +0 -11
  160. package/src/architecture/implementation/software/structure/memo_software_structure.sysml +7 -7
  161. package/src/architecture/implementation/ui/memo_ui.sysml +8 -31
  162. package/src/architecture/logical/interfaces/memo_interfaces.sysml +4 -2
  163. package/src/architecture/logical/structure/memo_logical_structure.sysml +5 -5
  164. package/src/architecture/operational/activities/memo_activities.sysml +19 -28
  165. package/src/architecture/operational/context/actors/memo_actors.sysml +5 -4
  166. package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +7 -7
  167. package/src/architecture/operational/context/use_context/memo_use_context.sysml +5 -14
  168. package/src/architecture/operational/scenarios/memo_scenarios.sysml +12 -104
  169. package/src/architecture/operational/structure/memo_operational.sysml +42 -13
  170. package/src/architecture/operational/use_cases/memo_use_cases.sysml +7 -12
  171. package/src/architecture/operational/workflows/memo_workflows.sysml +20 -42
  172. package/src/architecture/realization/deployment/memo_deployment.sysml +26 -19
  173. package/src/architecture/realization/physical/memo_physical_architecture.sysml +8 -2
  174. package/src/artifacts/standards/cfr_21_820.sysml +80 -89
  175. package/src/artifacts/standards/fda_cybersecurity_2023.sysml +45 -49
  176. package/src/artifacts/standards/iec_60601_1.sysml +108 -121
  177. package/src/artifacts/standards/iec_60601_1_2.sysml +31 -33
  178. package/src/artifacts/standards/iec_60812.sysml +21 -22
  179. package/src/artifacts/standards/iec_62304.sysml +150 -169
  180. package/src/artifacts/standards/iec_62366_1.sysml +80 -89
  181. package/src/artifacts/standards/iec_81001_5_1.sysml +52 -57
  182. package/src/artifacts/standards/iso_13485.sysml +80 -89
  183. package/src/artifacts/standards/iso_14971.sysml +66 -73
  184. package/src/artifacts/standards/iso_iec_ieee_42010.sysml +15 -15
  185. package/src/artifacts/templates/dhf/system/sad.md +3 -3
  186. package/src/assurance/cybersecurity/memo_cybersecurity.sysml +2 -2
  187. package/src/assurance/human_factors/memo_human_factors.sysml +2 -2
  188. package/src/assurance/requirements/memo_requirements.sysml +2 -18
  189. package/src/assurance/safety_risk/analysis/memo_fmea.sysml +1 -1
  190. package/src/assurance/safety_risk/memo_risk.sysml +12 -0
  191. package/src/assurance/verification_validation/memo_assurance.sysml +7 -12
  192. package/src/core/common/memo_common.sysml +59 -55
  193. package/src/core/enumerations/memo_enumerations.sysml +1 -1
  194. package/src/core/relationships/memo_relationships.sysml +29 -56
  195. package/src/methodology/archetypes/memo_archetypes.sysml +10 -8
  196. package/src/methodology/core/memo_core.sysml +0 -10
  197. package/src/methodology/profiles/memo_profiles.sysml +18 -16
  198. package/src/methodology/workflow/memo_workflow.sysml +5 -5
  199. package/src/rules/closure/closure_rules.sysml +22 -20
  200. package/src/rules/crosslayer/cross_layer_rules.sysml +4 -2
  201. package/src/rules/ontology/ontology_invariants.sysml +121 -48
  202. package/src/rules/quantitative/quantitative_rules.sysml +4 -2
  203. package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +58 -57
  204. package/src/viewpoints/clinical/clinical_viewpoint.sysml +5 -4
  205. package/src/viewpoints/context/context_viewpoint.sysml +6 -5
  206. package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +6 -5
  207. package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +6 -6
  208. package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +36 -4
  209. package/src/viewpoints/functional/functional_viewpoint.sysml +6 -5
  210. package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +6 -5
  211. package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +6 -5
  212. package/src/viewpoints/logical/logical_viewpoint.sysml +5 -4
  213. package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +6 -5
  214. package/src/viewpoints/operational/operational_viewpoint.sysml +6 -5
  215. package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +7 -6
  216. package/src/viewpoints/physical/physical_viewpoint.sysml +5 -4
  217. package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +6 -5
  218. package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +6 -5
  219. package/src/viewpoints/rendering/memo_rendering.sysml +220 -40
  220. package/src/viewpoints/requirements/requirements_viewpoint.sysml +5 -4
  221. package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +6 -5
  222. package/src/viewpoints/risk/risk_viewpoint.sysml +5 -4
  223. package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +6 -5
  224. package/src/viewpoints/software/software_viewpoint.sysml +5 -4
  225. package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +6 -5
  226. package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +5 -4
  227. package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +3 -1
  228. package/src/viewpoints/usability/usability_viewpoint.sysml +5 -4
  229. package/src/viewpoints/verification/verification_viewpoint.sysml +5 -4
  230. package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +6 -5
  231. package/templates/connected-device/memo.package.yaml +2 -0
  232. package/templates/connected-device/model/catalog/project.sysml +3 -1
  233. package/templates/default/memo.package.yaml +2 -0
  234. package/templates/default/model/catalog/project.sysml +3 -1
  235. package/templates/infusion-pump/memo.package.yaml +2 -0
  236. package/templates/infusion-pump/model/catalog/project.sysml +3 -1
  237. package/templates/monitoring-device/memo.package.yaml +2 -0
  238. package/templates/monitoring-device/model/catalog/project.sysml +3 -1
  239. package/templates/samd/memo.package.yaml +2 -0
  240. package/templates/samd/model/catalog/project.sysml +3 -1
@@ -16,195 +16,176 @@ package memo_artifacts_standards_iec_62304 {
16
16
  private import memo_core_relationships::*;
17
17
  private import memo_artifacts_standards_traceability::*;
18
18
 
19
+ private import memo_core_common::*;
20
+ private import memo_core_common::MemoIdentity;
19
21
  item iec62304 : RegulatoryStandard {
20
- attribute :>> id = "STD-IEC-62304";
22
+ @MemoIdentity { :>> providedId = "STD-IEC-62304"; }
21
23
  attribute :>> name = "IEC62304";
22
24
  attribute :>> designation = "IEC 62304:2006+AMD1:2015";
23
25
  attribute :>> edition = "2006";
24
26
  attribute :>> issuer = "IEC";
25
27
  attribute :>> amendments = "AMD1:2015";
26
28
  attribute :>> appliesToRegime = (RegulatoryRegimeKind::CE, RegulatoryRegimeKind::MDR, RegulatoryRegimeKind::UKCA, RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
29
+ item iec62304Clause4 : StandardClause {
30
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-4"; }
31
+ attribute :>> name = "IEC62304Clause4";
32
+ attribute :>> clauseNumber = "4";
33
+ attribute :>> title = "general lifecycle prerequisites";
34
+ attribute :>> normativeStrength = "shall";
35
+ item iec62304Clause4_3 : StandardClause {
36
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-4-3"; }
37
+ attribute :>> name = "IEC62304Clause4_3";
38
+ attribute :>> clauseNumber = "4.3";
39
+ attribute :>> title = "software safety classification";
40
+ attribute :>> normativeStrength = "shall";
41
+ }
42
+ }
43
+ item iec62304Clause5 : StandardClause {
44
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5"; }
45
+ attribute :>> name = "IEC62304Clause5";
46
+ attribute :>> clauseNumber = "5";
47
+ attribute :>> title = "software development process";
48
+ attribute :>> normativeStrength = "shall";
49
+ item iec62304Clause5_1 : StandardClause {
50
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-1"; }
51
+ attribute :>> name = "IEC62304Clause5_1";
52
+ attribute :>> clauseNumber = "5.1";
53
+ attribute :>> title = "software development planning";
54
+ attribute :>> normativeStrength = "shall";
55
+ item iec62304Clause5_1_1 : StandardClause {
56
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-1-1"; }
57
+ attribute :>> name = "IEC62304Clause5_1_1";
58
+ attribute :>> clauseNumber = "5.1.1";
59
+ attribute :>> title = "software development plan";
60
+ attribute :>> normativeStrength = "shall";
61
+ }
62
+ }
63
+ item iec62304Clause5_2 : StandardClause {
64
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-2"; }
65
+ attribute :>> name = "IEC62304Clause5_2";
66
+ attribute :>> clauseNumber = "5.2";
67
+ attribute :>> title = "software requirements analysis";
68
+ attribute :>> normativeStrength = "shall";
69
+ item iec62304Clause5_2_2 : StandardClause {
70
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-2-2"; }
71
+ attribute :>> name = "IEC62304Clause5_2_2";
72
+ attribute :>> clauseNumber = "5.2.2";
73
+ attribute :>> title = "software requirements content";
74
+ attribute :>> normativeStrength = "shall";
75
+ }
76
+ item iec62304Clause5_2_3 : StandardClause {
77
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-2-3"; }
78
+ attribute :>> name = "IEC62304Clause5_2_3";
79
+ attribute :>> clauseNumber = "5.2.3";
80
+ attribute :>> title = "risk control measures carried into software requirements";
81
+ attribute :>> normativeStrength = "shall";
82
+ }
83
+ item iec62304Clause5_2_6 : StandardClause {
84
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-2-6"; }
85
+ attribute :>> name = "IEC62304Clause5_2_6";
86
+ attribute :>> clauseNumber = "5.2.6";
87
+ attribute :>> title = "software requirements verification";
88
+ attribute :>> normativeStrength = "shall";
89
+ }
90
+ }
91
+ item iec62304Clause5_3 : StandardClause {
92
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-3"; }
93
+ attribute :>> name = "IEC62304Clause5_3";
94
+ attribute :>> clauseNumber = "5.3";
95
+ attribute :>> title = "software architectural design";
96
+ attribute :>> normativeStrength = "shall";
97
+ }
98
+ item iec62304Clause5_4 : StandardClause {
99
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-4"; }
100
+ attribute :>> name = "IEC62304Clause5_4";
101
+ attribute :>> clauseNumber = "5.4";
102
+ attribute :>> title = "software detailed design";
103
+ attribute :>> normativeStrength = "shall";
104
+ }
105
+ item iec62304Clause5_5 : StandardClause {
106
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-5"; }
107
+ attribute :>> name = "IEC62304Clause5_5";
108
+ attribute :>> clauseNumber = "5.5";
109
+ attribute :>> title = "software unit implementation and verification";
110
+ attribute :>> normativeStrength = "shall";
111
+ }
112
+ item iec62304Clause5_6 : StandardClause {
113
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-6"; }
114
+ attribute :>> name = "IEC62304Clause5_6";
115
+ attribute :>> clauseNumber = "5.6";
116
+ attribute :>> title = "software integration and integration testing";
117
+ attribute :>> normativeStrength = "shall";
118
+ }
119
+ item iec62304Clause5_7 : StandardClause {
120
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-7"; }
121
+ attribute :>> name = "IEC62304Clause5_7";
122
+ attribute :>> clauseNumber = "5.7";
123
+ attribute :>> title = "software system testing";
124
+ attribute :>> normativeStrength = "shall";
125
+ item iec62304Clause5_7_5 : StandardClause {
126
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-7-5"; }
127
+ attribute :>> name = "IEC62304Clause5_7_5";
128
+ attribute :>> clauseNumber = "5.7.5";
129
+ attribute :>> title = "software system test records";
130
+ attribute :>> normativeStrength = "shall";
131
+ }
132
+ }
133
+ item iec62304Clause5_8 : StandardClause {
134
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-5-8"; }
135
+ attribute :>> name = "IEC62304Clause5_8";
136
+ attribute :>> clauseNumber = "5.8";
137
+ attribute :>> title = "software release";
138
+ attribute :>> normativeStrength = "shall";
139
+ }
140
+ }
141
+ item iec62304Clause6 : StandardClause {
142
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-6"; }
143
+ attribute :>> name = "IEC62304Clause6";
144
+ attribute :>> clauseNumber = "6";
145
+ attribute :>> title = "software maintenance process";
146
+ attribute :>> normativeStrength = "shall";
147
+ }
148
+ item iec62304Clause7 : StandardClause {
149
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-7"; }
150
+ attribute :>> name = "IEC62304Clause7";
151
+ attribute :>> clauseNumber = "7";
152
+ attribute :>> title = "software risk management process";
153
+ attribute :>> normativeStrength = "shall";
154
+ }
155
+ item iec62304Clause8 : StandardClause {
156
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-8"; }
157
+ attribute :>> name = "IEC62304Clause8";
158
+ attribute :>> clauseNumber = "8";
159
+ attribute :>> title = "software configuration management process";
160
+ attribute :>> normativeStrength = "shall";
161
+ item iec62304Clause8_1_2 : StandardClause {
162
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-8-1-2"; }
163
+ attribute :>> name = "IEC62304Clause8_1_2";
164
+ attribute :>> clauseNumber = "8.1.2";
165
+ attribute :>> title = "SOUP identification";
166
+ attribute :>> normativeStrength = "shall";
167
+ }
168
+ }
169
+ item iec62304Clause9 : StandardClause {
170
+ @MemoIdentity { :>> providedId = "STD-IEC-62304-9"; }
171
+ attribute :>> name = "IEC62304Clause9";
172
+ attribute :>> clauseNumber = "9";
173
+ attribute :>> title = "software problem resolution process";
174
+ attribute :>> normativeStrength = "shall";
175
+ }
27
176
  }
28
177
 
29
178
  // ── 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
179
 
45
180
  // ── 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
181
 
145
182
  // ── 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
183
 
182
184
  // ── Containment ──────────────────────────────────────────────────────
183
185
  // The existing Composes relation, standard → clause → sub-clause. There
184
186
  // is no clause-specific composition type: whole/part decomposition is
185
187
  // 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
188
 
193
- connection iec62304Has4_3 : Composes connect parent ::> iec62304Clause4 to child ::> iec62304Clause4_3;
194
189
 
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
190
 
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
191
  }
@@ -10,104 +10,95 @@ package memo_artifacts_standards_iec_62366_1 {
10
10
  private import memo_core_relationships::*;
11
11
  private import memo_artifacts_standards_traceability::*;
12
12
 
13
+ private import memo_core_common::*;
14
+ private import memo_core_common::MemoIdentity;
13
15
  item iec62366_1 : RegulatoryStandard {
14
- attribute :>> id = "STD-IEC-62366-1";
16
+ @MemoIdentity { :>> providedId = "STD-IEC-62366-1"; }
15
17
  attribute :>> name = "IEC62366_1";
16
18
  attribute :>> designation = "IEC 62366-1:2015+AMD1:2020";
17
19
  attribute :>> edition = "2015";
18
20
  attribute :>> issuer = "IEC";
19
21
  attribute :>> amendments = "AMD1:2020";
20
22
  attribute :>> appliesToRegime = (RegulatoryRegimeKind::CE, RegulatoryRegimeKind::MDR, RegulatoryRegimeKind::UKCA, RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
23
+ item iec62366_1Clause4 : StandardClause {
24
+ @MemoIdentity { :>> providedId = "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
+ @MemoIdentity { :>> providedId = "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
+ item iec62366_1Clause5_1 : StandardClause {
37
+ @MemoIdentity { :>> providedId = "STD-IEC-62366-1-5-1"; }
38
+ attribute :>> name = "IEC62366_1Clause5_1";
39
+ attribute :>> clauseNumber = "5.1";
40
+ attribute :>> title = "use specification";
41
+ attribute :>> normativeStrength = "shall";
42
+ }
43
+ item iec62366_1Clause5_2 : StandardClause {
44
+ @MemoIdentity { :>> providedId = "STD-IEC-62366-1-5-2"; }
45
+ attribute :>> name = "IEC62366_1Clause5_2";
46
+ attribute :>> clauseNumber = "5.2";
47
+ attribute :>> title = "user interface characteristics related to safety";
48
+ attribute :>> normativeStrength = "shall";
49
+ }
50
+ item iec62366_1Clause5_3 : StandardClause {
51
+ @MemoIdentity { :>> providedId = "STD-IEC-62366-1-5-3"; }
52
+ attribute :>> name = "IEC62366_1Clause5_3";
53
+ attribute :>> clauseNumber = "5.3";
54
+ attribute :>> title = "known and foreseeable use-related hazards";
55
+ attribute :>> normativeStrength = "shall";
56
+ }
57
+ item iec62366_1Clause5_4 : StandardClause {
58
+ @MemoIdentity { :>> providedId = "STD-IEC-62366-1-5-4"; }
59
+ attribute :>> name = "IEC62366_1Clause5_4";
60
+ attribute :>> clauseNumber = "5.4";
61
+ attribute :>> title = "hazard-related use scenarios";
62
+ attribute :>> normativeStrength = "shall";
63
+ }
64
+ item iec62366_1Clause5_5 : StandardClause {
65
+ @MemoIdentity { :>> providedId = "STD-IEC-62366-1-5-5"; }
66
+ attribute :>> name = "IEC62366_1Clause5_5";
67
+ attribute :>> clauseNumber = "5.5";
68
+ attribute :>> title = "selection of use scenarios for summative evaluation";
69
+ attribute :>> normativeStrength = "shall";
70
+ }
71
+ item iec62366_1Clause5_6 : StandardClause {
72
+ @MemoIdentity { :>> providedId = "STD-IEC-62366-1-5-6"; }
73
+ attribute :>> name = "IEC62366_1Clause5_6";
74
+ attribute :>> clauseNumber = "5.6";
75
+ attribute :>> title = "user interface specification";
76
+ attribute :>> normativeStrength = "shall";
77
+ }
78
+ item iec62366_1Clause5_7 : StandardClause {
79
+ @MemoIdentity { :>> providedId = "STD-IEC-62366-1-5-7"; }
80
+ attribute :>> name = "IEC62366_1Clause5_7";
81
+ attribute :>> clauseNumber = "5.7";
82
+ attribute :>> title = "user interface evaluation plan";
83
+ attribute :>> normativeStrength = "shall";
84
+ }
85
+ item iec62366_1Clause5_8 : StandardClause {
86
+ @MemoIdentity { :>> providedId = "STD-IEC-62366-1-5-8"; }
87
+ attribute :>> name = "IEC62366_1Clause5_8";
88
+ attribute :>> clauseNumber = "5.8";
89
+ attribute :>> title = "user interface design and formative evaluation";
90
+ attribute :>> normativeStrength = "shall";
91
+ }
92
+ item iec62366_1Clause5_9 : StandardClause {
93
+ @MemoIdentity { :>> providedId = "STD-IEC-62366-1-5-9"; }
94
+ attribute :>> name = "IEC62366_1Clause5_9";
95
+ attribute :>> clauseNumber = "5.9";
96
+ attribute :>> title = "summative evaluation of the user interface";
97
+ attribute :>> normativeStrength = "shall";
98
+ }
99
+ }
21
100
  }
22
101
 
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
102
 
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
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
104
  }
@@ -8,77 +8,72 @@ package memo_artifacts_standards_iec_81001_5_1 {
8
8
  private import memo_core_relationships::*;
9
9
  private import memo_artifacts_standards_traceability::*;
10
10
 
11
+ private import memo_core_common::*;
12
+ private import memo_core_common::MemoIdentity;
11
13
  item iec81001_5_1 : RegulatoryStandard {
12
- attribute :>> id = "STD-IEC-81001-5-1";
14
+ @MemoIdentity { :>> providedId = "STD-IEC-81001-5-1"; }
13
15
  attribute :>> name = "IEC81001_5_1";
14
16
  attribute :>> designation = "IEC 81001-5-1:2021";
15
17
  attribute :>> edition = "2021";
16
18
  attribute :>> issuer = "IEC";
17
19
  attribute :>> appliesToRegime = (RegulatoryRegimeKind::CE, RegulatoryRegimeKind::MDR, RegulatoryRegimeKind::UKCA, RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
20
+ item iec81001_5_1Clause4 : StandardClause {
21
+ @MemoIdentity { :>> providedId = "STD-IEC-81001-5-1-4"; }
22
+ attribute :>> name = "IEC81001_5_1Clause4";
23
+ attribute :>> clauseNumber = "4";
24
+ attribute :>> title = "general requirements";
25
+ attribute :>> normativeStrength = "shall";
26
+ }
27
+ item iec81001_5_1Clause5 : StandardClause {
28
+ @MemoIdentity { :>> providedId = "STD-IEC-81001-5-1-5"; }
29
+ attribute :>> name = "IEC81001_5_1Clause5";
30
+ attribute :>> clauseNumber = "5";
31
+ attribute :>> title = "software development process";
32
+ attribute :>> normativeStrength = "shall";
33
+ item iec81001_5_1Clause5_1 : StandardClause {
34
+ @MemoIdentity { :>> providedId = "STD-IEC-81001-5-1-5-1"; }
35
+ attribute :>> name = "IEC81001_5_1Clause5_1";
36
+ attribute :>> clauseNumber = "5.1";
37
+ attribute :>> title = "software development planning";
38
+ attribute :>> normativeStrength = "shall";
39
+ }
40
+ item iec81001_5_1Clause5_2 : StandardClause {
41
+ @MemoIdentity { :>> providedId = "STD-IEC-81001-5-1-5-2"; }
42
+ attribute :>> name = "IEC81001_5_1Clause5_2";
43
+ attribute :>> clauseNumber = "5.2";
44
+ attribute :>> title = "software requirements analysis";
45
+ attribute :>> normativeStrength = "shall";
46
+ }
47
+ item iec81001_5_1Clause5_3 : StandardClause {
48
+ @MemoIdentity { :>> providedId = "STD-IEC-81001-5-1-5-3"; }
49
+ attribute :>> name = "IEC81001_5_1Clause5_3";
50
+ attribute :>> clauseNumber = "5.3";
51
+ attribute :>> title = "software architectural design";
52
+ attribute :>> normativeStrength = "shall";
53
+ }
54
+ item iec81001_5_1Clause5_4 : StandardClause {
55
+ @MemoIdentity { :>> providedId = "STD-IEC-81001-5-1-5-4"; }
56
+ attribute :>> name = "IEC81001_5_1Clause5_4";
57
+ attribute :>> clauseNumber = "5.4";
58
+ attribute :>> title = "software design";
59
+ attribute :>> normativeStrength = "shall";
60
+ }
61
+ item iec81001_5_1Clause5_8 : StandardClause {
62
+ @MemoIdentity { :>> providedId = "STD-IEC-81001-5-1-5-8"; }
63
+ attribute :>> name = "IEC81001_5_1Clause5_8";
64
+ attribute :>> clauseNumber = "5.8";
65
+ attribute :>> title = "software release";
66
+ attribute :>> normativeStrength = "shall";
67
+ }
68
+ }
18
69
  }
19
70
 
20
- item iec81001_5_1Clause4 : StandardClause {
21
- attribute :>> id = "STD-IEC-81001-5-1-4";
22
- attribute :>> name = "IEC81001_5_1Clause4";
23
- attribute :>> clauseNumber = "4";
24
- attribute :>> title = "general requirements";
25
- attribute :>> normativeStrength = "shall";
26
- }
27
71
 
28
- item iec81001_5_1Clause5 : StandardClause {
29
- attribute :>> id = "STD-IEC-81001-5-1-5";
30
- attribute :>> name = "IEC81001_5_1Clause5";
31
- attribute :>> clauseNumber = "5";
32
- attribute :>> title = "software development process";
33
- attribute :>> normativeStrength = "shall";
34
- }
35
72
 
36
- item iec81001_5_1Clause5_1 : StandardClause {
37
- attribute :>> id = "STD-IEC-81001-5-1-5-1";
38
- attribute :>> name = "IEC81001_5_1Clause5_1";
39
- attribute :>> clauseNumber = "5.1";
40
- attribute :>> title = "software development planning";
41
- attribute :>> normativeStrength = "shall";
42
- }
43
73
 
44
- item iec81001_5_1Clause5_2 : StandardClause {
45
- attribute :>> id = "STD-IEC-81001-5-1-5-2";
46
- attribute :>> name = "IEC81001_5_1Clause5_2";
47
- attribute :>> clauseNumber = "5.2";
48
- attribute :>> title = "software requirements analysis";
49
- attribute :>> normativeStrength = "shall";
50
- }
51
74
 
52
- item iec81001_5_1Clause5_3 : StandardClause {
53
- attribute :>> id = "STD-IEC-81001-5-1-5-3";
54
- attribute :>> name = "IEC81001_5_1Clause5_3";
55
- attribute :>> clauseNumber = "5.3";
56
- attribute :>> title = "software architectural design";
57
- attribute :>> normativeStrength = "shall";
58
- }
59
75
 
60
- item iec81001_5_1Clause5_4 : StandardClause {
61
- attribute :>> id = "STD-IEC-81001-5-1-5-4";
62
- attribute :>> name = "IEC81001_5_1Clause5_4";
63
- attribute :>> clauseNumber = "5.4";
64
- attribute :>> title = "software design";
65
- attribute :>> normativeStrength = "shall";
66
- }
67
76
 
68
- item iec81001_5_1Clause5_8 : StandardClause {
69
- attribute :>> id = "STD-IEC-81001-5-1-5-8";
70
- attribute :>> name = "IEC81001_5_1Clause5_8";
71
- attribute :>> clauseNumber = "5.8";
72
- attribute :>> title = "software release";
73
- attribute :>> normativeStrength = "shall";
74
- }
75
77
 
76
- connection iec81001_5_1Has4 : Composes connect parent ::> iec81001_5_1 to child ::> iec81001_5_1Clause4;
77
- connection iec81001_5_1Has5 : Composes connect parent ::> iec81001_5_1 to child ::> iec81001_5_1Clause5;
78
78
 
79
- connection iec81001_5_1Has5_1 : Composes connect parent ::> iec81001_5_1Clause5 to child ::> iec81001_5_1Clause5_1;
80
- connection iec81001_5_1Has5_2 : Composes connect parent ::> iec81001_5_1Clause5 to child ::> iec81001_5_1Clause5_2;
81
- connection iec81001_5_1Has5_3 : Composes connect parent ::> iec81001_5_1Clause5 to child ::> iec81001_5_1Clause5_3;
82
- connection iec81001_5_1Has5_4 : Composes connect parent ::> iec81001_5_1Clause5 to child ::> iec81001_5_1Clause5_4;
83
- connection iec81001_5_1Has5_8 : Composes connect parent ::> iec81001_5_1Clause5 to child ::> iec81001_5_1Clause5_8;
84
79
  }