@memoarchitect/ontology 0.6.4 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/examples/connected-patient-monitor/model/catalog/project.sysml +24 -0
- package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/connected-patient-monitor/model/{viewpoints → catalog/viewpoints/unassigned/views}/connected_patient_monitor_overview.sysml +1 -1
- package/examples/embedded-infusion-pump/model/catalog/project.sysml +24 -0
- package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/embedded-infusion-pump/model/{viewpoints → catalog/viewpoints/unassigned/views}/embedded_infusion_pump_overview.sysml +1 -1
- package/examples/extensions/clinical/memo.package.yaml +18 -9
- package/examples/extensions/clinical/src/methodology/clinical_methodology.sysml +10 -2
- package/examples/extensions/template/memo.package.yaml +17 -9
- package/examples/functional-logical-physical/model/catalog/project.sysml +24 -0
- package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/functional-logical-physical/model/{viewpoints → catalog/viewpoints/unassigned/views}/functional_logical_physical_overview.sysml +1 -1
- package/examples/gpca-pump/analysis/Samples/01-model-overview.ipynb +148 -0
- package/examples/gpca-pump/analysis/Samples/02-architecture-hotspots.ipynb +301 -0
- package/examples/gpca-pump/analysis/Samples/03-model-quality.ipynb +229 -0
- package/examples/gpca-pump/analysis/Samples/04-change-impact-explorer.ipynb +200 -0
- package/examples/gpca-pump/analysis/Samples/05-model-charts.ipynb +188 -0
- package/examples/gpca-pump/analysis/Samples/06-ownership-graph.ipynb +173 -0
- package/examples/gpca-pump/analysis/Samples/07-model-inventory-table.ipynb +180 -0
- package/examples/gpca-pump/analysis/Samples/README.md +37 -0
- package/examples/gpca-pump/gpca-pump.kpar +0 -0
- package/examples/gpca-pump/methodology/gpca_methodology.sysml +7 -8
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +89 -11
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +22 -12
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +2 -2
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +8 -2
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +5 -5
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +3 -8
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +6 -6
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +1 -15
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +41 -11
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +19 -8
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +2 -2
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +10 -1
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +34 -30
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +59 -31
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +1 -1
- package/examples/gpca-pump/model/catalog/project.sysml +21 -0
- package/examples/gpca-pump/model/catalog/viewpoints/context/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/context/views}/context_system_context_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/cybersecurity_cybersecurity_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_cyber_assessment_view.sysml +4 -4
- package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_threat_model_view.sysml +4 -4
- package/examples/gpca-pump/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_allocation_view.sysml +2 -2
- package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_browser_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/behavior_action_flow_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/document_architecture_description_view.sysml +7 -7
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_device_interconnect_view.sysml +5 -5
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_logical_architecture_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_mode_state_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_system_decomposition_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/operational/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_scenario_sequence_view.sysml +2 -2
- package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_use_case_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/physical/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/physical/views}/physical_physical_bom_view.sysml +2 -2
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/document_dhf_index_view.sysml +6 -6
- package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/requirements_requirements_trace_view.sysml +2 -2
- package/examples/gpca-pump/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_hazard_analysis_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_rmf_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_fmea_view.sysml +2 -2
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_risk_chain_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/software/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/document_sdd_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/software_software_architecture_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/usability/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/usability/views}/document_usability_view.sysml +4 -4
- package/examples/gpca-pump/model/catalog/viewpoints/verification/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/document_vv_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/verification_verification_coverage_view.sysml +2 -2
- package/examples/ivd-laboratory-system/model/catalog/project.sysml +24 -0
- package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/ivd-laboratory-system/model/{viewpoints → catalog/viewpoints/unassigned/views}/ivd_laboratory_system_overview.sysml +1 -1
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +1 -0
- package/examples/manual-surgical-instrument/model/catalog/project.sysml +24 -0
- package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/manual-surgical-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/manual_surgical_instrument_overview.sysml +1 -1
- package/examples/multidimensional-layers/model/catalog/project.sysml +24 -0
- package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/multidimensional-layers/model/{viewpoints → catalog/viewpoints/unassigned/views}/multidimensional_layers_overview.sysml +1 -1
- package/examples/nested-architecture-dsm/README.md +49 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +174 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +183 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +53 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +89 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +90 -0
- package/examples/nested-architecture-dsm/model/catalog/project.sysml +28 -0
- package/examples/nested-architecture-dsm/model/catalog/traces.sysml +49 -0
- package/examples/reusable-instrument/model/catalog/project.sysml +24 -0
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +7 -6
- package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/reusable-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/reusable_instrument_overview.sysml +1 -1
- package/examples/software-only-medical-device/model/catalog/project.sysml +24 -0
- package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/software-only-medical-device/model/{viewpoints → catalog/viewpoints/unassigned/views}/software_only_medical_device_overview.sysml +1 -1
- package/examples/surgical-closure-workflow/model/catalog/project.sysml +24 -0
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +23 -19
- package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/surgical-closure-workflow/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_closure_workflow_overview.sysml +1 -1
- package/examples/surgical-robot/model/catalog/project.sysml +24 -0
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +5 -3
- package/examples/surgical-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/surgical-robot/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_robot_overview.sysml +1 -1
- package/examples/sysml-diagram-samples/README.md +7 -0
- package/examples/sysml-diagram-samples/dhf/documents/DOC-HAR-001.md +11 -0
- package/examples/sysml-diagram-samples/memo.package.yaml +11 -5
- package/examples/sysml-diagram-samples/model/catalog/project.sysml +33 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/action_flow_view.sysml +18 -10
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/context_view.sysml +4 -2
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +47 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/functional_flow_view.sysml +23 -20
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/interconnection_view.sysml +17 -14
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +94 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/operational_behaviour_view.sysml +23 -20
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +13 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/requirements_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +51 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/state_transition_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/tree_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/use_case_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +93 -0
- package/examples/temperature-alarm/model/catalog/project.sysml +24 -0
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +2 -1
- package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/temperature-alarm/model/{viewpoints → catalog/viewpoints/unassigned/views}/temperature_alarm_overview.sysml +1 -1
- package/examples/ui-screen-regions/README.md +117 -0
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +60 -0
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +189 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +61 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/drugSelectorRegion/drug-selector-expanded-2.4.1.png +0 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/mainScreenLayout/main-screen-2.4.1.png +0 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/settingsScreenLayout/settings-screen-2.4.1.png +0 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +51 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +27 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +27 -0
- package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +59 -0
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +25 -0
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +178 -0
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +93 -0
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +60 -0
- package/examples/ui-screen-regions/model/catalog/project.sysml +45 -0
- package/examples/ui-screen-regions/model/catalog/traces.sysml +276 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +62 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +62 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +62 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +57 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +52 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +54 -0
- package/memo.manifest.yaml +2 -0
- package/methodologies/default/memo.package.yaml +19 -9
- package/methodologies/gpca/memo.package.yaml +18 -9
- package/ontology/memo.package.yaml +23 -8
- package/package.json +1 -3
- package/profile/memo.package.yaml +18 -9
- package/src/architecture/decisions/memo_decisions.sysml +7 -0
- package/src/architecture/functional/behavior/memo_behavior.sysml +1 -1
- package/src/architecture/functional/functions/memo_functions.sysml +5 -12
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +1 -3
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +18 -5
- package/src/architecture/implementation/ui/memo_ui.sysml +210 -27
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +1 -2
- package/src/architecture/logical/structure/memo_logical_structure.sysml +71 -15
- package/src/architecture/operational/activities/memo_activities.sysml +0 -1
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +2 -2
- package/src/architecture/operational/workflows/memo_workflows.sysml +0 -6
- package/src/{compliance/change/memo_change.sysml → artifacts/configuration_management/memo_configuration_management.sysml} +5 -3
- package/src/artifacts/core/memo_controlled_artifacts.sysml +33 -0
- package/src/artifacts/documents/risk_management/memo_risk_management.sysml +12 -0
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +1 -1
- package/src/assurance/human_factors/memo_human_factors.sysml +1 -1
- package/src/assurance/safety_risk/postmarket_surveillance/memo_postmarket_surveillance.sysml +11 -0
- package/src/assurance/verification_validation/clinical_evaluation/memo_clinical_evaluation.sysml +11 -0
- package/src/assurance/verification_validation/memo_assurance.sysml +1 -1
- package/src/core/annotations/memo_annotations.sysml +77 -0
- package/src/core/common/memo_common.sysml +20 -3
- package/src/core/consistency_rules/consistency_rules.sysml +7 -0
- package/src/core/dimensions/dimensions.sysml +5 -1
- package/src/core/enumerations/memo_enumerations.sysml +41 -6
- package/src/core/methodology_scope/methodology_scope.sysml +7 -15
- package/src/core/relationships/memo_relationships.sysml +4 -2
- package/src/memo_namespaces.sysml +97 -67
- package/src/methodology/core/memo_core.sysml +45 -2
- package/src/methodology/profiles/memo_profiles.sysml +30 -40
- package/src/methodology/workflow/memo_workflow.sysml +7 -2
- package/src/rules/closure/closure_rules.sysml +104 -31
- package/src/rules/coverage/coverage_rules.sysml +4 -256
- package/src/rules/crosslayer/cross_layer_rules.sysml +6 -15
- package/src/rules/lifecycle/lifecycle_rules.sysml +4 -39
- package/src/rules/ontology/ontology_invariants.sysml +38 -68
- package/src/rules/quantitative/quantitative_rules.sysml +8 -8
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +7 -0
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +3 -1
- package/src/viewpoints/clinical/{clinical_evidence_view → views/clinical_evidence_view}/clinical_evidence_view.sysml +2 -2
- package/src/viewpoints/context/context_viewpoint.sysml +3 -1
- package/src/viewpoints/context/{system_context_view → views/system_context_view}/system_context_view.sysml +2 -2
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +3 -1
- package/src/viewpoints/cybersecurity/{cybersecurity_assessment_view → views/cybersecurity_assessment_view}/cybersecurity_assessment_view.sysml +2 -2
- package/src/viewpoints/cybersecurity/{threat_model_view → views/threat_model_view}/threat_model_view.sysml +2 -2
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +6 -0
- package/src/viewpoints/functional/functional_viewpoint.sysml +3 -1
- package/src/viewpoints/functional/{function_allocation_view → views/function_allocation_view}/function_allocation_view.sysml +2 -2
- package/src/viewpoints/functional/{system_functional_tree_view → views/system_functional_tree_view}/system_functional_tree_view.sysml +2 -2
- package/src/viewpoints/logical/logical_viewpoint.sysml +3 -1
- package/src/viewpoints/logical/{logical_architecture_view → views/logical_architecture_view}/logical_architecture_view.sysml +2 -2
- package/src/viewpoints/operational/operational_viewpoint.sysml +3 -1
- package/src/viewpoints/operational/{use_case_view → views/use_case_view}/use_case_view.sysml +2 -2
- package/src/viewpoints/physical/physical_viewpoint.sysml +3 -1
- package/src/viewpoints/physical/{network_topology_view → views/network_topology_view}/network_topology_view.sysml +2 -2
- package/src/viewpoints/physical/{physical_bom_view → views/physical_bom_view}/physical_bom_view.sysml +2 -2
- package/src/viewpoints/rendering/memo_rendering.sysml +354 -0
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +3 -1
- package/src/viewpoints/requirements/{requirements_traceability_view → views/requirements_traceability_view}/requirements_traceability_view.sysml +2 -2
- package/src/viewpoints/risk/risk_viewpoint.sysml +3 -1
- package/src/viewpoints/risk/{risk_chain_view → views/risk_chain_view}/risk_chain_view.sysml +2 -2
- package/src/viewpoints/software/software_viewpoint.sysml +3 -1
- package/src/viewpoints/software/{software_architecture_view → views/software_architecture_view}/software_architecture_view.sysml +2 -2
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +28 -0
- package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +23 -0
- package/src/viewpoints/usability/usability_viewpoint.sysml +3 -1
- package/src/viewpoints/usability/{usability_engineering_view → views/usability_engineering_view}/usability_engineering_view.sysml +2 -2
- package/src/viewpoints/verification/verification_viewpoint.sysml +3 -1
- package/src/viewpoints/verification/{verification_coverage_view → views/verification_coverage_view}/verification_coverage_view.sysml +2 -2
- package/templates/connected-device/memo.package.yaml +11 -5
- package/templates/connected-device/model/catalog/project.sysml +28 -0
- package/templates/connected-device/syside.toml +1 -1
- package/templates/default/memo.package.yaml +11 -5
- package/templates/default/model/catalog/project.sysml +28 -0
- package/templates/default/syside.toml +1 -1
- package/templates/infusion-pump/memo.package.yaml +11 -5
- package/templates/infusion-pump/model/catalog/project.sysml +28 -0
- package/templates/infusion-pump/syside.toml +1 -1
- package/templates/monitoring-device/memo.package.yaml +11 -5
- package/templates/monitoring-device/model/catalog/project.sysml +28 -0
- package/templates/monitoring-device/syside.toml +1 -1
- package/templates/samd/memo.package.yaml +11 -5
- package/templates/samd/model/catalog/project.sysml +28 -0
- package/templates/samd/syside.toml +1 -1
- package/examples/connected-patient-monitor/model/connected_patient_monitor.sysml +0 -3
- package/examples/embedded-infusion-pump/model/embedded_infusion_pump.sysml +0 -3
- package/examples/functional-logical-physical/model/functional_logical_physical.sysml +0 -3
- package/examples/gpca-pump/memo.config.yaml +0 -9
- package/examples/gpca-pump/methodology/gpca_scope.sysml +0 -25
- package/examples/ivd-laboratory-system/model/ivd_laboratory_system.sysml +0 -3
- package/examples/manual-surgical-instrument/model/manual_surgical_instrument.sysml +0 -3
- package/examples/multidimensional-layers/model/multidimensional_layers.sysml +0 -4
- package/examples/reusable-instrument/model/reusable_instrument.sysml +0 -4
- package/examples/software-only-medical-device/model/software_only_medical_device.sysml +0 -4
- package/examples/surgical-closure-workflow/model/surgical_closure_workflow.sysml +0 -4
- package/examples/surgical-robot/model/surgical_robot.sysml +0 -4
- package/examples/temperature-alarm/model/temperature_alarm.sysml +0 -4
- package/ontology/memo.rendering.yaml +0 -84
- package/src/compliance/artifacts/memo_artifacts.sysml +0 -12
- package/src/compliance/document_views/memo_document_views.sysml +0 -7
- package/src/compliance/iso14971/risk_management_file.sysml +0 -16
- package/src/compliance/postmarket/memo_postmarket.sysml +0 -16
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/change-record.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-input.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-output.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-review.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-validation.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-verification.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/dhf-index.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/transfer-plan.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/user-needs.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-plan.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-report.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/incident-response.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/postmarket-surveillance.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/security-arch.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/threat-model.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/vuln-assessment.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/change-control.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/detailed-design.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/integration-test.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sad.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sbom.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sdp.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/soup.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/srs.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sw-traceability.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/system-test.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/formative-eval.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/summative-eval.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/task-analysis.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ue-plan.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ui-spec.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/urra.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/use-spec.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/fmea.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/fta.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/har.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-benefit.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-matrix.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmp.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmr.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/approval-block.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/document-control-header.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/references-section.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/revision-history-table.md +0 -0
- /package/templates/connected-device/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/connected-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/connected-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/default/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/default/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/default/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/infusion-pump/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/infusion-pump/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/infusion-pump/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/monitoring-device/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/monitoring-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/monitoring-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/samd/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/samd/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/samd/{src → model/catalog}/assurance/requirements.sysml +0 -0
package/README.md
CHANGED
|
@@ -23,7 +23,7 @@ pin an exact release; the package has no repository or runtime dependency on Mem
|
|
|
23
23
|
Tools or Memo Architect.
|
|
24
24
|
|
|
25
25
|
```bash
|
|
26
|
-
pnpm add @memoarchitect/ontology@0.
|
|
26
|
+
pnpm add @memoarchitect/ontology@0.7.0
|
|
27
27
|
```
|
|
28
28
|
|
|
29
29
|
> **Pre-1.0 notice:** ontology names, relationships, and package layout may
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Connected Patient Monitor — project identity and method binding.
|
|
2
|
+
//
|
|
3
|
+
// The native entrypoint. The imports name what this project contains and the
|
|
4
|
+
// binding names the methodology it is governed by. No YAML file participates.
|
|
5
|
+
package memo_examples_connected_patient_monitor_project {
|
|
6
|
+
private import ScalarValues::*;
|
|
7
|
+
|
|
8
|
+
private import memo_core_enumerations::*;
|
|
9
|
+
private import memo_methodology_core::*;
|
|
10
|
+
private import memo_methodology_profiles::*;
|
|
11
|
+
|
|
12
|
+
// The project's own content, imported so the catalog is one reachable
|
|
13
|
+
// closure from a single entrypoint.
|
|
14
|
+
private import memo_examples_connected_patient_monitor_viewpoints_unassigned::*;
|
|
15
|
+
private import memo_examples_connected_patient_monitor_viewpoints_unassigned_views_connected_patient_monitor_overview::*;
|
|
16
|
+
|
|
17
|
+
part projectBinding : ProjectMethodBinding {
|
|
18
|
+
attribute :>> id = "PMB-PATIENT-MONITOR-001";
|
|
19
|
+
attribute :>> name = "ConnectedPatientMonitorProjectMethodBinding";
|
|
20
|
+
attribute :>> projectName = "Connected Patient Monitor";
|
|
21
|
+
ref :>> selectedMethodology = mdDefaultDefinition;
|
|
22
|
+
attribute :>> scopeMode = ScopeModeKind::explicit;
|
|
23
|
+
}
|
|
24
|
+
}
|
package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/viewpoint.sysml
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// unassigned viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_connected_patient_monitor_viewpoints_unassigned {
|
|
7
|
+
// The reusable package declaring unassigned could not be resolved during
|
|
8
|
+
// conversion. Import it here so the views beneath this viewpoint resolve.
|
|
9
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_connected_patient_monitor_viewpoints_unassigned_views_connected_patient_monitor_overview {
|
|
2
2
|
private import memo_examples_connected_patient_monitor::*;
|
|
3
3
|
private import memo_viewpoints_definitions::*;
|
|
4
4
|
private import memo_core_enumerations::*;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Embedded Infusion Pump — project identity and method binding.
|
|
2
|
+
//
|
|
3
|
+
// The native entrypoint. The imports name what this project contains and the
|
|
4
|
+
// binding names the methodology it is governed by. No YAML file participates.
|
|
5
|
+
package memo_examples_embedded_infusion_pump_project {
|
|
6
|
+
private import ScalarValues::*;
|
|
7
|
+
|
|
8
|
+
private import memo_core_enumerations::*;
|
|
9
|
+
private import memo_methodology_core::*;
|
|
10
|
+
private import memo_methodology_profiles::*;
|
|
11
|
+
|
|
12
|
+
// The project's own content, imported so the catalog is one reachable
|
|
13
|
+
// closure from a single entrypoint.
|
|
14
|
+
private import memo_examples_embedded_infusion_pump_viewpoints_unassigned::*;
|
|
15
|
+
private import memo_examples_embedded_infusion_pump_viewpoints_unassigned_views_embedded_infusion_pump_overview::*;
|
|
16
|
+
|
|
17
|
+
part projectBinding : ProjectMethodBinding {
|
|
18
|
+
attribute :>> id = "PMB-INFUSION-PUMP-001";
|
|
19
|
+
attribute :>> name = "EmbeddedInfusionPumpProjectMethodBinding";
|
|
20
|
+
attribute :>> projectName = "Embedded Infusion Pump";
|
|
21
|
+
ref :>> selectedMethodology = mdDefaultDefinition;
|
|
22
|
+
attribute :>> scopeMode = ScopeModeKind::explicit;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// unassigned viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_embedded_infusion_pump_viewpoints_unassigned {
|
|
7
|
+
// The reusable package declaring unassigned could not be resolved during
|
|
8
|
+
// conversion. Import it here so the views beneath this viewpoint resolve.
|
|
9
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_embedded_infusion_pump_viewpoints_unassigned_views_embedded_infusion_pump_overview {
|
|
2
2
|
private import memo_examples_embedded_infusion_pump::*;
|
|
3
3
|
private import memo_viewpoints_definitions::*;
|
|
4
4
|
private import memo_core_enumerations::*;
|
|
@@ -1,9 +1,18 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
# Application/distribution descriptor for this MEMO package.
|
|
2
|
+
#
|
|
3
|
+
# Identity and location only. It records what this package is called, what
|
|
4
|
+
# version it is, and where its SysML source sits so a resolver can find it.
|
|
5
|
+
# It does not select model content: the project's native SysML imports and its
|
|
6
|
+
# ProjectMethodBinding decide what is in the model. Semantic fields
|
|
7
|
+
# (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
|
|
8
|
+
# removed at the native semantic flip and are now rejected if present.
|
|
9
|
+
name: '@memoarchitect/example-extension-clinical'
|
|
10
|
+
version: 0.6.1
|
|
11
|
+
description: Example methodology extension for clinical-procedure vocabulary
|
|
12
|
+
license: MIT
|
|
13
|
+
tags:
|
|
14
|
+
- memo
|
|
15
|
+
- methodology
|
|
16
|
+
- extension
|
|
17
|
+
- clinical
|
|
18
|
+
sysmlDir: ./src
|
|
@@ -1,14 +1,22 @@
|
|
|
1
1
|
package memo_extension_clinical_methodology {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
private import memo_methodology_core::*;
|
|
4
|
+
private import memo_methodology_profiles::*;
|
|
5
|
+
private import memo_core_enumerations::*;
|
|
4
6
|
|
|
5
7
|
part clinicalExtensionMethod : MethodologyDefinition {
|
|
6
8
|
attribute :>> id = "EXT-CLINICAL-001";
|
|
7
9
|
attribute :>> name = "ClinicalProcedureExtension";
|
|
8
|
-
attribute :>> version = "0.6.
|
|
10
|
+
attribute :>> version = "0.6.5";
|
|
9
11
|
attribute :>> domain = "clinical procedures";
|
|
10
12
|
attribute :>> description = "Adds optional clinical-procedure vocabulary to a MEMO project.";
|
|
11
|
-
|
|
13
|
+
// The base is a typed SysML reference, not a name to keep in sync with
|
|
14
|
+
// another file. `baseMethodName` was the pre-flip spelling and no
|
|
15
|
+
// longer resolves.
|
|
16
|
+
ref :>> baseMethodology = mdDefaultDefinition;
|
|
17
|
+
// An extension adds its own module to whatever its base selected;
|
|
18
|
+
// saying so explicitly is required now that an empty list means empty.
|
|
19
|
+
attribute :>> scopeMode = ScopeModeKind::explicit;
|
|
12
20
|
attribute :>> includedModule = "memo_extension_clinical";
|
|
13
21
|
}
|
|
14
22
|
}
|
|
@@ -1,9 +1,17 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
1
|
+
# Application/distribution descriptor for this MEMO package.
|
|
2
|
+
#
|
|
3
|
+
# Identity and location only. It records what this package is called, what
|
|
4
|
+
# version it is, and where its SysML source sits so a resolver can find it.
|
|
5
|
+
# It does not select model content: the project's native SysML imports and its
|
|
6
|
+
# ProjectMethodBinding decide what is in the model. Semantic fields
|
|
7
|
+
# (`type`, `extends`, `usage`, `ontologies`, `methodology`, `modules`) were
|
|
8
|
+
# removed at the native semantic flip and are now rejected if present.
|
|
9
|
+
name: '{{name}}'
|
|
10
|
+
version: 0.1.0
|
|
11
|
+
description: MEMO methodology extension
|
|
12
|
+
license: MIT
|
|
13
|
+
tags:
|
|
14
|
+
- memo
|
|
15
|
+
- methodology
|
|
16
|
+
- extension
|
|
17
|
+
sysmlDir: ./src
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
// Functional Logical Physical — project identity and method binding.
|
|
2
|
+
//
|
|
3
|
+
// The native entrypoint. The imports name what this project contains and the
|
|
4
|
+
// binding names the methodology it is governed by. No YAML file participates.
|
|
5
|
+
package memo_examples_functional_logical_physical_project {
|
|
6
|
+
private import ScalarValues::*;
|
|
7
|
+
|
|
8
|
+
private import memo_core_enumerations::*;
|
|
9
|
+
private import memo_methodology_core::*;
|
|
10
|
+
private import memo_methodology_profiles::*;
|
|
11
|
+
|
|
12
|
+
// The project's own content, imported so the catalog is one reachable
|
|
13
|
+
// closure from a single entrypoint.
|
|
14
|
+
private import memo_examples_functional_logical_physical_viewpoints_unassigned::*;
|
|
15
|
+
private import memo_examples_functional_logical_physical_viewpoints_unassigned_views_functional_logical_physical_overview::*;
|
|
16
|
+
|
|
17
|
+
part projectBinding : ProjectMethodBinding {
|
|
18
|
+
attribute :>> id = "PMB-LOGICAL-PHYSICAL-001";
|
|
19
|
+
attribute :>> name = "FunctionalLogicalPhysicalProjectMethodBinding";
|
|
20
|
+
attribute :>> projectName = "Functional Logical Physical";
|
|
21
|
+
ref :>> selectedMethodology = mdDefaultDefinition;
|
|
22
|
+
attribute :>> scopeMode = ScopeModeKind::explicit;
|
|
23
|
+
}
|
|
24
|
+
}
|
package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/viewpoint.sysml
ADDED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// unassigned viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_functional_logical_physical_viewpoints_unassigned {
|
|
7
|
+
// The reusable package declaring unassigned could not be resolved during
|
|
8
|
+
// conversion. Import it here so the views beneath this viewpoint resolve.
|
|
9
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_functional_logical_physical_viewpoints_unassigned_views_functional_logical_physical_overview {
|
|
2
2
|
private import memo_examples_functional_logical_physical::*;
|
|
3
3
|
private import memo_viewpoints_definitions::*;
|
|
4
4
|
private import memo_core_enumerations::*;
|
|
@@ -0,0 +1,148 @@
|
|
|
1
|
+
{
|
|
2
|
+
"cells": [
|
|
3
|
+
{
|
|
4
|
+
"cell_type": "markdown",
|
|
5
|
+
"id": "memo-1",
|
|
6
|
+
"metadata": {},
|
|
7
|
+
"source": [
|
|
8
|
+
"# Model overview\n",
|
|
9
|
+
"\n",
|
|
10
|
+
"Visual summary of model size, semantic content, and diagnostics.\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:31:46.345732Z",
|
|
22
|
+
"iopub.status.busy": "2026-07-29T22:31:46.345598Z",
|
|
23
|
+
"iopub.status.idle": "2026-07-29T22:31:46.699014Z",
|
|
24
|
+
"shell.execute_reply": "2026-07-29T22:31:46.698564Z"
|
|
25
|
+
}
|
|
26
|
+
},
|
|
27
|
+
"outputs": [
|
|
28
|
+
{
|
|
29
|
+
"name": "stdout",
|
|
30
|
+
"output_type": "stream",
|
|
31
|
+
"text": [
|
|
32
|
+
"Loaded 42 SysML files from /Users/poojakashyap/sandbox/memo-meta/memo/examples/gpca-pump/model\n"
|
|
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:31:46.700004Z",
|
|
63
|
+
"iopub.status.busy": "2026-07-29T22:31:46.699937Z",
|
|
64
|
+
"iopub.status.idle": "2026-07-29T22:31:46.707568Z",
|
|
65
|
+
"shell.execute_reply": "2026-07-29T22:31:46.707310Z"
|
|
66
|
+
}
|
|
67
|
+
},
|
|
68
|
+
"outputs": [
|
|
69
|
+
{
|
|
70
|
+
"data": {
|
|
71
|
+
"text/html": [
|
|
72
|
+
"<h3>Semantic inventory</h3><table><tr><th>Element type</th><th>Count</th><th>Relative size</th></tr><tr><td>AttributeUsage</td><td>5,056</td><td><div style=\"background:#2d8d70;height:12px;width:320px\"></div></td></tr><tr><td>ConnectionUsage</td><td>691</td><td><div style=\"background:#2d8d70;height:12px;width:44px\"></div></td></tr><tr><td>PartUsage</td><td>425</td><td><div style=\"background:#2d8d70;height:12px;width:27px\"></div></td></tr><tr><td>RequirementUsage</td><td>105</td><td><div style=\"background:#2d8d70;height:12px;width:7px\"></div></td></tr><tr><td>ActionUsage</td><td>44</td><td><div style=\"background:#2d8d70;height:12px;width:3px\"></div></td></tr><tr><td>Package</td><td>42</td><td><div style=\"background:#2d8d70;height:12px;width:3px\"></div></td></tr><tr><td>StateUsage</td><td>10</td><td><div style=\"background:#2d8d70;height:12px;width:2px\"></div></td></tr><tr><td>ActionDefinition</td><td>6</td><td><div style=\"background:#2d8d70;height:12px;width:2px\"></div></td></tr><tr><td>PortDefinition</td><td>1</td><td><div style=\"background:#2d8d70;height:12px;width:2px\"></div></td></tr><tr><td>PartDefinition</td><td>0</td><td><div style=\"background:#2d8d70;height:12px;width:2px\"></div></td></tr><tr><td>RequirementDefinition</td><td>0</td><td><div style=\"background:#2d8d70;height:12px;width:2px\"></div></td></tr><tr><td>PortUsage</td><td>0</td><td><div style=\"background:#2d8d70;height:12px;width:2px\"></div></td></tr><tr><td>ConnectionDefinition</td><td>0</td><td><div style=\"background:#2d8d70;height:12px;width:2px\"></div></td></tr><tr><td>StateDefinition</td><td>0</td><td><div style=\"background:#2d8d70;height:12px;width:2px\"></div></td></tr><tr><td>AttributeDefinition</td><td>0</td><td><div style=\"background:#2d8d70;height:12px;width:2px\"></div></td></tr></table>"
|
|
73
|
+
],
|
|
74
|
+
"text/plain": [
|
|
75
|
+
"<IPython.core.display.HTML object>"
|
|
76
|
+
]
|
|
77
|
+
},
|
|
78
|
+
"metadata": {},
|
|
79
|
+
"output_type": "display_data"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"data": {
|
|
83
|
+
"text/plain": [
|
|
84
|
+
"{'SysML files': 42, 'Errors': 8009, 'Warnings': 0, 'Information': 0}"
|
|
85
|
+
]
|
|
86
|
+
},
|
|
87
|
+
"execution_count": 2,
|
|
88
|
+
"metadata": {},
|
|
89
|
+
"output_type": "execute_result"
|
|
90
|
+
}
|
|
91
|
+
],
|
|
92
|
+
"source": [
|
|
93
|
+
"from IPython.display import HTML, display\n",
|
|
94
|
+
"\n",
|
|
95
|
+
"semantic_types = [\n",
|
|
96
|
+
" 'Package', 'PartDefinition', 'PartUsage', 'RequirementDefinition',\n",
|
|
97
|
+
" 'RequirementUsage', 'ActionDefinition', 'ActionUsage', 'PortDefinition',\n",
|
|
98
|
+
" 'PortUsage', 'ConnectionDefinition', 'ConnectionUsage', 'StateDefinition',\n",
|
|
99
|
+
" 'StateUsage', 'AttributeDefinition', 'AttributeUsage'\n",
|
|
100
|
+
"]\n",
|
|
101
|
+
"counts = {}\n",
|
|
102
|
+
"for type_name in semantic_types:\n",
|
|
103
|
+
" node_type = getattr(syside, type_name, None)\n",
|
|
104
|
+
" if node_type is not None:\n",
|
|
105
|
+
" counts[type_name] = len(list(model.elements(node_type)))\n",
|
|
106
|
+
"\n",
|
|
107
|
+
"largest = max(counts.values(), default=1)\n",
|
|
108
|
+
"rows = ''.join(\n",
|
|
109
|
+
" f'<tr><td>{name}</td><td>{count:,}</td><td><div style=\"background:#2d8d70;height:12px;width:{max(2, count * 320 / largest):.0f}px\"></div></td></tr>'\n",
|
|
110
|
+
" for name, count in sorted(counts.items(), key=lambda item: item[1], reverse=True)\n",
|
|
111
|
+
")\n",
|
|
112
|
+
"display(HTML(f'<h3>Semantic inventory</h3><table><tr><th>Element type</th><th>Count</th><th>Relative size</th></tr>{rows}</table>'))\n",
|
|
113
|
+
"\n",
|
|
114
|
+
"{\n",
|
|
115
|
+
" 'SysML files': len(SYSML_FILES),\n",
|
|
116
|
+
" 'Errors': len(list(diagnostics.errors)),\n",
|
|
117
|
+
" 'Warnings': len(list(diagnostics.warnings)),\n",
|
|
118
|
+
" 'Information': len(list(diagnostics.infos)),\n",
|
|
119
|
+
"}"
|
|
120
|
+
]
|
|
121
|
+
}
|
|
122
|
+
],
|
|
123
|
+
"metadata": {
|
|
124
|
+
"kernelspec": {
|
|
125
|
+
"display_name": "Python 3 (ipykernel)",
|
|
126
|
+
"language": "python",
|
|
127
|
+
"name": "python3"
|
|
128
|
+
},
|
|
129
|
+
"language_info": {
|
|
130
|
+
"codemirror_mode": {
|
|
131
|
+
"name": "ipython",
|
|
132
|
+
"version": 3
|
|
133
|
+
},
|
|
134
|
+
"file_extension": ".py",
|
|
135
|
+
"mimetype": "text/x-python",
|
|
136
|
+
"name": "python",
|
|
137
|
+
"nbconvert_exporter": "python",
|
|
138
|
+
"pygments_lexer": "ipython3",
|
|
139
|
+
"version": "3.12.13"
|
|
140
|
+
},
|
|
141
|
+
"memo": {
|
|
142
|
+
"description": "Visual summary of model size, semantic content, and diagnostics.",
|
|
143
|
+
"starter": true
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"nbformat": 4,
|
|
147
|
+
"nbformat_minor": 5
|
|
148
|
+
}
|