@memoarchitect/ontology 0.12.1 → 0.15.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 (317) hide show
  1. package/README.md +5 -3
  2. package/examples/connected-patient-monitor/memo.identity.yaml +34 -0
  3. package/examples/connected-patient-monitor/memo.package.yaml +3 -1
  4. package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +17 -12
  5. package/examples/connected-patient-monitor/model/{catalog → methodology}/project.sysml +4 -5
  6. package/examples/embedded-infusion-pump/memo.package.yaml +3 -1
  7. package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +6 -6
  8. package/examples/embedded-infusion-pump/model/{catalog → methodology}/project.sysml +4 -5
  9. package/examples/functional-logical-physical/memo.identity.yaml +28 -0
  10. package/examples/functional-logical-physical/memo.package.yaml +3 -1
  11. package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +5 -5
  12. package/examples/functional-logical-physical/model/{catalog → methodology}/project.sysml +4 -5
  13. package/examples/gpca-pump/analysis/Samples/01-model-overview.ipynb +40 -139
  14. package/examples/gpca-pump/analysis/Samples/02-architecture-hotspots.ipynb +38 -290
  15. package/examples/gpca-pump/analysis/Samples/03-model-quality.ipynb +47 -217
  16. package/examples/gpca-pump/analysis/Samples/04-change-impact-explorer.ipynb +50 -191
  17. package/examples/gpca-pump/analysis/Samples/05-model-charts.ipynb +42 -181
  18. package/examples/gpca-pump/analysis/Samples/06-ownership-graph.ipynb +40 -164
  19. package/examples/gpca-pump/analysis/Samples/07-model-inventory-table.ipynb +51 -172
  20. package/examples/gpca-pump/analysis/Samples/README.md +15 -9
  21. package/examples/gpca-pump/analysis/memo_model.py +243 -0
  22. package/examples/gpca-pump/memo.identity.yaml +521 -26
  23. package/examples/gpca-pump/memo.package.yaml +3 -1
  24. package/examples/gpca-pump/methodology/gpca_profiles.sysml +56 -47
  25. package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +51 -78
  26. package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +359 -358
  27. package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +9 -9
  28. package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +56 -69
  29. package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +44 -59
  30. package/examples/gpca-pump/model/catalog/gpca_context.sysml +23 -35
  31. package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +33 -40
  32. package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +62 -63
  33. package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +362 -483
  34. package/examples/gpca-pump/model/catalog/gpca_operational.sysml +45 -70
  35. package/examples/gpca-pump/model/catalog/gpca_physical.sysml +6 -12
  36. package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +173 -169
  37. package/examples/gpca-pump/model/catalog/gpca_risk.sysml +139 -225
  38. package/examples/gpca-pump/model/catalog/gpca_standards.sysml +43 -47
  39. package/examples/gpca-pump/model/catalog/gpca_system.sysml +68 -65
  40. package/examples/gpca-pump/model/catalog/gpca_trace.sysml +147 -116
  41. package/examples/gpca-pump/model/catalog/gpca_verification.sysml +65 -91
  42. package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +4 -6
  43. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +4 -6
  44. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +4 -6
  45. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +4 -6
  46. package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +2 -4
  47. package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +7 -6
  48. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +4 -6
  49. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +4 -6
  50. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +3 -5
  51. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_logical_architecture_view.sysml +4 -6
  52. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +4 -6
  53. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +3 -5
  54. package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +3 -5
  55. package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +4 -6
  56. package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +2 -4
  57. package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +3 -5
  58. package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +2 -4
  59. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +4 -6
  60. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +4 -6
  61. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +2 -4
  62. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_risk_chain_view.sysml +4 -6
  63. package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +4 -6
  64. package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +3 -5
  65. package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +4 -6
  66. package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +3 -5
  67. package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +2 -4
  68. package/examples/gpca-pump/model/{catalog → methodology}/project.sysml +8 -6
  69. package/examples/ivd-laboratory-system/memo.package.yaml +3 -1
  70. package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +12 -9
  71. package/examples/ivd-laboratory-system/model/{catalog → methodology}/project.sysml +4 -5
  72. package/examples/manual-surgical-instrument/memo.package.yaml +3 -1
  73. package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +2 -6
  74. package/examples/manual-surgical-instrument/model/{catalog → methodology}/project.sysml +4 -5
  75. package/examples/multidimensional-layers/memo.package.yaml +3 -1
  76. package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +2 -4
  77. package/examples/multidimensional-layers/model/{catalog → methodology}/project.sysml +4 -5
  78. package/examples/nested-architecture-dsm/memo.identity.yaml +93 -0
  79. package/examples/nested-architecture-dsm/memo.package.yaml +3 -1
  80. package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +30 -30
  81. package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +28 -28
  82. package/examples/nested-architecture-dsm/model/catalog/architecture/operational/context.sysml +2 -4
  83. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +4 -4
  84. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +7 -7
  85. package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +8 -8
  86. package/examples/nested-architecture-dsm/model/{catalog → methodology}/project.sysml +4 -5
  87. package/examples/reusable-instrument/memo.package.yaml +3 -1
  88. package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +7 -7
  89. package/examples/reusable-instrument/model/{catalog → methodology}/project.sysml +4 -5
  90. package/examples/robot-cell-family/README.md +34 -0
  91. package/examples/robot-cell-family/memo.identity.yaml +142 -0
  92. package/examples/robot-cell-family/memo.package.yaml +7 -0
  93. package/examples/robot-cell-family/model/methodology/project.sysml +30 -0
  94. package/examples/robot-cell-family/model/shared/shared.sysml +53 -0
  95. package/examples/robot-cell-family/model/sos/chains.sysml +36 -0
  96. package/examples/robot-cell-family/model/sos/icds.sysml +29 -0
  97. package/examples/robot-cell-family/model/sos/sos.sysml +31 -0
  98. package/examples/robot-cell-family/model/sos/use_cases.sysml +25 -0
  99. package/examples/robot-cell-family/model/systems/manipulation/manipulation_system.sysml +35 -0
  100. package/examples/robot-cell-family/model/systems/navigation/navigation_system.sysml +46 -0
  101. package/examples/robot-cell-family/model/systems/perception/perception_system.sysml +37 -0
  102. package/examples/robot-platform/memo.package.yaml +3 -0
  103. package/examples/robot-platform/model/platform.sysml +15 -0
  104. package/examples/ros-mobile-robot/README.md +5 -4
  105. package/examples/ros-mobile-robot/memo.identity.yaml +94 -0
  106. package/examples/ros-mobile-robot/memo.package.yaml +3 -1
  107. package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +26 -29
  108. package/examples/ros-mobile-robot/model/{catalog → methodology}/project.sysml +8 -14
  109. package/examples/software-only-medical-device/memo.package.yaml +3 -1
  110. package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +9 -10
  111. package/examples/software-only-medical-device/model/{catalog → methodology}/project.sysml +8 -9
  112. package/examples/surgical-closure-workflow/memo.package.yaml +3 -1
  113. package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +23 -26
  114. package/examples/surgical-closure-workflow/model/{catalog → methodology}/project.sysml +7 -5
  115. package/examples/surgical-robot/memo.package.yaml +3 -1
  116. package/examples/surgical-robot/model/catalog/surgical_robot.sysml +14 -12
  117. package/examples/surgical-robot/model/{catalog → methodology}/project.sysml +4 -5
  118. package/examples/sysml-diagram-samples/README.md +1 -0
  119. package/examples/sysml-diagram-samples/memo.identity.yaml +675 -0
  120. package/examples/sysml-diagram-samples/memo.package.yaml +3 -1
  121. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +10 -20
  122. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +7 -29
  123. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/browser_view.sysml +12 -36
  124. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +13 -25
  125. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/diagram_samples.sysml +388 -0
  126. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/drill_down_view.sysml +88 -0
  127. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +27 -36
  128. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/grid_view.sysml +8 -21
  129. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +17 -65
  130. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +23 -32
  131. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/package_view.sysml +9 -22
  132. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +7 -22
  133. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/sequence_view.sysml +18 -34
  134. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +2 -9
  135. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +18 -42
  136. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +11 -24
  137. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +9 -36
  138. package/examples/sysml-diagram-samples/model/methodology/project.sysml +40 -0
  139. package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +1 -1
  140. package/examples/temperature-alarm/memo.identity.yaml +6 -0
  141. package/examples/temperature-alarm/memo.package.yaml +3 -1
  142. package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +43 -21
  143. package/examples/temperature-alarm/model/{catalog → methodology}/project.sysml +4 -5
  144. package/examples/ui-screen-regions/memo.identity.yaml +33 -0
  145. package/examples/ui-screen-regions/memo.package.yaml +3 -1
  146. package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +12 -12
  147. package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +18 -18
  148. package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +6 -6
  149. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +3 -3
  150. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +1 -1
  151. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +1 -1
  152. package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +10 -10
  153. package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +1 -1
  154. package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +12 -12
  155. package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +15 -15
  156. package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +6 -6
  157. package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +1 -2
  158. package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +1 -2
  159. package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +1 -2
  160. package/examples/ui-screen-regions/model/{catalog → methodology}/project.sysml +4 -5
  161. package/extensions/README.md +65 -16
  162. package/extensions/aadl/memo.package.yaml +1 -1
  163. package/extensions/aadl/src/aadl_extension.sysml +5 -2
  164. package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +29 -50
  165. package/extensions/clinical/memo.package.yaml +1 -1
  166. package/extensions/clinical/src/clinical_extension.sysml +2 -0
  167. package/extensions/cloud/memo.package.yaml +1 -1
  168. package/extensions/container/memo.package.yaml +1 -1
  169. package/extensions/messaging/memo.package.yaml +1 -1
  170. package/extensions/messaging/src/messaging_extension.sysml +2 -2
  171. package/extensions/ros/memo.package.yaml +1 -1
  172. package/extensions/ros/src/ros_extension.sysml +25 -24
  173. package/extensions/template/memo.package.yaml +1 -1
  174. package/extensions/template/model/extension.sysml +25 -0
  175. package/memo.manifest.yaml +1 -7
  176. package/methodologies/default/memo.package.yaml +1 -1
  177. package/methodologies/gpca/memo.package.yaml +1 -1
  178. package/ontology/memo.package.yaml +1 -1
  179. package/package.json +6 -4
  180. package/profile/memo.package.yaml +1 -1
  181. package/src/architecture/decisions/memo_decisions.sysml +9 -2
  182. package/src/architecture/functional/behavior/memo_behavior.sysml +27 -7
  183. package/src/architecture/functional/functions/memo_functions.sysml +45 -31
  184. package/src/architecture/functional/memo_architecture_functional.sysml +14 -0
  185. package/src/architecture/implementation/memo_architecture_implementation.sysml +21 -0
  186. package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +7 -0
  187. package/src/architecture/implementation/software/structure/memo_software_structure.sysml +58 -17
  188. package/src/architecture/implementation/ui/memo_ui.sysml +1 -1
  189. package/src/architecture/logical/interfaces/memo_interfaces.sysml +67 -58
  190. package/src/architecture/logical/memo_architecture_logical.sysml +13 -0
  191. package/src/architecture/logical/structure/memo_logical_structure.sysml +27 -8
  192. package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +4 -1
  193. package/src/architecture/operational/memo_architecture_operational.sysml +19 -0
  194. package/src/architecture/operational/scenarios/memo_scenarios.sysml +9 -8
  195. package/src/architecture/operational/structure/memo_operational.sysml +5 -2
  196. package/src/architecture/operational/use_cases/memo_use_cases.sysml +16 -8
  197. package/src/architecture/realization/deployment/memo_deployment.sysml +30 -10
  198. package/src/architecture/realization/memo_architecture_realization.sysml +13 -0
  199. package/src/architecture/realization/physical/memo_physical_architecture.sysml +61 -0
  200. package/src/architecture/variability/memo_variability.sysml +87 -0
  201. package/src/artifacts/configuration_management/memo_configuration_management.sysml +95 -3
  202. package/src/artifacts/core/memo_controlled_artifacts.sysml +4 -2
  203. package/src/artifacts/standards/cfr_21_820.sysml +12 -24
  204. package/src/artifacts/standards/fda_cybersecurity_2023.sysml +13 -20
  205. package/src/artifacts/standards/iec_60601_1.sysml +16 -32
  206. package/src/artifacts/standards/iec_60601_1_2.sysml +5 -10
  207. package/src/artifacts/standards/iec_60812.sysml +4 -8
  208. package/src/artifacts/standards/iec_62304.sysml +607 -47
  209. package/src/artifacts/standards/iec_62366_1.sysml +12 -24
  210. package/src/artifacts/standards/iec_81001_5_1.sysml +8 -16
  211. package/src/artifacts/standards/iso_13485.sysml +12 -24
  212. package/src/artifacts/standards/iso_14971.sysml +118 -20
  213. package/src/artifacts/standards/iso_iec_ieee_42010.sysml +3 -6
  214. package/src/artifacts/standards/memo_artifacts_standards_traceability.sysml +14 -4
  215. package/src/artifacts/templates/dhf/fda-cybersecurity/postmarket-surveillance.md +1 -2
  216. package/src/artifacts/templates/dhf/fda-cybersecurity/vuln-assessment.md +1 -2
  217. package/src/artifacts/templates/dhf/iec-62304/sad.md +1 -2
  218. package/src/artifacts/templates/dhf/iec-62304/sbom.md +1 -2
  219. package/src/artifacts/templates/dhf/iec-62304/sdp.md +1 -2
  220. package/src/artifacts/templates/dhf/iec-62304/soup.md +3 -5
  221. package/src/artifacts/templates/dhf/system/sad.md +1 -1
  222. package/src/artifacts/templates/dhf/system/standards-checklist.md +2 -2
  223. package/src/artifacts/templates/dhf/system/standards-traceability.md +1 -1
  224. package/src/assurance/cybersecurity/memo_cybersecurity.sysml +339 -13
  225. package/src/assurance/human_factors/memo_human_factors.sysml +6 -2
  226. package/src/assurance/safety_risk/analysis/memo_fmea.sysml +7 -3
  227. package/src/assurance/safety_risk/memo_risk.sysml +39 -1
  228. package/src/core/common/memo_common.sysml +51 -68
  229. package/src/core/enumerations/memo_enumerations.sysml +93 -9
  230. package/src/core/relationships/memo_relationships.sysml +17 -11
  231. package/src/core/relationships/memo_workspace_membership.sysml +284 -0
  232. package/src/core/semantics/semantics.sysml +58 -0
  233. package/src/core/terminology/terminology.sysml +7 -0
  234. package/src/memo_namespaces.sysml +6 -0
  235. package/src/methodology/archetypes/memo_archetypes.sysml +8 -16
  236. package/src/methodology/core/memo_core.sysml +85 -29
  237. package/src/methodology/profiles/memo_profiles.sysml +217 -61
  238. package/src/methodology/workflow/memo_workflow.sysml +28 -0
  239. package/src/rules/closure/closure_rules.sysml +250 -4
  240. package/src/rules/crosslayer/cross_layer_rules.sysml +11 -0
  241. package/src/rules/ontology/ontology_invariants.sysml +288 -48
  242. package/src/rules/quantitative/quantitative_rules.sysml +4 -0
  243. package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +28 -28
  244. package/src/viewpoints/clinical/clinical_viewpoint.sysml +4 -5
  245. package/src/viewpoints/context/context_viewpoint.sysml +4 -5
  246. package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +3 -5
  247. package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +4 -5
  248. package/src/viewpoints/definitions/memo_view_layout.sysml +150 -0
  249. package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +3 -5
  250. package/src/viewpoints/functional/functional_viewpoint.sysml +4 -5
  251. package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +2 -4
  252. package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +2 -4
  253. package/src/viewpoints/logical/logical_viewpoint.sysml +4 -5
  254. package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +2 -4
  255. package/src/viewpoints/operational/operational_viewpoint.sysml +4 -5
  256. package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +3 -5
  257. package/src/viewpoints/physical/physical_viewpoint.sysml +4 -5
  258. package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +2 -4
  259. package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +2 -4
  260. package/src/viewpoints/rendering/memo_rendering.sysml +50 -98
  261. package/src/viewpoints/requirements/requirements_viewpoint.sysml +4 -5
  262. package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +2 -4
  263. package/src/viewpoints/risk/risk_viewpoint.sysml +4 -5
  264. package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +2 -4
  265. package/src/viewpoints/software/software_viewpoint.sysml +4 -5
  266. package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +3 -5
  267. package/src/viewpoints/{definitions → stakeholders_concerns}/memo_stakeholders_concerns.sysml +45 -36
  268. package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +4 -5
  269. package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +1 -1
  270. package/src/viewpoints/usability/usability_viewpoint.sysml +4 -5
  271. package/src/viewpoints/verification/verification_viewpoint.sysml +4 -5
  272. package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +2 -4
  273. package/stage1/syside-67f92dc96ba75cd05b5c8d13.ids.gz +0 -0
  274. package/stage1/syside-67f92dc96ba75cd05b5c8d13.json.gz +0 -0
  275. package/templates/default/memo.package.yaml +6 -1
  276. package/templates/default/model/catalog/architecture/system.sysml +7 -3
  277. package/templates/default/model/{catalog → methodology}/project.sysml +3 -4
  278. package/examples/sysml-diagram-samples/model/catalog/project.sysml +0 -26
  279. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +0 -47
  280. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +0 -94
  281. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +0 -13
  282. package/examples/ui-screen-regions/model/catalog/relationships.sysml +0 -8
  283. package/extensions/aadl/src/methodology/aadl_methodology.sysml +0 -19
  284. package/extensions/clinical/src/methodology/clinical_methodology.sysml +0 -24
  285. package/extensions/cloud/src/methodology/cloud_methodology.sysml +0 -19
  286. package/extensions/container/src/methodology/container_methodology.sysml +0 -19
  287. package/extensions/messaging/src/methodology/messaging_methodology.sysml +0 -19
  288. package/extensions/ros/src/methodology/ros_methodology.sysml +0 -27
  289. package/extensions/template/src/extension.sysml +0 -39
  290. package/templates/connected-device/memo.package.yaml +0 -13
  291. package/templates/connected-device/model/catalog/architecture/system.sysml +0 -5
  292. package/templates/connected-device/model/catalog/artifacts/catalog.sysml +0 -5
  293. package/templates/connected-device/model/catalog/assurance/requirements.sysml +0 -7
  294. package/templates/connected-device/model/catalog/project.sysml +0 -30
  295. package/templates/connected-device/package.json +0 -8
  296. package/templates/connected-device/syside.toml +0 -13
  297. package/templates/infusion-pump/memo.package.yaml +0 -13
  298. package/templates/infusion-pump/model/catalog/architecture/system.sysml +0 -5
  299. package/templates/infusion-pump/model/catalog/artifacts/catalog.sysml +0 -5
  300. package/templates/infusion-pump/model/catalog/assurance/requirements.sysml +0 -7
  301. package/templates/infusion-pump/model/catalog/project.sysml +0 -30
  302. package/templates/infusion-pump/package.json +0 -8
  303. package/templates/infusion-pump/syside.toml +0 -13
  304. package/templates/monitoring-device/memo.package.yaml +0 -13
  305. package/templates/monitoring-device/model/catalog/architecture/system.sysml +0 -5
  306. package/templates/monitoring-device/model/catalog/artifacts/catalog.sysml +0 -5
  307. package/templates/monitoring-device/model/catalog/assurance/requirements.sysml +0 -7
  308. package/templates/monitoring-device/model/catalog/project.sysml +0 -30
  309. package/templates/monitoring-device/package.json +0 -8
  310. package/templates/monitoring-device/syside.toml +0 -13
  311. package/templates/samd/memo.package.yaml +0 -13
  312. package/templates/samd/model/catalog/architecture/system.sysml +0 -5
  313. package/templates/samd/model/catalog/artifacts/catalog.sysml +0 -5
  314. package/templates/samd/model/catalog/assurance/requirements.sysml +0 -7
  315. package/templates/samd/model/catalog/project.sysml +0 -30
  316. package/templates/samd/package.json +0 -8
  317. package/templates/samd/syside.toml +0 -13
@@ -8,17 +8,16 @@ package memo_viewpoints_physical_physical_viewpoint {
8
8
  private import memo_core_common::*;
9
9
  private import memo_core_common::MemoIdentity;
10
10
  viewpoint physicalViewpoint : MemoViewpoint {
11
- @MemoIdentity { :>> providedId = "VP-PHY"; }
12
- attribute :>> name = "PhysicalViewpoint";
11
+ @MemoIdentity { :>> providedId = "VP-PHY"; :>> label = "PhysicalViewpoint"; }
13
12
  @MemoIdentity { :>> shortDescription = "Shows physical components, hardware structure, and their interconnections."; }
14
- attribute :>> description = "Default viewpoint derived from the physical and hardware structure layers for bill-of-materials, hardware decomposition, physical interfaces, and network/connectivity topology.";
13
+ doc /* Default viewpoint derived from the physical and hardware structure layers for bill-of-materials, hardware decomposition, physical interfaces, and network/connectivity topology. */
15
14
  attribute :>> purpose = "Describe the system's physical realization and interconnections.";
16
- ref :>> stakeholders = (HardwareEngineer);
15
+ ref :>> stakeholders = (hardwareEngineer);
17
16
  attribute :>> stage = WorkflowStageKind::architecture;
18
17
  attribute :>> abstractionLevel = "physical";
19
18
  attribute :>> outputKind = (ViewOutputKind::diagram);
20
19
  attribute :>> presentationKind = (PresentationKind::blockDiagram);
21
- ref :>> framedConcerns = (ReliabilityConcern, InteroperabilityConcern);
20
+ ref :>> framedConcerns = (reliabilityConcern, interoperabilityConcern);
22
21
  attribute :>> explorerLane = "architecture";
23
22
  attribute :>> explorerOrder = 5;
24
23
  attribute :>> userExtensible = true;
@@ -10,8 +10,7 @@ package memo_viewpoints_physical_views_network_topology_view {
10
10
  view networkTopologyView : MemoDiagramView {
11
11
  expose memo_viewpoints_physical_views_network_topology_view::*;
12
12
  attribute depth = 2;
13
- @MemoIdentity { :>> providedId = "VIEW-PHY-002"; }
14
- attribute :>> name = "NetworkTopologyView";
13
+ @MemoIdentity { :>> providedId = "VIEW-PHY-002"; :>> label = "NetworkTopologyView"; }
15
14
  @MemoIdentity { :>> shortDescription = "Physical interconnections and network ports between components."; }
16
15
  attribute :>> outputKind = (ViewOutputKind::diagram);
17
16
  attribute :>> presentationKind = (PresentationKind::internalDiagram);
@@ -19,8 +18,7 @@ package memo_viewpoints_physical_views_network_topology_view {
19
18
  attribute :>> autoPopulate = true;
20
19
  attribute :>> queryDescription = "Include physical ports and connections that make up the device's network topology.";
21
20
  part :>> selectionQuery {
22
- @MemoIdentity { :>> providedId = "QRY-PHY-002"; }
23
- attribute :>> name = "NetworkTopologyQuery";
21
+ @MemoIdentity { :>> providedId = "QRY-PHY-002"; :>> label = "NetworkTopologyQuery"; }
24
22
  attribute :>> includeElementKinds = ("PhysicalPort", "ProcessingNode");
25
23
  attribute :>> includeLayers = ("physical");
26
24
  attribute :>> rationaleText = "Auto-populate the network topology view from the physical interfaces layer.";
@@ -10,8 +10,7 @@ package memo_viewpoints_physical_views_physical_bom_view {
10
10
  view physicalBOMView : MemoDiagramView {
11
11
  expose memo_viewpoints_physical_views_physical_bom_view::*;
12
12
  attribute depth = 2;
13
- @MemoIdentity { :>> providedId = "VIEW-PHY-001"; }
14
- attribute :>> name = "PhysicalBOMView";
13
+ @MemoIdentity { :>> providedId = "VIEW-PHY-001"; :>> label = "PhysicalBOMView"; }
15
14
  @MemoIdentity { :>> shortDescription = "Physical and hardware components with their decomposition."; }
16
15
  attribute :>> outputKind = (ViewOutputKind::diagram);
17
16
  attribute :>> presentationKind = (PresentationKind::blockDiagram);
@@ -19,8 +18,7 @@ package memo_viewpoints_physical_views_physical_bom_view {
19
18
  attribute :>> autoPopulate = true;
20
19
  attribute :>> queryDescription = "Include physical and hardware components and their assembly structure.";
21
20
  part :>> selectionQuery {
22
- @MemoIdentity { :>> providedId = "QRY-PHY-001"; }
23
- attribute :>> name = "PhysicalBOMQuery";
21
+ @MemoIdentity { :>> providedId = "QRY-PHY-001"; :>> label = "PhysicalBOMQuery"; }
24
22
  attribute :>> includeElementKinds = ("ProcessingNode", "HardwareAssembly");
25
23
  attribute :>> includeLayers = ("hardware_structure", "physical");
26
24
  attribute :>> rationaleText = "Auto-populate the physical BOM view from the hardware and physical layers.";
@@ -53,325 +53,295 @@ package memo_viewpoints_rendering {
53
53
  }
54
54
 
55
55
  part layerOperationalRendering : LayerRendering {
56
- @MemoIdentity { :>> providedId = "LAYER-OPERATIONAL"; }
57
- attribute :>> name = "OperationalLayerRendering";
56
+ @MemoIdentity { :>> providedId = "LAYER-OPERATIONAL"; :>> label = "OperationalLayerRendering"; }
58
57
  attribute :>> layerId = "operational";
59
58
  attribute :>> layerLabel = "Operational";
60
59
  attribute :>> layerColor = "#C0392B";
61
60
  }
62
61
 
63
62
  part layerBehavioralRendering : LayerRendering {
64
- @MemoIdentity { :>> providedId = "LAYER-BEHAVIORAL"; }
65
- attribute :>> name = "BehavioralLayerRendering";
63
+ @MemoIdentity { :>> providedId = "LAYER-BEHAVIORAL"; :>> label = "BehavioralLayerRendering"; }
66
64
  attribute :>> layerId = "behavioral";
67
65
  attribute :>> layerLabel = "Behavioral";
68
66
  attribute :>> layerColor = "#E74C3C";
69
67
  }
70
68
 
71
69
  part layerFunctionalRendering : LayerRendering {
72
- @MemoIdentity { :>> providedId = "LAYER-FUNCTIONAL"; }
73
- attribute :>> name = "FunctionalLayerRendering";
70
+ @MemoIdentity { :>> providedId = "LAYER-FUNCTIONAL"; :>> label = "FunctionalLayerRendering"; }
74
71
  attribute :>> layerId = "functional";
75
72
  attribute :>> layerLabel = "Functional";
76
73
  attribute :>> layerColor = "#E67E22";
77
74
  }
78
75
 
79
76
  part layerLogicalRendering : LayerRendering {
80
- @MemoIdentity { :>> providedId = "LAYER-LOGICAL"; }
81
- attribute :>> name = "LogicalLayerRendering";
77
+ @MemoIdentity { :>> providedId = "LAYER-LOGICAL"; :>> label = "LogicalLayerRendering"; }
82
78
  attribute :>> layerId = "logical";
83
79
  attribute :>> layerLabel = "Logical";
84
80
  attribute :>> layerColor = "#7B68EE";
85
81
  }
86
82
 
87
83
  part layerSoftwareRendering : LayerRendering {
88
- @MemoIdentity { :>> providedId = "LAYER-SOFTWARE"; }
89
- attribute :>> name = "SoftwareLayerRendering";
84
+ @MemoIdentity { :>> providedId = "LAYER-SOFTWARE"; :>> label = "SoftwareLayerRendering"; }
90
85
  attribute :>> layerId = "software";
91
86
  attribute :>> layerLabel = "Software";
92
87
  attribute :>> layerColor = "#F39C12";
93
88
  }
94
89
 
95
90
  part layerSoftwareExtensionRendering : LayerRendering {
96
- @MemoIdentity { :>> providedId = "LAYER-SOFTWARE-EXTENSION"; }
97
- attribute :>> name = "Software Extension (ROS)LayerRendering";
91
+ @MemoIdentity { :>> providedId = "LAYER-SOFTWARE-EXTENSION"; :>> label = "Software Extension (ROS)LayerRendering"; }
98
92
  attribute :>> layerId = "software-extension";
99
93
  attribute :>> layerLabel = "Software Extension (ROS)";
100
94
  attribute :>> layerColor = "#D4AC0D";
101
95
  }
102
96
 
103
97
  part layerHardwareRendering : LayerRendering {
104
- @MemoIdentity { :>> providedId = "LAYER-HARDWARE"; }
105
- attribute :>> name = "HardwareLayerRendering";
98
+ @MemoIdentity { :>> providedId = "LAYER-HARDWARE"; :>> label = "HardwareLayerRendering"; }
106
99
  attribute :>> layerId = "hardware";
107
100
  attribute :>> layerLabel = "Hardware";
108
101
  attribute :>> layerColor = "#95A5A6";
109
102
  }
110
103
 
111
104
  part layerSafetyRendering : LayerRendering {
112
- @MemoIdentity { :>> providedId = "LAYER-SAFETY"; }
113
- attribute :>> name = "SafetyLayerRendering";
105
+ @MemoIdentity { :>> providedId = "LAYER-SAFETY"; :>> label = "SafetyLayerRendering"; }
114
106
  attribute :>> layerId = "safety";
115
107
  attribute :>> layerLabel = "Safety";
116
108
  attribute :>> layerColor = "#E74C3C";
117
109
  }
118
110
 
119
111
  part layerSecurityRendering : LayerRendering {
120
- @MemoIdentity { :>> providedId = "LAYER-SECURITY"; }
121
- attribute :>> name = "SecurityLayerRendering";
112
+ @MemoIdentity { :>> providedId = "LAYER-SECURITY"; :>> label = "SecurityLayerRendering"; }
122
113
  attribute :>> layerId = "security";
123
114
  attribute :>> layerLabel = "Security";
124
115
  attribute :>> layerColor = "#2C3E50";
125
116
  }
126
117
 
127
118
  part layerPrivacyRendering : LayerRendering {
128
- @MemoIdentity { :>> providedId = "LAYER-PRIVACY"; }
129
- attribute :>> name = "PrivacyLayerRendering";
119
+ @MemoIdentity { :>> providedId = "LAYER-PRIVACY"; :>> label = "PrivacyLayerRendering"; }
130
120
  attribute :>> layerId = "privacy";
131
121
  attribute :>> layerLabel = "Privacy";
132
122
  attribute :>> layerColor = "#8E44AD";
133
123
  }
134
124
 
135
125
  part layerVerificationRendering : LayerRendering {
136
- @MemoIdentity { :>> providedId = "LAYER-VERIFICATION"; }
137
- attribute :>> name = "VerificationLayerRendering";
126
+ @MemoIdentity { :>> providedId = "LAYER-VERIFICATION"; :>> label = "VerificationLayerRendering"; }
138
127
  attribute :>> layerId = "verification";
139
128
  attribute :>> layerLabel = "Verification";
140
129
  attribute :>> layerColor = "#2ECC71";
141
130
  }
142
131
 
143
132
  part explorerActivitiesClassification : ExplorerClassification {
144
- @MemoIdentity { :>> providedId = "EXPL-001"; }
145
- attribute :>> name = "activitiesExplorerClassification";
133
+ @MemoIdentity { :>> providedId = "EXPL-001"; :>> label = "activitiesExplorerClassification"; }
146
134
  attribute :>> sourceNamespace = "activities";
147
135
  attribute :>> explorerDomain = "architecture";
148
136
  attribute :>> explorerGroup = "operational";
149
137
  }
150
138
 
151
139
  part explorerContextClassification : ExplorerClassification {
152
- @MemoIdentity { :>> providedId = "EXPL-002"; }
153
- attribute :>> name = "contextExplorerClassification";
140
+ @MemoIdentity { :>> providedId = "EXPL-002"; :>> label = "contextExplorerClassification"; }
154
141
  attribute :>> sourceNamespace = "context";
155
142
  attribute :>> explorerDomain = "architecture";
156
143
  attribute :>> explorerGroup = "operational";
157
144
  }
158
145
 
159
146
  part explorerActorsClassification : ExplorerClassification {
160
- @MemoIdentity { :>> providedId = "EXPL-003"; }
161
- attribute :>> name = "actorsExplorerClassification";
147
+ @MemoIdentity { :>> providedId = "EXPL-003"; :>> label = "actorsExplorerClassification"; }
162
148
  attribute :>> sourceNamespace = "actors";
163
149
  attribute :>> explorerDomain = "architecture";
164
150
  attribute :>> explorerGroup = "operational";
165
151
  }
166
152
 
167
153
  part explorerUseContextClassification : ExplorerClassification {
168
- @MemoIdentity { :>> providedId = "EXPL-004"; }
169
- attribute :>> name = "use_contextExplorerClassification";
154
+ @MemoIdentity { :>> providedId = "EXPL-004"; :>> label = "use_contextExplorerClassification"; }
170
155
  attribute :>> sourceNamespace = "use_context";
171
156
  attribute :>> explorerDomain = "architecture";
172
157
  attribute :>> explorerGroup = "operational";
173
158
  }
174
159
 
175
160
  part explorerWorkflowsClassification : ExplorerClassification {
176
- @MemoIdentity { :>> providedId = "EXPL-005"; }
177
- attribute :>> name = "workflowsExplorerClassification";
161
+ @MemoIdentity { :>> providedId = "EXPL-005"; :>> label = "workflowsExplorerClassification"; }
178
162
  attribute :>> sourceNamespace = "workflows";
179
163
  attribute :>> explorerDomain = "architecture";
180
164
  attribute :>> explorerGroup = "operational";
181
165
  }
182
166
 
183
167
  part explorerScenariosClassification : ExplorerClassification {
184
- @MemoIdentity { :>> providedId = "EXPL-006"; }
185
- attribute :>> name = "scenariosExplorerClassification";
168
+ @MemoIdentity { :>> providedId = "EXPL-006"; :>> label = "scenariosExplorerClassification"; }
186
169
  attribute :>> sourceNamespace = "scenarios";
187
170
  attribute :>> explorerDomain = "architecture";
188
171
  attribute :>> explorerGroup = "operational";
189
172
  }
190
173
 
191
174
  part explorerUseCasesClassification : ExplorerClassification {
192
- @MemoIdentity { :>> providedId = "EXPL-007"; }
193
- attribute :>> name = "use_casesExplorerClassification";
175
+ @MemoIdentity { :>> providedId = "EXPL-007"; :>> label = "use_casesExplorerClassification"; }
194
176
  attribute :>> sourceNamespace = "use_cases";
195
177
  attribute :>> explorerDomain = "architecture";
196
178
  attribute :>> explorerGroup = "operational";
197
179
  }
198
180
 
199
181
  part explorerInteractionClassification : ExplorerClassification {
200
- @MemoIdentity { :>> providedId = "EXPL-008"; }
201
- attribute :>> name = "interactionExplorerClassification";
182
+ @MemoIdentity { :>> providedId = "EXPL-008"; :>> label = "interactionExplorerClassification"; }
202
183
  attribute :>> sourceNamespace = "interaction";
203
184
  attribute :>> explorerDomain = "architecture";
204
185
  attribute :>> explorerGroup = "operational";
205
186
  }
206
187
 
207
188
  part explorerOperationalClassification : ExplorerClassification {
208
- @MemoIdentity { :>> providedId = "EXPL-009"; }
209
- attribute :>> name = "operationalExplorerClassification";
189
+ @MemoIdentity { :>> providedId = "EXPL-009"; :>> label = "operationalExplorerClassification"; }
210
190
  attribute :>> sourceNamespace = "operational";
211
191
  attribute :>> explorerDomain = "architecture";
212
192
  attribute :>> explorerGroup = "operational";
213
193
  }
214
194
 
215
195
  part explorerFunctionsClassification : ExplorerClassification {
216
- @MemoIdentity { :>> providedId = "EXPL-010"; }
217
- attribute :>> name = "functionsExplorerClassification";
196
+ @MemoIdentity { :>> providedId = "EXPL-010"; :>> label = "functionsExplorerClassification"; }
218
197
  attribute :>> sourceNamespace = "functions";
219
198
  attribute :>> explorerDomain = "architecture";
220
199
  attribute :>> explorerGroup = "functional";
221
200
  }
222
201
 
223
202
  part explorerBehaviorClassification : ExplorerClassification {
224
- @MemoIdentity { :>> providedId = "EXPL-011"; }
225
- attribute :>> name = "behaviorExplorerClassification";
203
+ @MemoIdentity { :>> providedId = "EXPL-011"; :>> label = "behaviorExplorerClassification"; }
226
204
  attribute :>> sourceNamespace = "behavior";
227
205
  attribute :>> explorerDomain = "architecture";
228
206
  attribute :>> explorerGroup = "functional";
229
207
  }
230
208
 
231
209
  part explorerConstraintsClassification : ExplorerClassification {
232
- @MemoIdentity { :>> providedId = "EXPL-012"; }
233
- attribute :>> name = "constraintsExplorerClassification";
210
+ @MemoIdentity { :>> providedId = "EXPL-012"; :>> label = "constraintsExplorerClassification"; }
234
211
  attribute :>> sourceNamespace = "constraints";
235
212
  attribute :>> explorerDomain = "architecture";
236
213
  attribute :>> explorerGroup = "functional";
237
214
  }
238
215
 
239
216
  part explorerLogicalStructureClassification : ExplorerClassification {
240
- @MemoIdentity { :>> providedId = "EXPL-013"; }
241
- attribute :>> name = "logical_structureExplorerClassification";
217
+ @MemoIdentity { :>> providedId = "EXPL-013"; :>> label = "logical_structureExplorerClassification"; }
242
218
  attribute :>> sourceNamespace = "logical_structure";
243
219
  attribute :>> explorerDomain = "architecture";
244
220
  attribute :>> explorerGroup = "logical";
245
221
  }
246
222
 
247
223
  part explorerInterfacesClassification : ExplorerClassification {
248
- @MemoIdentity { :>> providedId = "EXPL-014"; }
249
- attribute :>> name = "interfacesExplorerClassification";
224
+ @MemoIdentity { :>> providedId = "EXPL-014"; :>> label = "interfacesExplorerClassification"; }
250
225
  attribute :>> sourceNamespace = "interfaces";
251
226
  attribute :>> explorerDomain = "architecture";
252
227
  attribute :>> explorerGroup = "logical";
253
228
  }
254
229
 
255
230
  part explorerHardwareStructureClassification : ExplorerClassification {
256
- @MemoIdentity { :>> providedId = "EXPL-015"; }
257
- attribute :>> name = "hardware_structureExplorerClassification";
231
+ @MemoIdentity { :>> providedId = "EXPL-015"; :>> label = "hardware_structureExplorerClassification"; }
258
232
  attribute :>> sourceNamespace = "hardware_structure";
259
233
  attribute :>> explorerDomain = "architecture";
260
234
  attribute :>> explorerGroup = "implementation";
261
235
  }
262
236
 
263
237
  part explorerImplementationClassification : ExplorerClassification {
264
- @MemoIdentity { :>> providedId = "EXPL-016"; }
265
- attribute :>> name = "implementationExplorerClassification";
238
+ @MemoIdentity { :>> providedId = "EXPL-016"; :>> label = "implementationExplorerClassification"; }
266
239
  attribute :>> sourceNamespace = "implementation";
267
240
  attribute :>> explorerDomain = "architecture";
268
241
  attribute :>> explorerGroup = "implementation";
269
242
  }
270
243
 
271
244
  part explorerSoftwareStructureClassification : ExplorerClassification {
272
- @MemoIdentity { :>> providedId = "EXPL-017"; }
273
- attribute :>> name = "software_structureExplorerClassification";
245
+ @MemoIdentity { :>> providedId = "EXPL-017"; :>> label = "software_structureExplorerClassification"; }
274
246
  attribute :>> sourceNamespace = "software_structure";
275
247
  attribute :>> explorerDomain = "architecture";
276
248
  attribute :>> explorerGroup = "implementation";
277
249
  }
278
250
 
279
251
  part explorerSoftwareRuntimeClassification : ExplorerClassification {
280
- @MemoIdentity { :>> providedId = "EXPL-018"; }
281
- attribute :>> name = "software_runtimeExplorerClassification";
252
+ @MemoIdentity { :>> providedId = "EXPL-018"; :>> label = "software_runtimeExplorerClassification"; }
282
253
  attribute :>> sourceNamespace = "software_runtime";
283
254
  attribute :>> explorerDomain = "architecture";
284
255
  attribute :>> explorerGroup = "implementation";
285
256
  }
286
257
 
287
258
  part explorerPhysicalClassification : ExplorerClassification {
288
- @MemoIdentity { :>> providedId = "EXPL-019"; }
289
- attribute :>> name = "physicalExplorerClassification";
259
+ @MemoIdentity { :>> providedId = "EXPL-019"; :>> label = "physicalExplorerClassification"; }
290
260
  attribute :>> sourceNamespace = "physical";
291
261
  attribute :>> explorerDomain = "architecture";
292
262
  attribute :>> explorerGroup = "realization";
293
263
  }
294
264
 
295
265
  part explorerDeploymentClassification : ExplorerClassification {
296
- @MemoIdentity { :>> providedId = "EXPL-020"; }
297
- attribute :>> name = "deploymentExplorerClassification";
266
+ @MemoIdentity { :>> providedId = "EXPL-020"; :>> label = "deploymentExplorerClassification"; }
298
267
  attribute :>> sourceNamespace = "deployment";
299
268
  attribute :>> explorerDomain = "architecture";
300
269
  attribute :>> explorerGroup = "realization";
301
270
  }
302
271
 
303
272
  part explorerNeedsClassification : ExplorerClassification {
304
- @MemoIdentity { :>> providedId = "EXPL-021"; }
305
- attribute :>> name = "needsExplorerClassification";
273
+ @MemoIdentity { :>> providedId = "EXPL-021"; :>> label = "needsExplorerClassification"; }
306
274
  attribute :>> sourceNamespace = "needs";
307
275
  attribute :>> explorerDomain = "assurance";
308
276
  attribute :>> explorerGroup = "requirements";
309
277
  }
310
278
 
311
279
  part explorerRequirementsClassification : ExplorerClassification {
312
- @MemoIdentity { :>> providedId = "EXPL-022"; }
313
- attribute :>> name = "requirementsExplorerClassification";
280
+ @MemoIdentity { :>> providedId = "EXPL-022"; :>> label = "requirementsExplorerClassification"; }
314
281
  attribute :>> sourceNamespace = "requirements";
315
282
  attribute :>> explorerDomain = "assurance";
316
283
  attribute :>> explorerGroup = "requirements";
317
284
  }
318
285
 
319
286
  part explorerSafetyClassification : ExplorerClassification {
320
- @MemoIdentity { :>> providedId = "EXPL-023"; }
321
- attribute :>> name = "safetyExplorerClassification";
287
+ @MemoIdentity { :>> providedId = "EXPL-023"; :>> label = "safetyExplorerClassification"; }
322
288
  attribute :>> sourceNamespace = "safety";
323
289
  attribute :>> explorerDomain = "assurance";
324
290
  attribute :>> explorerGroup = "safety-risk";
325
291
  }
326
292
 
327
293
  part explorerSafetyAnalysisClassification : ExplorerClassification {
328
- @MemoIdentity { :>> providedId = "EXPL-024"; }
329
- attribute :>> name = "safety_analysisExplorerClassification";
294
+ @MemoIdentity { :>> providedId = "EXPL-024"; :>> label = "safety_analysisExplorerClassification"; }
330
295
  attribute :>> sourceNamespace = "safety_analysis";
331
296
  attribute :>> explorerDomain = "assurance";
332
297
  attribute :>> explorerGroup = "safety-risk";
333
298
  }
334
299
 
335
300
  part explorerCybersecurityClassification : ExplorerClassification {
336
- @MemoIdentity { :>> providedId = "EXPL-025"; }
337
- attribute :>> name = "cybersecurityExplorerClassification";
301
+ @MemoIdentity { :>> providedId = "EXPL-025"; :>> label = "cybersecurityExplorerClassification"; }
338
302
  attribute :>> sourceNamespace = "cybersecurity";
339
303
  attribute :>> explorerDomain = "assurance";
340
304
  attribute :>> explorerGroup = "cybersecurity";
341
305
  }
342
306
 
343
307
  part explorerHumanFactorsClassification : ExplorerClassification {
344
- @MemoIdentity { :>> providedId = "EXPL-026"; }
345
- attribute :>> name = "human_factorsExplorerClassification";
308
+ @MemoIdentity { :>> providedId = "EXPL-026"; :>> label = "human_factorsExplorerClassification"; }
346
309
  attribute :>> sourceNamespace = "human_factors";
347
310
  attribute :>> explorerDomain = "assurance";
348
311
  attribute :>> explorerGroup = "human-factors";
349
312
  }
350
313
 
351
314
  part explorerVerificationClassification : ExplorerClassification {
352
- @MemoIdentity { :>> providedId = "EXPL-027"; }
353
- attribute :>> name = "verificationExplorerClassification";
315
+ @MemoIdentity { :>> providedId = "EXPL-027"; :>> label = "verificationExplorerClassification"; }
354
316
  attribute :>> sourceNamespace = "verification";
355
317
  attribute :>> explorerDomain = "assurance";
356
318
  attribute :>> explorerGroup = "verification-validation";
357
319
  }
358
320
 
359
321
  part explorerCoreClassification : ExplorerClassification {
360
- @MemoIdentity { :>> providedId = "EXPL-028"; }
361
- attribute :>> name = "coreExplorerClassification";
322
+ @MemoIdentity { :>> providedId = "EXPL-028"; :>> label = "coreExplorerClassification"; }
362
323
  attribute :>> sourceNamespace = "core";
363
324
  attribute :>> explorerDomain = "assurance";
364
325
  attribute :>> explorerGroup = "evidence";
365
326
  }
366
327
 
367
328
  part explorerMethodologyClassification : ExplorerClassification {
368
- @MemoIdentity { :>> providedId = "EXPL-029"; }
369
- attribute :>> name = "methodologyExplorerClassification";
329
+ @MemoIdentity { :>> providedId = "EXPL-029"; :>> label = "methodologyExplorerClassification"; }
370
330
  attribute :>> sourceNamespace = "methodology";
371
331
  attribute :>> explorerDomain = "methodology";
372
332
  attribute :>> explorerGroup = "methodology";
373
333
  }
374
334
 
335
+ // A group name is only unique inside its layer: `core` is the controlled artifacts' evidence
336
+ // under artifacts/ and the method's own definitions (the model binding, a methodology, a rule
337
+ // policy) under methodology/. A source namespace written `layer/group` is that layer's group.
338
+ part explorerMethodologyCoreClassification : ExplorerClassification {
339
+ @MemoIdentity { :>> providedId = "EXPL-030"; :>> label = "methodologyCoreExplorerClassification"; }
340
+ attribute :>> sourceNamespace = "methodology/core";
341
+ attribute :>> explorerDomain = "methodology";
342
+ attribute :>> explorerGroup = "methodology";
343
+ }
344
+
375
345
  // ── Enumeration labels ───────────────────────────────────────
376
346
  // Seeded with the three status enums. `StatusKind` is the standard
377
347
  // ModelingMetadata one and is seeded first because its members are
@@ -384,7 +354,6 @@ package memo_viewpoints_rendering {
384
354
 
385
355
  part enumStatusOpen : EnumRendering {
386
356
  @MemoIdentity { :>> providedId = "ENUM-STATUS-001"; }
387
- attribute :>> name = "EnumStatusOpen";
388
357
  attribute :>> enumValue = "StatusKind::open";
389
358
  attribute :>> label = "Open";
390
359
  attribute :>> shortLabel = "Open";
@@ -393,7 +362,6 @@ package memo_viewpoints_rendering {
393
362
 
394
363
  part enumStatusTbd : EnumRendering {
395
364
  @MemoIdentity { :>> providedId = "ENUM-STATUS-002"; }
396
- attribute :>> name = "EnumStatusTbd";
397
365
  attribute :>> enumValue = "StatusKind::tbd";
398
366
  attribute :>> label = "To Be Determined";
399
367
  attribute :>> shortLabel = "TBD";
@@ -402,7 +370,6 @@ package memo_viewpoints_rendering {
402
370
 
403
371
  part enumStatusTbr : EnumRendering {
404
372
  @MemoIdentity { :>> providedId = "ENUM-STATUS-003"; }
405
- attribute :>> name = "EnumStatusTbr";
406
373
  attribute :>> enumValue = "StatusKind::tbr";
407
374
  attribute :>> label = "To Be Resolved";
408
375
  attribute :>> shortLabel = "TBR";
@@ -411,7 +378,6 @@ package memo_viewpoints_rendering {
411
378
 
412
379
  part enumStatusTbc : EnumRendering {
413
380
  @MemoIdentity { :>> providedId = "ENUM-STATUS-004"; }
414
- attribute :>> name = "EnumStatusTbc";
415
381
  attribute :>> enumValue = "StatusKind::tbc";
416
382
  attribute :>> label = "To Be Confirmed";
417
383
  attribute :>> shortLabel = "TBC";
@@ -420,7 +386,6 @@ package memo_viewpoints_rendering {
420
386
 
421
387
  part enumStatusDone : EnumRendering {
422
388
  @MemoIdentity { :>> providedId = "ENUM-STATUS-005"; }
423
- attribute :>> name = "EnumStatusDone";
424
389
  attribute :>> enumValue = "StatusKind::done";
425
390
  attribute :>> label = "Done";
426
391
  attribute :>> shortLabel = "Done";
@@ -429,7 +394,6 @@ package memo_viewpoints_rendering {
429
394
 
430
395
  part enumStatusClosed : EnumRendering {
431
396
  @MemoIdentity { :>> providedId = "ENUM-STATUS-006"; }
432
- attribute :>> name = "EnumStatusClosed";
433
397
  attribute :>> enumValue = "StatusKind::closed";
434
398
  attribute :>> label = "Closed";
435
399
  attribute :>> shortLabel = "Closed";
@@ -438,7 +402,6 @@ package memo_viewpoints_rendering {
438
402
 
439
403
  part enumElementProposed : EnumRendering {
440
404
  @MemoIdentity { :>> providedId = "ENUM-ELEM-001"; }
441
- attribute :>> name = "EnumElementProposed";
442
405
  attribute :>> enumValue = "ElementStatusKind::proposed";
443
406
  attribute :>> label = "Proposed";
444
407
  attribute :>> enumColor = "#6B7280";
@@ -446,7 +409,6 @@ package memo_viewpoints_rendering {
446
409
 
447
410
  part enumElementDraft : EnumRendering {
448
411
  @MemoIdentity { :>> providedId = "ENUM-ELEM-002"; }
449
- attribute :>> name = "EnumElementDraft";
450
412
  attribute :>> enumValue = "ElementStatusKind::draft";
451
413
  attribute :>> label = "Draft";
452
414
  attribute :>> enumColor = "#6B7280";
@@ -454,7 +416,6 @@ package memo_viewpoints_rendering {
454
416
 
455
417
  part enumElementInReview : EnumRendering {
456
418
  @MemoIdentity { :>> providedId = "ENUM-ELEM-003"; }
457
- attribute :>> name = "EnumElementInReview";
458
419
  attribute :>> enumValue = "ElementStatusKind::inReview";
459
420
  attribute :>> label = "In Review";
460
421
  attribute :>> enumColor = "#D97706";
@@ -462,7 +423,6 @@ package memo_viewpoints_rendering {
462
423
 
463
424
  part enumElementApproved : EnumRendering {
464
425
  @MemoIdentity { :>> providedId = "ENUM-ELEM-004"; }
465
- attribute :>> name = "EnumElementApproved";
466
426
  attribute :>> enumValue = "ElementStatusKind::approved";
467
427
  attribute :>> label = "Approved";
468
428
  attribute :>> enumColor = "#0F766E";
@@ -470,7 +430,6 @@ package memo_viewpoints_rendering {
470
430
 
471
431
  part enumElementReleased : EnumRendering {
472
432
  @MemoIdentity { :>> providedId = "ENUM-ELEM-005"; }
473
- attribute :>> name = "EnumElementReleased";
474
433
  attribute :>> enumValue = "ElementStatusKind::released";
475
434
  attribute :>> label = "Released";
476
435
  attribute :>> enumColor = "#0F766E";
@@ -478,7 +437,6 @@ package memo_viewpoints_rendering {
478
437
 
479
438
  part enumElementDeprecated : EnumRendering {
480
439
  @MemoIdentity { :>> providedId = "ENUM-ELEM-006"; }
481
- attribute :>> name = "EnumElementDeprecated";
482
440
  attribute :>> enumValue = "ElementStatusKind::deprecated";
483
441
  attribute :>> label = "Deprecated";
484
442
  attribute :>> enumColor = "#B45309";
@@ -486,7 +444,6 @@ package memo_viewpoints_rendering {
486
444
 
487
445
  part enumElementRetired : EnumRendering {
488
446
  @MemoIdentity { :>> providedId = "ENUM-ELEM-007"; }
489
- attribute :>> name = "EnumElementRetired";
490
447
  attribute :>> enumValue = "ElementStatusKind::retired";
491
448
  attribute :>> label = "Retired";
492
449
  attribute :>> enumColor = "#991B1B";
@@ -494,7 +451,6 @@ package memo_viewpoints_rendering {
494
451
 
495
452
  part enumCommentOpen : EnumRendering {
496
453
  @MemoIdentity { :>> providedId = "ENUM-CMT-001"; }
497
- attribute :>> name = "EnumCommentOpen";
498
454
  attribute :>> enumValue = "CommentStatusKind::open";
499
455
  attribute :>> label = "Open";
500
456
  attribute :>> enumColor = "#2563EB";
@@ -502,7 +458,6 @@ package memo_viewpoints_rendering {
502
458
 
503
459
  part enumCommentAcknowledged : EnumRendering {
504
460
  @MemoIdentity { :>> providedId = "ENUM-CMT-002"; }
505
- attribute :>> name = "EnumCommentAcknowledged";
506
461
  attribute :>> enumValue = "CommentStatusKind::acknowledged";
507
462
  attribute :>> label = "Acknowledged";
508
463
  attribute :>> enumColor = "#2563EB";
@@ -510,7 +465,6 @@ package memo_viewpoints_rendering {
510
465
 
511
466
  part enumCommentAddressed : EnumRendering {
512
467
  @MemoIdentity { :>> providedId = "ENUM-CMT-003"; }
513
- attribute :>> name = "EnumCommentAddressed";
514
468
  attribute :>> enumValue = "CommentStatusKind::addressed";
515
469
  attribute :>> label = "Addressed";
516
470
  attribute :>> enumColor = "#0F766E";
@@ -518,7 +472,6 @@ package memo_viewpoints_rendering {
518
472
 
519
473
  part enumCommentResolved : EnumRendering {
520
474
  @MemoIdentity { :>> providedId = "ENUM-CMT-004"; }
521
- attribute :>> name = "EnumCommentResolved";
522
475
  attribute :>> enumValue = "CommentStatusKind::resolved";
523
476
  attribute :>> label = "Resolved";
524
477
  attribute :>> enumColor = "#0F766E";
@@ -526,7 +479,6 @@ package memo_viewpoints_rendering {
526
479
 
527
480
  part enumCommentRejected : EnumRendering {
528
481
  @MemoIdentity { :>> providedId = "ENUM-CMT-005"; }
529
- attribute :>> name = "EnumCommentRejected";
530
482
  attribute :>> enumValue = "CommentStatusKind::rejected";
531
483
  attribute :>> label = "Rejected";
532
484
  attribute :>> enumColor = "#991B1B";
@@ -8,17 +8,16 @@ package memo_viewpoints_requirements_requirements_viewpoint {
8
8
  private import memo_core_common::*;
9
9
  private import memo_core_common::MemoIdentity;
10
10
  viewpoint requirementsViewpoint : MemoViewpoint {
11
- @MemoIdentity { :>> providedId = "VP-REQ"; }
12
- attribute :>> name = "RequirementsViewpoint";
11
+ @MemoIdentity { :>> providedId = "VP-REQ"; :>> label = "RequirementsViewpoint"; }
13
12
  @MemoIdentity { :>> shortDescription = "Shows stakeholder needs and their decomposition into system, software, and hardware requirements."; }
14
- attribute :>> description = "Default viewpoint derived from the requirements layer for requirements traceability — the chain from stakeholder need through system, software, and hardware requirements, supporting IEC 62304 §5.1.1 and ISO 13485 §7.3.3.";
13
+ doc /* Default viewpoint derived from the requirements layer for requirements traceability — the chain from stakeholder need through system, software, and hardware requirements, supporting IEC 62304 §5.1.1 and ISO 13485 §7.3.3. */
15
14
  attribute :>> purpose = "Communicate requirements decomposition and traceability.";
16
- ref :>> stakeholders = (RegulatoryEngineer, SystemArchitect);
15
+ ref :>> stakeholders = (regulatoryEngineer, systemArchitect);
17
16
  attribute :>> stage = WorkflowStageKind::requirements;
18
17
  attribute :>> abstractionLevel = "requirements";
19
18
  attribute :>> outputKind = (ViewOutputKind::diagram, ViewOutputKind::matrix);
20
19
  attribute :>> presentationKind = (PresentationKind::traceMatrix);
21
- ref :>> framedConcerns = (RegulatoryConcern, SafetyConcern);
20
+ ref :>> framedConcerns = (regulatoryConcern, safetyConcern);
22
21
  attribute :>> explorerLane = "assurance";
23
22
  attribute :>> explorerOrder = 1;
24
23
  attribute :>> userExtensible = true;
@@ -10,8 +10,7 @@ package memo_viewpoints_requirements_views_requirements_traceability_view {
10
10
  view requirementsTraceabilityView : MemoDiagramView {
11
11
  expose memo_viewpoints_requirements_views_requirements_traceability_view::*;
12
12
  attribute depth = 2;
13
- @MemoIdentity { :>> providedId = "VIEW-REQ-001"; }
14
- attribute :>> name = "RequirementsTraceabilityView";
13
+ @MemoIdentity { :>> providedId = "VIEW-REQ-001"; :>> label = "RequirementsTraceabilityView"; }
15
14
  @MemoIdentity { :>> shortDescription = "Stakeholder needs traced through system, software, and hardware requirements."; }
16
15
  attribute :>> outputKind = (ViewOutputKind::matrix);
17
16
  attribute :>> presentationKind = (PresentationKind::traceMatrix);
@@ -19,8 +18,7 @@ package memo_viewpoints_requirements_views_requirements_traceability_view {
19
18
  attribute :>> autoPopulate = true;
20
19
  attribute :>> queryDescription = "Include stakeholder needs and requirements with their derivation chain.";
21
20
  part :>> selectionQuery {
22
- @MemoIdentity { :>> providedId = "QRY-REQ-001"; }
23
- attribute :>> name = "RequirementsTraceabilityQuery";
21
+ @MemoIdentity { :>> providedId = "QRY-REQ-001"; :>> label = "RequirementsTraceabilityQuery"; }
24
22
  attribute :>> includeElementKinds = ("Need", "Requirement");
25
23
  attribute :>> includeLayers = ("requirements");
26
24
  attribute :>> rationaleText = "Auto-populate requirements traceability from the requirements layer.";