@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
@@ -1,4 +1,4 @@
1
- // Software Only Medical Device — project identity and method binding.
1
+ // Software Only Medical Device — model identity and method binding.
2
2
  //
3
3
  // The native entrypoint. The imports name what this project contains and the
4
4
  // binding names the methodology it is governed by. No YAML file participates.
@@ -16,15 +16,14 @@ package memo_examples_software_only_medical_device_project {
16
16
 
17
17
  private import memo_core_common::*;
18
18
  private import memo_core_common::MemoIdentity;
19
- part projectBinding : ProjectMethodBinding {
20
- @MemoIdentity { :>> providedId = "PMB-MEDICAL-DEVICE-001"; }
21
- attribute :>> name = "SoftwareOnlyMedicalDeviceProjectMethodBinding";
22
- attribute :>> projectName = "Software Only Medical Device";
19
+ // The cloud extension supplies CloudService, which is what the grading
20
+ // service is. Importing it publicly here is what brings it into the
21
+ // project, its definitions and its selection alike.
22
+ public import memo_extension_cloud::*;
23
+ part projectBinding : ModelMethodBinding {
24
+ @MemoIdentity { :>> providedId = "PMB-MEDICAL-DEVICE-001"; :>> label = "SoftwareOnlyMedicalDeviceModelMethodBinding"; }
25
+ attribute :>> modelName = "Software Only Medical Device";
23
26
  ref :>> selectedMethodology = mdDefaultDefinition;
24
27
  attribute :>> scopeMode = ScopeModeKind::explicit;
25
- // Composition happens here, not by chaining methodologies. The cloud
26
- // extension supplies CloudService, which is what the grading service
27
- // is.
28
- attribute :>> includedModule = "memo_extension_cloud";
29
28
  }
30
29
  }
@@ -1,3 +1,5 @@
1
1
  name: surgical-closure-workflow
2
- entrypoint: model/catalog/project.sysml
2
+ entrypoint: model/methodology/project.sysml
3
3
  include: [model]
4
+ toolchain:
5
+ packager: internal
@@ -21,21 +21,21 @@ package memo_examples_surgical_closure_workflow {
21
21
  // ── Clinical setting and goal ───────────────────────────────
22
22
  part bariatricSurgeon : User {
23
23
  attribute :>> actorKind = ActorKind::clinician;
24
- @MemoIdentity { :>> providedId = "LSG-USR-001"; } attribute :>> name = "BariatricSurgeon";
24
+ @MemoIdentity { :>> providedId = "LSG-USR-001"; }
25
25
  attribute :>> clinicalRole = "primary operating surgeon";
26
26
  }
27
27
  part scrubNurse : User {
28
28
  attribute :>> actorKind = ActorKind::clinician;
29
- @MemoIdentity { :>> providedId = "LSG-USR-002"; } attribute :>> name = "ScrubNurse";
29
+ @MemoIdentity { :>> providedId = "LSG-USR-002"; }
30
30
  attribute :>> clinicalRole = "sterile instrumentation and count";
31
31
  }
32
32
  part anesthetist : User {
33
33
  attribute :>> actorKind = ActorKind::clinician;
34
- @MemoIdentity { :>> providedId = "LSG-USR-003"; } attribute :>> name = "Anesthetist";
34
+ @MemoIdentity { :>> providedId = "LSG-USR-003"; }
35
35
  attribute :>> clinicalRole = "anaesthesia and physiologic monitoring";
36
36
  }
37
37
  part bariatricOr : UseContext {
38
- @MemoIdentity { :>> providedId = "LSG-CTX-001"; } attribute :>> name = "BariatricOperatingRoom";
38
+ @MemoIdentity { :>> providedId = "LSG-CTX-001"; :>> label = "BariatricOperatingRoom"; }
39
39
  attribute :>> careSetting = "hospital operating room";
40
40
  attribute :>> environment = "sterile laparoscopic operating field";
41
41
  attribute :>> connectedUse = false;
@@ -47,57 +47,54 @@ package memo_examples_surgical_closure_workflow {
47
47
  }
48
48
  use case ucPerformSleeveGastrectomy : UseCase {
49
49
  attribute :>> useCaseKind = UseCaseKind::clinical;
50
- @MemoIdentity { :>> providedId = "LSG-UC-001"; }
51
- attribute :>> name = "PerformLaparoscopicSleeveGastrectomy";
50
+ @MemoIdentity { :>> providedId = "LSG-UC-001"; :>> label = "PerformLaparoscopicSleeveGastrectomy"; }
52
51
  attribute :>> goalStatement = "Complete the planned laparoscopic sleeve gastrectomy and transfer the patient with the staple line assessed.";
53
52
  attribute :>> trigger = "patient prepared and surgical time-out complete";
54
53
  attribute :>> successOutcome = "gastric sleeve created, haemostasis and integrity assessed, patient handed over";
55
54
  attribute :>> failureOutcome = "uncontrolled bleeding, suspected staple-line issue, or conversion/escalation";
56
- ref :>> primaryUser = bariatricSurgeon;
57
- ref :>> supportingActors = (scrubNurse, anesthetist);
58
55
  ref :>> useContext = bariatricOr;
59
56
  subject supportingSystem;
60
57
  actor bariatricSurgeonInitiator = bariatricSurgeon;
58
+ actor scrubNurseActor = scrubNurse;
59
+ actor anesthetistActor = anesthetist;
61
60
  }
62
61
  connection : Motivates connect motivatingNeed ::> needControlledGastricResection to motivatedUseCase ::> ucPerformSleeveGastrectomy;
63
62
 
64
63
  // ── Procedure workflow ──────────────────────────────────────
65
- action actTimeOutAndPosition : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ACT-001"; } attribute :>> name = "ConfirmTimeOutAndPosition"; }
66
- action actEstablishAccess : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ACT-002"; } attribute :>> name = "EstablishLaparoscopicAccess"; }
67
- action actMobilizeStomach : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ACT-003"; } attribute :>> name = "MobilizeStomach"; }
64
+ action actTimeOutAndPosition : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ACT-001"; :>> label = "ConfirmTimeOutAndPosition"; } }
65
+ action actEstablishAccess : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ACT-002"; :>> label = "EstablishLaparoscopicAccess"; } }
66
+ action actMobilizeStomach : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ACT-003"; :>> label = "MobilizeStomach"; } }
68
67
  action actSizeAndCreateSleeve : OperativeAction {
69
- @MemoIdentity { :>> providedId = "LSG-ACT-004"; } attribute :>> name = "SizeAndCreateSleeve"; attribute :>> criticality = CriticalityKind::high;
68
+ @MemoIdentity { :>> providedId = "LSG-ACT-004"; :>> label = "SizeAndCreateSleeve"; } attribute :>> criticality = CriticalityKind::high;
70
69
 
71
70
  action taskCreateStapleLine : OperativeAction {
72
71
  attribute :>> criticality = CriticalityKind::high;
73
- @MemoIdentity { :>> providedId = "LSG-TASK-001"; }
74
- attribute :>> name = "CreateAndInspectStapleLine";
72
+ @MemoIdentity { :>> providedId = "LSG-TASK-001"; :>> label = "CreateAndInspectStapleLine"; }
75
73
  attribute :>> taskGoal = "create the planned sleeve and identify bleeding or integrity concerns before completion";
76
74
  attribute :>> potentialHarm = "bleeding or staple-line complication not recognized before handover";
77
75
  attribute :>> severityIfFailed = SeverityKind::serious;
78
76
 
79
- action stConfirmAnatomy : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ST-001"; } attribute :>> name = "ConfirmAnatomy"; }
80
- action stCreateStapleLine : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ST-002"; } attribute :>> name = "CreateStapleLine"; }
81
- action stInspectBleeding : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ST-003"; } attribute :>> name = "InspectForBleeding"; }
82
- action stAssessIntegrity : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ST-004"; } attribute :>> name = "AssessStapleLineIntegrity"; }
77
+ action stConfirmAnatomy : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ST-001"; :>> label = "ConfirmAnatomy"; } }
78
+ action stCreateStapleLine : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ST-002"; :>> label = "CreateStapleLine"; } }
79
+ action stInspectBleeding : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ST-003"; :>> label = "InspectForBleeding"; } }
80
+ action stAssessIntegrity : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ST-004"; :>> label = "AssessStapleLineIntegrity"; } }
83
81
  first stConfirmAnatomy then stCreateStapleLine;
84
82
  first stCreateStapleLine then stInspectBleeding;
85
83
  first stInspectBleeding then stAssessIntegrity;
86
84
  }
87
85
  }
88
- action actAssessStapleLine : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ACT-005"; } attribute :>> name = "AssessStapleLine"; attribute :>> criticality = CriticalityKind::high; }
89
- action actExtractSpecimenAndClose : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ACT-006"; } attribute :>> name = "ExtractSpecimenAndClosePorts"; }
90
- action actHandover : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ACT-007"; } attribute :>> name = "CompletePostoperativeHandover"; }
86
+ action actAssessStapleLine : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ACT-005"; :>> label = "AssessStapleLine"; } attribute :>> criticality = CriticalityKind::high; }
87
+ action actExtractSpecimenAndClose : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ACT-006"; :>> label = "ExtractSpecimenAndClosePorts"; } }
88
+ action actHandover : OperativeAction { @MemoIdentity { :>> providedId = "LSG-ACT-007"; :>> label = "CompletePostoperativeHandover"; } }
91
89
 
92
90
  action wfSleeveGastrectomy : ClinicalProcedureWorkflow {
93
- @MemoIdentity { :>> providedId = "LSG-WF-001"; }
94
- attribute :>> name = "LaparoscopicSleeveGastrectomyWorkflow";
91
+ @MemoIdentity { :>> providedId = "LSG-WF-001"; :>> label = "LaparoscopicSleeveGastrectomyWorkflow"; }
95
92
  attribute :>> workflowState = WorkflowStateKind::toBe;
96
93
  attribute :>> entryCondition = "patient prepared; time-out ready";
97
94
  attribute :>> completionCondition = "staple line assessed; postoperative handover complete";
98
95
  attribute :>> clinicalObjective = "create a gastric sleeve after controlled mobilisation and staple-line assessment";
99
96
  action scNominalSleeveProcedure : OperativeScenario {
100
- @MemoIdentity { :>> providedId = "LSG-SC-001"; } attribute :>> name = "NominalSleeveGastrectomy";
97
+ @MemoIdentity { :>> providedId = "LSG-SC-001"; :>> label = "NominalSleeveGastrectomy"; }
101
98
  attribute :>> pathSummary = "Time-out, access, mobilisation, sleeve creation, staple-line assessment, closure, and handover complete without rework.";
102
99
 
103
100
  perform actTimeOutAndPosition;
@@ -116,11 +113,11 @@ package memo_examples_surgical_closure_workflow {
116
113
  }
117
114
  action scStapleLineBleeding : OperativeScenario {
118
115
  attribute :>> scenarioKind = ScenarioKind::alternate;
119
- @MemoIdentity { :>> providedId = "LSG-SC-002"; } attribute :>> name = "StapleLineBleedingRecovery";
116
+ @MemoIdentity { :>> providedId = "LSG-SC-002"; :>> label = "StapleLineBleedingRecovery"; }
120
117
  attribute :>> pathSummary = "Recognize bleeding, apply the selected control, reassess the staple line, and escalate if the condition remains unresolved.";
121
118
 
122
119
  action oaControlStapleLineBleeding : OperativeAction {
123
- attribute :>> name = "ControlStapleLineBleeding";
120
+ @MemoIdentity { :>> label = "ControlStapleLineBleeding"; }
124
121
  action recognizeBleeding; action controlBleeding; action reassessStapleLine; action escalateIfNeeded;
125
122
  first start then recognizeBleeding; first recognizeBleeding then controlBleeding; first controlBleeding then reassessStapleLine; first reassessStapleLine then escalateIfNeeded; first escalateIfNeeded then done;
126
123
  }
@@ -1,4 +1,4 @@
1
- // Surgical Closure Workflow — project identity and method binding.
1
+ // Surgical Closure Workflow — model identity and method binding.
2
2
  //
3
3
  // The native entrypoint. The imports name what this project contains and the
4
4
  // binding names the methodology it is governed by. No YAML file participates.
@@ -16,10 +16,12 @@ package memo_examples_surgical_closure_workflow_project {
16
16
 
17
17
  private import memo_core_common::*;
18
18
  private import memo_core_common::MemoIdentity;
19
- part projectBinding : ProjectMethodBinding {
20
- @MemoIdentity { :>> providedId = "PMB-CLOSURE-WORKFLOW-001"; }
21
- attribute :>> name = "SurgicalClosureWorkflowProjectMethodBinding";
22
- attribute :>> projectName = "Surgical Closure Workflow";
19
+ // The workflow is a ClinicalProcedureWorkflow, so the project brings in
20
+ // the clinical extension, by importing it publicly here.
21
+ public import memo_extension_clinical::*;
22
+ part projectBinding : ModelMethodBinding {
23
+ @MemoIdentity { :>> providedId = "PMB-CLOSURE-WORKFLOW-001"; :>> label = "SurgicalClosureWorkflowModelMethodBinding"; }
24
+ attribute :>> modelName = "Surgical Closure Workflow";
23
25
  ref :>> selectedMethodology = mdDefaultDefinition;
24
26
  attribute :>> scopeMode = ScopeModeKind::explicit;
25
27
  }
@@ -1,3 +1,5 @@
1
1
  name: surgical-robot
2
- entrypoint: model/catalog/project.sysml
2
+ entrypoint: model/methodology/project.sysml
3
3
  include: [model]
4
+ toolchain:
5
+ packager: internal
@@ -8,17 +8,18 @@ package memo_examples_surgical_robot {
8
8
  private import memo_core_relationships::*;
9
9
  private import memo_architecture_logical_structure::*;
10
10
  private import memo_architecture_implementation_hardware_structure::*;
11
+ private import memo_architecture_realization_physical::*;
11
12
  private import memo_architecture_implementation_ui::*;
12
13
 
13
14
  private import memo_core_common::*;
14
15
  private import memo_core_common::MemoIdentity;
15
16
  // Control channels: primary + diverse monitor, with declared independence.
16
17
  part chMotionPrimary : LogicalComponent {
17
- @MemoIdentity { :>> providedId = "SR-LC-001"; } attribute :>> name = "MotionControlChannel";
18
+ @MemoIdentity { :>> providedId = "SR-LC-001"; :>> label = "MotionControlChannel"; }
18
19
  attribute :>> channelRole = ChannelRoleKind::primary;
19
20
  }
20
21
  part chMotionMonitor : LogicalComponent {
21
- @MemoIdentity { :>> providedId = "SR-LC-002"; } attribute :>> name = "MotionMonitorChannel";
22
+ @MemoIdentity { :>> providedId = "SR-LC-002"; :>> label = "MotionMonitorChannel"; }
22
23
  attribute :>> channelRole = ChannelRoleKind::monitor;
23
24
  attribute :>> diversityBasis = "independent encoder set and diverse processor family";
24
25
  }
@@ -29,33 +30,34 @@ package memo_examples_surgical_robot {
29
30
 
30
31
  // Interlock: instrument exchange blocked while arm is in motion.
31
32
  part chExchangeInterlock : LogicalComponent {
32
- @MemoIdentity { :>> providedId = "SR-LC-003"; } attribute :>> name = "InstrumentExchangeInterlock";
33
+ @MemoIdentity { :>> providedId = "SR-LC-003"; :>> label = "InstrumentExchangeInterlock"; }
33
34
  attribute :>> channelRole = ChannelRoleKind::interlock;
34
35
  }
35
36
 
36
- // Mechanical-force flow from actuator to instrument tip.
37
- part exTipForce : LogicalExchange {
38
- @MemoIdentity { :>> providedId = "SR-EX-001"; } attribute :>> name = "TipForceTransmission";
39
- attribute :>> contentKind = FlowContentKind::mechanicalForce;
40
- attribute :>> direction = DirectionKind::output;
41
- }
42
37
  part actJointDrive : Actuator {
43
- @MemoIdentity { :>> providedId = "SR-HW-001"; } attribute :>> name = "JointDriveActuator";
38
+ @MemoIdentity { :>> providedId = "SR-HW-001"; :>> label = "JointDriveActuator"; }
44
39
  attribute :>> actuationKind = "brushless DC servo with harmonic drive";
40
+ out port pDriveOut : PhysicalPort;
45
41
  }
46
42
  part instrShaft : MechanicalPart {
47
- @MemoIdentity { :>> providedId = "SR-HW-002"; } attribute :>> name = "InstrumentShaft";
43
+ in port pDriveIn : PhysicalPort;
44
+ @MemoIdentity { :>> providedId = "SR-HW-002"; :>> label = "InstrumentShaft"; }
48
45
  attribute :>> mechanicalFunction = "transmits actuation to end effector";
49
46
  attribute :>> patientContact = true;
50
47
  attribute :>> contactNature = "internal tissue, direct";
51
48
  attribute :>> contactDuration = "limited (<24 h)";
52
49
  }
50
+ // Mechanical-force flow from actuator to instrument tip.
51
+ flow exTipForce : LogicalExchange from actJointDrive.pDriveOut to instrShaft.pDriveIn {
52
+ @MemoIdentity { :>> providedId = "SR-EX-001"; :>> label = "TipForceTransmission"; }
53
+ attribute :>> contentKind = FlowContentKind::mechanicalForce;
54
+ }
53
55
 
54
56
  // Surgeon console: haptic feedback element. The grip is hardware the
55
57
  // surgeon holds, so it is an OperatorInterfaceElement (a PhysicalComponent)
56
58
  // rather than a UIElement — UIElement is software.
57
59
  part elHapticGrip : OperatorInterfaceElement {
58
- @MemoIdentity { :>> providedId = "SR-UI-001"; } attribute :>> name = "HapticMasterGrip";
60
+ @MemoIdentity { :>> providedId = "SR-UI-001"; :>> label = "HapticMasterGrip"; }
59
61
  attribute :>> formKind = OperatorInterfaceFormKind::hapticIndicator;
60
62
  attribute :>> guardedAgainstInadvertentActuation = true;
61
63
  }
@@ -1,4 +1,4 @@
1
- // Surgical Robot — project identity and method binding.
1
+ // Surgical Robot — model identity and method binding.
2
2
  //
3
3
  // The native entrypoint. The imports name what this project contains and the
4
4
  // binding names the methodology it is governed by. No YAML file participates.
@@ -16,10 +16,9 @@ package memo_examples_surgical_robot_project {
16
16
 
17
17
  private import memo_core_common::*;
18
18
  private import memo_core_common::MemoIdentity;
19
- part projectBinding : ProjectMethodBinding {
20
- @MemoIdentity { :>> providedId = "PMB-SURGICAL-ROBOT-001"; }
21
- attribute :>> name = "SurgicalRobotProjectMethodBinding";
22
- attribute :>> projectName = "Surgical Robot";
19
+ part projectBinding : ModelMethodBinding {
20
+ @MemoIdentity { :>> providedId = "PMB-SURGICAL-ROBOT-001"; :>> label = "SurgicalRobotModelMethodBinding"; }
21
+ attribute :>> modelName = "Surgical Robot";
23
22
  ref :>> selectedMethodology = mdDefaultDefinition;
24
23
  attribute :>> scopeMode = ScopeModeKind::explicit;
25
24
  }
@@ -23,6 +23,7 @@ accepts its decision, merge, accept/send, termination and guard syntax, and
23
23
 
24
24
  | View | Diagram type | View kind | Renders |
25
25
  | --- | --- | --- | --- |
26
+ | `drill_down_view.sysml` | `ibd`, `afd` | interconnection, actionflow | Ways into a lower level from a usage typed by a definition: a part and an action with an authored child view (`gearboxInside`, `calibrateDetail`), a part with parts two levels deep and no view (`motor`), a part with only ports (`controller`), and an action with child steps and no view. |
26
27
  | `tree_view.sysml` | `bdd` | general | Block Definition Diagram — a decomposition hierarchy. |
27
28
  | `interconnection_view.sysml` | `ibd` | interconnection | Internal Block Diagram — nested parts, boundary ports, typed connectors. |
28
29
  | `action_flow_view.sysml` | `afd` | actionflow | Activity / action flow — actions, item flows, successions. |