@memoarchitect/ontology 0.13.2 → 0.15.1
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 +5 -3
- package/examples/connected-patient-monitor/memo.identity.yaml +34 -0
- package/examples/connected-patient-monitor/memo.package.yaml +3 -1
- package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +17 -12
- package/examples/connected-patient-monitor/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/embedded-infusion-pump/memo.package.yaml +3 -1
- package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +6 -6
- package/examples/embedded-infusion-pump/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/functional-logical-physical/memo.identity.yaml +28 -0
- package/examples/functional-logical-physical/memo.package.yaml +3 -1
- package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +5 -5
- package/examples/functional-logical-physical/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/gpca-pump/analysis/Samples/01-model-overview.ipynb +40 -139
- package/examples/gpca-pump/analysis/Samples/02-architecture-hotspots.ipynb +38 -290
- package/examples/gpca-pump/analysis/Samples/03-model-quality.ipynb +47 -217
- package/examples/gpca-pump/analysis/Samples/04-change-impact-explorer.ipynb +50 -191
- package/examples/gpca-pump/analysis/Samples/05-model-charts.ipynb +42 -181
- package/examples/gpca-pump/analysis/Samples/06-ownership-graph.ipynb +40 -164
- package/examples/gpca-pump/analysis/Samples/07-model-inventory-table.ipynb +51 -172
- package/examples/gpca-pump/analysis/Samples/README.md +15 -9
- package/examples/gpca-pump/analysis/memo_model.py +243 -0
- package/examples/gpca-pump/memo.identity.yaml +521 -26
- package/examples/gpca-pump/memo.package.yaml +3 -1
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +56 -47
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +51 -78
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +359 -357
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +9 -9
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +56 -69
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +44 -59
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +23 -35
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +33 -40
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +62 -63
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +362 -483
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +45 -70
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +6 -12
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +173 -169
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +139 -225
- package/examples/gpca-pump/model/catalog/gpca_standards.sysml +43 -47
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +68 -65
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +147 -116
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +65 -90
- package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +7 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_logical_architecture_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_risk_chain_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +2 -4
- package/examples/gpca-pump/model/{catalog → methodology}/project.sysml +8 -6
- package/examples/ivd-laboratory-system/memo.package.yaml +3 -1
- package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +12 -9
- package/examples/ivd-laboratory-system/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/manual-surgical-instrument/memo.package.yaml +3 -1
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +2 -6
- package/examples/manual-surgical-instrument/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/multidimensional-layers/memo.package.yaml +3 -1
- package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +2 -4
- package/examples/multidimensional-layers/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/nested-architecture-dsm/memo.identity.yaml +93 -0
- package/examples/nested-architecture-dsm/memo.package.yaml +3 -1
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +30 -30
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +28 -28
- package/examples/nested-architecture-dsm/model/catalog/architecture/operational/context.sysml +2 -4
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +4 -4
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +7 -7
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +8 -8
- package/examples/nested-architecture-dsm/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/reusable-instrument/memo.package.yaml +3 -1
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +7 -7
- package/examples/reusable-instrument/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/robot-cell-family/README.md +34 -0
- package/examples/robot-cell-family/memo.identity.yaml +142 -0
- package/examples/robot-cell-family/memo.package.yaml +7 -0
- package/examples/robot-cell-family/model/methodology/project.sysml +30 -0
- package/examples/robot-cell-family/model/shared/shared.sysml +53 -0
- package/examples/robot-cell-family/model/sos/chains.sysml +36 -0
- package/examples/robot-cell-family/model/sos/icds.sysml +29 -0
- package/examples/robot-cell-family/model/sos/sos.sysml +31 -0
- package/examples/robot-cell-family/model/sos/use_cases.sysml +25 -0
- package/examples/robot-cell-family/model/systems/manipulation/manipulation_system.sysml +35 -0
- package/examples/robot-cell-family/model/systems/navigation/navigation_system.sysml +46 -0
- package/examples/robot-cell-family/model/systems/perception/perception_system.sysml +37 -0
- package/examples/robot-platform/memo.package.yaml +3 -0
- package/examples/robot-platform/model/platform.sysml +15 -0
- package/examples/ros-mobile-robot/README.md +5 -4
- package/examples/ros-mobile-robot/memo.identity.yaml +94 -0
- package/examples/ros-mobile-robot/memo.package.yaml +3 -1
- package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +26 -29
- package/examples/ros-mobile-robot/model/{catalog → methodology}/project.sysml +8 -14
- package/examples/software-only-medical-device/memo.package.yaml +3 -1
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +9 -10
- package/examples/software-only-medical-device/model/{catalog → methodology}/project.sysml +8 -9
- package/examples/surgical-closure-workflow/memo.package.yaml +3 -1
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +23 -26
- package/examples/surgical-closure-workflow/model/{catalog → methodology}/project.sysml +7 -5
- package/examples/surgical-robot/memo.package.yaml +3 -1
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +14 -12
- package/examples/surgical-robot/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/sysml-diagram-samples/README.md +1 -0
- package/examples/sysml-diagram-samples/memo.identity.yaml +459 -0
- package/examples/sysml-diagram-samples/memo.package.yaml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +10 -20
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +5 -5
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/browser_view.sysml +10 -13
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +11 -7
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/diagram_samples.sysml +63 -8
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/drill_down_view.sysml +88 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +25 -25
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/grid_view.sysml +6 -6
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +15 -17
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +21 -21
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/package_view.sysml +7 -7
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +5 -5
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/sequence_view.sysml +14 -14
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +16 -17
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +9 -9
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +7 -14
- package/examples/sysml-diagram-samples/model/{catalog → methodology}/project.sysml +5 -5
- package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +1 -1
- package/examples/temperature-alarm/memo.identity.yaml +6 -0
- package/examples/temperature-alarm/memo.package.yaml +3 -1
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +43 -21
- package/examples/temperature-alarm/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/ui-screen-regions/memo.identity.yaml +33 -0
- package/examples/ui-screen-regions/memo.package.yaml +3 -1
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +12 -12
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +18 -18
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +6 -6
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +3 -3
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +1 -1
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +1 -1
- package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +10 -10
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +1 -1
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +12 -12
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +15 -15
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +6 -6
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +1 -2
- package/examples/ui-screen-regions/model/{catalog → methodology}/project.sysml +4 -5
- package/extensions/README.md +65 -16
- package/extensions/aadl/memo.package.yaml +1 -1
- package/extensions/aadl/src/aadl_extension.sysml +5 -2
- package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +29 -50
- package/extensions/clinical/memo.package.yaml +1 -1
- package/extensions/clinical/src/clinical_extension.sysml +2 -0
- package/extensions/cloud/memo.package.yaml +1 -1
- package/extensions/container/memo.package.yaml +1 -1
- package/extensions/messaging/memo.package.yaml +1 -1
- package/extensions/messaging/src/messaging_extension.sysml +2 -2
- package/extensions/ros/memo.package.yaml +1 -1
- package/extensions/ros/src/ros_extension.sysml +25 -24
- package/extensions/template/memo.package.yaml +1 -1
- package/extensions/template/model/extension.sysml +25 -0
- package/memo.manifest.yaml +1 -7
- 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 +6 -4
- package/profile/memo.package.yaml +1 -1
- package/src/architecture/decisions/memo_decisions.sysml +9 -2
- package/src/architecture/functional/behavior/memo_behavior.sysml +27 -7
- package/src/architecture/functional/functions/memo_functions.sysml +45 -31
- package/src/architecture/functional/memo_architecture_functional.sysml +14 -0
- package/src/architecture/implementation/memo_architecture_implementation.sysml +21 -0
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +7 -0
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +58 -17
- package/src/architecture/implementation/ui/memo_ui.sysml +1 -1
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +67 -58
- package/src/architecture/logical/memo_architecture_logical.sysml +13 -0
- package/src/architecture/logical/structure/memo_logical_structure.sysml +27 -8
- package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +4 -1
- package/src/architecture/operational/memo_architecture_operational.sysml +19 -0
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +9 -8
- package/src/architecture/operational/structure/memo_operational.sysml +5 -2
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +16 -8
- package/src/architecture/realization/deployment/memo_deployment.sysml +30 -10
- package/src/architecture/realization/memo_architecture_realization.sysml +13 -0
- package/src/architecture/realization/physical/memo_physical_architecture.sysml +61 -0
- package/src/architecture/variability/memo_variability.sysml +87 -0
- package/src/artifacts/configuration_management/memo_configuration_management.sysml +95 -3
- package/src/artifacts/core/memo_controlled_artifacts.sysml +4 -2
- package/src/artifacts/standards/cfr_21_820.sysml +12 -24
- package/src/artifacts/standards/fda_cybersecurity_2023.sysml +13 -20
- package/src/artifacts/standards/iec_60601_1.sysml +16 -32
- package/src/artifacts/standards/iec_60601_1_2.sysml +5 -10
- package/src/artifacts/standards/iec_60812.sysml +4 -8
- package/src/artifacts/standards/iec_62304.sysml +607 -47
- package/src/artifacts/standards/iec_62366_1.sysml +12 -24
- package/src/artifacts/standards/iec_81001_5_1.sysml +8 -16
- package/src/artifacts/standards/iso_13485.sysml +12 -24
- package/src/artifacts/standards/iso_14971.sysml +118 -20
- package/src/artifacts/standards/iso_iec_ieee_42010.sysml +3 -6
- package/src/artifacts/standards/memo_artifacts_standards_traceability.sysml +14 -4
- package/src/artifacts/templates/dhf/fda-cybersecurity/postmarket-surveillance.md +1 -2
- package/src/artifacts/templates/dhf/fda-cybersecurity/vuln-assessment.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/sad.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/sbom.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/sdp.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/soup.md +3 -5
- package/src/artifacts/templates/dhf/system/sad.md +1 -1
- package/src/artifacts/templates/dhf/system/standards-checklist.md +2 -2
- package/src/artifacts/templates/dhf/system/standards-traceability.md +1 -1
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +339 -13
- package/src/assurance/human_factors/memo_human_factors.sysml +6 -2
- package/src/assurance/safety_risk/analysis/memo_fmea.sysml +7 -3
- package/src/assurance/safety_risk/memo_risk.sysml +39 -1
- package/src/core/common/memo_common.sysml +61 -68
- package/src/core/enumerations/memo_enumerations.sysml +93 -9
- package/src/core/relationships/memo_relationships.sysml +17 -11
- package/src/core/relationships/memo_workspace_membership.sysml +284 -0
- package/src/core/semantics/semantics.sysml +58 -0
- package/src/core/terminology/terminology.sysml +7 -0
- package/src/memo_namespaces.sysml +6 -0
- package/src/methodology/archetypes/memo_archetypes.sysml +8 -16
- package/src/methodology/core/memo_core.sysml +85 -29
- package/src/methodology/profiles/memo_profiles.sysml +217 -61
- package/src/methodology/workflow/memo_workflow.sysml +28 -0
- package/src/rules/closure/closure_rules.sysml +250 -4
- package/src/rules/crosslayer/cross_layer_rules.sysml +11 -0
- package/src/rules/ontology/ontology_invariants.sysml +288 -48
- package/src/rules/quantitative/quantitative_rules.sysml +4 -0
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +28 -28
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +2 -3
- package/src/viewpoints/context/context_viewpoint.sysml +2 -3
- package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +3 -5
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +2 -3
- package/src/viewpoints/definitions/memo_view_layout.sysml +150 -0
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +0 -4
- package/src/viewpoints/functional/functional_viewpoint.sysml +2 -3
- package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +2 -4
- package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +2 -4
- package/src/viewpoints/logical/logical_viewpoint.sysml +2 -3
- package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +2 -4
- package/src/viewpoints/operational/operational_viewpoint.sysml +2 -3
- package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +3 -5
- package/src/viewpoints/physical/physical_viewpoint.sysml +2 -3
- package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +2 -4
- package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +2 -4
- package/src/viewpoints/rendering/memo_rendering.sysml +50 -98
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +2 -3
- package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +2 -4
- package/src/viewpoints/risk/risk_viewpoint.sysml +2 -3
- package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +2 -4
- package/src/viewpoints/software/software_viewpoint.sysml +2 -3
- package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +3 -5
- package/src/viewpoints/stakeholders_concerns/memo_stakeholders_concerns.sysml +11 -29
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +2 -3
- package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +1 -1
- package/src/viewpoints/usability/usability_viewpoint.sysml +2 -3
- package/src/viewpoints/verification/verification_viewpoint.sysml +2 -3
- package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +2 -4
- package/stage1/syside-67f92dc96ba75cd05b5c8d13.ids.gz +0 -0
- package/stage1/syside-67f92dc96ba75cd05b5c8d13.json.gz +0 -0
- package/templates/default/memo.package.yaml +6 -1
- package/templates/default/model/catalog/architecture/system.sysml +7 -3
- package/templates/default/model/{catalog → methodology}/project.sysml +3 -4
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +0 -47
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +0 -94
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +0 -13
- package/examples/ui-screen-regions/model/catalog/relationships.sysml +0 -8
- package/extensions/aadl/src/methodology/aadl_methodology.sysml +0 -19
- package/extensions/clinical/src/methodology/clinical_methodology.sysml +0 -24
- package/extensions/cloud/src/methodology/cloud_methodology.sysml +0 -19
- package/extensions/container/src/methodology/container_methodology.sysml +0 -19
- package/extensions/messaging/src/methodology/messaging_methodology.sysml +0 -19
- package/extensions/ros/src/methodology/ros_methodology.sysml +0 -27
- package/extensions/template/src/extension.sysml +0 -39
- package/templates/connected-device/memo.package.yaml +0 -13
- package/templates/connected-device/model/catalog/architecture/system.sysml +0 -5
- package/templates/connected-device/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/connected-device/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/connected-device/model/catalog/project.sysml +0 -30
- package/templates/connected-device/package.json +0 -8
- package/templates/connected-device/syside.toml +0 -13
- package/templates/infusion-pump/memo.package.yaml +0 -13
- package/templates/infusion-pump/model/catalog/architecture/system.sysml +0 -5
- package/templates/infusion-pump/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/infusion-pump/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/infusion-pump/model/catalog/project.sysml +0 -30
- package/templates/infusion-pump/package.json +0 -8
- package/templates/infusion-pump/syside.toml +0 -13
- package/templates/monitoring-device/memo.package.yaml +0 -13
- package/templates/monitoring-device/model/catalog/architecture/system.sysml +0 -5
- package/templates/monitoring-device/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/monitoring-device/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/monitoring-device/model/catalog/project.sysml +0 -30
- package/templates/monitoring-device/package.json +0 -8
- package/templates/monitoring-device/syside.toml +0 -13
- package/templates/samd/memo.package.yaml +0 -13
- package/templates/samd/model/catalog/architecture/system.sysml +0 -5
- package/templates/samd/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/samd/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/samd/model/catalog/project.sysml +0 -30
- package/templates/samd/package.json +0 -8
- package/templates/samd/syside.toml +0 -13
|
@@ -1,180 +1,59 @@
|
|
|
1
1
|
{
|
|
2
|
-
|
|
3
|
-
{
|
|
4
|
-
"cell_type": "markdown",
|
|
5
|
-
"id": "memo-1",
|
|
6
|
-
"metadata": {},
|
|
7
|
-
"source": [
|
|
8
|
-
"# Model inventory table\n",
|
|
9
|
-
"\n",
|
|
10
|
-
"Filter a model-independent element table and export the current result to CSV.\n",
|
|
11
|
-
"\n",
|
|
12
|
-
"This sample uses only standard SysML v2 concepts and automatically discovers the project's `model/` or `src/` directory."
|
|
13
|
-
]
|
|
14
|
-
},
|
|
15
|
-
{
|
|
16
|
-
"cell_type": "code",
|
|
17
|
-
"execution_count": 1,
|
|
18
|
-
"id": "memo-2",
|
|
19
|
-
"metadata": {
|
|
20
|
-
"execution": {
|
|
21
|
-
"iopub.execute_input": "2026-07-29T22:35:06.617815Z",
|
|
22
|
-
"iopub.status.busy": "2026-07-29T22:35:06.617748Z",
|
|
23
|
-
"iopub.status.idle": "2026-07-29T22:35:06.932238Z",
|
|
24
|
-
"shell.execute_reply": "2026-07-29T22:35:06.931715Z"
|
|
25
|
-
}
|
|
26
|
-
},
|
|
27
|
-
"outputs": [
|
|
2
|
+
"cells": [
|
|
28
3
|
{
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"source": [
|
|
37
|
-
"from pathlib import Path\n",
|
|
38
|
-
"from collections import Counter, defaultdict\n",
|
|
39
|
-
"import syside\n",
|
|
40
|
-
"\n",
|
|
41
|
-
"def find_sysml_root(start=Path.cwd()):\n",
|
|
42
|
-
" \"\"\"Find the nearest model/ or src/ folder containing textual SysML.\"\"\"\n",
|
|
43
|
-
" for directory in (start, *start.parents):\n",
|
|
44
|
-
" for folder_name in ('model', 'src'):\n",
|
|
45
|
-
" candidate = directory / folder_name\n",
|
|
46
|
-
" if candidate.is_dir() and next(candidate.rglob('*.sysml'), None):\n",
|
|
47
|
-
" return candidate\n",
|
|
48
|
-
" raise FileNotFoundError('No model/ or src/ directory containing .sysml files was found')\n",
|
|
49
|
-
"\n",
|
|
50
|
-
"SYSML_ROOT = find_sysml_root()\n",
|
|
51
|
-
"SYSML_FILES = sorted(SYSML_ROOT.rglob('*.sysml'))\n",
|
|
52
|
-
"model, diagnostics = syside.try_load_model([str(path) for path in SYSML_FILES])\n",
|
|
53
|
-
"print(f'Loaded {len(SYSML_FILES)} SysML files from {SYSML_ROOT}')"
|
|
54
|
-
]
|
|
55
|
-
},
|
|
56
|
-
{
|
|
57
|
-
"cell_type": "code",
|
|
58
|
-
"execution_count": 2,
|
|
59
|
-
"id": "memo-3",
|
|
60
|
-
"metadata": {
|
|
61
|
-
"execution": {
|
|
62
|
-
"iopub.execute_input": "2026-07-29T22:35:06.933891Z",
|
|
63
|
-
"iopub.status.busy": "2026-07-29T22:35:06.933794Z",
|
|
64
|
-
"iopub.status.idle": "2026-07-29T22:35:06.948150Z",
|
|
65
|
-
"shell.execute_reply": "2026-07-29T22:35:06.947725Z"
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
"outputs": [
|
|
4
|
+
"cell_type": "markdown",
|
|
5
|
+
"metadata": {},
|
|
6
|
+
"source": [
|
|
7
|
+
"# Model inventory table\n\nFilter a model-independent element table and export the current result to CSV.\n\nThis sample uses only standard SysML v2 concepts and reads the model through `memo_model.py`, compiled by the project's selected compiler."
|
|
8
|
+
],
|
|
9
|
+
"id": "memo-1"
|
|
10
|
+
},
|
|
69
11
|
{
|
|
70
|
-
|
|
71
|
-
"
|
|
72
|
-
|
|
73
|
-
"<div style=\"max-height:620px;overflow:auto\"><table style=\"font-size:12px\"><thead style=\"position:sticky;top:0;background:white\"><tr><th>Kind</th><th>Name</th><th>Qualified name</th><th>Owner</th></tr></thead><tbody><tr><td>ActionDefinition</td><td>AcquireSensorData</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::AcquireSensorData</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>ActionDefinition</td><td>ActuatePumpMotor</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::ActuatePumpMotor</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>ActionDefinition</td><td>ComputeFlowCommand</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::ComputeFlowCommand</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>ActionDefinition</td><td>EnforceDoseLimits</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::EnforceDoseLimits</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>ActionDefinition</td><td>EvaluateAlarmConditions</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::EvaluateAlarmConditions</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>ActionDefinition</td><td>LogTherapyEvent</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::LogTherapyEvent</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>ActionUsage</td><td>infusionDeliveryFlow</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>ActionUsage</td><td>acquireSensors</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow::acquireSensors</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow</td></tr><tr><td>ActionUsage</td><td>actuateMotor</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow::actuateMotor</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow</td></tr><tr><td>ActionUsage</td><td>computeFlow</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow::computeFlow</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow</td></tr><tr><td>ActionUsage</td><td>enforceLimits</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow::enforceLimits</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow</td></tr><tr><td>ActionUsage</td><td>evaluateAlarms</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow::evaluateAlarms</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow</td></tr><tr><td>ActionUsage</td><td>logEvent</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow::logEvent</td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions::infusionDeliveryFlow</td></tr><tr><td>ActionUsage</td><td>oaCompleteNominalTherapy</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaCompleteNominalTherapy</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>deliverWithinLimits</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaCompleteNominalTherapy::deliverWithinLimits</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaCompleteNominalTherapy</td></tr><tr><td>ActionUsage</td><td>recordTherapyEvent</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaCompleteNominalTherapy::recordTherapyEvent</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaCompleteNominalTherapy</td></tr><tr><td>ActionUsage</td><td>oaLoadReservoir</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaLoadReservoir</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>oaMaintain</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaMaintain</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>oaPrescribe</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaPrescribe</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>oaProgram</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaProgram</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>oaRecoverAfterPowerLoss</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRecoverAfterPowerLoss</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>confirmRestart</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRecoverAfterPowerLoss::confirmRestart</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRecoverAfterPowerLoss</td></tr><tr><td>ActionUsage</td><td>restorePrescription</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRecoverAfterPowerLoss::restorePrescription</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRecoverAfterPowerLoss</td></tr><tr><td>ActionUsage</td><td>switchToBattery</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRecoverAfterPowerLoss::switchToBattery</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRecoverAfterPowerLoss</td></tr><tr><td>ActionUsage</td><td>oaRejectBolusDuringLockout</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRejectBolusDuringLockout</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>checkLockout</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRejectBolusDuringLockout::checkLockout</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRejectBolusDuringLockout</td></tr><tr><td>ActionUsage</td><td>rejectAndLog</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRejectBolusDuringLockout::rejectAndLog</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRejectBolusDuringLockout</td></tr><tr><td>ActionUsage</td><td>oaReplaceEmptyReservoir</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaReplaceEmptyReservoir</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>replaceReservoir</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaReplaceEmptyReservoir::replaceReservoir</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaReplaceEmptyReservoir</td></tr><tr><td>ActionUsage</td><td>resumeTherapy</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaReplaceEmptyReservoir::resumeTherapy</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaReplaceEmptyReservoir</td></tr><tr><td>ActionUsage</td><td>stopAndAnnunciate</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaReplaceEmptyReservoir::stopAndAnnunciate</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaReplaceEmptyReservoir</td></tr><tr><td>ActionUsage</td><td>oaRequestBolus</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRequestBolus</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>oaRespondAlarm</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondAlarm</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>oaRespondToAirInLine</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToAirInLine</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>annunciateAir</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToAirInLine::annunciateAir</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToAirInLine</td></tr><tr><td>ActionUsage</td><td>reprimeAndRestart</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToAirInLine::reprimeAndRestart</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToAirInLine</td></tr><tr><td>ActionUsage</td><td>stopOrKvo</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToAirInLine::stopOrKvo</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToAirInLine</td></tr><tr><td>ActionUsage</td><td>oaRespondToOcclusion</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToOcclusion</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>annunciateOcclusion</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToOcclusion::annunciateOcclusion</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToOcclusion</td></tr><tr><td>ActionUsage</td><td>pauseInfusion</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToOcclusion::pauseInfusion</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToOcclusion</td></tr><tr><td>ActionUsage</td><td>resolveAndResume</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToOcclusion::resolveAndResume</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaRespondToOcclusion</td></tr><tr><td>ActionUsage</td><td>oaReviewLog</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaReviewLog</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>oaStartTherapy</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::oaStartTherapy</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>wfManageActiveTherapy</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::wfManageActiveTherapy</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>wfPrepareAndStartTherapy</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::wfPrepareAndStartTherapy</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>wfRespondToTherapyAlarm</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::wfRespondToTherapyAlarm</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>wsProgram</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::wsProgram</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>wsRequestBolus</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::wsRequestBolus</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>wsRespondAlarm</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::wsRespondAlarm</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>ActionUsage</td><td>wsStart</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational::wsStart</td><td>memo_examples_gpca_pump_model_catalog_gpca_operational</td></tr><tr><td>AllocationUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>AllocationUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>AllocationUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>AllocationUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>AllocationUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>AllocationUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_behavior_actions</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaDelivery</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaDelivery</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaDelivery</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaDelivery</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaDelivery</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaDelivery</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaDelivery</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmAirSensorSilent</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmAirSensorSilent</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmAirSensorSilent</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmAirSensorSilent</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmAirSensorSilent</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmAirSensorSilent</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmAirSensorSilent</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmAirSensorSilent</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmAirSensorSilent</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmOcclusionDrift</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmOcclusionDrift</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmOcclusionDrift</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmOcclusionDrift</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmOcclusionDrift</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmOcclusionDrift</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmOcclusionDrift</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmOcclusionDrift</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmOcclusionDrift</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmStuckBolusButton</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmStuckBolusButton</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmStuckBolusButton</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmStuckBolusButton</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmStuckBolusButton</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmStuckBolusButton</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmStuckBolusButton</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmStuckBolusButton</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmStuckBolusButton</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmBatteryEarlyDepletion</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmBatteryEarlyDepletion</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmBatteryEarlyDepletion</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmBatteryEarlyDepletion</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmBatteryEarlyDepletion</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmBatteryEarlyDepletion</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmBatteryEarlyDepletion</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmBatteryEarlyDepletion</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmBatteryEarlyDepletion</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feAirDelivered</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feAirDelivered</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feAirDelivered</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feAirDelivered</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feAirDelivered</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feAirDelivered</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feAirDelivered</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feTherapyInterrupted</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feTherapyInterrupted</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feTherapyInterrupted</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feTherapyInterrupted</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feTherapyInterrupted</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feTherapyInterrupted</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::feTherapyInterrupted</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcMotorDriverFault</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcMotorDriverFault</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcMotorDriverFault</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcMotorDriverFault</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcMotorDriverFault</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcMotorDriverFault</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcTransducerAging</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcTransducerAging</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcTransducerAging</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcTransducerAging</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcTransducerAging</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcTransducerAging</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcPendantAbuse</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcPendantAbuse</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcPendantAbuse</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcPendantAbuse</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcPendantAbuse</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fcPendantAbuse</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmFlowCrossCheck</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmFlowCrossCheck</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmFlowCrossCheck</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmFlowCrossCheck</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmFlowCrossCheck</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmPostSensorCheck</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmPostSensorCheck</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmPostSensorCheck</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmPostSensorCheck</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmPostSensorCheck</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmStuckInputMonitor</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmStuckInputMonitor</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmStuckInputMonitor</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmStuckInputMonitor</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::dmStuckInputMonitor</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaActionAirSensor</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaActionAirSensor</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaActionAirSensor</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaActionAirSensor</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaActionAirSensor</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaActionAirSensor</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fmeaActionAirSensor</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftaOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftaOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftaOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftaOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftaOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftaOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftaOverdose</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteOverdoseTop</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteOverdoseTop</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteOverdoseTop</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteOverdoseTop</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteMotorRunaway</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteCrossCheckFails</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteCrossCheckFails</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteCrossCheckFails</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteCrossCheckFails</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteCrossCheckFails</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteCrossCheckFails</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteLockoutFault</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteLockoutFault</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteLockoutFault</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteLockoutFault</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteLockoutFault</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteLockoutFault</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteStuckButtonUndetected</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteStuckButtonUndetected</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteStuckButtonUndetected</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteStuckButtonUndetected</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteStuckButtonUndetected</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::fteStuckButtonUndetected</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftgOverdoseOr</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftgOverdoseOr</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftgOverdoseOr</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftgMotorAnd</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftgMotorAnd</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftgMotorAnd</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftgBolusAnd</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftgBolusAnd</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::ftgBolusAnd</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::mcsMotorPath</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::mcsMotorPath</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::mcsMotorPath</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::mcsMotorPath</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::mcsMotorPath</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::mcsBolusPath</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::mcsBolusPath</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::mcsBolusPath</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::mcsBolusPath</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_analysis::mcsBolusPath</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcTherapyControl</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcTherapyControl</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcTherapyControl</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcTherapyControl</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcTherapyControl</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcSafetyMonitoring</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcSafetyMonitoring</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcSafetyMonitoring</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcSafetyMonitoring</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcSafetyMonitoring</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcOperatorInterface</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcOperatorInterface</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcOperatorInterface</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcOperatorInterface</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcOperatorInterface</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcDrugDelivery</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcDrugDelivery</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcDrugDelivery</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcDrugDelivery</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcDrugDelivery</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcPowerSubsystem</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcPowerSubsystem</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcPowerSubsystem</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcPowerSubsystem</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::lcPowerSubsystem</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::gpcaDeviceSensors</td></tr><tr><td>AttributeUsage</td><td></td><td></td><td>memo_examples_gpca_pump_model_catalog_gpca_architecture::gpcaDeviceSensors</td></tr></tbody></table></div>"
|
|
12
|
+
"cell_type": "code",
|
|
13
|
+
"metadata": {},
|
|
14
|
+
"source": [
|
|
15
|
+
"import sys\nfrom pathlib import Path\nfrom collections import Counter, defaultdict\n\n# memo_model.py sits in the project's analysis/ folder, above this notebook.\nsys.path.insert(0, str(next(d for d in (Path.cwd(), *Path.cwd().parents) if (d / 'memo_model.py').is_file())))\nimport memo_model\n\n# Compiled by the project's selected compiler (toolchain.compiler), as every\n# MEMO command is: change the setting and this notebook follows.\nmodel = memo_model.load()\ndiagnostics = model.diagnostics\nSYSML_FILES = model.documents\nprint(f'Loaded {len(SYSML_FILES)} SysML files, compiled by {model.compiler} {model.compiler_version or \"\"}')"
|
|
74
16
|
],
|
|
75
|
-
"
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
"
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
"ROW_LIMIT = 250\n",
|
|
90
|
-
"\n",
|
|
91
|
-
"semantic_elements = (\n",
|
|
92
|
-
" list(model.elements(syside.Usage, include_subtypes=True))\n",
|
|
93
|
-
" + list(model.elements(syside.Definition, include_subtypes=True))\n",
|
|
94
|
-
")\n",
|
|
95
|
-
"\n",
|
|
96
|
-
"def text(value):\n",
|
|
97
|
-
" return str(value) if value else ''\n",
|
|
98
|
-
"\n",
|
|
99
|
-
"records = []\n",
|
|
100
|
-
"for item in semantic_elements:\n",
|
|
101
|
-
" kind = type(item).__name__\n",
|
|
102
|
-
" name = text(item.name or item.declared_name)\n",
|
|
103
|
-
" qualified_name = text(item.qualified_name)\n",
|
|
104
|
-
" owner = getattr(item, 'owner', None)\n",
|
|
105
|
-
" owner_name = text(getattr(owner, 'qualified_name', None) or getattr(owner, 'name', None))\n",
|
|
106
|
-
" if KIND_FILTER and KIND_FILTER.casefold() not in kind.casefold():\n",
|
|
107
|
-
" continue\n",
|
|
108
|
-
" if NAME_FILTER and NAME_FILTER.casefold() not in (name + ' ' + qualified_name).casefold():\n",
|
|
109
|
-
" continue\n",
|
|
110
|
-
" records.append({'kind': kind, 'name': name, 'qualified_name': qualified_name, 'owner': owner_name})\n",
|
|
111
|
-
"\n",
|
|
112
|
-
"records.sort(key=lambda row: (row['kind'], row['qualified_name'], row['name']))\n",
|
|
113
|
-
"visible = records[:ROW_LIMIT]\n",
|
|
114
|
-
"rows = ''.join(\n",
|
|
115
|
-
" '<tr>' + ''.join(f'<td>{escape(row[key])}</td>' for key in ('kind', 'name', 'qualified_name', 'owner')) + '</tr>'\n",
|
|
116
|
-
" for row in visible\n",
|
|
117
|
-
")\n",
|
|
118
|
-
"display(HTML(f'''<p><strong>{len(records):,}</strong> matching elements; showing {len(visible):,}.</p>\n",
|
|
119
|
-
"<div style=\"max-height:620px;overflow:auto\"><table style=\"font-size:12px\"><thead style=\"position:sticky;top:0;background:white\"><tr><th>Kind</th><th>Name</th><th>Qualified name</th><th>Owner</th></tr></thead><tbody>{rows}</tbody></table></div>'''))"
|
|
120
|
-
]
|
|
121
|
-
},
|
|
122
|
-
{
|
|
123
|
-
"cell_type": "code",
|
|
124
|
-
"execution_count": 3,
|
|
125
|
-
"id": "memo-4",
|
|
126
|
-
"metadata": {
|
|
127
|
-
"execution": {
|
|
128
|
-
"iopub.execute_input": "2026-07-29T22:35:06.949118Z",
|
|
129
|
-
"iopub.status.busy": "2026-07-29T22:35:06.949060Z",
|
|
130
|
-
"iopub.status.idle": "2026-07-29T22:35:06.961470Z",
|
|
131
|
-
"shell.execute_reply": "2026-07-29T22:35:06.961042Z"
|
|
132
|
-
}
|
|
133
|
-
},
|
|
134
|
-
"outputs": [
|
|
17
|
+
"execution_count": null,
|
|
18
|
+
"outputs": [],
|
|
19
|
+
"id": "memo-2"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"cell_type": "code",
|
|
23
|
+
"metadata": {},
|
|
24
|
+
"source": [
|
|
25
|
+
"from html import escape\nfrom IPython.display import HTML, display\n\nKIND_FILTER = '' # Example: 'PartUsage' or 'Requirement'\nNAME_FILTER = '' # Case-insensitive name fragment\nROW_LIMIT = 250\n\nsemantic_elements = (\n model.elements('Usage', include_subtypes=True)\n + model.elements('Definition', include_subtypes=True)\n)\n\ndef text(value):\n return str(value) if value else ''\n\nrecords = []\nfor item in semantic_elements:\n kind = item.type\n name = text(item.name or item.declared_name)\n qualified_name = text(item.qualified_name)\n owner = getattr(item, 'owner', None)\n owner_name = text(getattr(owner, 'qualified_name', None) or getattr(owner, 'name', None))\n if KIND_FILTER and KIND_FILTER.casefold() not in kind.casefold():\n continue\n if NAME_FILTER and NAME_FILTER.casefold() not in (name + ' ' + qualified_name).casefold():\n continue\n records.append({'kind': kind, 'name': name, 'qualified_name': qualified_name, 'owner': owner_name})\n\nrecords.sort(key=lambda row: (row['kind'], row['qualified_name'], row['name']))\nvisible = records[:ROW_LIMIT]\nrows = ''.join(\n '<tr>' + ''.join(f'<td>{escape(row[key])}</td>' for key in ('kind', 'name', 'qualified_name', 'owner')) + '</tr>'\n for row in visible\n)\ndisplay(HTML(f'''<p><strong>{len(records):,}</strong> matching elements; showing {len(visible):,}.</p>\n<div style=\"max-height:620px;overflow:auto\"><table style=\"font-size:12px\"><thead style=\"position:sticky;top:0;background:white\"><tr><th>Kind</th><th>Name</th><th>Qualified name</th><th>Owner</th></tr></thead><tbody>{rows}</tbody></table></div>'''))"
|
|
26
|
+
],
|
|
27
|
+
"execution_count": null,
|
|
28
|
+
"outputs": [],
|
|
29
|
+
"id": "memo-3"
|
|
30
|
+
},
|
|
135
31
|
{
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
32
|
+
"cell_type": "code",
|
|
33
|
+
"metadata": {},
|
|
34
|
+
"source": [
|
|
35
|
+
"import csv\n\nOUTPUT = Path('model-inventory.csv')\nwith OUTPUT.open('w', newline='', encoding='utf-8') as stream:\n writer = csv.DictWriter(stream, fieldnames=['kind', 'name', 'qualified_name', 'owner'])\n writer.writeheader()\n writer.writerows(records)\nprint(f'Exported {len(records):,} rows to {OUTPUT.resolve()}')"
|
|
36
|
+
],
|
|
37
|
+
"execution_count": null,
|
|
38
|
+
"outputs": [],
|
|
39
|
+
"id": "memo-4"
|
|
40
|
+
}
|
|
41
|
+
],
|
|
42
|
+
"metadata": {
|
|
43
|
+
"kernelspec": {
|
|
44
|
+
"display_name": "Python 3 (ipykernel)",
|
|
45
|
+
"language": "python",
|
|
46
|
+
"name": "python3"
|
|
47
|
+
},
|
|
48
|
+
"language_info": {
|
|
49
|
+
"name": "python",
|
|
50
|
+
"version": "3"
|
|
51
|
+
},
|
|
52
|
+
"memo": {
|
|
53
|
+
"starter": true,
|
|
54
|
+
"description": "Filter a model-independent element table and export the current result to CSV."
|
|
141
55
|
}
|
|
142
|
-
],
|
|
143
|
-
"source": [
|
|
144
|
-
"import csv\n",
|
|
145
|
-
"\n",
|
|
146
|
-
"OUTPUT = Path('model-inventory.csv')\n",
|
|
147
|
-
"with OUTPUT.open('w', newline='', encoding='utf-8') as stream:\n",
|
|
148
|
-
" writer = csv.DictWriter(stream, fieldnames=['kind', 'name', 'qualified_name', 'owner'])\n",
|
|
149
|
-
" writer.writeheader()\n",
|
|
150
|
-
" writer.writerows(records)\n",
|
|
151
|
-
"print(f'Exported {len(records):,} rows to {OUTPUT.resolve()}')"
|
|
152
|
-
]
|
|
153
|
-
}
|
|
154
|
-
],
|
|
155
|
-
"metadata": {
|
|
156
|
-
"kernelspec": {
|
|
157
|
-
"display_name": "Python 3 (ipykernel)",
|
|
158
|
-
"language": "python",
|
|
159
|
-
"name": "python3"
|
|
160
|
-
},
|
|
161
|
-
"language_info": {
|
|
162
|
-
"codemirror_mode": {
|
|
163
|
-
"name": "ipython",
|
|
164
|
-
"version": 3
|
|
165
|
-
},
|
|
166
|
-
"file_extension": ".py",
|
|
167
|
-
"mimetype": "text/x-python",
|
|
168
|
-
"name": "python",
|
|
169
|
-
"nbconvert_exporter": "python",
|
|
170
|
-
"pygments_lexer": "ipython3",
|
|
171
|
-
"version": "3.12.13"
|
|
172
56
|
},
|
|
173
|
-
"
|
|
174
|
-
|
|
175
|
-
"starter": true
|
|
176
|
-
}
|
|
177
|
-
},
|
|
178
|
-
"nbformat": 4,
|
|
179
|
-
"nbformat_minor": 5
|
|
57
|
+
"nbformat": 4,
|
|
58
|
+
"nbformat_minor": 5
|
|
180
59
|
}
|
|
@@ -1,22 +1,27 @@
|
|
|
1
1
|
# MEMO analysis samples
|
|
2
2
|
|
|
3
|
-
These notebooks are created by `memo init` and
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
These notebooks are created by `memo-architect init` and work with any MEMO textual
|
|
4
|
+
SysML v2 project. Each one reads the model through `analysis/memo_model.py`,
|
|
5
|
+
which compiles the project with the compiler its settings select
|
|
6
|
+
(`toolchain.compiler`), exactly as `memo compile` does. Changing the
|
|
7
|
+
project's compiler changes what every notebook analyses.
|
|
6
8
|
|
|
7
9
|
## Prerequisites
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
- Python 3.12 or newer with JupyterLab.
|
|
12
|
+
- The `memo` command on `PATH`, or `MEMO_CLI` set to the command that runs it.
|
|
13
|
+
- What the selected compiler needs, as `memo compile --probe` reports. A
|
|
14
|
+
compiler that builds no SysML v2 model of its own (`internal`) cannot serve
|
|
15
|
+
the notebooks; `memo_model.load()` says so.
|
|
10
16
|
|
|
11
17
|
```bash
|
|
12
18
|
python -m venv analysis/.venv
|
|
13
19
|
source analysis/.venv/bin/activate
|
|
14
|
-
python -m pip install jupyterlab
|
|
20
|
+
python -m pip install jupyterlab
|
|
15
21
|
cd analysis
|
|
16
22
|
jupyter lab --port 8888
|
|
17
23
|
```
|
|
18
24
|
|
|
19
|
-
Configure the Syside license using its supported keyring or environment setup.
|
|
20
25
|
MEMO Architect's **Analysis → Jupyter Notebooks** menu opens the local server at
|
|
21
26
|
`http://127.0.0.1:8888`.
|
|
22
27
|
|
|
@@ -32,6 +37,7 @@ MEMO Architect's **Analysis → Jupyter Notebooks** menu opens the local server
|
|
|
32
37
|
| `06-ownership-graph.ipynb` | SVG network graph of model ownership relationships. |
|
|
33
38
|
| `07-model-inventory-table.ipynb` | Filterable inventory parameters, HTML table, and CSV export. |
|
|
34
39
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
40
|
+
A model loads only once the compiler accepts it: `memo_model.load()` raises
|
|
41
|
+
with the compiler's errors otherwise. Compilers can differ in the elements they
|
|
42
|
+
write for the same text (anonymous features in particular), so counts can
|
|
43
|
+
differ slightly from one compiler to another.
|