@memoarchitect/ontology 0.8.24 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (203) hide show
  1. package/README.md +1 -1
  2. package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +9 -7
  3. package/examples/connected-patient-monitor/model/catalog/project.sysml +3 -1
  4. package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +9 -7
  5. package/examples/embedded-infusion-pump/model/catalog/project.sysml +3 -1
  6. package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +8 -6
  7. package/examples/functional-logical-physical/model/catalog/project.sysml +3 -1
  8. package/examples/gpca-pump/memo.identity.yaml +2185 -0
  9. package/examples/gpca-pump/methodology/gpca_profiles.sysml +3 -1
  10. package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +29 -27
  11. package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +115 -114
  12. package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +42 -41
  13. package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +26 -25
  14. package/examples/gpca-pump/model/catalog/gpca_context.sysml +29 -24
  15. package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +14 -13
  16. package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +42 -40
  17. package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +198 -197
  18. package/examples/gpca-pump/model/catalog/gpca_operational.sysml +121 -125
  19. package/examples/gpca-pump/model/catalog/gpca_physical.sysml +8 -6
  20. package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +390 -388
  21. package/examples/gpca-pump/model/catalog/gpca_risk.sysml +164 -163
  22. package/examples/gpca-pump/model/catalog/gpca_standards.sysml +44 -43
  23. package/examples/gpca-pump/model/catalog/gpca_system.sysml +15 -14
  24. package/examples/gpca-pump/model/catalog/gpca_trace.sysml +10 -8
  25. package/examples/gpca-pump/model/catalog/gpca_verification.sysml +62 -61
  26. package/examples/gpca-pump/model/catalog/project.sysml +3 -1
  27. package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +6 -4
  28. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +5 -3
  29. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +5 -3
  30. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +5 -3
  31. package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +5 -3
  32. package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +5 -3
  33. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +5 -3
  34. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +5 -3
  35. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +5 -3
  36. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_logical_architecture_view.sysml +5 -3
  37. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +5 -3
  38. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +5 -3
  39. package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +5 -3
  40. package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +5 -3
  41. package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +5 -3
  42. package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +5 -3
  43. package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +5 -3
  44. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +5 -3
  45. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +5 -3
  46. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +5 -3
  47. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_risk_chain_view.sysml +5 -3
  48. package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +5 -3
  49. package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +5 -3
  50. package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +6 -4
  51. package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +5 -3
  52. package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +5 -3
  53. package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +9 -7
  54. package/examples/ivd-laboratory-system/model/catalog/project.sysml +3 -1
  55. package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +6 -4
  56. package/examples/manual-surgical-instrument/model/catalog/project.sysml +3 -1
  57. package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +6 -4
  58. package/examples/multidimensional-layers/model/catalog/project.sysml +3 -1
  59. package/examples/nested-architecture-dsm/memo.identity.yaml +181 -0
  60. package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +20 -18
  61. package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +20 -18
  62. package/examples/nested-architecture-dsm/model/catalog/architecture/operational/context.sysml +34 -0
  63. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +11 -6
  64. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +16 -14
  65. package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +18 -16
  66. package/examples/nested-architecture-dsm/model/catalog/project.sysml +4 -1
  67. package/examples/reusable-instrument/model/catalog/project.sysml +3 -1
  68. package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +17 -16
  69. package/examples/ros-mobile-robot/model/catalog/project.sysml +3 -1
  70. package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +18 -16
  71. package/examples/software-only-medical-device/model/catalog/project.sysml +3 -1
  72. package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +10 -8
  73. package/examples/surgical-closure-workflow/model/catalog/project.sysml +3 -1
  74. package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +54 -51
  75. package/examples/surgical-robot/model/catalog/project.sysml +3 -1
  76. package/examples/surgical-robot/model/catalog/surgical_robot.sysml +9 -7
  77. package/examples/sysml-diagram-samples/model/catalog/project.sysml +3 -1
  78. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +10 -8
  79. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +7 -5
  80. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +3 -1
  81. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +2 -1
  82. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +3 -1
  83. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +11 -9
  84. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +3 -1
  85. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +2 -1
  86. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +3 -1
  87. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +11 -7
  88. package/examples/temperature-alarm/memo.identity.yaml +64 -0
  89. package/examples/temperature-alarm/model/catalog/project.sysml +3 -1
  90. package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +27 -22
  91. package/examples/ui-screen-regions/memo.identity.yaml +205 -0
  92. package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +14 -12
  93. package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +35 -33
  94. package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +8 -6
  95. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +14 -13
  96. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +4 -2
  97. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +4 -2
  98. package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +12 -10
  99. package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +3 -1
  100. package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +26 -24
  101. package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +17 -15
  102. package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +10 -9
  103. package/examples/ui-screen-regions/model/catalog/project.sysml +3 -1
  104. package/examples/ui-screen-regions/model/catalog/relationships.sysml +2 -2
  105. package/examples/ui-screen-regions/model/catalog/traces.sysml +0 -2
  106. package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +5 -3
  107. package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +5 -3
  108. package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +5 -3
  109. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +3 -1
  110. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +3 -1
  111. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +3 -1
  112. package/extensions/aadl/memo.package.yaml +1 -1
  113. package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +23 -21
  114. package/extensions/aadl/src/methodology/aadl_methodology.sysml +3 -1
  115. package/extensions/clinical/src/methodology/clinical_methodology.sysml +3 -1
  116. package/extensions/cloud/memo.package.yaml +1 -1
  117. package/extensions/cloud/src/methodology/cloud_methodology.sysml +3 -1
  118. package/extensions/container/memo.package.yaml +1 -1
  119. package/extensions/container/src/methodology/container_methodology.sysml +3 -1
  120. package/extensions/messaging/memo.package.yaml +1 -1
  121. package/extensions/messaging/src/methodology/messaging_methodology.sysml +3 -1
  122. package/extensions/ros/memo.package.yaml +1 -1
  123. package/extensions/ros/src/methodology/ros_methodology.sysml +3 -1
  124. package/extensions/template/src/extension.sysml +3 -1
  125. package/methodologies/default/memo.package.yaml +1 -1
  126. package/methodologies/gpca/memo.package.yaml +1 -1
  127. package/ontology/memo.package.yaml +1 -1
  128. package/package.json +2 -2
  129. package/profile/memo.package.yaml +1 -1
  130. package/src/architecture/functional/behavior/memo_behavior.sysml +1 -1
  131. package/src/architecture/implementation/hardware/common/memo_hardware_common.sysml +12 -2
  132. package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +0 -11
  133. package/src/architecture/implementation/ui/memo_ui.sysml +0 -23
  134. package/src/architecture/logical/interfaces/memo_interfaces.sysml +3 -1
  135. package/src/architecture/operational/context/use_context/memo_use_context.sysml +3 -11
  136. package/src/architecture/operational/scenarios/memo_scenarios.sysml +1 -12
  137. package/src/architecture/operational/use_cases/memo_use_cases.sysml +7 -11
  138. package/src/architecture/operational/workflows/memo_workflows.sysml +0 -20
  139. package/src/architecture/realization/deployment/memo_deployment.sysml +16 -9
  140. package/src/architecture/realization/physical/memo_physical_architecture.sysml +8 -2
  141. package/src/artifacts/standards/cfr_21_820.sysml +80 -89
  142. package/src/artifacts/standards/fda_cybersecurity_2023.sysml +45 -49
  143. package/src/artifacts/standards/iec_60601_1.sysml +108 -121
  144. package/src/artifacts/standards/iec_60601_1_2.sysml +31 -33
  145. package/src/artifacts/standards/iec_60812.sysml +21 -22
  146. package/src/artifacts/standards/iec_62304.sysml +150 -169
  147. package/src/artifacts/standards/iec_62366_1.sysml +80 -89
  148. package/src/artifacts/standards/iec_81001_5_1.sysml +52 -57
  149. package/src/artifacts/standards/iso_13485.sysml +80 -89
  150. package/src/artifacts/standards/iso_14971.sysml +66 -73
  151. package/src/artifacts/standards/iso_iec_ieee_42010.sysml +15 -15
  152. package/src/artifacts/templates/dhf/iec-60601/hrs.md +6 -6
  153. package/src/artifacts/templates/dhf/iec-62304/srs.md +10 -10
  154. package/src/artifacts/templates/dhf/system/syrs.md +6 -6
  155. package/src/assurance/cybersecurity/memo_cybersecurity.sysml +0 -1
  156. package/src/assurance/human_factors/memo_human_factors.sysml +0 -1
  157. package/src/assurance/requirements/memo_requirements.sysml +20 -16
  158. package/src/assurance/requirements/needs/memo_needs.sysml +33 -5
  159. package/src/assurance/safety_risk/memo_risk.sysml +20 -0
  160. package/src/assurance/verification_validation/memo_assurance.sysml +7 -12
  161. package/src/core/common/memo_common.sysml +50 -50
  162. package/src/core/enumerations/memo_enumerations.sysml +1 -1
  163. package/src/core/relationships/memo_relationships.sysml +22 -49
  164. package/src/methodology/archetypes/memo_archetypes.sysml +10 -8
  165. package/src/methodology/core/memo_core.sysml +0 -10
  166. package/src/methodology/profiles/memo_profiles.sysml +18 -16
  167. package/src/rules/closure/closure_rules.sysml +58 -22
  168. package/src/rules/crosslayer/cross_layer_rules.sysml +5 -3
  169. package/src/rules/ontology/ontology_invariants.sysml +119 -35
  170. package/src/rules/quantitative/quantitative_rules.sysml +4 -2
  171. package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +29 -28
  172. package/src/viewpoints/clinical/clinical_viewpoint.sysml +4 -2
  173. package/src/viewpoints/context/context_viewpoint.sysml +5 -3
  174. package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +5 -3
  175. package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +4 -2
  176. package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +6 -16
  177. package/src/viewpoints/functional/functional_viewpoint.sysml +4 -2
  178. package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +5 -3
  179. package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +5 -3
  180. package/src/viewpoints/logical/logical_viewpoint.sysml +4 -2
  181. package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +5 -3
  182. package/src/viewpoints/operational/operational_viewpoint.sysml +4 -2
  183. package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +5 -3
  184. package/src/viewpoints/physical/physical_viewpoint.sysml +4 -2
  185. package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +5 -3
  186. package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +5 -3
  187. package/src/viewpoints/rendering/memo_rendering.sysml +220 -40
  188. package/src/viewpoints/requirements/requirements_viewpoint.sysml +4 -2
  189. package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +5 -3
  190. package/src/viewpoints/risk/risk_viewpoint.sysml +4 -2
  191. package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +5 -3
  192. package/src/viewpoints/software/software_viewpoint.sysml +4 -2
  193. package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +5 -3
  194. package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +4 -2
  195. package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +3 -1
  196. package/src/viewpoints/usability/usability_viewpoint.sysml +4 -2
  197. package/src/viewpoints/verification/verification_viewpoint.sysml +4 -2
  198. package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +5 -3
  199. package/templates/connected-device/model/catalog/project.sysml +3 -1
  200. package/templates/default/model/catalog/project.sysml +3 -1
  201. package/templates/infusion-pump/model/catalog/project.sysml +3 -1
  202. package/templates/monitoring-device/model/catalog/project.sysml +3 -1
  203. package/templates/samd/model/catalog/project.sysml +3 -1
@@ -10,47 +10,45 @@ package memo_artifacts_standards_iec_60601_1_2 {
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 iec60601_1_2 : RegulatoryStandard {
14
- attribute :>> id = "STD-IEC-60601-1-2-COLLATERAL";
16
+ @MemoIdentity { :>> providedId = "STD-IEC-60601-1-2-COLLATERAL"; }
15
17
  attribute :>> name = "IEC60601_1_2";
16
18
  attribute :>> designation = "IEC 60601-1-2:2014+AMD1:2020";
17
19
  attribute :>> edition = "4.1";
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 iec60601_1_2Clause4 : StandardClause {
24
+ @MemoIdentity { :>> providedId = "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
+ @MemoIdentity { :>> providedId = "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
+ @MemoIdentity { :>> providedId = "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
+ @MemoIdentity { :>> providedId = "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
+ }
21
51
  }
22
52
 
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
53
 
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
54
  }
@@ -14,8 +14,10 @@ package memo_artifacts_standards_iec_60812 {
14
14
  private import memo_core_relationships::*;
15
15
  private import memo_artifacts_standards_traceability::*;
16
16
 
17
+ private import memo_core_common::*;
18
+ private import memo_core_common::MemoIdentity;
17
19
  item iec60812 : RegulatoryStandard {
18
- attribute :>> id = "STD-IEC-60812";
20
+ @MemoIdentity { :>> providedId = "STD-IEC-60812"; }
19
21
  attribute :>> name = "IEC60812";
20
22
  attribute :>> designation = "IEC 60812:2018";
21
23
  attribute :>> edition = "2018";
@@ -24,28 +26,25 @@ package memo_artifacts_standards_iec_60812 {
24
26
  // reference standard, cited by documents rather than required by a
25
27
  // market. Empty is the authored value, not an omission — see
26
28
  // appliesToRegime in memo_artifacts_standards_traceability.
29
+ item iec60812Clause5 : StandardClause {
30
+ @MemoIdentity { :>> providedId = "STD-IEC-60812-5"; }
31
+ attribute :>> name = "IEC60812Clause5";
32
+ attribute :>> clauseNumber = "5";
33
+ attribute :>> normativeStrength = "shall";
34
+ }
35
+ item iec60812Clause6 : StandardClause {
36
+ @MemoIdentity { :>> providedId = "STD-IEC-60812-6"; }
37
+ attribute :>> name = "IEC60812Clause6";
38
+ attribute :>> clauseNumber = "6";
39
+ attribute :>> normativeStrength = "shall";
40
+ }
41
+ item iec60812Clause7 : StandardClause {
42
+ @MemoIdentity { :>> providedId = "STD-IEC-60812-7"; }
43
+ attribute :>> name = "IEC60812Clause7";
44
+ attribute :>> clauseNumber = "7";
45
+ attribute :>> normativeStrength = "shall";
46
+ }
27
47
  }
28
48
 
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
49
 
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
50
  }
@@ -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
  }