@memoarchitect/ontology 0.8.22 → 0.10.9

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 (240) hide show
  1. package/README.md +1 -1
  2. package/examples/connected-patient-monitor/memo.package.yaml +3 -0
  3. package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +9 -7
  4. package/examples/connected-patient-monitor/model/catalog/project.sysml +3 -1
  5. package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/views/connected_patient_monitor_overview.sysml +1 -1
  6. package/examples/embedded-infusion-pump/memo.package.yaml +3 -0
  7. package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +11 -9
  8. package/examples/embedded-infusion-pump/model/catalog/project.sysml +3 -1
  9. package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/views/embedded_infusion_pump_overview.sysml +1 -1
  10. package/examples/functional-logical-physical/memo.package.yaml +3 -0
  11. package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +9 -7
  12. package/examples/functional-logical-physical/model/catalog/project.sysml +3 -1
  13. package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/views/functional_logical_physical_overview.sysml +1 -1
  14. package/examples/gpca-pump/memo.identity.yaml +2179 -0
  15. package/examples/gpca-pump/memo.package.yaml +3 -0
  16. package/examples/gpca-pump/methodology/gpca_profiles.sysml +3 -1
  17. package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +29 -27
  18. package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +115 -114
  19. package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +42 -41
  20. package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +26 -25
  21. package/examples/gpca-pump/model/catalog/gpca_context.sysml +27 -23
  22. package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +15 -15
  23. package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +42 -40
  24. package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +198 -197
  25. package/examples/gpca-pump/model/catalog/gpca_operational.sysml +146 -180
  26. package/examples/gpca-pump/model/catalog/gpca_physical.sysml +8 -6
  27. package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +290 -288
  28. package/examples/gpca-pump/model/catalog/gpca_risk.sysml +164 -163
  29. package/examples/gpca-pump/model/catalog/gpca_standards.sysml +44 -43
  30. package/examples/gpca-pump/model/catalog/gpca_system.sysml +21 -33
  31. package/examples/gpca-pump/model/catalog/gpca_trace.sysml +10 -11
  32. package/examples/gpca-pump/model/catalog/gpca_verification.sysml +62 -61
  33. package/examples/gpca-pump/model/catalog/project.sysml +3 -1
  34. package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +7 -7
  35. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +7 -7
  36. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +6 -7
  37. package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +7 -8
  38. package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +6 -6
  39. package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +6 -6
  40. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +6 -6
  41. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +8 -9
  42. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +6 -6
  43. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_logical_architecture_view.sysml +6 -6
  44. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +6 -6
  45. package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +6 -6
  46. package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +7 -7
  47. package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +6 -6
  48. package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +6 -6
  49. package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +8 -9
  50. package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +6 -6
  51. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +6 -7
  52. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +6 -7
  53. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +6 -6
  54. package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_risk_chain_view.sysml +6 -6
  55. package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +6 -7
  56. package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +6 -6
  57. package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +8 -9
  58. package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +6 -7
  59. package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +6 -6
  60. package/examples/ivd-laboratory-system/memo.package.yaml +3 -0
  61. package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +10 -8
  62. package/examples/ivd-laboratory-system/model/catalog/project.sysml +3 -1
  63. package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/views/ivd_laboratory_system_overview.sysml +1 -1
  64. package/examples/manual-surgical-instrument/memo.package.yaml +3 -0
  65. package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +7 -5
  66. package/examples/manual-surgical-instrument/model/catalog/project.sysml +3 -1
  67. package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/views/manual_surgical_instrument_overview.sysml +1 -1
  68. package/examples/multidimensional-layers/memo.package.yaml +3 -0
  69. package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +6 -4
  70. package/examples/multidimensional-layers/model/catalog/project.sysml +3 -1
  71. package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/views/multidimensional_layers_overview.sysml +0 -1
  72. package/examples/nested-architecture-dsm/memo.package.yaml +3 -0
  73. package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +20 -18
  74. package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +20 -18
  75. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +6 -4
  76. package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +9 -7
  77. package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +18 -16
  78. package/examples/nested-architecture-dsm/model/catalog/project.sysml +3 -1
  79. package/examples/reusable-instrument/memo.package.yaml +3 -0
  80. package/examples/reusable-instrument/model/catalog/project.sysml +3 -1
  81. package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +23 -31
  82. package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/views/reusable_instrument_overview.sysml +0 -1
  83. package/examples/ros-mobile-robot/memo.package.yaml +3 -0
  84. package/examples/ros-mobile-robot/model/catalog/project.sysml +3 -1
  85. package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +18 -16
  86. package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/views/ros_mobile_robot_overview.sysml +0 -1
  87. package/examples/software-only-medical-device/memo.package.yaml +3 -0
  88. package/examples/software-only-medical-device/model/catalog/project.sysml +3 -1
  89. package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +11 -9
  90. package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/views/software_only_medical_device_overview.sysml +0 -1
  91. package/examples/surgical-closure-workflow/memo.package.yaml +3 -0
  92. package/examples/surgical-closure-workflow/model/catalog/project.sysml +3 -1
  93. package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +56 -69
  94. package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/views/surgical_closure_workflow_overview.sysml +0 -1
  95. package/examples/surgical-robot/memo.package.yaml +3 -0
  96. package/examples/surgical-robot/model/catalog/project.sysml +3 -1
  97. package/examples/surgical-robot/model/catalog/surgical_robot.sysml +9 -7
  98. package/examples/surgical-robot/model/catalog/viewpoints/unassigned/views/surgical_robot_overview.sysml +0 -1
  99. package/examples/sysml-diagram-samples/memo.package.yaml +2 -0
  100. package/examples/sysml-diagram-samples/model/catalog/project.sysml +3 -1
  101. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +12 -11
  102. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +8 -7
  103. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +4 -3
  104. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +3 -3
  105. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +17 -16
  106. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +9 -8
  107. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +4 -3
  108. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +3 -3
  109. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +4 -3
  110. package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +12 -9
  111. package/examples/temperature-alarm/memo.identity.yaml +64 -0
  112. package/examples/temperature-alarm/memo.package.yaml +3 -0
  113. package/examples/temperature-alarm/model/catalog/project.sysml +3 -1
  114. package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +30 -29
  115. package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/views/temperature_alarm_overview.sysml +0 -1
  116. package/examples/ui-screen-regions/memo.package.yaml +3 -0
  117. package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +14 -12
  118. package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +35 -33
  119. package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +8 -6
  120. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +14 -13
  121. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +4 -2
  122. package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +4 -2
  123. package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +12 -10
  124. package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +3 -1
  125. package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +14 -12
  126. package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +17 -15
  127. package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +10 -9
  128. package/examples/ui-screen-regions/model/catalog/project.sysml +3 -1
  129. package/examples/ui-screen-regions/model/catalog/relationships.sysml +2 -2
  130. package/examples/ui-screen-regions/model/catalog/traces.sysml +0 -2
  131. package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +6 -5
  132. package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +6 -5
  133. package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +6 -5
  134. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +4 -3
  135. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +4 -3
  136. package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +4 -3
  137. package/extensions/aadl/memo.package.yaml +1 -1
  138. package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +23 -21
  139. package/extensions/aadl/src/methodology/aadl_methodology.sysml +3 -1
  140. package/extensions/clinical/src/methodology/clinical_methodology.sysml +3 -1
  141. package/extensions/cloud/memo.package.yaml +1 -1
  142. package/extensions/cloud/src/methodology/cloud_methodology.sysml +3 -1
  143. package/extensions/container/memo.package.yaml +1 -1
  144. package/extensions/container/src/container_extension.sysml +2 -2
  145. package/extensions/container/src/methodology/container_methodology.sysml +3 -1
  146. package/extensions/messaging/memo.package.yaml +1 -1
  147. package/extensions/messaging/src/methodology/messaging_methodology.sysml +3 -1
  148. package/extensions/ros/memo.package.yaml +1 -1
  149. package/extensions/ros/src/methodology/ros_methodology.sysml +3 -1
  150. package/extensions/template/src/extension.sysml +3 -1
  151. package/methodologies/default/memo.package.yaml +1 -1
  152. package/methodologies/gpca/memo.package.yaml +1 -1
  153. package/ontology/memo.package.yaml +1 -1
  154. package/package.json +2 -2
  155. package/profile/memo.package.yaml +1 -1
  156. package/src/architecture/functional/behavior/memo_behavior.sysml +5 -5
  157. package/src/architecture/functional/functions/memo_functions.sysml +6 -6
  158. package/src/architecture/implementation/hardware/common/memo_hardware_common.sysml +12 -2
  159. package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +0 -11
  160. package/src/architecture/implementation/software/structure/memo_software_structure.sysml +7 -7
  161. package/src/architecture/implementation/ui/memo_ui.sysml +8 -31
  162. package/src/architecture/logical/interfaces/memo_interfaces.sysml +4 -2
  163. package/src/architecture/logical/structure/memo_logical_structure.sysml +5 -5
  164. package/src/architecture/operational/activities/memo_activities.sysml +19 -28
  165. package/src/architecture/operational/context/actors/memo_actors.sysml +5 -4
  166. package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +7 -7
  167. package/src/architecture/operational/context/use_context/memo_use_context.sysml +5 -14
  168. package/src/architecture/operational/scenarios/memo_scenarios.sysml +12 -104
  169. package/src/architecture/operational/structure/memo_operational.sysml +42 -13
  170. package/src/architecture/operational/use_cases/memo_use_cases.sysml +7 -12
  171. package/src/architecture/operational/workflows/memo_workflows.sysml +20 -42
  172. package/src/architecture/realization/deployment/memo_deployment.sysml +26 -19
  173. package/src/architecture/realization/physical/memo_physical_architecture.sysml +8 -2
  174. package/src/artifacts/standards/cfr_21_820.sysml +80 -89
  175. package/src/artifacts/standards/fda_cybersecurity_2023.sysml +45 -49
  176. package/src/artifacts/standards/iec_60601_1.sysml +108 -121
  177. package/src/artifacts/standards/iec_60601_1_2.sysml +31 -33
  178. package/src/artifacts/standards/iec_60812.sysml +21 -22
  179. package/src/artifacts/standards/iec_62304.sysml +150 -169
  180. package/src/artifacts/standards/iec_62366_1.sysml +80 -89
  181. package/src/artifacts/standards/iec_81001_5_1.sysml +52 -57
  182. package/src/artifacts/standards/iso_13485.sysml +80 -89
  183. package/src/artifacts/standards/iso_14971.sysml +66 -73
  184. package/src/artifacts/standards/iso_iec_ieee_42010.sysml +15 -15
  185. package/src/artifacts/templates/dhf/system/sad.md +3 -3
  186. package/src/assurance/cybersecurity/memo_cybersecurity.sysml +2 -2
  187. package/src/assurance/human_factors/memo_human_factors.sysml +2 -2
  188. package/src/assurance/requirements/memo_requirements.sysml +2 -18
  189. package/src/assurance/safety_risk/analysis/memo_fmea.sysml +1 -1
  190. package/src/assurance/safety_risk/memo_risk.sysml +12 -0
  191. package/src/assurance/verification_validation/memo_assurance.sysml +7 -12
  192. package/src/core/common/memo_common.sysml +59 -55
  193. package/src/core/enumerations/memo_enumerations.sysml +1 -1
  194. package/src/core/relationships/memo_relationships.sysml +29 -56
  195. package/src/methodology/archetypes/memo_archetypes.sysml +10 -8
  196. package/src/methodology/core/memo_core.sysml +0 -10
  197. package/src/methodology/profiles/memo_profiles.sysml +18 -16
  198. package/src/methodology/workflow/memo_workflow.sysml +5 -5
  199. package/src/rules/closure/closure_rules.sysml +22 -20
  200. package/src/rules/crosslayer/cross_layer_rules.sysml +4 -2
  201. package/src/rules/ontology/ontology_invariants.sysml +121 -48
  202. package/src/rules/quantitative/quantitative_rules.sysml +4 -2
  203. package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +58 -57
  204. package/src/viewpoints/clinical/clinical_viewpoint.sysml +5 -4
  205. package/src/viewpoints/context/context_viewpoint.sysml +6 -5
  206. package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +6 -5
  207. package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +6 -6
  208. package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +36 -4
  209. package/src/viewpoints/functional/functional_viewpoint.sysml +6 -5
  210. package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +6 -5
  211. package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +6 -5
  212. package/src/viewpoints/logical/logical_viewpoint.sysml +5 -4
  213. package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +6 -5
  214. package/src/viewpoints/operational/operational_viewpoint.sysml +6 -5
  215. package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +7 -6
  216. package/src/viewpoints/physical/physical_viewpoint.sysml +5 -4
  217. package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +6 -5
  218. package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +6 -5
  219. package/src/viewpoints/rendering/memo_rendering.sysml +220 -40
  220. package/src/viewpoints/requirements/requirements_viewpoint.sysml +5 -4
  221. package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +6 -5
  222. package/src/viewpoints/risk/risk_viewpoint.sysml +5 -4
  223. package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +6 -5
  224. package/src/viewpoints/software/software_viewpoint.sysml +5 -4
  225. package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +6 -5
  226. package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +5 -4
  227. package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +3 -1
  228. package/src/viewpoints/usability/usability_viewpoint.sysml +5 -4
  229. package/src/viewpoints/verification/verification_viewpoint.sysml +5 -4
  230. package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +6 -5
  231. package/templates/connected-device/memo.package.yaml +2 -0
  232. package/templates/connected-device/model/catalog/project.sysml +3 -1
  233. package/templates/default/memo.package.yaml +2 -0
  234. package/templates/default/model/catalog/project.sysml +3 -1
  235. package/templates/infusion-pump/memo.package.yaml +2 -0
  236. package/templates/infusion-pump/model/catalog/project.sysml +3 -1
  237. package/templates/monitoring-device/memo.package.yaml +2 -0
  238. package/templates/monitoring-device/model/catalog/project.sysml +3 -1
  239. package/templates/samd/memo.package.yaml +2 -0
  240. package/templates/samd/model/catalog/project.sysml +3 -1
@@ -31,8 +31,10 @@ package memo_examples_ui_screen_regions_project {
31
31
  private import memo_examples_ui_screen_regions_viewpoints_functional::*;
32
32
  private import memo_examples_ui_screen_regions_viewpoints_risk::*;
33
33
 
34
+ private import memo_core_common::*;
35
+ private import memo_core_common::MemoIdentity;
34
36
  part uiScreenRegionsBinding : ProjectMethodBinding {
35
- attribute :>> id = "PMB-UIR-001";
37
+ @MemoIdentity { :>> providedId = "PMB-UIR-001"; }
36
38
  attribute :>> name = "UIScreenRegionsProjectMethodBinding";
37
39
  attribute :>> projectName = "UI Screen Regions";
38
40
  // The default methodology selects everything the resolved ontology
@@ -3,6 +3,6 @@ package memo_examples_ui_screen_regions_relationships {
3
3
  private import memo_assurance_safety_risk::*;
4
4
  private import memo_examples_ui_screen_regions_architecture_implementation_ui::*;
5
5
  private import memo_examples_ui_screen_regions_assurance_requirements::*;
6
- connection rel_tracesRisk_uiElement12_reqDrugIdentityDisplay : TracesRisk connect sourceRiskElement ::> uiElement12 to targetRiskElement ::> reqDrugIdentityDisplay;
7
- connection rel_changes_uiElement12_reqDrugIdentityDisplay : Changes connect changeRequest ::> uiElement12 to changedElement ::> reqDrugIdentityDisplay;
6
+ connection rel_tracesRisk_uiElement12_reqDrugIdentityDisplay : TracesRisk connect sourceRiskElement ::> elMainScreen::uiElement12 to targetRiskElement ::> reqDrugIdentityDisplay;
7
+ connection rel_changes_uiElement12_reqDrugIdentityDisplay : Changes connect changeRequest ::> elMainScreen::uiElement12 to changedElement ::> reqDrugIdentityDisplay;
8
8
  }
@@ -172,8 +172,6 @@ package memo_examples_ui_screen_regions_traces {
172
172
 
173
173
  // A reply is a child of the comment it answers — ordinary Composes, so
174
174
  // thread cycles are already forbidden by CR-ONT-001.
175
- connection : Composes connect parent ::> cmtStatusBarScope to child ::> cmtStatusBarReply;
176
175
 
177
- connection rel_composes_elMainScreen_uiElement12 : Composes connect parent ::> elMainScreen to child ::> uiElement12;
178
176
 
179
177
  }
@@ -29,6 +29,8 @@ package memo_examples_ui_screen_regions_viewpoints_functional_views_ui_functiona
29
29
  private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
30
30
  private import memo_examples_ui_screen_regions_traces::*;
31
31
 
32
+ private import memo_core_common::*;
33
+ private import memo_core_common::MemoIdentity;
32
34
  view uiFunctionalTree : MemoDiagramView {
33
35
  expose memo_examples_ui_screen_regions_architecture_implementation_ui::*;
34
36
  expose memo_examples_ui_screen_regions_architecture_functional_functions::*;
@@ -43,20 +45,19 @@ package memo_examples_ui_screen_regions_viewpoints_functional_views_ui_functiona
43
45
  expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
44
46
  expose memo_examples_ui_screen_regions_traces::*;
45
47
  attribute depth = 3;
46
- attribute :>> id = "FUN-101";
47
- attribute :>> title = "Infusion UI Functional Tree";
48
- attribute :>> shortDescription = "Display-management functions, invoked actions, and UI allocation.";
48
+ @MemoIdentity { :>> providedId = "FUN-101"; }
49
+ @MemoIdentity { :>> shortDescription = "Display-management functions, invoked actions, and UI allocation."; }
49
50
  attribute :>> viewKind = DiagramViewKind::general;
50
51
  attribute :>> diagramType = "bdd";
51
52
  attribute :>> autoPopulate = true;
52
53
  part :>> selectionQuery {
53
- attribute :>> id = "QRY-102";
54
+ @MemoIdentity { :>> providedId = "QRY-102"; }
54
55
  attribute :>> name = "UIFunctionalTreeQuery";
55
56
  attribute :>> includeElementKinds = ("SystemFunction", "UIAction", "UIElement", "UserInterface");
56
57
  attribute :>> includeRelationshipKinds = ("Composes", "ElementTriggersAction", "Performs", "AllocatedTo");
57
58
  attribute :>> includeLayers = ("functions", "implementation");
58
59
  attribute :>> rationaleText = "Show function decomposition from interaction to allocated user interface.";
59
60
  }
60
- part :>> viewpointDefinition = functionalViewpoint;
61
+ ref :>> viewpointDefinition = functionalViewpoint;
61
62
  }
62
63
  }
@@ -29,6 +29,8 @@ package memo_examples_ui_screen_regions_viewpoints_requirements_views_ui_require
29
29
  private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
30
30
  private import memo_examples_ui_screen_regions_traces::*;
31
31
 
32
+ private import memo_core_common::*;
33
+ private import memo_core_common::MemoIdentity;
32
34
  view uiRequirementsTrace : MemoDiagramView {
33
35
  expose memo_examples_ui_screen_regions_architecture_implementation_ui::*;
34
36
  expose memo_examples_ui_screen_regions_architecture_functional_functions::*;
@@ -43,20 +45,19 @@ package memo_examples_ui_screen_regions_viewpoints_requirements_views_ui_require
43
45
  expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
44
46
  expose memo_examples_ui_screen_regions_traces::*;
45
47
  attribute depth = 3;
46
- attribute :>> id = "REQ-101";
47
- attribute :>> title = "UI Requirements Traceability";
48
- attribute :>> shortDescription = "Clinical need through UI requirements to satisfying regions and functions.";
48
+ @MemoIdentity { :>> providedId = "REQ-101"; }
49
+ @MemoIdentity { :>> shortDescription = "Clinical need through UI requirements to satisfying regions and functions."; }
49
50
  attribute :>> viewKind = DiagramViewKind::grid;
50
51
  attribute :>> diagramType = "req";
51
52
  attribute :>> autoPopulate = true;
52
53
  part :>> selectionQuery {
53
- attribute :>> id = "QRY-101";
54
+ @MemoIdentity { :>> providedId = "QRY-101"; }
54
55
  attribute :>> name = "UIRequirementsTraceQuery";
55
56
  attribute :>> includeElementKinds = ("Need", "Requirement", "UIElement", "SystemFunction", "VerificationCase");
56
57
  attribute :>> includeRelationshipKinds = ("DerivesFrom", "SatisfiedBy", "VerifiedBy");
57
58
  attribute :>> includeLayers = ("requirements", "implementation", "functions", "assurance");
58
59
  attribute :>> rationaleText = "Show the example's requirement derivation and satisfaction chain.";
59
60
  }
60
- part :>> viewpointDefinition = requirementsViewpoint;
61
+ ref :>> viewpointDefinition = requirementsViewpoint;
61
62
  }
62
63
  }
@@ -29,6 +29,8 @@ package memo_examples_ui_screen_regions_viewpoints_risk_views_ui_risk_chain {
29
29
  private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
30
30
  private import memo_examples_ui_screen_regions_traces::*;
31
31
 
32
+ private import memo_core_common::*;
33
+ private import memo_core_common::MemoIdentity;
32
34
  view uiRiskChain : MemoDiagramView {
33
35
  expose memo_examples_ui_screen_regions_architecture_implementation_ui::*;
34
36
  expose memo_examples_ui_screen_regions_architecture_functional_functions::*;
@@ -43,20 +45,19 @@ package memo_examples_ui_screen_regions_viewpoints_risk_views_ui_risk_chain {
43
45
  expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
44
46
  expose memo_examples_ui_screen_regions_traces::*;
45
47
  attribute depth = 3;
46
- attribute :>> id = "RSK-101";
47
- attribute :>> title = "UI Risk and Control Chains";
48
- attribute :>> shortDescription = "Use errors through UI hazards to implemented controls and requirements.";
48
+ @MemoIdentity { :>> providedId = "RSK-101"; }
49
+ @MemoIdentity { :>> shortDescription = "Use errors through UI hazards to implemented controls and requirements."; }
49
50
  attribute :>> viewKind = DiagramViewKind::general;
50
51
  attribute :>> diagramType = "risk";
51
52
  attribute :>> autoPopulate = true;
52
53
  part :>> selectionQuery {
53
- attribute :>> id = "QRY-103";
54
+ @MemoIdentity { :>> providedId = "QRY-103"; }
54
55
  attribute :>> name = "UIRiskChainQuery";
55
56
  attribute :>> includeElementKinds = ("UseError", "Hazard", "RiskControlMeasure", "Requirement", "UIElement", "SystemFunction", "VerificationCase");
56
57
  attribute :>> includeRelationshipKinds = ("ErrorAtElement", "Causes", "Mitigates", "ControlImplementedBy", "DerivesFrom", "VerifiedBy");
57
58
  attribute :>> includeLayers = ("human_factors", "risk", "requirements", "implementation", "functions", "assurance");
58
59
  attribute :>> rationaleText = "Show both misread-rate and wrong-drug UI risk-control chains.";
59
60
  }
60
- part :>> viewpointDefinition = riskViewpoint;
61
+ ref :>> viewpointDefinition = riskViewpoint;
61
62
  }
62
63
  }
@@ -29,6 +29,8 @@ package memo_examples_ui_screen_regions_viewpoints_ui_layout_views_main_screen_l
29
29
  private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
30
30
  private import memo_examples_ui_screen_regions_traces::*;
31
31
 
32
+ private import memo_core_common::*;
33
+ private import memo_core_common::MemoIdentity;
32
34
  // The geometry view: the capture as backdrop, elements drawn at their
33
35
  // authored bounds. Images for a layout view live in
34
36
  // `model/assets/<viewName>/`, so this view's backdrop is under
@@ -50,8 +52,7 @@ package memo_examples_ui_screen_regions_viewpoints_ui_layout_views_main_screen_l
50
52
  expose memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
51
53
  expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
52
54
  expose memo_examples_ui_screen_regions_traces::*;
53
- attribute :>> id = "UIE-001";
54
- attribute :>> title = "Main Infusion Screen — Region Layout";
55
- part :>> viewpointDefinition = uiLayoutViewpoint;
55
+ @MemoIdentity { :>> providedId = "UIE-001"; }
56
+ ref :>> viewpointDefinition = uiLayoutViewpoint;
56
57
  }
57
58
  }
@@ -29,6 +29,8 @@ package memo_examples_ui_screen_regions_viewpoints_ui_layout_views_settings_scre
29
29
  private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
30
30
  private import memo_examples_ui_screen_regions_traces::*;
31
31
 
32
+ private import memo_core_common::*;
33
+ private import memo_core_common::MemoIdentity;
32
34
  // The settings screen reached by NavigatesTo, rendered on its own capture.
33
35
  // One layout view per captured screen, and the view's name is the folder
34
36
  // its images live in — `model/assets/settingsScreenLayout/`.
@@ -45,8 +47,7 @@ package memo_examples_ui_screen_regions_viewpoints_ui_layout_views_settings_scre
45
47
  expose memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
46
48
  expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
47
49
  expose memo_examples_ui_screen_regions_traces::*;
48
- attribute :>> id = "UIE-008";
49
- attribute :>> title = "Infusion Settings Screen — Region Layout";
50
- part :>> viewpointDefinition = uiLayoutViewpoint;
50
+ @MemoIdentity { :>> providedId = "UIE-008"; }
51
+ ref :>> viewpointDefinition = uiLayoutViewpoint;
51
52
  }
52
53
  }
@@ -29,6 +29,8 @@ package memo_examples_ui_screen_regions_viewpoints_ui_layout_views_ui_region_tra
29
29
  private import memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
30
30
  private import memo_examples_ui_screen_regions_traces::*;
31
31
 
32
+ private import memo_core_common::*;
33
+ private import memo_core_common::MemoIdentity;
32
34
  // The same content as a graph, for reviewers who want to read the trace
33
35
  // chain rather than look at the screen.
34
36
  view uiRegionTrace : MemoDiagramView {
@@ -44,11 +46,10 @@ package memo_examples_ui_screen_regions_viewpoints_ui_layout_views_ui_region_tra
44
46
  expose memo_examples_ui_screen_regions_artifacts_reviews_rationales::*;
45
47
  expose memo_examples_ui_screen_regions_artifacts_reviews_notes::*;
46
48
  expose memo_examples_ui_screen_regions_traces::*;
47
- attribute :>> id = "UIV-001";
49
+ @MemoIdentity { :>> providedId = "UIV-001"; }
48
50
  attribute depth = 3;
49
- attribute :>> title = "UI Region Traceability";
50
51
  attribute :>> viewKind = DiagramViewKind::general;
51
52
  attribute :>> diagramType = "bdd";
52
- part :>> viewpointDefinition = uiLayoutViewpoint;
53
+ ref :>> viewpointDefinition = uiLayoutViewpoint;
53
54
  }
54
55
  }
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/extension-aadl'
10
- version: 0.8.22
10
+ version: 0.8.24
11
11
  description: AADL (SAE AS5506) correspondence profile and runtime component families
12
12
  license: MIT
13
13
  tags:
@@ -19,42 +19,44 @@ package memo_extension_aadl_correspondence {
19
19
 
20
20
  private import memo_architecture_operational_context_stakeholders::*;
21
21
 
22
+ private import memo_core_common::*;
23
+ private import memo_core_common::MemoIdentity;
22
24
  // ── Component categories ────────────────────────────────────────────
23
25
  part aadlCorrProcess : CorrespondenceRule {
24
- attribute :>> id = "EXT-AADL-C-001";
26
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-001"; }
25
27
  attribute :>> name = "ProcessCorrespondence";
26
28
  attribute :>> ruleExpression = "memo_extension_aadl_runtime::AadlProcess <-> AADL component category `process`";
27
29
  attribute :>> description = "A MEMO SoftwareComponent with runtimeKind = process, carrying addressSpaceIsolated.";
28
30
  }
29
31
  part aadlCorrThread : CorrespondenceRule {
30
- attribute :>> id = "EXT-AADL-C-002";
32
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-002"; }
31
33
  attribute :>> name = "ThreadCorrespondence";
32
34
  attribute :>> ruleExpression = "memo_extension_aadl_runtime::AadlThread <-> AADL component category `thread`";
33
35
  attribute :>> description = "Schedulable unit inside one process; owningProcessName names the containing process.";
34
36
  }
35
37
  part aadlCorrVirtualProcessor : CorrespondenceRule {
36
- attribute :>> id = "EXT-AADL-C-003";
38
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-003"; }
37
39
  attribute :>> name = "VirtualProcessorCorrespondence";
38
40
  attribute :>> ruleExpression = "memo_extension_aadl_runtime::AadlVirtualProcessor <-> AADL component category `virtual processor`";
39
41
  attribute :>> description = "An ARINC 653 partition. partitionBudget is the guaranteed time and memory; isolationMechanism is what enforces it.";
40
42
  }
41
43
  part aadlCorrProcessor : CorrespondenceRule {
42
- attribute :>> id = "EXT-AADL-C-004";
44
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-004"; }
43
45
  attribute :>> name = "ProcessorCorrespondence";
44
46
  attribute :>> ruleExpression = "memo_architecture_realization_physical::ProcessingNode <-> AADL component category `processor`";
45
47
  }
46
48
  part aadlCorrMemory : CorrespondenceRule {
47
- attribute :>> id = "EXT-AADL-C-005";
49
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-005"; }
48
50
  attribute :>> name = "MemoryCorrespondence";
49
51
  attribute :>> ruleExpression = "memo_architecture_realization_physical::MemoryDevice <-> AADL component category `memory`";
50
52
  }
51
53
  part aadlCorrBus : CorrespondenceRule {
52
- attribute :>> id = "EXT-AADL-C-006";
54
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-006"; }
53
55
  attribute :>> name = "BusCorrespondence";
54
56
  attribute :>> ruleExpression = "memo_architecture_implementation_hardware_electrical::NetworkMedium <-> AADL component category `bus`";
55
57
  }
56
58
  part aadlCorrSystem : CorrespondenceRule {
57
- attribute :>> id = "EXT-AADL-C-007";
59
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-007"; }
58
60
  attribute :>> name = "SystemCorrespondence";
59
61
  attribute :>> ruleExpression = "memo_architecture_logical_structure::System <-> AADL component category `system`";
60
62
  attribute :>> description = "AADL's system is the composition unit, which is MEMO's logical System rather than any runtime element.";
@@ -64,17 +66,17 @@ package memo_extension_aadl_correspondence {
64
66
  // something, and the binding is where latency, bandwidth, and fault
65
67
  // propagation accrue. MEMO has all three (plan C1). ────────────────────
66
68
  part aadlCorrProcessorBinding : CorrespondenceRule {
67
- attribute :>> id = "EXT-AADL-C-010";
69
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-010"; }
68
70
  attribute :>> name = "ActualProcessorBindingCorrespondence";
69
71
  attribute :>> ruleExpression = "memo_architecture_realization_deployment::DeploysTo <-> AADL property `Actual_Processor_Binding`";
70
72
  }
71
73
  part aadlCorrMemoryBinding : CorrespondenceRule {
72
- attribute :>> id = "EXT-AADL-C-011";
74
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-011"; }
73
75
  attribute :>> name = "ActualMemoryBindingCorrespondence";
74
76
  attribute :>> ruleExpression = "memo_architecture_realization_deployment::MemoryBinding <-> AADL property `Actual_Memory_Binding`";
75
77
  }
76
78
  part aadlCorrConnectionBinding : CorrespondenceRule {
77
- attribute :>> id = "EXT-AADL-C-012";
79
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-012"; }
78
80
  attribute :>> name = "ActualConnectionBindingCorrespondence";
79
81
  attribute :>> ruleExpression = "memo_architecture_realization_deployment::ConnectionBinding <-> AADL property `Actual_Connection_Binding`";
80
82
  attribute :>> description = "The bound element is the ComponentExchange, because the exchange is what owns the budget the medium spends.";
@@ -82,18 +84,18 @@ package memo_extension_aadl_correspondence {
82
84
 
83
85
  // ── Ports and flows ─────────────────────────────────────────────────
84
86
  part aadlCorrPortCategory : CorrespondenceRule {
85
- attribute :>> id = "EXT-AADL-C-020";
87
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-020"; }
86
88
  attribute :>> name = "PortCategoryCorrespondence";
87
89
  attribute :>> ruleExpression = "memo_core_enumerations::PortCategoryKind (data | 'event' | eventData) <-> AADL `data port` | `event port` | `event data port`";
88
90
  attribute :>> description = "Determines whether a missed deadline loses a sample or grows a queue — two failure modes with two mitigations.";
89
91
  }
90
92
  part aadlCorrFlowSpec : CorrespondenceRule {
91
- attribute :>> id = "EXT-AADL-C-021";
93
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-021"; }
92
94
  attribute :>> name = "FlowSpecificationCorrespondence";
93
95
  attribute :>> ruleExpression = "memo_architecture_realization_deployment::FlowSpecification (FlowSpecKind source | sink | path) <-> AADL `flow source` | `flow sink` | `flow path`";
94
96
  }
95
97
  part aadlCorrEndToEndFlow : CorrespondenceRule {
96
- attribute :>> id = "EXT-AADL-C-022";
98
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-022"; }
97
99
  attribute :>> name = "EndToEndFlowCorrespondence";
98
100
  attribute :>> ruleExpression = "memo_architecture_realization_deployment::EndToEndFlow <-> AADL `end to end flow`";
99
101
  }
@@ -101,45 +103,45 @@ package memo_extension_aadl_correspondence {
101
103
  // ── Properties. AADL's property sets are the technology-specific half of
102
104
  // the language; these are the ones MEMO already carries by another name.
103
105
  part aadlCorrPeriod : CorrespondenceRule {
104
- attribute :>> id = "EXT-AADL-C-030";
106
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-030"; }
105
107
  attribute :>> name = "PeriodCorrespondence";
106
108
  attribute :>> ruleExpression = "SoftwareComponent.periodMs <-> AADL `Timing_Properties::Period` (ms)";
107
109
  }
108
110
  part aadlCorrDeadline : CorrespondenceRule {
109
- attribute :>> id = "EXT-AADL-C-031";
111
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-031"; }
110
112
  attribute :>> name = "DeadlineCorrespondence";
111
113
  attribute :>> ruleExpression = "SoftwareComponent.deadlineMs <-> AADL `Timing_Properties::Deadline` (ms)";
112
114
  }
113
115
  part aadlCorrComputeExecutionTime : CorrespondenceRule {
114
- attribute :>> id = "EXT-AADL-C-032";
116
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-032"; }
115
117
  attribute :>> name = "ComputeExecutionTimeCorrespondence";
116
118
  attribute :>> ruleExpression = "SoftwareComponent.wcetMs <-> upper bound of AADL `Timing_Properties::Compute_Execution_Time` (ms)";
117
119
  attribute :>> description = "AADL records a range; MEMO records the worst case, which is the bound a schedulability argument uses.";
118
120
  }
119
121
  part aadlCorrPriority : CorrespondenceRule {
120
- attribute :>> id = "EXT-AADL-C-033";
122
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-033"; }
121
123
  attribute :>> name = "PriorityCorrespondence";
122
124
  attribute :>> ruleExpression = "SoftwareComponent.priority <-> AADL `Thread_Properties::Priority`";
123
125
  }
124
126
  part aadlCorrSchedulingProtocol : CorrespondenceRule {
125
- attribute :>> id = "EXT-AADL-C-034";
127
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-034"; }
126
128
  attribute :>> name = "SchedulingProtocolCorrespondence";
127
129
  attribute :>> ruleExpression = "SoftwareComponent.schedulingPolicy <-> AADL `Deployment_Properties::Scheduling_Protocol`";
128
130
  }
129
131
  part aadlCorrLatency : CorrespondenceRule {
130
- attribute :>> id = "EXT-AADL-C-035";
132
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-035"; }
131
133
  attribute :>> name = "LatencyCorrespondence";
132
134
  attribute :>> ruleExpression = "EndToEndFlow.latencyBudgetMs <-> AADL `Communication_Properties::Latency` upper bound (ms)";
133
135
  }
134
136
  part aadlCorrBandwidth : CorrespondenceRule {
135
- attribute :>> id = "EXT-AADL-C-036";
137
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-036"; }
136
138
  attribute :>> name = "BandwidthCorrespondence";
137
139
  attribute :>> ruleExpression = "ConnectionBinding.allocatedBandwidth <-> AADL `Communication_Properties::Bandwidth_Budget`";
138
140
  }
139
141
 
140
142
  // ── Where the correspondence stops ──────────────────────────────────
141
143
  part aadlCorrNoCounterpart : CorrespondenceRule {
142
- attribute :>> id = "EXT-AADL-C-090";
144
+ @MemoIdentity { :>> providedId = "EXT-AADL-C-090"; }
143
145
  attribute :>> name = "NoCounterpartNote";
144
146
  attribute :>> ruleExpression = "no correspondence: AADL `subprogram`, `device`, `abstract`; MEMO's five assurance disciplines";
145
147
  attribute :>> description = "Recorded so the gap is a stated boundary of the profile rather than an omission a reader has to discover.";
@@ -4,8 +4,10 @@ package memo_extension_aadl_methodology {
4
4
  private import memo_methodology_profiles::*;
5
5
  private import memo_core_enumerations::*;
6
6
 
7
+ private import memo_core_common::*;
8
+ private import memo_core_common::MemoIdentity;
7
9
  part aadlExtensionMethod : MethodologyDefinition {
8
- attribute :>> id = "EXT-AADL-001";
10
+ @MemoIdentity { :>> providedId = "EXT-AADL-001"; }
9
11
  attribute :>> name = "AadlCorrespondenceExtension";
10
12
  attribute :>> version = "0.7.0";
11
13
  attribute :>> domain = "AADL (SAE AS5506) software runtime";
@@ -4,8 +4,10 @@ package memo_extension_clinical_methodology {
4
4
  private import memo_methodology_profiles::*;
5
5
  private import memo_core_enumerations::*;
6
6
 
7
+ private import memo_core_common::*;
8
+ private import memo_core_common::MemoIdentity;
7
9
  part clinicalExtensionMethod : MethodologyDefinition {
8
- attribute :>> id = "EXT-CLINICAL-001";
10
+ @MemoIdentity { :>> providedId = "EXT-CLINICAL-001"; }
9
11
  attribute :>> name = "ClinicalProcedureExtension";
10
12
  attribute :>> version = "0.6.5";
11
13
  attribute :>> domain = "clinical procedures";
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/extension-cloud'
10
- version: 0.8.22
10
+ version: 0.8.24
11
11
  description: Networked services and managed data stores
12
12
  license: MIT
13
13
  tags:
@@ -4,8 +4,10 @@ package memo_extension_cloud_methodology {
4
4
  private import memo_methodology_profiles::*;
5
5
  private import memo_core_enumerations::*;
6
6
 
7
+ private import memo_core_common::*;
8
+ private import memo_core_common::MemoIdentity;
7
9
  part cloudExtensionMethod : MethodologyDefinition {
8
- attribute :>> id = "EXT-CLOUD-001";
10
+ @MemoIdentity { :>> providedId = "EXT-CLOUD-001"; }
9
11
  attribute :>> name = "CloudRuntimeExtension";
10
12
  attribute :>> version = "0.7.0";
11
13
  attribute :>> domain = "networked services and managed data stores";
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/extension-container'
10
- version: 0.8.22
10
+ version: 0.8.24
11
11
  description: OCI container images and container runtimes as deployment content
12
12
  license: MIT
13
13
  tags:
@@ -12,11 +12,11 @@ package memo_extension_container {
12
12
 
13
13
  private import memo_architecture_realization_deployment::*;
14
14
 
15
- // The built artifact. `BuildsInto` (SoftwareModule -> DeploymentUnit)
15
+ // The built artifact. `BuildsInto` (SoftwareModule -> SoftwareDeploymentUnit)
16
16
  // reaches it unchanged, which is the test that the base is factored
17
17
  // correctly: a whole packaging technology lands without touching a base
18
18
  // relation.
19
- part def ContainerImage specializes DeploymentUnit {
19
+ part def ContainerImage specializes SoftwareDeploymentUnit {
20
20
  // The pullable reference, e.g. "registry.example.com/screening:1.4.0".
21
21
  attribute imageReference : String;
22
22
  attribute registry : String;
@@ -4,8 +4,10 @@ package memo_extension_container_methodology {
4
4
  private import memo_methodology_profiles::*;
5
5
  private import memo_core_enumerations::*;
6
6
 
7
+ private import memo_core_common::*;
8
+ private import memo_core_common::MemoIdentity;
7
9
  part containerExtensionMethod : MethodologyDefinition {
8
- attribute :>> id = "EXT-CONTAINER-001";
10
+ @MemoIdentity { :>> providedId = "EXT-CONTAINER-001"; }
9
11
  attribute :>> name = "ContainerDeploymentExtension";
10
12
  attribute :>> version = "0.7.0";
11
13
  attribute :>> domain = "containerized deployment";
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/extension-messaging'
10
- version: 0.8.22
10
+ version: 0.8.24
11
11
  description: Publish/subscribe messaging — topics, brokers, and delivery semantics
12
12
  license: MIT
13
13
  tags:
@@ -4,8 +4,10 @@ package memo_extension_messaging_methodology {
4
4
  private import memo_methodology_profiles::*;
5
5
  private import memo_core_enumerations::*;
6
6
 
7
+ private import memo_core_common::*;
8
+ private import memo_core_common::MemoIdentity;
7
9
  part messagingExtensionMethod : MethodologyDefinition {
8
- attribute :>> id = "EXT-MESSAGING-001";
10
+ @MemoIdentity { :>> providedId = "EXT-MESSAGING-001"; }
9
11
  attribute :>> name = "MessagingExtension";
10
12
  attribute :>> version = "0.7.0";
11
13
  attribute :>> domain = "publish/subscribe messaging";
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/extension-ros'
10
- version: 0.8.22
10
+ version: 0.8.24
11
11
  description: ROS 2 nodes, messages, topic/service/action interfaces, QoS, and containerized deployment
12
12
  license: MIT
13
13
  tags:
@@ -4,12 +4,14 @@ package memo_extension_ros_methodology {
4
4
  private import memo_methodology_profiles::*;
5
5
  private import memo_core_enumerations::*;
6
6
 
7
+ private import memo_core_common::*;
8
+ private import memo_core_common::MemoIdentity;
7
9
  // An extension that builds on other extensions names them all here.
8
10
  // `baseMethodology` is [0..1] — single inheritance, deliberate — but
9
11
  // `includedModule` is [0..*], so this is how a dependency between
10
12
  // extensions is expressed. There is no chaining and no second base.
11
13
  part rosExtensionMethod : MethodologyDefinition {
12
- attribute :>> id = "EXT-ROS-001";
14
+ @MemoIdentity { :>> providedId = "EXT-ROS-001"; }
13
15
  attribute :>> name = "Ros2Extension";
14
16
  attribute :>> version = "0.7.0";
15
17
  attribute :>> domain = "ROS 2 robotics middleware";
@@ -21,8 +21,10 @@ package memo_extension_template {
21
21
  private import memo_methodology_core::*;
22
22
  private import memo_methodology_profiles::*;
23
23
 
24
+ private import memo_core_common::*;
25
+ private import memo_core_common::MemoIdentity;
24
26
  part extensionMethod : MethodologyDefinition {
25
- attribute :>> id = "EXT-METH-001";
27
+ @MemoIdentity { :>> providedId = "EXT-METH-001"; }
26
28
  attribute :>> name = "ExtensionMethod";
27
29
  attribute :>> version = "0.1.0";
28
30
  attribute :>> domain = "project extension";
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/methodology-default'
10
- version: 0.8.22
10
+ version: 0.8.24
11
11
  description: "MEMO default medical-device methodology \u2014 selects viewpoints/views/DHF documents from @memoarchitect/ontology and adds rules, gates, patterns, profiles, and workflow."
12
12
  license: MIT
13
13
  tags:
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/methodology-gpca'
10
- version: 0.8.22
10
+ version: 0.8.24
11
11
  description: "GPCA infusion pump methodology \u2014 subtraction-based tailoring of @memoarchitect/methodology-default for the non-networked prototype variant. Excludes cybersecurity and SOUP."
12
12
  license: MIT
13
13
  tags:
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/ontology'
10
- version: 0.8.22
10
+ version: 0.8.24
11
11
  description: "MEMO \u2014 the single canonical medical-device ontology: core semantics, the Arcadia-inspired architecture layers (context, requirements, behavior, structure, interfaces, risk, cybersecurity,\
12
12
  \ assurance, \u2026), compliance, viewpoints, views, and invariant rules. One namespace (memo::), one src/ tree."
13
13
  license: MIT
package/package.json CHANGED
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "name": "@memoarchitect/ontology",
3
- "version": "0.8.22",
3
+ "version": "0.10.9",
4
4
  "packageManager": "pnpm@9.15.0",
5
- "description": "MEMO \u2014 Medical Engineering Modelling Ontology. Pure SysML v2 medical-device ontology with native constraints, portable to any conformant SysML v2 tool (SysIDE, SysON, sysand).",
5
+ "description": "MEMO — Medical Engineering Modelling Ontology. Pure SysML v2 medical-device ontology with native constraints, portable to any conformant SysML v2 tool (SysIDE, SysON, sysand).",
6
6
  "scripts": {
7
7
  "build": "bash scripts/build-kpar.sh",
8
8
  "check": "bash scripts/build-kpar.sh && npm run lint",
@@ -7,7 +7,7 @@
7
7
  # (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
8
8
  # removed at the native semantic flip and are now rejected if present.
9
9
  name: '@memoarchitect/medical-modeling-profile'
10
- version: 0.8.22
10
+ version: 0.8.24
11
11
  description: Closure rules and viewpoints for medical device modeling
12
12
  license: MIT
13
13
  tags:
@@ -10,7 +10,7 @@ package memo_architecture_functional_behavior {
10
10
  abstract action def FunctionalAction specializes MemoAction;
11
11
  // State machines and their mode states are SysML v2 states (behaviours), so
12
12
  // they derive from the MemoState foundation, not the part-based
13
- // ArchitectureElement. Transitions stay part-based (below) to keep their
13
+ // MemoPart family. Transitions stay part-based (below) to keep their
14
14
  // traceable safety attributes.
15
15
  // State machines retain their own execution semantics; individual modes
16
16
  // are MemoState usages selected by stateKind.
@@ -23,7 +23,7 @@ package memo_architecture_functional_behavior {
23
23
  // elements are active in one selectable arrangement.
24
24
  // The reference is typed to the shared native state family so a consumer
25
25
  // can navigate from the selected configuration to its governing mode.
26
- part def ModeConfiguration specializes ArchitectureElement {
26
+ part def ModeConfiguration specializes MemoPart {
27
27
  ref activeMode : MemoState[1];
28
28
  ref activeElement : MemoPart[0..*];
29
29
  }
@@ -70,7 +70,7 @@ package memo_architecture_functional_behavior {
70
70
  // annotate a BASE element rather than declare its own type, the SysML-
71
71
  // native answer is `metadata def` + `Metaobjects::SemanticMetadata`, which
72
72
  // is what every MEMO relation already carries since A4.
73
- part def ActivityAction specializes ArchitectureElement {
73
+ part def ActivityAction specializes MemoPart {
74
74
  attribute actionKind : ActionKind;
75
75
  attribute inputSummary : String;
76
76
  attribute outputSummary : String;
@@ -82,13 +82,13 @@ package memo_architecture_functional_behavior {
82
82
  attribute guardCondition : String;
83
83
  attribute weight : String;
84
84
  }
85
- // UI scenarios are MemoScenario usages with scenarioKind `ui`.
85
+ // UI scenarios are OperativeScenario usages with scenarioKind `ui`.
86
86
 
87
87
  part def TimingConstraint specializes VerifiableElement {
88
88
  attribute constraintKind : TimingConstraintKind;
89
89
  attribute minMs : String;
90
90
  attribute maxMs : String;
91
91
  ref referenceElement : MemoPart[1];
92
- attribute verificationMethod : VerificationMethodKind;
92
+ attribute verificationMethod : MemoVerificationMethodKind;
93
93
  }
94
94
  }