@memoarchitect/ontology 0.4.4

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 (217) hide show
  1. package/LICENSE +19 -0
  2. package/README.md +70 -0
  3. package/examples/gpca-pump/dhf/documents/DOC-RMP-001.md +210 -0
  4. package/examples/gpca-pump/memo.config.yaml +9 -0
  5. package/examples/gpca-pump/methodology/gpca_methodology.sysml +11 -0
  6. package/examples/gpca-pump/methodology/gpca_profiles.sysml +25 -0
  7. package/examples/gpca-pump/methodology/gpca_scope.sysml +25 -0
  8. package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +231 -0
  9. package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +272 -0
  10. package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +81 -0
  11. package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +363 -0
  12. package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +205 -0
  13. package/examples/gpca-pump/model/catalog/gpca_context.sysml +113 -0
  14. package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +172 -0
  15. package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +173 -0
  16. package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +1062 -0
  17. package/examples/gpca-pump/model/catalog/gpca_operational.sysml +209 -0
  18. package/examples/gpca-pump/model/catalog/gpca_physical.sysml +53 -0
  19. package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +1505 -0
  20. package/examples/gpca-pump/model/catalog/gpca_risk.sysml +744 -0
  21. package/examples/gpca-pump/model/catalog/gpca_system.sysml +144 -0
  22. package/examples/gpca-pump/model/catalog/gpca_trace.sysml +696 -0
  23. package/examples/gpca-pump/model/catalog/gpca_verification.sysml +285 -0
  24. package/examples/gpca-pump/model/samples/README.md +24 -0
  25. package/examples/gpca-pump/model/samples/action_flow_view.sysml +72 -0
  26. package/examples/gpca-pump/model/samples/action_flow_view.viewlayout +9 -0
  27. package/examples/gpca-pump/model/samples/functional_flow_view.sysml +153 -0
  28. package/examples/gpca-pump/model/samples/interconnection_view.sysml +93 -0
  29. package/examples/gpca-pump/model/samples/interconnection_view.viewlayout +99 -0
  30. package/examples/gpca-pump/model/samples/operational_behaviour_view.sysml +145 -0
  31. package/examples/gpca-pump/model/samples/tree_view.sysml +56 -0
  32. package/examples/gpca-pump/model/views/behavior_action_flow_view.sysml +41 -0
  33. package/examples/gpca-pump/model/views/context_system_context_view.sysml +43 -0
  34. package/examples/gpca-pump/model/views/cybersecurity_cybersecurity_view.sysml +44 -0
  35. package/examples/gpca-pump/model/views/document_architecture_description_view.sysml +29 -0
  36. package/examples/gpca-pump/model/views/document_cyber_assessment_view.sysml +28 -0
  37. package/examples/gpca-pump/model/views/document_dhf_index_view.sysml +29 -0
  38. package/examples/gpca-pump/model/views/document_hazard_analysis_view.sysml +29 -0
  39. package/examples/gpca-pump/model/views/document_rmf_view.sysml +29 -0
  40. package/examples/gpca-pump/model/views/document_sdd_view.sysml +29 -0
  41. package/examples/gpca-pump/model/views/document_threat_model_view.sysml +28 -0
  42. package/examples/gpca-pump/model/views/document_usability_view.sysml +28 -0
  43. package/examples/gpca-pump/model/views/document_vv_view.sysml +29 -0
  44. package/examples/gpca-pump/model/views/functional_function_allocation_view.sysml +42 -0
  45. package/examples/gpca-pump/model/views/functional_function_browser_view.sysml +41 -0
  46. package/examples/gpca-pump/model/views/logical_device_interconnect_view.sysml +43 -0
  47. package/examples/gpca-pump/model/views/logical_logical_architecture_view.sysml +42 -0
  48. package/examples/gpca-pump/model/views/logical_mode_state_view.sysml +42 -0
  49. package/examples/gpca-pump/model/views/logical_system_decomposition_view.sysml +44 -0
  50. package/examples/gpca-pump/model/views/operational_scenario_sequence_view.sysml +41 -0
  51. package/examples/gpca-pump/model/views/operational_use_case_view.sysml +43 -0
  52. package/examples/gpca-pump/model/views/physical_physical_bom_view.sysml +41 -0
  53. package/examples/gpca-pump/model/views/requirements_requirements_trace_view.sysml +42 -0
  54. package/examples/gpca-pump/model/views/risk_fmea_view.sysml +42 -0
  55. package/examples/gpca-pump/model/views/risk_risk_chain_view.sysml +44 -0
  56. package/examples/gpca-pump/model/views/software_software_architecture_view.sysml +43 -0
  57. package/examples/gpca-pump/model/views/verification_verification_coverage_view.sysml +42 -0
  58. package/memo.manifest.yaml +13 -0
  59. package/methodologies/default/memo.package.yaml +9 -0
  60. package/methodologies/gpca/memo.package.yaml +9 -0
  61. package/ontology/memo.package.yaml +8 -0
  62. package/ontology/memo.rendering.yaml +47 -0
  63. package/package.json +65 -0
  64. package/profile/archetypes.yaml +36 -0
  65. package/profile/memo.package.yaml +9 -0
  66. package/profile/templates/connected-device/starter.sysml +8 -0
  67. package/profile/templates/infusion-pump/starter.sysml +8 -0
  68. package/profile/templates/monitoring-device/starter.sysml +8 -0
  69. package/profile/templates/samd/starter.sysml +8 -0
  70. package/src/architecture/analysis/memo_fmea.sysml +91 -0
  71. package/src/architecture/assurance/memo_assurance.sysml +29 -0
  72. package/src/architecture/behavior/memo_behavior.sysml +65 -0
  73. package/src/architecture/constraints/memo_constraints.sysml +14 -0
  74. package/src/architecture/context/memo_context.sysml +58 -0
  75. package/src/architecture/cybersecurity/memo_cybersecurity.sysml +99 -0
  76. package/src/architecture/decisions/memo_decisions.sysml +12 -0
  77. package/src/architecture/functions/memo_functions.sysml +30 -0
  78. package/src/architecture/hardware_structure/memo_hardware_structure.sysml +15 -0
  79. package/src/architecture/interfaces/memo_interfaces.sysml +103 -0
  80. package/src/architecture/logical_structure/memo_logical_structure.sysml +10 -0
  81. package/src/architecture/operational/memo_operational.sysml +51 -0
  82. package/src/architecture/physical/memo_physical_architecture.sysml +19 -0
  83. package/src/architecture/requirements/memo_requirements.sysml +69 -0
  84. package/src/architecture/risk/memo_arch_risk.sysml +7 -0
  85. package/src/architecture/risk/memo_risk.sysml +80 -0
  86. package/src/architecture/software_structure/memo_software_structure.sysml +44 -0
  87. package/src/architecture/system/memo_system_analysis.sysml +54 -0
  88. package/src/artifacts/clinical_safety_report.sysml +12 -0
  89. package/src/artifacts/cybersecurity_assessment_report.sysml +12 -0
  90. package/src/artifacts/definitions/memo_artifact_definitions.sysml +12 -0
  91. package/src/artifacts/design_change_log.sysml +12 -0
  92. package/src/artifacts/design_history_file_index.sysml +12 -0
  93. package/src/artifacts/design_input_plan.sysml +12 -0
  94. package/src/artifacts/design_output_plan.sysml +12 -0
  95. package/src/artifacts/evidence_record.sysml +12 -0
  96. package/src/artifacts/failure_mode_effects_analysis.sysml +12 -0
  97. package/src/artifacts/hazard_analysis_report.sysml +12 -0
  98. package/src/artifacts/labeling_specification.sysml +12 -0
  99. package/src/artifacts/requirements_specification.sysml +12 -0
  100. package/src/artifacts/requirements_traceability_matrix.sysml +12 -0
  101. package/src/artifacts/risk_management_plan.sysml +12 -0
  102. package/src/artifacts/software_design_description.sysml +12 -0
  103. package/src/artifacts/software_development_plan.sysml +12 -0
  104. package/src/artifacts/soup_list.sysml +12 -0
  105. package/src/artifacts/system_architecture_description.sysml +12 -0
  106. package/src/artifacts/test_protocol.sysml +12 -0
  107. package/src/artifacts/test_report.sysml +12 -0
  108. package/src/artifacts/threat_model_report.sysml +12 -0
  109. package/src/artifacts/usability_engineering_report.sysml +12 -0
  110. package/src/compliance/artifacts/memo_artifacts.sysml +13 -0
  111. package/src/compliance/change/memo_change.sysml +17 -0
  112. package/src/compliance/dhf-templates/21cfr820/change-record.md +45 -0
  113. package/src/compliance/dhf-templates/21cfr820/design-input.md +67 -0
  114. package/src/compliance/dhf-templates/21cfr820/design-output.md +80 -0
  115. package/src/compliance/dhf-templates/21cfr820/design-review.md +51 -0
  116. package/src/compliance/dhf-templates/21cfr820/design-validation.md +64 -0
  117. package/src/compliance/dhf-templates/21cfr820/design-verification.md +57 -0
  118. package/src/compliance/dhf-templates/21cfr820/dhf-index.md +111 -0
  119. package/src/compliance/dhf-templates/21cfr820/transfer-plan.md +50 -0
  120. package/src/compliance/dhf-templates/21cfr820/user-needs.md +81 -0
  121. package/src/compliance/dhf-templates/21cfr820/vv-plan.md +89 -0
  122. package/src/compliance/dhf-templates/21cfr820/vv-report.md +85 -0
  123. package/src/compliance/dhf-templates/fda-cybersecurity/incident-response.md +66 -0
  124. package/src/compliance/dhf-templates/fda-cybersecurity/postmarket-surveillance.md +63 -0
  125. package/src/compliance/dhf-templates/fda-cybersecurity/security-arch.md +83 -0
  126. package/src/compliance/dhf-templates/fda-cybersecurity/threat-model.md +100 -0
  127. package/src/compliance/dhf-templates/fda-cybersecurity/vuln-assessment.md +77 -0
  128. package/src/compliance/dhf-templates/iec-62304/change-control.md +40 -0
  129. package/src/compliance/dhf-templates/iec-62304/detailed-design.md +69 -0
  130. package/src/compliance/dhf-templates/iec-62304/integration-test.md +68 -0
  131. package/src/compliance/dhf-templates/iec-62304/sad.md +115 -0
  132. package/src/compliance/dhf-templates/iec-62304/sbom.md +67 -0
  133. package/src/compliance/dhf-templates/iec-62304/sdp.md +108 -0
  134. package/src/compliance/dhf-templates/iec-62304/soup.md +77 -0
  135. package/src/compliance/dhf-templates/iec-62304/srs.md +138 -0
  136. package/src/compliance/dhf-templates/iec-62304/sw-traceability.md +111 -0
  137. package/src/compliance/dhf-templates/iec-62304/system-test.md +67 -0
  138. package/src/compliance/dhf-templates/iec-62366/formative-eval.md +47 -0
  139. package/src/compliance/dhf-templates/iec-62366/summative-eval.md +69 -0
  140. package/src/compliance/dhf-templates/iec-62366/task-analysis.md +57 -0
  141. package/src/compliance/dhf-templates/iec-62366/ue-plan.md +81 -0
  142. package/src/compliance/dhf-templates/iec-62366/ui-spec.md +61 -0
  143. package/src/compliance/dhf-templates/iec-62366/urra.md +74 -0
  144. package/src/compliance/dhf-templates/iec-62366/use-spec.md +61 -0
  145. package/src/compliance/dhf-templates/iso-14971/fmea.md +93 -0
  146. package/src/compliance/dhf-templates/iso-14971/fta.md +70 -0
  147. package/src/compliance/dhf-templates/iso-14971/har.md +165 -0
  148. package/src/compliance/dhf-templates/iso-14971/risk-benefit.md +51 -0
  149. package/src/compliance/dhf-templates/iso-14971/risk-matrix.md +51 -0
  150. package/src/compliance/dhf-templates/iso-14971/rmp.md +169 -0
  151. package/src/compliance/dhf-templates/iso-14971/rmr.md +101 -0
  152. package/src/compliance/dhf-templates/shared/snippets/approval-block.md +16 -0
  153. package/src/compliance/dhf-templates/shared/snippets/document-control-header.md +15 -0
  154. package/src/compliance/dhf-templates/shared/snippets/references-section.md +16 -0
  155. package/src/compliance/dhf-templates/shared/snippets/revision-history-table.md +11 -0
  156. package/src/compliance/document_views/memo_document_views.sysml +7 -0
  157. package/src/compliance/iso14971/risk_management_file.sysml +16 -0
  158. package/src/compliance/postmarket/memo_postmarket.sysml +16 -0
  159. package/src/core/common/memo_common.sysml +50 -0
  160. package/src/core/consistency_rules/consistency_rules.sysml +41 -0
  161. package/src/core/dimensions/dimensions.sysml +37 -0
  162. package/src/core/enumerations/memo_enumerations.sysml +562 -0
  163. package/src/core/methodology_scope/methodology_scope.sysml +46 -0
  164. package/src/core/relationships/memo_relationships.sysml +230 -0
  165. package/src/core/semantics/semantics.sysml +20 -0
  166. package/src/core/stdlib/collections.sysml +6 -0
  167. package/src/core/stdlib/functions.sysml +6 -0
  168. package/src/core/stdlib/scalars.sysml +6 -0
  169. package/src/core/stdlib/time.sysml +6 -0
  170. package/src/medical_device_library.sysml +100 -0
  171. package/src/memo_namespaces.sysml +668 -0
  172. package/src/methodology/LICENSES/MIT.txt +19 -0
  173. package/src/methodology/memo_archetypes.sysml +93 -0
  174. package/src/methodology/memo_core.sysml +53 -0
  175. package/src/methodology/memo_gates.sysml +11 -0
  176. package/src/methodology/memo_patterns.sysml +12 -0
  177. package/src/methodology/memo_profiles.sysml +218 -0
  178. package/src/methodology/memo_rules.sysml +15 -0
  179. package/src/methodology/memo_viewpoints.sysml +5 -0
  180. package/src/methodology/memo_workflow.sysml +14 -0
  181. package/src/rules/closure/closure_rules.sysml +180 -0
  182. package/src/rules/coverage/coverage_rules.sysml +258 -0
  183. package/src/rules/crosslayer/cross_layer_rules.sysml +38 -0
  184. package/src/rules/lifecycle/lifecycle_rules.sysml +41 -0
  185. package/src/rules/quantitative/quantitative_rules.sysml +34 -0
  186. package/src/viewpoints/clinical/clinical_evidence_view.sysml +13 -0
  187. package/src/viewpoints/clinical/clinical_viewpoint.sysml +25 -0
  188. package/src/viewpoints/context/context_viewpoint.sysml +25 -0
  189. package/src/viewpoints/context/system_context_view.sysml +29 -0
  190. package/src/viewpoints/cybersecurity/cybersecurity_assessment_view.sysml +13 -0
  191. package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +27 -0
  192. package/src/viewpoints/cybersecurity/threat_model_view.sysml +13 -0
  193. package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +82 -0
  194. package/src/viewpoints/functional/function_allocation_view.sysml +29 -0
  195. package/src/viewpoints/functional/functional_viewpoint.sysml +25 -0
  196. package/src/viewpoints/functional/system_functional_tree_view.sysml +29 -0
  197. package/src/viewpoints/logical/logical_architecture_view.sysml +29 -0
  198. package/src/viewpoints/logical/logical_viewpoint.sysml +25 -0
  199. package/src/viewpoints/operational/operational_viewpoint.sysml +25 -0
  200. package/src/viewpoints/operational/use_case_view.sysml +29 -0
  201. package/src/viewpoints/physical/network_topology_view.sysml +29 -0
  202. package/src/viewpoints/physical/physical_bom_view.sysml +29 -0
  203. package/src/viewpoints/physical/physical_viewpoint.sysml +25 -0
  204. package/src/viewpoints/requirements/requirements_traceability_view.sysml +29 -0
  205. package/src/viewpoints/requirements/requirements_viewpoint.sysml +25 -0
  206. package/src/viewpoints/risk/risk_chain_view.sysml +30 -0
  207. package/src/viewpoints/risk/risk_viewpoint.sysml +25 -0
  208. package/src/viewpoints/software/software_architecture_view.sysml +29 -0
  209. package/src/viewpoints/software/software_viewpoint.sysml +25 -0
  210. package/src/viewpoints/usability/usability_engineering_view.sysml +13 -0
  211. package/src/viewpoints/usability/usability_viewpoint.sysml +25 -0
  212. package/src/viewpoints/verification/verification_coverage_view.sysml +29 -0
  213. package/src/viewpoints/verification/verification_viewpoint.sysml +25 -0
  214. package/template/memo.package.yaml +5 -0
  215. package/template/src/catalog/starter.sysml +12 -0
  216. package/template/src/documents/.gitkeep +1 -0
  217. package/template/src/views/.gitkeep +1 -0
@@ -0,0 +1,40 @@
1
+ ---
2
+ id: change-control
3
+ title: Software Change Control Log
4
+ standard: IEC 62304:2006+AMD1:2015
5
+ clauses: ["6"]
6
+ required_for: ["CE", "FDA_510k", "MDR"]
7
+ ---
8
+
9
+ {{include:shared/snippets/document-control-header.md}}
10
+
11
+ ---
12
+
13
+ ## 1. Purpose
14
+
15
+ This log documents all changes to **{{project.product}}** software, including the change description, impact assessment, and approval per IEC 62304:2006 §6.
16
+
17
+ ---
18
+
19
+ ## 2. Change Log
20
+
21
+ Record each change with its identifier, description, affected items, and verification status:
22
+
23
+ | Change ID | Date | Version | Description | Impact Assessment | Approved By |
24
+ | --- | --- | --- | --- | --- | --- |
25
+ | CHG-001 | | 1.0.0 | Initial release | N/A | |
26
+
27
+ ---
28
+
29
+ ## 3. Change Procedure
30
+
31
+ All changes must:
32
+ 1. Be requested via the change request process
33
+ 2. Have an impact assessment (safety, requirements, design, test)
34
+ 3. Be approved prior to implementation
35
+ 4. Be verified and validated after implementation
36
+ 5. Be documented in this log
37
+
38
+ ---
39
+
40
+ {{include:shared/snippets/revision-history-table.md}}
@@ -0,0 +1,69 @@
1
+ ---
2
+ id: detailed-design
3
+ title: Software Detailed Design
4
+ standard: IEC 62304:2006+AMD1:2015
5
+ clauses: ["5.4"]
6
+ required_for: ["CE", "FDA_510k"]
7
+ ---
8
+
9
+ {{include:shared/snippets/document-control-header.md}}
10
+
11
+ {{toc}}
12
+
13
+ ---
14
+
15
+ ## 1. Purpose
16
+
17
+ This document provides detailed design specifications for **{{project.product}}** software per IEC 62304:2006 §5.4, sufficient to implement and test each software unit.
18
+
19
+ ---
20
+
21
+ ## 2. Software Units
22
+
23
+ The software units — the lowest level of decomposition per IEC 62304 — are listed below from the model:
24
+
25
+ ```memo-query
26
+ kind: SoftwareUnit
27
+ display: table
28
+ columns: name, layer, doc
29
+ sort: name
30
+ empty: "No SoftwareUnit elements defined."
31
+ ```
32
+
33
+ ---
34
+
35
+ ## 3. Unit Specifications
36
+
37
+ ### 3.1 Algorithms and Data Structures
38
+
39
+ _[TODO: Describe key algorithms, data structures, and design patterns]_
40
+
41
+ ### 3.2 State Machines
42
+
43
+ {{diagram:state-machine}}
44
+
45
+ _[TODO: Document state machine diagrams for stateful components]_
46
+
47
+ ### 3.3 Interface Specifications
48
+
49
+ ```memo-query
50
+ kind: Interface
51
+ display: table
52
+ columns: name, layer, doc
53
+ sort: name
54
+ empty: "No Interface elements defined."
55
+ ```
56
+
57
+ ---
58
+
59
+ ## 4. Design Verification Criteria
60
+
61
+ The criteria used to verify that design outputs meet design inputs:
62
+
63
+ _[TODO: List criteria that verify this design meets software requirements]_
64
+
65
+ ---
66
+
67
+ {{include:shared/snippets/revision-history-table.md}}
68
+
69
+ {{include:shared/snippets/approval-block.md}}
@@ -0,0 +1,68 @@
1
+ ---
2
+ id: integration-test
3
+ title: Software Integration Test Plan
4
+ standard: IEC 62304:2006+AMD1:2015
5
+ clauses: ["5.6"]
6
+ required_for: ["CE", "FDA_510k", "MDR"]
7
+ ---
8
+
9
+ {{include:shared/snippets/document-control-header.md}}
10
+
11
+ {{toc}}
12
+
13
+ ---
14
+
15
+ ## 1. Purpose
16
+
17
+ This Integration Test Plan defines the approach for integration testing of **{{project.product}}** software per IEC 62304:2006 §5.6.
18
+
19
+ ---
20
+
21
+ ## 2. Software Items Under Test
22
+
23
+ The software items in scope for this test plan, drawn from the model:
24
+
25
+ ```memo-query
26
+ kind: [SoftwareItem, SoftwareUnit]
27
+ display: table
28
+ columns: name, kind, layer, doc
29
+ sort: name
30
+ empty: "No software items defined."
31
+ ```
32
+
33
+ ---
34
+
35
+ ## 3. Integration Test Cases
36
+
37
+ Integration test cases are listed below from the model:
38
+
39
+ ```memo-query
40
+ kind: TestCase
41
+ where: layer == "verification"
42
+ display: table
43
+ columns: name, layer, doc
44
+ sort: name
45
+ empty: "No integration test cases defined. Add TestCase elements."
46
+ ```
47
+
48
+ ---
49
+
50
+ ## 4. Integration Sequence
51
+
52
+ Describe the order in which software items are integrated and tested, and the rationale for that order.
53
+
54
+ _[TODO: Define the order in which software items are integrated and tested]_
55
+
56
+ ---
57
+
58
+ ## 5. Pass/Fail Criteria
59
+
60
+ State the objective criteria used to judge each test as passed or failed.
61
+
62
+ _[TODO: Define objective pass/fail criteria for integration tests]_
63
+
64
+ ---
65
+
66
+ {{include:shared/snippets/revision-history-table.md}}
67
+
68
+ {{include:shared/snippets/approval-block.md}}
@@ -0,0 +1,115 @@
1
+ ---
2
+ id: sad
3
+ title: Software Architecture Description
4
+ standard: IEC 62304:2006+AMD1:2015
5
+ clauses: ["5.3"]
6
+ required_for: ["CE", "FDA_510k", "MDR"]
7
+ ---
8
+
9
+ {{include:shared/snippets/document-control-header.md}}
10
+
11
+ {{toc}}
12
+
13
+ ---
14
+
15
+ ## 1. Purpose
16
+
17
+ This Software Architecture Description (SAD) defines the architecture of **{{project.product}}** software per IEC 62304:2006 §5.3 and ISO/IEC/IEEE 42010:2022.
18
+
19
+ ---
20
+
21
+ ## 2. System Overview
22
+
23
+ This section gives a high-level overview of the **{{project.product}}** software system. The composition below is drawn live from the architecture model:
24
+
25
+ ```memo-query
26
+ kind: SoftwareSystem
27
+ display: table
28
+ columns: name, layer, doc
29
+ sort: name
30
+ empty: "No SoftwareSystem defined."
31
+ ```
32
+
33
+ **Total elements:**
34
+
35
+ ```memo-query
36
+ kind: [SoftwareSystem, SoftwareItem, SoftwareUnit, SOUPComponent]
37
+ display: count
38
+ label: Total software elements
39
+ ```
40
+
41
+ ---
42
+
43
+ ## 3. Software Architecture
44
+
45
+ This section describes the decomposition of the software into software items per IEC 62304 §5.3.1. The architecture view and the element tables that follow are generated from the model:
46
+
47
+ {{diagram:software-architecture}}
48
+
49
+ ### 3.1 Software Items
50
+
51
+ ```memo-query
52
+ kind: SoftwareItem
53
+ display: table
54
+ columns: name, layer, doc
55
+ sort: name
56
+ empty: "No SoftwareItem elements defined."
57
+ ```
58
+
59
+ ### 3.2 Software Units
60
+
61
+ ```memo-query
62
+ kind: SoftwareUnit
63
+ display: table
64
+ columns: name, layer, doc
65
+ sort: name
66
+ empty: "No SoftwareUnit elements defined."
67
+ ```
68
+
69
+ ### 3.3 Interfaces
70
+
71
+ ```memo-query
72
+ kind: Interface
73
+ display: table
74
+ columns: name, layer, doc
75
+ sort: name
76
+ empty: "No Interface elements defined."
77
+ ```
78
+
79
+ ---
80
+
81
+ ## 4. SOUP Components
82
+
83
+ Software of Unknown Provenance (SOUP) used by **{{project.product}}** is listed below per IEC 62304 §5.3.3–5.3.4. For each SOUP item, functional/performance requirements and required hardware/software must be specified:
84
+
85
+ ```memo-query
86
+ kind: SOUPComponent
87
+ display: table
88
+ columns: name, doc, layer
89
+ sort: name
90
+ empty: "No SOUP components identified."
91
+ ```
92
+
93
+ ---
94
+
95
+ ## 5. Architecture Decisions
96
+
97
+ Record the significant architecture decisions, the alternatives considered, and the rationale — including decisions driven by risk control measures (ISO 14971) or cybersecurity considerations.
98
+
99
+ _[TODO: Document key architecture decisions and their rationale]_
100
+
101
+ ---
102
+
103
+ ## 6. Software Item Segregation
104
+
105
+ Describe the segregation between software items that is necessary for risk control per IEC 62304 §5.3.5, and the rationale for the integrity of each segregation boundary.
106
+
107
+ _[TODO: Describe how safety-critical software items are segregated from non-safety-critical items]_
108
+
109
+ ---
110
+
111
+ {{include:shared/snippets/revision-history-table.md}}
112
+
113
+ {{include:shared/snippets/approval-block.md}}
114
+
115
+ {{include:shared/snippets/references-section.md}}
@@ -0,0 +1,67 @@
1
+ ---
2
+ id: sbom
3
+ title: Software Bill of Materials (SBOM)
4
+ standard: IEC 62304:2006+AMD1:2015
5
+ clauses: ["8.1.2"]
6
+ required_for: ["FDA_510k", "FDA_PMA", "CE"]
7
+ ---
8
+
9
+ {{include:shared/snippets/document-control-header.md}}
10
+
11
+ {{toc}}
12
+
13
+ ---
14
+
15
+ ## 1. Purpose
16
+
17
+ This Software Bill of Materials (SBOM) provides a complete inventory of software components in **{{project.product}}**, including first-party code, SOUP, and open-source dependencies. Required for FDA cybersecurity submissions and EU MDR.
18
+
19
+ ---
20
+
21
+ ## 2. First-Party Software
22
+
23
+ Software developed in-house for this system is listed below from the model:
24
+
25
+ ```memo-query
26
+ kind: [SoftwareSystem, SoftwareItem, SoftwareUnit]
27
+ display: table
28
+ columns: name, kind, layer, doc
29
+ sort: name
30
+ empty: "No first-party software items defined."
31
+ ```
32
+
33
+ ---
34
+
35
+ ## 3. SOUP and Third-Party Components
36
+
37
+ All third-party and SOUP components with their versions and origins, generated from the model:
38
+
39
+ ```memo-query
40
+ kind: SOUPComponent
41
+ display: table
42
+ columns: name, doc, layer
43
+ sort: name
44
+ empty: "No SOUP components defined."
45
+ ```
46
+
47
+ ---
48
+
49
+ ## 4. Dependency Versions
50
+
51
+ Exact component versions currently recorded in the model — keep these synchronized with the build system:
52
+
53
+ _[TODO: Attach machine-readable SBOM (CycloneDX or SPDX format)]_
54
+
55
+ ---
56
+
57
+ ## 5. Vulnerability Assessment
58
+
59
+ Assessment of component vulnerabilities and their disposition:
60
+
61
+ _[TODO: Reference FDA cybersecurity submission or security assessment]_
62
+
63
+ ---
64
+
65
+ {{include:shared/snippets/revision-history-table.md}}
66
+
67
+ {{include:shared/snippets/approval-block.md}}
@@ -0,0 +1,108 @@
1
+ ---
2
+ id: sdp
3
+ title: Software Development Plan
4
+ standard: IEC 62304:2006+AMD1:2015
5
+ clauses: ["5.1"]
6
+ required_for: ["CE", "FDA_510k", "MDR"]
7
+ ---
8
+
9
+ {{include:shared/snippets/document-control-header.md}}
10
+
11
+ {{toc}}
12
+
13
+ ---
14
+
15
+ ## 1. Purpose and Scope
16
+
17
+ This Software Development Plan (SDP) defines the processes, activities, and tasks for the development of software for **{{project.product}}**. This plan is maintained per IEC 62304:2006 §5.1.
18
+
19
+ ---
20
+
21
+ ## 2. Software Classification
22
+
23
+ <!-- [GUIDANCE] Classify software per IEC 62304 §4.3: Class A (no injury), Class B (non-serious injury), Class C (death or serious injury). -->
24
+
25
+ | Software Item | Classification | Justification |
26
+ | --- | --- | --- |
27
+ | {{project.product}} Software System | Class B | |
28
+
29
+ ```memo-query
30
+ kind: [SoftwareSystem, SoftwareItem]
31
+ display: table
32
+ columns: name, kind, layer, doc
33
+ sort: name
34
+ empty: "No software items defined. Add SoftwareSystem or SoftwareItem elements."
35
+ ```
36
+
37
+ ---
38
+
39
+ ## 3. Development Standards and Procedures
40
+
41
+ Identify the coding standards, review procedures, and quality gates applied during development.
42
+
43
+ | Activity | Standard | Reference Procedure |
44
+ | --- | --- | --- |
45
+ | Requirements | IEC 62304 §5.2 | SRS |
46
+ | Architecture | IEC 62304 §5.3 | SAD |
47
+ | Detailed Design | IEC 62304 §5.4 | SDS |
48
+ | Implementation | IEC 62304 §5.5 | Coding standard |
49
+ | Integration | IEC 62304 §5.6 | Integration Test Plan |
50
+ | System Testing | IEC 62304 §5.7 | System Test Plan |
51
+ | Release | IEC 62304 §5.8 | Release procedure |
52
+
53
+ ---
54
+
55
+ ## 4. Software Safety Activities
56
+
57
+ ### 4.1 Software Items of Unknown Provenance (SOUP)
58
+
59
+ ```memo-query
60
+ kind: SOUPComponent
61
+ display: table
62
+ columns: name, doc, layer
63
+ sort: name
64
+ empty: "No SOUP components defined."
65
+ ```
66
+
67
+ ### 4.2 Software-Related Hazards
68
+
69
+ ```memo-query
70
+ kind: Hazard
71
+ where: layer == "software"
72
+ display: table
73
+ columns: name, doc, layer
74
+ sort: name
75
+ empty: "No software-related hazards defined."
76
+ ```
77
+
78
+ ---
79
+
80
+ ## 5. Configuration Management
81
+
82
+ Describe how configuration items are identified, versioned, and controlled per IEC 62304 §8.
83
+
84
+ _[TODO: Describe version control, branching strategy, and release process]_
85
+
86
+ ---
87
+
88
+ ## 6. Problem Resolution
89
+
90
+ Describe the problem resolution process per IEC 62304 §9, including how problems are reported, investigated, and tracked to closure.
91
+
92
+ _[TODO: Describe defect tracking and resolution process]_
93
+
94
+ ---
95
+
96
+ ## 7. Development Environment
97
+
98
+ Describe the toolchain, languages, build system, and environments used for development.
99
+
100
+ _[TODO: List development tools, compilers, IDEs, and their versions]_
101
+
102
+ ---
103
+
104
+ {{include:shared/snippets/revision-history-table.md}}
105
+
106
+ {{include:shared/snippets/approval-block.md}}
107
+
108
+ {{include:shared/snippets/references-section.md}}
@@ -0,0 +1,77 @@
1
+ ---
2
+ id: soup
3
+ title: SOUP List (Software of Unknown Provenance)
4
+ standard: IEC 62304:2006+AMD1:2015
5
+ clauses: ["8.1.2"]
6
+ required_for: ["CE", "FDA_510k", "MDR"]
7
+ ---
8
+
9
+ {{include:shared/snippets/document-control-header.md}}
10
+
11
+ {{toc}}
12
+
13
+ ---
14
+
15
+ ## 1. Purpose
16
+
17
+ This document lists all Software of Unknown Provenance (SOUP) components used in **{{project.product}}** per IEC 62304:2006 §8.1.2. SOUP includes off-the-shelf software, open-source libraries, and third-party components that were not developed under a quality management system.
18
+
19
+ ---
20
+
21
+ ## 2. SOUP Inventory
22
+
23
+ The complete inventory of SOUP and third-party components in **{{project.product}}**, generated from the model:
24
+
25
+ ```memo-query
26
+ kind: SOUPComponent
27
+ display: table
28
+ columns: name, layer, doc
29
+ sort: name
30
+ empty: "No SOUP components defined. Add SOUPComponent elements to the model."
31
+ ```
32
+
33
+ ---
34
+
35
+ ## 3. SOUP Risk Assessment
36
+
37
+ For each SOUP component, the potential impact on device safety must be evaluated.
38
+
39
+ ```memo-query
40
+ kind: SOUPComponent
41
+ display: table
42
+ columns: name, doc
43
+ sort: name
44
+ empty: "No SOUP components to evaluate."
45
+ ```
46
+
47
+ ### 3.1 Known Anomalies
48
+
49
+ _[TODO: For each SOUP component, list known anomalies and assess impact on safety]_
50
+
51
+ ---
52
+
53
+ ## 4. SOUP Maintenance
54
+
55
+ ### 4.1 Update Monitoring
56
+
57
+ _[TODO: Describe the process for monitoring SOUP components for security patches and updates]_
58
+
59
+ ### 4.2 Version Pinning
60
+
61
+ _[TODO: Describe how SOUP versions are pinned in configuration management]_
62
+
63
+ ---
64
+
65
+ ## 5. SBOM Integration
66
+
67
+ Describe how this document relates to the machine-readable SBOM (e.g. SPDX/CycloneDX) produced by the build pipeline.
68
+
69
+ _[TODO: Reference Software Bill of Materials (SBOM) for FDA cybersecurity requirements]_
70
+
71
+ ---
72
+
73
+ {{include:shared/snippets/revision-history-table.md}}
74
+
75
+ {{include:shared/snippets/approval-block.md}}
76
+
77
+ {{include:shared/snippets/references-section.md}}
@@ -0,0 +1,138 @@
1
+ ---
2
+ id: srs
3
+ title: Software Requirements Specification
4
+ standard: IEC 62304:2006+AMD1:2015
5
+ clauses: ["5.2"]
6
+ required_for: ["CE", "FDA_510k", "MDR"]
7
+ ---
8
+
9
+ {{include:shared/snippets/document-control-header.md}}
10
+
11
+ {{toc}}
12
+
13
+ ---
14
+
15
+ ## 1. Purpose
16
+
17
+ This Software Requirements Specification (SRS) defines the software requirements for **{{project.product}}** in accordance with IEC 62304:2006 §5.2.
18
+
19
+ ---
20
+
21
+ ## 2. Requirements Summary
22
+
23
+ Summary metrics for the requirements captured in the model:
24
+
25
+ ```memo-query
26
+ kind: Requirement
27
+ display: count
28
+ label: Total software requirements
29
+ ```
30
+
31
+ ```memo-query
32
+ kind: Requirement
33
+ display: count
34
+ label: System requirements
35
+ ```
36
+
37
+ ---
38
+
39
+ ## 3. Functional Requirements
40
+
41
+ Functional requirements are listed below from the model:
42
+
43
+ ```memo-query
44
+ kind: Requirement
45
+ where: doc contains "shall"
46
+ display: table
47
+ columns: name, layer, doc
48
+ sort: name
49
+ empty: "No functional software requirements defined."
50
+ ```
51
+
52
+ ### All Software Requirements
53
+
54
+ ```memo-query
55
+ kind: Requirement
56
+ display: table
57
+ columns: name, kind, layer, doc
58
+ sort: name
59
+ empty: "No software requirements defined. Add Requirement elements to model/requirements/*.sysml."
60
+ ```
61
+
62
+ ---
63
+
64
+ ## 4. System Requirements (Allocated to Software)
65
+
66
+ System requirements allocated to software per IEC 62304 §5.2, drawn from the model:
67
+
68
+ ```memo-query
69
+ kind: Requirement
70
+ display: table
71
+ columns: name, layer, doc
72
+ sort: name
73
+ empty: "No system requirements defined."
74
+ ```
75
+
76
+ ---
77
+
78
+ ## 5. Non-Functional Requirements
79
+
80
+ ### 5.1 Performance Requirements
81
+
82
+ _[TODO: Define performance requirements (response time, throughput, memory)]_
83
+
84
+ ### 5.2 Safety Requirements
85
+
86
+ ```memo-query
87
+ kind: Hazard
88
+ where: layer == "software"
89
+ display: table
90
+ columns: name, doc
91
+ sort: name
92
+ empty: "No software safety requirements derived from hazard analysis."
93
+ ```
94
+
95
+ ### 5.3 Security Requirements
96
+
97
+ ```memo-query
98
+ kind: [SecurityControl, ThreatModel]
99
+ display: table
100
+ columns: name, layer, doc
101
+ empty: "No security requirements defined."
102
+ ```
103
+
104
+ ---
105
+
106
+ ## 6. SOUP Requirements
107
+
108
+ This section is generated from the system model. The table below lists the **SOUP Requirements** elements currently defined:
109
+
110
+ ```memo-query
111
+ kind: SOUPComponent
112
+ display: table
113
+ columns: name, doc
114
+ sort: name
115
+ empty: "No SOUP components identified."
116
+ ```
117
+
118
+ ---
119
+
120
+ ## 7. Requirements Traceability
121
+
122
+ This section is generated from the system model. The table below lists the **Requirements Traceability** elements currently defined:
123
+
124
+ ```memo-query
125
+ kind: Requirement
126
+ display: table
127
+ columns: name, layer
128
+ sort: name
129
+ empty: "No software requirements to trace."
130
+ ```
131
+
132
+ ---
133
+
134
+ {{include:shared/snippets/revision-history-table.md}}
135
+
136
+ {{include:shared/snippets/approval-block.md}}
137
+
138
+ {{include:shared/snippets/references-section.md}}