@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,562 @@
1
+ package memo_core_enumerations {
2
+ private import ScalarValues::*;
3
+
4
+ enum def ConcernKind {
5
+ enum safety;
6
+ enum usability;
7
+ enum cybersecurity;
8
+ enum performance;
9
+ enum interoperability;
10
+ enum reliability;
11
+ enum privacy;
12
+ enum regulatory;
13
+ enum clinical;
14
+ }
15
+ enum def RequirementSourceKind {
16
+ enum stakeholderNeed;
17
+ enum risk;
18
+ enum designDecision;
19
+ enum changeRequest;
20
+ enum sourceDocument;
21
+ enum extension;
22
+ }
23
+ // Notification/alarm priority as used by source requirement documents
24
+ // (e.g. CriSys GPCA REQ 59 action table: High/Med/Low).
25
+ enum def NotificationPriorityKind {
26
+ enum high;
27
+ enum medium;
28
+ enum low;
29
+ }
30
+ enum def RequirementStatusKind {
31
+ enum draft;
32
+ enum approved;
33
+ enum implemented;
34
+ enum verified;
35
+ enum validated;
36
+ enum retired;
37
+ }
38
+ enum def RequirementNotationKind {
39
+ enum freeText;
40
+ enum ears;
41
+ enum sophist;
42
+ enum formalConstraint;
43
+ }
44
+ enum def EarsPatternKind {
45
+ enum ubiquitous;
46
+ enum eventDriven;
47
+ enum stateDriven;
48
+ enum optionalFeature;
49
+ enum unwantedBehavior;
50
+ enum complex;
51
+ }
52
+ enum def ObligationKind {
53
+ enum shall;
54
+ enum should;
55
+ enum will;
56
+ }
57
+ enum def ArcadiaLayerKind {
58
+ enum operational;
59
+ enum system;
60
+ enum logical;
61
+ enum physical;
62
+ }
63
+ enum def InterfaceKind {
64
+ enum data;
65
+ enum control;
66
+ enum analogSignal;
67
+ enum digitalSignal;
68
+ enum power;
69
+ enum network;
70
+ enum api;
71
+ enum userInteraction;
72
+ enum notification;
73
+ enum logging;
74
+ enum mechanical;
75
+ enum fluidic;
76
+ }
77
+ enum def FlowKind {
78
+ enum information;
79
+ enum command;
80
+ enum status;
81
+ enum telemetry;
82
+ enum alarm;
83
+ enum configuration;
84
+ enum measurement;
85
+ enum audit;
86
+ enum power;
87
+ }
88
+ enum def DirectionKind {
89
+ enum input;
90
+ enum output;
91
+ enum inputOutput;
92
+ enum bidirectional;
93
+ }
94
+ enum def CriticalityKind {
95
+ enum low;
96
+ enum medium;
97
+ enum high;
98
+ enum catastrophic;
99
+ }
100
+ enum def SafetyClassKind {
101
+ enum none;
102
+ enum A;
103
+ enum B;
104
+ enum C;
105
+ }
106
+ enum def ComplexityKind {
107
+ enum low;
108
+ enum medium;
109
+ enum high;
110
+ enum complex;
111
+ }
112
+ enum def LifecycleStateKind {
113
+ enum concept;
114
+ enum development;
115
+ enum released;
116
+ enum maintenance;
117
+ enum obsolete;
118
+ }
119
+ enum def VerificationMethodKind {
120
+ enum inspection;
121
+ enum analytical;
122
+ enum demonstration;
123
+ enum test;
124
+ enum simulation;
125
+ enum formalProof;
126
+ enum modelChecking;
127
+ }
128
+ enum def ArtifactKind {
129
+ enum plan;
130
+ enum requirementSpecification;
131
+ enum architectureDescription;
132
+ enum softwareDesignDescription;
133
+ enum riskRecord;
134
+ enum traceMatrix;
135
+ enum testProtocol;
136
+ enum testReport;
137
+ enum evidenceRecord;
138
+ enum cybersecurityAssessment;
139
+ enum threatModel;
140
+ enum usabilityEngineeringReport;
141
+ enum clinicalSafetyReport;
142
+ enum failureModeEffectsAnalysis;
143
+ enum soupList;
144
+ enum designInputPlan;
145
+ enum designOutputPlan;
146
+ enum softwareDevelopmentPlan;
147
+ enum labelingSpecification;
148
+ enum designHistoryFileIndex;
149
+ enum designChangeLog;
150
+ }
151
+ enum def RiskControlKind {
152
+ enum inherentSafeDesign;
153
+ enum protectiveMeasure;
154
+ enum informationForSafety;
155
+ enum alarm;
156
+ enum interlock;
157
+ enum monitoring;
158
+ enum plausibilityCheck;
159
+ }
160
+ enum def HazardTypeKind {
161
+ enum drugDeliveryError;
162
+ enum energyExposure;
163
+ enum informationError;
164
+ enum mechanicalFailure;
165
+ enum biologicalContamination;
166
+ enum softwareAnomaly;
167
+ enum useError;
168
+ enum environmentalHazard;
169
+ }
170
+ // Cause-source categories for hazard causal trees. Mirrors the
171
+ // cause-source tables of the FDA GIIP hazard taxonomy (Zhang et al.
172
+ // 2010, Tables 2-9) and the section headings of the GIP Hazard
173
+ // Analysis v1.0 (Arney et al. 2009, section 2.4.1-2.4.8).
174
+ enum def CauseSourceKind {
175
+ enum operational;
176
+ enum environmental;
177
+ enum electrical;
178
+ enum hardware;
179
+ enum software;
180
+ enum mechanical;
181
+ enum biologicalChemical;
182
+ enum usageCause;
183
+ }
184
+ // The eight standard SysML v2 view kinds (spec taxonomy). Every
185
+ // diagram view resolves to exactly one of these (Epic KK).
186
+ enum def DiagramViewKind {
187
+ enum general;
188
+ enum interconnection;
189
+ enum actionflow;
190
+ enum statetransition;
191
+ enum sequence;
192
+ enum grid;
193
+ enum browser;
194
+ enum geometry;
195
+ }
196
+ enum def DocumentViewKind {
197
+ enum DHF;
198
+ enum SDD;
199
+ enum RMF;
200
+ enum VV;
201
+ enum ArchitectureDescription;
202
+ enum CybersecurityAssessment;
203
+ enum ThreatModel;
204
+ enum Clinical;
205
+ enum Usability;
206
+ }
207
+ enum def SchedulingPolicyKind {
208
+ enum nonRealTime;
209
+ enum roundRobin;
210
+ enum fixedPriorityPreemptive;
211
+ enum rateMonotonic;
212
+ enum deadlineMonotonic;
213
+ enum EDF;
214
+ }
215
+ enum def LinkStatusKind {
216
+ enum planned;
217
+ enum active;
218
+ enum verified;
219
+ enum obsolete;
220
+ }
221
+ enum def BehaviorPropertyKind {
222
+ enum stateInvariant;
223
+ enum transitionRule;
224
+ enum temporalProperty;
225
+ enum safetyProperty;
226
+ enum livenessProperty;
227
+ enum assumption;
228
+ enum guarantee;
229
+ }
230
+ enum def PropertyLanguageKind {
231
+ enum naturalLanguage;
232
+ enum pseudoFormal;
233
+ enum agreeLike;
234
+ enum ltlLike;
235
+ enum ctlLike;
236
+ }
237
+ enum def RuleStrengthKind {
238
+ enum optional;
239
+ enum recommended;
240
+ enum required;
241
+ enum forbidden;
242
+ }
243
+ enum def RulePredicateKind {
244
+ enum requireRelationship;
245
+ enum conditionalRequireRelationship;
246
+ enum requireAttribute;
247
+ enum uniqueAttribute;
248
+ enum cardinalityCheck;
249
+ enum coverageCheck;
250
+ }
251
+ enum def RuleSeverityKind {
252
+ enum error;
253
+ enum warning;
254
+ enum info;
255
+ }
256
+ enum def RuleCategoryKind {
257
+ enum closure;
258
+ enum coverage;
259
+ enum lifecycle;
260
+ enum crossLayer;
261
+ enum quantitative;
262
+ }
263
+ enum def WorkflowStageKind {
264
+ enum context;
265
+ enum requirements;
266
+ enum behavior;
267
+ enum architecture;
268
+ enum interfaces;
269
+ enum risk;
270
+ enum verificationStage;
271
+ enum evidence;
272
+ enum documents;
273
+ }
274
+ enum def AudienceKind {
275
+ enum systemArchitect;
276
+ enum softwareArchitect;
277
+ enum hardwareEngineer;
278
+ enum safetyEngineer;
279
+ enum verificationEngineer;
280
+ enum regulatoryEngineer;
281
+ enum projectLead;
282
+ enum securityEngineer;
283
+ enum privacyEngineer;
284
+ enum clinicalEngineer;
285
+ enum usabilityEngineer;
286
+ }
287
+ enum def ThreatCategoryKind {
288
+ enum spoofing;
289
+ enum tampering;
290
+ enum repudiation;
291
+ enum informationDisclosure;
292
+ enum denialOfService;
293
+ enum elevationOfPrivilege;
294
+ enum privacyLoss;
295
+ enum supplyChain;
296
+ }
297
+ enum def CyberControlKind {
298
+ enum prevent;
299
+ enum detect;
300
+ enum respond;
301
+ enum recover;
302
+ enum hardening;
303
+ enum monitoring;
304
+ enum authentication;
305
+ enum authorization;
306
+ enum encryption;
307
+ enum integrityProtection;
308
+ enum audit;
309
+ enum updateMechanism;
310
+ }
311
+ enum def AssetKind {
312
+ enum data;
313
+ enum credential;
314
+ enum configuration;
315
+ enum software;
316
+ enum hardware;
317
+ enum networkConnection;
318
+ enum auditRecord;
319
+ enum safetyCriticalFunction;
320
+ }
321
+ enum def ViewOutputKind {
322
+ enum diagram;
323
+ enum table;
324
+ enum matrix;
325
+ enum documentSection;
326
+ enum dashboard;
327
+ }
328
+ enum def PresentationKind {
329
+ enum blockDiagram;
330
+ enum internalDiagram;
331
+ enum activityDiagram;
332
+ enum stateDiagram;
333
+ enum riskTable;
334
+ enum traceMatrix;
335
+ enum narrativeSection;
336
+ enum custom;
337
+ }
338
+ enum def DeploymentKind {
339
+ enum native;
340
+ enum containerized;
341
+ enum cloudHosted;
342
+ enum embedded;
343
+ enum partitioned;
344
+ }
345
+ enum def ActorKind {
346
+ enum patient;
347
+ enum clinician;
348
+ enum caregiver;
349
+ enum technician;
350
+ enum administrator;
351
+ }
352
+ enum def ValidationMethodKind {
353
+ enum clinicalTrial;
354
+ enum summativeUsabilityTest;
355
+ enum comparativeStudy;
356
+ enum benchmarkTest;
357
+ enum simulatedUse;
358
+ }
359
+ enum def SOUPClassificationKind {
360
+ enum classA;
361
+ enum classB;
362
+ enum classC;
363
+ enum unclassified;
364
+ }
365
+ enum def OperationalEntityKind {
366
+ enum human;
367
+ enum externalSystem;
368
+ enum environmentalEntity;
369
+ enum regulatoryBody;
370
+ enum device;
371
+ enum informationArtifact;
372
+ }
373
+ enum def ScenarioKind {
374
+ enum nominal;
375
+ enum degraded;
376
+ enum emergency;
377
+ enum maintenance;
378
+ enum error;
379
+ enum timeout;
380
+ enum alarm;
381
+ }
382
+ enum def FunctionalChainKind {
383
+ enum nominal;
384
+ enum error;
385
+ enum degraded;
386
+ enum alarm;
387
+ enum startup;
388
+ enum shutdown;
389
+ enum calibration;
390
+ }
391
+ enum def ProcessingNodeKind {
392
+ enum microcontroller;
393
+ enum FPGA;
394
+ enum SoC;
395
+ enum gateway;
396
+ enum cloudServer;
397
+ enum edgeDevice;
398
+ enum DSP;
399
+ }
400
+ enum def FailureModeKind {
401
+ enum lossOfFunction;
402
+ enum degradedFunction;
403
+ enum unintendedFunction;
404
+ enum intermittentFunction;
405
+ enum prematureFunction;
406
+ enum delayedFunction;
407
+ }
408
+ enum def FailureEffectLevelKind {
409
+ enum local;
410
+ enum nextHigher;
411
+ enum endEffect;
412
+ }
413
+ enum def FailureCauseCategoryKind {
414
+ enum design;
415
+ enum manufacturing;
416
+ enum material;
417
+ enum wear;
418
+ enum misuse;
419
+ enum environmental;
420
+ enum software;
421
+ }
422
+ // ISO 14971 severity of harm — distinct from the general-purpose
423
+ // CriticalityKind used elsewhere for architecture/software criticality.
424
+ enum def SeverityKind {
425
+ enum negligible;
426
+ enum minor;
427
+ enum serious;
428
+ enum critical;
429
+ enum catastrophic;
430
+ }
431
+ // Qualitative likelihood of occurrence (ISO 14971 / AAMI TIR style
432
+ // Likert scale), used wherever a hazard, failure, or fault-tree event
433
+ // carries a qualitative occurrence estimate rather than a measured rate.
434
+ enum def ProbabilityKind {
435
+ enum incredible;
436
+ enum improbable;
437
+ enum remote;
438
+ enum occasional;
439
+ enum probable;
440
+ enum frequent;
441
+ }
442
+ // Qualitative ability to detect a failure/threat before it causes harm —
443
+ // used for FMEA detection ratings and cybersecurity detectability.
444
+ enum def DetectionKind {
445
+ enum high;
446
+ enum moderate;
447
+ enum low;
448
+ enum none;
449
+ }
450
+ // ISO 14971 clause 3.14/8 risk acceptability decision.
451
+ enum def RiskAcceptabilityKind {
452
+ enum acceptable;
453
+ enum alarp;
454
+ enum unacceptable;
455
+ }
456
+ enum def DetectionMethodKind {
457
+ enum inspection;
458
+ enum testing;
459
+ enum monitoring;
460
+ enum alarm;
461
+ enum userReport;
462
+ enum selfDiagnostic;
463
+ enum periodicMaintenance;
464
+ }
465
+ enum def FMEAActionKind {
466
+ enum designChange;
467
+ enum processChange;
468
+ enum verificationActivity;
469
+ enum labeling;
470
+ enum training;
471
+ enum monitoring;
472
+ }
473
+ enum def FaultTreeEventKind {
474
+ enum topEvent;
475
+ enum intermediateEvent;
476
+ enum basicEvent;
477
+ enum undevelopedEvent;
478
+ enum houseEvent;
479
+ enum externalEvent;
480
+ enum conditionalEvent;
481
+ }
482
+ enum def FaultTreeGateKind {
483
+ enum andGate;
484
+ enum orGate;
485
+ enum kOfNGate;
486
+ enum xorGate;
487
+ enum inhibitGate;
488
+ enum priorityAndGate;
489
+ }
490
+ enum def DesignDecisionStatusKind {
491
+ enum proposed;
492
+ enum accepted;
493
+ enum superseded;
494
+ enum rejected;
495
+ }
496
+ enum def RiskControlImplementationKind {
497
+ enum hardwareDesign;
498
+ enum softwareDesign;
499
+ enum labeling;
500
+ enum training;
501
+ enum proceduralControl;
502
+ }
503
+ enum def ActionKind {
504
+ enum transform;
505
+ enum validate;
506
+ enum route;
507
+ enum store;
508
+ enum present;
509
+ enum actuate;
510
+ enum sense;
511
+ enum compute;
512
+ enum filtering;
513
+ enum encrypt;
514
+ enum authenticate;
515
+ }
516
+ enum def ActivityFlowKind {
517
+ enum controlFlow;
518
+ enum objectFlow;
519
+ enum exceptionFlow;
520
+ }
521
+ enum def MessageKind {
522
+ enum synchronous;
523
+ enum asynchronous;
524
+ enum reply;
525
+ enum create;
526
+ enum destroy;
527
+ enum timeout;
528
+ }
529
+ enum def TimingConstraintKind {
530
+ enum deadline;
531
+ enum period;
532
+ enum jitter;
533
+ enum latency;
534
+ enum separation;
535
+ enum burstInterval;
536
+ }
537
+ enum def HAZOPGuideWordKind {
538
+ enum no;
539
+ enum more;
540
+ enum less;
541
+ enum asWellAs;
542
+ enum partOf;
543
+ enum reverse;
544
+ enum other;
545
+ enum early;
546
+ enum late;
547
+ enum before;
548
+ enum subsequent;
549
+ }
550
+ enum def ChangeTypeKind {
551
+ enum corrective;
552
+ enum preventive;
553
+ enum enhancement;
554
+ enum regulatoryDriven;
555
+ }
556
+ enum def UseErrorCategoryKind {
557
+ enum perception;
558
+ enum cognition;
559
+ enum actionCategory;
560
+ enum memoryRecall;
561
+ }
562
+ }
@@ -0,0 +1,46 @@
1
+ // Methodology scope helpers per Epic B-3.
2
+ // Multi-valued attributes collapsed to scalar pending grammar extension (ADR-1-15).
3
+ // Bare imports (no `private`) per ADR-1-16 fallback.
4
+ // Instances use repeated scalar attribute usages to enumerate set entries
5
+ // (see ADR-1-15 example: `attribute :>> includedArchLayer = "operational";`).
6
+ package memo_core_methodology_scope {
7
+ private import ScalarValues::*;
8
+
9
+ private import memo_core_common::*;
10
+ private import memo_core_dimensions::*;
11
+
12
+ part def MethodologyLayerSet specializes TraceableElement {
13
+ attribute setName : String;
14
+ attribute layer : String;
15
+ }
16
+
17
+ part def MethodologyStandardSet specializes TraceableElement {
18
+ attribute setName : String;
19
+ attribute standardReference : String;
20
+ }
21
+
22
+ part def MethodologyArtifactSet specializes TraceableElement {
23
+ attribute setName : String;
24
+ attribute artifactKind : String;
25
+ }
26
+
27
+ part def MethodologyViewpointTypeSet specializes TraceableElement {
28
+ attribute setName : String;
29
+ attribute viewpointType : String;
30
+ }
31
+
32
+ part def MethodologyScope specializes TraceableElement {
33
+ attribute scopeName : String;
34
+ attribute includedArchLayer : String;
35
+ attribute includedStandard : String;
36
+ attribute includedArtifactKind : String;
37
+ attribute includedViewpointType : String;
38
+ attribute excludedKind : String;
39
+ }
40
+
41
+ part def ElementKindAlias specializes TraceableElement {
42
+ attribute methodTerm : String;
43
+ attribute concreteKind : String;
44
+ attribute concreteOntology : String;
45
+ }
46
+ }