@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.
- package/README.md +1 -1
- package/examples/connected-patient-monitor/memo.package.yaml +3 -0
- package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +9 -7
- package/examples/connected-patient-monitor/model/catalog/project.sysml +3 -1
- package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/views/connected_patient_monitor_overview.sysml +1 -1
- package/examples/embedded-infusion-pump/memo.package.yaml +3 -0
- package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +11 -9
- package/examples/embedded-infusion-pump/model/catalog/project.sysml +3 -1
- package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/views/embedded_infusion_pump_overview.sysml +1 -1
- package/examples/functional-logical-physical/memo.package.yaml +3 -0
- package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +9 -7
- package/examples/functional-logical-physical/model/catalog/project.sysml +3 -1
- package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/views/functional_logical_physical_overview.sysml +1 -1
- package/examples/gpca-pump/memo.identity.yaml +2179 -0
- package/examples/gpca-pump/memo.package.yaml +3 -0
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +3 -1
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +29 -27
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +115 -114
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +42 -41
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +26 -25
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +27 -23
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +15 -15
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +42 -40
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +198 -197
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +146 -180
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +8 -6
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +290 -288
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +164 -163
- package/examples/gpca-pump/model/catalog/gpca_standards.sysml +44 -43
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +21 -33
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +10 -11
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +62 -61
- package/examples/gpca-pump/model/catalog/project.sysml +3 -1
- package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +7 -7
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +7 -7
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +6 -7
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +7 -8
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +8 -9
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_logical_architecture_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +7 -7
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +8 -9
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +6 -7
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +6 -7
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_risk_chain_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +6 -7
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +8 -9
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +6 -7
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +6 -6
- package/examples/ivd-laboratory-system/memo.package.yaml +3 -0
- package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +10 -8
- package/examples/ivd-laboratory-system/model/catalog/project.sysml +3 -1
- package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/views/ivd_laboratory_system_overview.sysml +1 -1
- package/examples/manual-surgical-instrument/memo.package.yaml +3 -0
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +7 -5
- package/examples/manual-surgical-instrument/model/catalog/project.sysml +3 -1
- package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/views/manual_surgical_instrument_overview.sysml +1 -1
- package/examples/multidimensional-layers/memo.package.yaml +3 -0
- package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +6 -4
- package/examples/multidimensional-layers/model/catalog/project.sysml +3 -1
- package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/views/multidimensional_layers_overview.sysml +0 -1
- package/examples/nested-architecture-dsm/memo.package.yaml +3 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +20 -18
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +20 -18
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +6 -4
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +9 -7
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +18 -16
- package/examples/nested-architecture-dsm/model/catalog/project.sysml +3 -1
- package/examples/reusable-instrument/memo.package.yaml +3 -0
- package/examples/reusable-instrument/model/catalog/project.sysml +3 -1
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +23 -31
- package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/views/reusable_instrument_overview.sysml +0 -1
- package/examples/ros-mobile-robot/memo.package.yaml +3 -0
- package/examples/ros-mobile-robot/model/catalog/project.sysml +3 -1
- package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +18 -16
- package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/views/ros_mobile_robot_overview.sysml +0 -1
- package/examples/software-only-medical-device/memo.package.yaml +3 -0
- package/examples/software-only-medical-device/model/catalog/project.sysml +3 -1
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +11 -9
- package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/views/software_only_medical_device_overview.sysml +0 -1
- package/examples/surgical-closure-workflow/memo.package.yaml +3 -0
- package/examples/surgical-closure-workflow/model/catalog/project.sysml +3 -1
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +56 -69
- package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/views/surgical_closure_workflow_overview.sysml +0 -1
- package/examples/surgical-robot/memo.package.yaml +3 -0
- package/examples/surgical-robot/model/catalog/project.sysml +3 -1
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +9 -7
- package/examples/surgical-robot/model/catalog/viewpoints/unassigned/views/surgical_robot_overview.sysml +0 -1
- package/examples/sysml-diagram-samples/memo.package.yaml +2 -0
- package/examples/sysml-diagram-samples/model/catalog/project.sysml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +12 -11
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +8 -7
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +4 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +3 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +17 -16
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +9 -8
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +4 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +3 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +4 -3
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +12 -9
- package/examples/temperature-alarm/memo.identity.yaml +64 -0
- package/examples/temperature-alarm/memo.package.yaml +3 -0
- package/examples/temperature-alarm/model/catalog/project.sysml +3 -1
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +30 -29
- package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/views/temperature_alarm_overview.sysml +0 -1
- package/examples/ui-screen-regions/memo.package.yaml +3 -0
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +14 -12
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +35 -33
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +8 -6
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +14 -13
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +4 -2
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +4 -2
- package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +12 -10
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +3 -1
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +14 -12
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +17 -15
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +10 -9
- package/examples/ui-screen-regions/model/catalog/project.sysml +3 -1
- package/examples/ui-screen-regions/model/catalog/relationships.sysml +2 -2
- package/examples/ui-screen-regions/model/catalog/traces.sysml +0 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +6 -5
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +6 -5
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +6 -5
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +4 -3
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +4 -3
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +4 -3
- package/extensions/aadl/memo.package.yaml +1 -1
- package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +23 -21
- package/extensions/aadl/src/methodology/aadl_methodology.sysml +3 -1
- package/extensions/clinical/src/methodology/clinical_methodology.sysml +3 -1
- package/extensions/cloud/memo.package.yaml +1 -1
- package/extensions/cloud/src/methodology/cloud_methodology.sysml +3 -1
- package/extensions/container/memo.package.yaml +1 -1
- package/extensions/container/src/container_extension.sysml +2 -2
- package/extensions/container/src/methodology/container_methodology.sysml +3 -1
- package/extensions/messaging/memo.package.yaml +1 -1
- package/extensions/messaging/src/methodology/messaging_methodology.sysml +3 -1
- package/extensions/ros/memo.package.yaml +1 -1
- package/extensions/ros/src/methodology/ros_methodology.sysml +3 -1
- package/extensions/template/src/extension.sysml +3 -1
- package/methodologies/default/memo.package.yaml +1 -1
- package/methodologies/gpca/memo.package.yaml +1 -1
- package/ontology/memo.package.yaml +1 -1
- package/package.json +2 -2
- package/profile/memo.package.yaml +1 -1
- package/src/architecture/functional/behavior/memo_behavior.sysml +5 -5
- package/src/architecture/functional/functions/memo_functions.sysml +6 -6
- package/src/architecture/implementation/hardware/common/memo_hardware_common.sysml +12 -2
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +0 -11
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +7 -7
- package/src/architecture/implementation/ui/memo_ui.sysml +8 -31
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +4 -2
- package/src/architecture/logical/structure/memo_logical_structure.sysml +5 -5
- package/src/architecture/operational/activities/memo_activities.sysml +19 -28
- package/src/architecture/operational/context/actors/memo_actors.sysml +5 -4
- package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +7 -7
- package/src/architecture/operational/context/use_context/memo_use_context.sysml +5 -14
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +12 -104
- package/src/architecture/operational/structure/memo_operational.sysml +42 -13
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +7 -12
- package/src/architecture/operational/workflows/memo_workflows.sysml +20 -42
- package/src/architecture/realization/deployment/memo_deployment.sysml +26 -19
- package/src/architecture/realization/physical/memo_physical_architecture.sysml +8 -2
- package/src/artifacts/standards/cfr_21_820.sysml +80 -89
- package/src/artifacts/standards/fda_cybersecurity_2023.sysml +45 -49
- package/src/artifacts/standards/iec_60601_1.sysml +108 -121
- package/src/artifacts/standards/iec_60601_1_2.sysml +31 -33
- package/src/artifacts/standards/iec_60812.sysml +21 -22
- package/src/artifacts/standards/iec_62304.sysml +150 -169
- package/src/artifacts/standards/iec_62366_1.sysml +80 -89
- package/src/artifacts/standards/iec_81001_5_1.sysml +52 -57
- package/src/artifacts/standards/iso_13485.sysml +80 -89
- package/src/artifacts/standards/iso_14971.sysml +66 -73
- package/src/artifacts/standards/iso_iec_ieee_42010.sysml +15 -15
- package/src/artifacts/templates/dhf/system/sad.md +3 -3
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +2 -2
- package/src/assurance/human_factors/memo_human_factors.sysml +2 -2
- package/src/assurance/requirements/memo_requirements.sysml +2 -18
- package/src/assurance/safety_risk/analysis/memo_fmea.sysml +1 -1
- package/src/assurance/safety_risk/memo_risk.sysml +12 -0
- package/src/assurance/verification_validation/memo_assurance.sysml +7 -12
- package/src/core/common/memo_common.sysml +59 -55
- package/src/core/enumerations/memo_enumerations.sysml +1 -1
- package/src/core/relationships/memo_relationships.sysml +29 -56
- package/src/methodology/archetypes/memo_archetypes.sysml +10 -8
- package/src/methodology/core/memo_core.sysml +0 -10
- package/src/methodology/profiles/memo_profiles.sysml +18 -16
- package/src/methodology/workflow/memo_workflow.sysml +5 -5
- package/src/rules/closure/closure_rules.sysml +22 -20
- package/src/rules/crosslayer/cross_layer_rules.sysml +4 -2
- package/src/rules/ontology/ontology_invariants.sysml +121 -48
- package/src/rules/quantitative/quantitative_rules.sysml +4 -2
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +58 -57
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +5 -4
- package/src/viewpoints/context/context_viewpoint.sysml +6 -5
- package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +6 -5
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +6 -6
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +36 -4
- package/src/viewpoints/functional/functional_viewpoint.sysml +6 -5
- package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +6 -5
- package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +6 -5
- package/src/viewpoints/logical/logical_viewpoint.sysml +5 -4
- package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +6 -5
- package/src/viewpoints/operational/operational_viewpoint.sysml +6 -5
- package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +7 -6
- package/src/viewpoints/physical/physical_viewpoint.sysml +5 -4
- package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +6 -5
- package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +6 -5
- package/src/viewpoints/rendering/memo_rendering.sysml +220 -40
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +5 -4
- package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +6 -5
- package/src/viewpoints/risk/risk_viewpoint.sysml +5 -4
- package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +6 -5
- package/src/viewpoints/software/software_viewpoint.sysml +5 -4
- package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +6 -5
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +5 -4
- package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +3 -1
- package/src/viewpoints/usability/usability_viewpoint.sysml +5 -4
- package/src/viewpoints/verification/verification_viewpoint.sysml +5 -4
- package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +6 -5
- package/templates/connected-device/memo.package.yaml +2 -0
- package/templates/connected-device/model/catalog/project.sysml +3 -1
- package/templates/default/memo.package.yaml +2 -0
- package/templates/default/model/catalog/project.sysml +3 -1
- package/templates/infusion-pump/memo.package.yaml +2 -0
- package/templates/infusion-pump/model/catalog/project.sysml +3 -1
- package/templates/monitoring-device/memo.package.yaml +2 -0
- package/templates/monitoring-device/model/catalog/project.sysml +3 -1
- package/templates/samd/memo.package.yaml +2 -0
- 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
|
-
|
|
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
|
-
|
|
47
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
47
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
47
|
-
|
|
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
|
-
|
|
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
|
-
|
|
61
|
+
ref :>> viewpointDefinition = riskViewpoint;
|
|
61
62
|
}
|
|
62
63
|
}
|
package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml
CHANGED
|
@@ -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
|
-
|
|
54
|
-
|
|
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
|
-
|
|
49
|
-
|
|
50
|
-
part :>> viewpointDefinition = uiLayoutViewpoint;
|
|
50
|
+
@MemoIdentity { :>> providedId = "UIE-008"; }
|
|
51
|
+
ref :>> viewpointDefinition = uiLayoutViewpoint;
|
|
51
52
|
}
|
|
52
53
|
}
|
package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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 ->
|
|
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
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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.
|
|
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
|
-
|
|
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
|
-
|
|
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.
|
|
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.
|
|
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.
|
|
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.
|
|
3
|
+
"version": "0.10.9",
|
|
4
4
|
"packageManager": "pnpm@9.15.0",
|
|
5
|
-
"description": "MEMO
|
|
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.
|
|
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
|
-
//
|
|
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
|
|
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
|
|
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
|
|
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 :
|
|
92
|
+
attribute verificationMethod : MemoVerificationMethodKind;
|
|
93
93
|
}
|
|
94
94
|
}
|