@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
|
@@ -6,6 +6,7 @@ package memo {
|
|
|
6
6
|
public import memo_core_terminology::*;
|
|
7
7
|
public import memo_core_common::*;
|
|
8
8
|
public import memo_core_relationships::*;
|
|
9
|
+
public import memo_core_annotations::*;
|
|
9
10
|
|
|
10
11
|
public import memo_architecture_operational_context_actors::*;
|
|
11
12
|
public import memo_architecture_operational_context_stakeholders::*;
|
|
@@ -31,44 +32,48 @@ package memo {
|
|
|
31
32
|
public import memo_assurance_safety_risk::*;
|
|
32
33
|
public import memo_assurance_cybersecurity::*;
|
|
33
34
|
public import memo_assurance_verification_validation::*;
|
|
35
|
+
public import memo_assurance_verification_validation_clinical_evaluation::*;
|
|
34
36
|
public import memo_architecture_realization_physical::*;
|
|
35
37
|
public import memo_assurance_safety_risk_analysis::*;
|
|
38
|
+
public import memo_assurance_safety_risk_postmarket_surveillance::*;
|
|
36
39
|
public import memo_architecture_decisions::*;
|
|
37
40
|
|
|
38
41
|
public import memo_viewpoints_definitions::*;
|
|
39
42
|
public import memo_viewpoints_catalog::*;
|
|
40
43
|
public import memo_viewpoints_context_context_viewpoint::*;
|
|
41
|
-
public import
|
|
44
|
+
public import memo_viewpoints_context_views_system_context_view::*;
|
|
42
45
|
public import memo_viewpoints_operational_operational_viewpoint::*;
|
|
43
|
-
public import
|
|
46
|
+
public import memo_viewpoints_operational_views_use_case_view::*;
|
|
44
47
|
public import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
45
|
-
public import
|
|
48
|
+
public import memo_viewpoints_requirements_views_requirements_traceability_view::*;
|
|
46
49
|
public import memo_viewpoints_functional_functional_viewpoint::*;
|
|
47
|
-
public import
|
|
48
|
-
public import
|
|
50
|
+
public import memo_viewpoints_functional_views_system_functional_tree_view::*;
|
|
51
|
+
public import memo_viewpoints_functional_views_function_allocation_view::*;
|
|
49
52
|
public import memo_viewpoints_logical_logical_viewpoint::*;
|
|
50
|
-
public import
|
|
53
|
+
public import memo_viewpoints_logical_views_logical_architecture_view::*;
|
|
51
54
|
public import memo_viewpoints_software_software_viewpoint::*;
|
|
52
|
-
public import
|
|
55
|
+
public import memo_viewpoints_software_views_software_architecture_view::*;
|
|
53
56
|
public import memo_viewpoints_physical_physical_viewpoint::*;
|
|
54
|
-
public import
|
|
55
|
-
public import
|
|
57
|
+
public import memo_viewpoints_physical_views_physical_bom_view::*;
|
|
58
|
+
public import memo_viewpoints_physical_views_network_topology_view::*;
|
|
56
59
|
public import memo_viewpoints_risk_risk_viewpoint::*;
|
|
57
|
-
public import
|
|
60
|
+
public import memo_viewpoints_risk_views_risk_chain_view::*;
|
|
58
61
|
public import memo_viewpoints_verification_verification_viewpoint::*;
|
|
59
|
-
public import
|
|
62
|
+
public import memo_viewpoints_verification_views_verification_coverage_view::*;
|
|
60
63
|
public import memo_viewpoints_cybersecurity_cybersecurity_viewpoint::*;
|
|
61
|
-
public import
|
|
62
|
-
public import
|
|
64
|
+
public import memo_viewpoints_cybersecurity_views_threat_model_view::*;
|
|
65
|
+
public import memo_viewpoints_cybersecurity_views_cybersecurity_assessment_view::*;
|
|
63
66
|
public import memo_viewpoints_clinical_clinical_viewpoint::*;
|
|
64
|
-
public import
|
|
67
|
+
public import memo_viewpoints_clinical_views_clinical_evidence_view::*;
|
|
65
68
|
public import memo_viewpoints_usability_usability_viewpoint::*;
|
|
66
|
-
public import
|
|
69
|
+
public import memo_viewpoints_usability_views_usability_engineering_view::*;
|
|
70
|
+
public import memo_viewpoints_ui_layout_ui_layout_viewpoint::*;
|
|
71
|
+
public import memo_viewpoints_ui_layout_views_screen_layout_view::*;
|
|
67
72
|
|
|
68
73
|
public import memo_artifacts_definitions::*;
|
|
69
|
-
public import
|
|
70
|
-
public import
|
|
71
|
-
public import
|
|
74
|
+
public import memo_artifacts_core::*;
|
|
75
|
+
public import memo_artifacts_configuration_management::*;
|
|
76
|
+
public import memo_artifacts_documents_risk_management::*;
|
|
72
77
|
|
|
73
78
|
public import memo_methodology_core::*;
|
|
74
79
|
public import memo_methodology_rules::*;
|
|
@@ -80,7 +85,6 @@ package memo {
|
|
|
80
85
|
alias architecture for memo_namespace_architecture;
|
|
81
86
|
alias assurance for memo_namespace_assurance;
|
|
82
87
|
alias artifacts for memo_namespace_artifacts;
|
|
83
|
-
alias compliance for memo_namespace_compliance;
|
|
84
88
|
alias core for memo_namespace_core;
|
|
85
89
|
alias methodology for memo_namespace_methodology;
|
|
86
90
|
alias rules for memo_namespace_rules;
|
|
@@ -103,6 +107,7 @@ package memo_namespace_assurance {
|
|
|
103
107
|
public import memo_assurance_safety_risk::*;
|
|
104
108
|
public import memo_assurance_safety_risk_arch_risk::*;
|
|
105
109
|
alias 'analysis' for memo_namespace_assurance_safety_risk_analysis;
|
|
110
|
+
alias postmarket_surveillance for memo_namespace_assurance_safety_risk_postmarket_surveillance;
|
|
106
111
|
}
|
|
107
112
|
alias cybersecurity for memo_namespace_assurance_cybersecurity;
|
|
108
113
|
alias human_factors for memo_namespace_assurance_human_factors;
|
|
@@ -235,17 +240,13 @@ package memo_namespace_architecture {
|
|
|
235
240
|
|
|
236
241
|
package memo_namespace_artifacts {
|
|
237
242
|
alias definitions for memo_namespace_artifacts_definitions;
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
alias artifacts for memo_namespace_compliance_artifacts;
|
|
242
|
-
alias change for memo_namespace_compliance_change;
|
|
243
|
-
alias document_views for memo_namespace_compliance_document_views;
|
|
244
|
-
alias iso14971 for memo_namespace_compliance_iso14971;
|
|
245
|
-
alias postmarket for memo_namespace_compliance_postmarket;
|
|
243
|
+
alias core for memo_namespace_artifacts_core;
|
|
244
|
+
alias configuration_management for memo_namespace_artifacts_configuration_management;
|
|
245
|
+
alias documents for memo_namespace_artifacts_documents;
|
|
246
246
|
}
|
|
247
247
|
|
|
248
248
|
package memo_namespace_core {
|
|
249
|
+
alias annotations for memo_namespace_core_annotations;
|
|
249
250
|
alias common for memo_namespace_core_common;
|
|
250
251
|
alias consistency_rules for memo_namespace_core_consistency_rules;
|
|
251
252
|
alias dimensions for memo_namespace_core_dimensions;
|
|
@@ -290,6 +291,7 @@ package memo_namespace_viewpoints {
|
|
|
290
291
|
alias requirements for memo_namespace_viewpoints_requirements;
|
|
291
292
|
alias risk for memo_namespace_viewpoints_risk;
|
|
292
293
|
alias software for memo_namespace_viewpoints_software;
|
|
294
|
+
alias ui_layout for memo_namespace_viewpoints_ui_layout;
|
|
293
295
|
alias usability for memo_namespace_viewpoints_usability;
|
|
294
296
|
alias 'verification' for memo_namespace_viewpoints_verification;
|
|
295
297
|
}
|
|
@@ -300,6 +302,7 @@ package memo_namespace_assurance_safety_risk_analysis {
|
|
|
300
302
|
|
|
301
303
|
package memo_namespace_assurance_verification_validation {
|
|
302
304
|
public import memo_assurance_verification_validation::*;
|
|
305
|
+
alias clinical_evaluation for memo_namespace_assurance_verification_validation_clinical_evaluation;
|
|
303
306
|
}
|
|
304
307
|
|
|
305
308
|
package memo_namespace_architecture_behavior {
|
|
@@ -350,24 +353,32 @@ package memo_namespace_artifacts_definitions {
|
|
|
350
353
|
public import memo_artifacts_definitions::*;
|
|
351
354
|
}
|
|
352
355
|
|
|
353
|
-
package
|
|
354
|
-
public import
|
|
356
|
+
package memo_namespace_artifacts_core {
|
|
357
|
+
public import memo_artifacts_core::*;
|
|
358
|
+
}
|
|
359
|
+
|
|
360
|
+
package memo_namespace_artifacts_configuration_management {
|
|
361
|
+
public import memo_artifacts_configuration_management::*;
|
|
355
362
|
}
|
|
356
363
|
|
|
357
|
-
package
|
|
358
|
-
|
|
364
|
+
package memo_namespace_artifacts_documents {
|
|
365
|
+
alias risk_management for memo_namespace_artifacts_documents_risk_management;
|
|
359
366
|
}
|
|
360
367
|
|
|
361
|
-
package
|
|
362
|
-
public import
|
|
368
|
+
package memo_namespace_artifacts_documents_risk_management {
|
|
369
|
+
public import memo_artifacts_documents_risk_management::*;
|
|
363
370
|
}
|
|
364
371
|
|
|
365
|
-
package
|
|
366
|
-
public import
|
|
372
|
+
package memo_namespace_assurance_verification_validation_clinical_evaluation {
|
|
373
|
+
public import memo_assurance_verification_validation_clinical_evaluation::*;
|
|
367
374
|
}
|
|
368
375
|
|
|
369
|
-
package
|
|
370
|
-
public import
|
|
376
|
+
package memo_namespace_assurance_safety_risk_postmarket_surveillance {
|
|
377
|
+
public import memo_assurance_safety_risk_postmarket_surveillance::*;
|
|
378
|
+
}
|
|
379
|
+
|
|
380
|
+
package memo_namespace_core_annotations {
|
|
381
|
+
public import memo_core_annotations::*;
|
|
371
382
|
}
|
|
372
383
|
|
|
373
384
|
package memo_namespace_core_common {
|
|
@@ -470,19 +481,21 @@ package memo_namespace_viewpoints_catalog {
|
|
|
470
481
|
}
|
|
471
482
|
|
|
472
483
|
package memo_namespace_viewpoints_clinical {
|
|
473
|
-
alias clinical_evidence_view for memo_namespace_viewpoints_clinical_clinical_evidence_view;
|
|
474
484
|
public import memo_viewpoints_clinical_clinical_viewpoint::*;
|
|
485
|
+
package views { alias clinical_evidence_view for memo_namespace_viewpoints_clinical_clinical_evidence_view; }
|
|
475
486
|
}
|
|
476
487
|
|
|
477
488
|
package memo_namespace_viewpoints_context {
|
|
478
|
-
alias system_context_view for memo_namespace_viewpoints_context_system_context_view;
|
|
479
489
|
public import memo_viewpoints_context_context_viewpoint::*;
|
|
490
|
+
package views { alias system_context_view for memo_namespace_viewpoints_context_system_context_view; }
|
|
480
491
|
}
|
|
481
492
|
|
|
482
493
|
package memo_namespace_viewpoints_cybersecurity {
|
|
483
|
-
alias cybersecurity_assessment_view for memo_namespace_viewpoints_cybersecurity_cybersecurity_assessment_view;
|
|
484
|
-
alias threat_model_view for memo_namespace_viewpoints_cybersecurity_threat_model_view;
|
|
485
494
|
public import memo_viewpoints_cybersecurity_cybersecurity_viewpoint::*;
|
|
495
|
+
package views {
|
|
496
|
+
alias cybersecurity_assessment_view for memo_namespace_viewpoints_cybersecurity_cybersecurity_assessment_view;
|
|
497
|
+
alias threat_model_view for memo_namespace_viewpoints_cybersecurity_threat_model_view;
|
|
498
|
+
}
|
|
486
499
|
}
|
|
487
500
|
|
|
488
501
|
package memo_namespace_viewpoints_definitions {
|
|
@@ -490,50 +503,59 @@ package memo_namespace_viewpoints_definitions {
|
|
|
490
503
|
}
|
|
491
504
|
|
|
492
505
|
package memo_namespace_viewpoints_functional {
|
|
493
|
-
alias function_allocation_view for memo_namespace_viewpoints_functional_function_allocation_view;
|
|
494
|
-
alias system_functional_tree_view for memo_namespace_viewpoints_functional_system_functional_tree_view;
|
|
495
506
|
public import memo_viewpoints_functional_functional_viewpoint::*;
|
|
507
|
+
package views {
|
|
508
|
+
alias function_allocation_view for memo_namespace_viewpoints_functional_function_allocation_view;
|
|
509
|
+
alias system_functional_tree_view for memo_namespace_viewpoints_functional_system_functional_tree_view;
|
|
510
|
+
}
|
|
496
511
|
}
|
|
497
512
|
|
|
498
513
|
package memo_namespace_viewpoints_logical {
|
|
499
|
-
alias logical_architecture_view for memo_namespace_viewpoints_logical_logical_architecture_view;
|
|
500
514
|
public import memo_viewpoints_logical_logical_viewpoint::*;
|
|
515
|
+
package views { alias logical_architecture_view for memo_namespace_viewpoints_logical_logical_architecture_view; }
|
|
501
516
|
}
|
|
502
517
|
|
|
503
518
|
package memo_namespace_viewpoints_operational {
|
|
504
|
-
alias use_case_view for memo_namespace_viewpoints_operational_use_case_view;
|
|
505
519
|
public import memo_viewpoints_operational_operational_viewpoint::*;
|
|
520
|
+
package views { alias use_case_view for memo_namespace_viewpoints_operational_use_case_view; }
|
|
506
521
|
}
|
|
507
522
|
|
|
508
523
|
package memo_namespace_viewpoints_physical {
|
|
509
|
-
alias network_topology_view for memo_namespace_viewpoints_physical_network_topology_view;
|
|
510
|
-
alias physical_bom_view for memo_namespace_viewpoints_physical_physical_bom_view;
|
|
511
524
|
public import memo_viewpoints_physical_physical_viewpoint::*;
|
|
525
|
+
package views {
|
|
526
|
+
alias network_topology_view for memo_namespace_viewpoints_physical_network_topology_view;
|
|
527
|
+
alias physical_bom_view for memo_namespace_viewpoints_physical_physical_bom_view;
|
|
528
|
+
}
|
|
512
529
|
}
|
|
513
530
|
|
|
514
531
|
package memo_namespace_viewpoints_requirements {
|
|
515
|
-
alias requirements_traceability_view for memo_namespace_viewpoints_requirements_requirements_traceability_view;
|
|
516
532
|
public import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
533
|
+
package views { alias requirements_traceability_view for memo_namespace_viewpoints_requirements_requirements_traceability_view; }
|
|
517
534
|
}
|
|
518
535
|
|
|
519
536
|
package memo_namespace_viewpoints_risk {
|
|
520
|
-
alias risk_chain_view for memo_namespace_viewpoints_risk_risk_chain_view;
|
|
521
537
|
public import memo_viewpoints_risk_risk_viewpoint::*;
|
|
538
|
+
package views { alias risk_chain_view for memo_namespace_viewpoints_risk_risk_chain_view; }
|
|
522
539
|
}
|
|
523
540
|
|
|
524
541
|
package memo_namespace_viewpoints_software {
|
|
525
|
-
alias software_architecture_view for memo_namespace_viewpoints_software_software_architecture_view;
|
|
526
542
|
public import memo_viewpoints_software_software_viewpoint::*;
|
|
543
|
+
package views { alias software_architecture_view for memo_namespace_viewpoints_software_software_architecture_view; }
|
|
527
544
|
}
|
|
528
545
|
|
|
529
546
|
package memo_namespace_viewpoints_usability {
|
|
530
|
-
alias usability_engineering_view for memo_namespace_viewpoints_usability_usability_engineering_view;
|
|
531
547
|
public import memo_viewpoints_usability_usability_viewpoint::*;
|
|
548
|
+
package views { alias usability_engineering_view for memo_namespace_viewpoints_usability_usability_engineering_view; }
|
|
549
|
+
}
|
|
550
|
+
|
|
551
|
+
package memo_namespace_viewpoints_ui_layout {
|
|
552
|
+
public import memo_viewpoints_ui_layout_ui_layout_viewpoint::*;
|
|
553
|
+
package views { alias screen_layout_view for memo_namespace_viewpoints_ui_layout_screen_layout_view; }
|
|
532
554
|
}
|
|
533
555
|
|
|
534
556
|
package memo_namespace_viewpoints_verification {
|
|
535
|
-
alias verification_coverage_view for memo_namespace_viewpoints_verification_verification_coverage_view;
|
|
536
557
|
public import memo_viewpoints_verification_verification_viewpoint::*;
|
|
558
|
+
package views { alias verification_coverage_view for memo_namespace_viewpoints_verification_verification_coverage_view; }
|
|
537
559
|
}
|
|
538
560
|
|
|
539
561
|
package memo_namespace_core_stdlib_collections {
|
|
@@ -553,61 +575,69 @@ package memo_namespace_core_stdlib_time {
|
|
|
553
575
|
}
|
|
554
576
|
|
|
555
577
|
package memo_namespace_viewpoints_clinical_clinical_evidence_view {
|
|
556
|
-
public import
|
|
578
|
+
public import memo_viewpoints_clinical_views_clinical_evidence_view::*;
|
|
557
579
|
}
|
|
558
580
|
|
|
559
581
|
package memo_namespace_viewpoints_context_system_context_view {
|
|
560
|
-
public import
|
|
582
|
+
public import memo_viewpoints_context_views_system_context_view::*;
|
|
561
583
|
}
|
|
562
584
|
|
|
563
585
|
package memo_namespace_viewpoints_cybersecurity_cybersecurity_assessment_view {
|
|
564
|
-
public import
|
|
586
|
+
public import memo_viewpoints_cybersecurity_views_cybersecurity_assessment_view::*;
|
|
565
587
|
}
|
|
566
588
|
|
|
567
589
|
package memo_namespace_viewpoints_cybersecurity_threat_model_view {
|
|
568
|
-
public import
|
|
590
|
+
public import memo_viewpoints_cybersecurity_views_threat_model_view::*;
|
|
569
591
|
}
|
|
570
592
|
|
|
571
593
|
package memo_namespace_viewpoints_functional_function_allocation_view {
|
|
572
|
-
public import
|
|
594
|
+
public import memo_viewpoints_functional_views_function_allocation_view::*;
|
|
573
595
|
}
|
|
574
596
|
|
|
575
597
|
package memo_namespace_viewpoints_functional_system_functional_tree_view {
|
|
576
|
-
public import
|
|
598
|
+
public import memo_viewpoints_functional_views_system_functional_tree_view::*;
|
|
577
599
|
}
|
|
578
600
|
|
|
579
601
|
package memo_namespace_viewpoints_logical_logical_architecture_view {
|
|
580
|
-
public import
|
|
602
|
+
public import memo_viewpoints_logical_views_logical_architecture_view::*;
|
|
581
603
|
}
|
|
582
604
|
|
|
583
605
|
package memo_namespace_viewpoints_operational_use_case_view {
|
|
584
|
-
public import
|
|
606
|
+
public import memo_viewpoints_operational_views_use_case_view::*;
|
|
585
607
|
}
|
|
586
608
|
|
|
587
609
|
package memo_namespace_viewpoints_physical_network_topology_view {
|
|
588
|
-
public import
|
|
610
|
+
public import memo_viewpoints_physical_views_network_topology_view::*;
|
|
589
611
|
}
|
|
590
612
|
|
|
591
613
|
package memo_namespace_viewpoints_physical_physical_bom_view {
|
|
592
|
-
public import
|
|
614
|
+
public import memo_viewpoints_physical_views_physical_bom_view::*;
|
|
593
615
|
}
|
|
594
616
|
|
|
595
617
|
package memo_namespace_viewpoints_requirements_requirements_traceability_view {
|
|
596
|
-
public import
|
|
618
|
+
public import memo_viewpoints_requirements_views_requirements_traceability_view::*;
|
|
597
619
|
}
|
|
598
620
|
|
|
599
621
|
package memo_namespace_viewpoints_risk_risk_chain_view {
|
|
600
|
-
public import
|
|
622
|
+
public import memo_viewpoints_risk_views_risk_chain_view::*;
|
|
601
623
|
}
|
|
602
624
|
|
|
603
625
|
package memo_namespace_viewpoints_software_software_architecture_view {
|
|
604
|
-
public import
|
|
626
|
+
public import memo_viewpoints_software_views_software_architecture_view::*;
|
|
605
627
|
}
|
|
606
628
|
|
|
607
629
|
package memo_namespace_viewpoints_usability_usability_engineering_view {
|
|
608
|
-
public import
|
|
630
|
+
public import memo_viewpoints_usability_views_usability_engineering_view::*;
|
|
631
|
+
}
|
|
632
|
+
|
|
633
|
+
package memo_namespace_viewpoints_ui_layout_ui_layout_viewpoint {
|
|
634
|
+
public import memo_viewpoints_ui_layout_ui_layout_viewpoint::*;
|
|
635
|
+
}
|
|
636
|
+
|
|
637
|
+
package memo_namespace_viewpoints_ui_layout_screen_layout_view {
|
|
638
|
+
public import memo_viewpoints_ui_layout_views_screen_layout_view::*;
|
|
609
639
|
}
|
|
610
640
|
|
|
611
641
|
package memo_namespace_viewpoints_verification_verification_coverage_view {
|
|
612
|
-
public import
|
|
642
|
+
public import memo_viewpoints_verification_views_verification_coverage_view::*;
|
|
613
643
|
}
|
|
@@ -3,6 +3,7 @@ package memo_methodology_core {
|
|
|
3
3
|
|
|
4
4
|
private import memo_core_common::*;
|
|
5
5
|
private import memo_core_enumerations::*;
|
|
6
|
+
private import memo_core_consistency_rules::*;
|
|
6
7
|
|
|
7
8
|
part def MethodologyLibrary :> MemoPart {
|
|
8
9
|
attribute version : String;
|
|
@@ -10,18 +11,56 @@ package memo_methodology_core {
|
|
|
10
11
|
attribute :>> description : String;
|
|
11
12
|
}
|
|
12
13
|
|
|
14
|
+
// A rule's disposition under one methodology or project binding.
|
|
15
|
+
//
|
|
16
|
+
// `targetRule` and `replacementRule` are typed references to the rule's own
|
|
17
|
+
// `constraint def`, narrowed at the usage with `ref :>> targetRule : <Rule>`.
|
|
18
|
+
// There is deliberately no `targetRuleId : String`: a qualified SysML
|
|
19
|
+
// reference already identifies the rule, and a parallel string namespace
|
|
20
|
+
// would be a MEMO-specific identifier where the language has one. The
|
|
21
|
+
// stable rule ID survives on the rule itself, for audit records and
|
|
22
|
+
// diagnostics — a different job from being the reference mechanism.
|
|
23
|
+
part def RulePolicy :> MemoPart {
|
|
24
|
+
ref targetRule : MemoConsistencyRule;
|
|
25
|
+
// A replacement must be another native constraint. A methodology
|
|
26
|
+
// cannot replace a predicate with a string expression stored here.
|
|
27
|
+
ref replacementRule : MemoConsistencyRule[0..1];
|
|
28
|
+
attribute disposition : RuleDispositionKind;
|
|
29
|
+
attribute severityOverride : RuleSeverityKind[0..1];
|
|
30
|
+
attribute rationaleText : String;
|
|
31
|
+
attribute authority : String;
|
|
32
|
+
attribute approvalReference : String[0..1];
|
|
33
|
+
attribute approvedBy : String[0..1];
|
|
34
|
+
attribute approvedOn : String[0..1];
|
|
35
|
+
}
|
|
36
|
+
|
|
13
37
|
part def MethodologyDefinition :> MemoPart {
|
|
14
38
|
attribute version : String;
|
|
15
39
|
attribute domain : String;
|
|
16
40
|
attribute :>> description : String;
|
|
17
|
-
|
|
41
|
+
// Exactly one base methodology at most. Multiple inheritance is not a
|
|
42
|
+
// multiplicity the resolver has conflict semantics for, so the model
|
|
43
|
+
// does not permit expressing it.
|
|
44
|
+
ref baseMethodology : MethodologyDefinition[0..1];
|
|
45
|
+
// Whether the inclusion lists below are the whole story. Under
|
|
46
|
+
// `explicit`, an empty list selects nothing.
|
|
47
|
+
attribute scopeMode : ScopeModeKind;
|
|
18
48
|
// A methodology is an inclusion set. Layer entries normally name a
|
|
19
49
|
// public MEMO layer namespace; module entries may name any qualified
|
|
20
50
|
// package available to the project, including packages outside MEMO.
|
|
21
51
|
attribute includedLayer : String[0..*];
|
|
22
52
|
attribute includedModule : String[0..*];
|
|
53
|
+
attribute includedStandard : String[0..*];
|
|
54
|
+
attribute includedArtifactKind : String[0..*];
|
|
55
|
+
attribute includedViewpoint : String[0..*];
|
|
56
|
+
part rulePolicy : RulePolicy[0..*];
|
|
23
57
|
}
|
|
24
58
|
|
|
59
|
+
// Derived, never authored. The resolver projects this from a binding and
|
|
60
|
+
// its methodology chain. If it is serialized for review it is generated
|
|
61
|
+
// output that records its input hashes; it does not compete with the
|
|
62
|
+
// authored methodology and binding, and ontology source declares no
|
|
63
|
+
// instances of it.
|
|
25
64
|
part def ResolvedMethodology :> MemoPart {
|
|
26
65
|
attribute version : String;
|
|
27
66
|
// The effective inclusion set after the project binding has added any
|
|
@@ -32,10 +71,14 @@ package memo_methodology_core {
|
|
|
32
71
|
|
|
33
72
|
part def ProjectMethodBinding :> MemoPart {
|
|
34
73
|
attribute projectName : String;
|
|
35
|
-
|
|
74
|
+
ref selectedMethodology : MethodologyDefinition;
|
|
75
|
+
// Additive: what the project adds on top of the selected methodology.
|
|
76
|
+
// An empty list under `explicit` means no project additions.
|
|
77
|
+
attribute scopeMode : ScopeModeKind;
|
|
36
78
|
// Project bindings may add project or supplier modules to the selected
|
|
37
79
|
// methodology without requiring those packages to live under memo::.
|
|
38
80
|
attribute includedModule : String[0..*];
|
|
81
|
+
part rulePolicy : RulePolicy[0..*];
|
|
39
82
|
}
|
|
40
83
|
|
|
41
84
|
part def DhfDocumentBinding :> MemoPart {
|
|
@@ -17,23 +17,26 @@ package memo_methodology_profiles {
|
|
|
17
17
|
attribute :>> description = "Methodology layer for selecting, restricting, sequencing, tailoring, and lightly extending use of the medical-device ontology.";
|
|
18
18
|
}
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
// The default methodology deliberately selects everything the project's
|
|
21
|
+
// resolved reusable packages provide. That is what `scopeMode` exists to
|
|
22
|
+
// say: `allAvailable` is an authored decision, not an empty list that the
|
|
23
|
+
// resolver silently reads as "allow everything". Under `allAvailable` the
|
|
24
|
+
// inclusion lists must stay empty — authoring both would leave two
|
|
25
|
+
// competing answers to the same question.
|
|
26
|
+
//
|
|
27
|
+
// Before the flip this methodology carried a narrower `includedLayer` /
|
|
28
|
+
// `includedModule` pair that nothing consumed: effective scope came from
|
|
29
|
+
// the separate `mdCoverageScope : MethodologyScope` part, whose lists said
|
|
30
|
+
// "all five architecture layers, all five assurance disciplines". Folding
|
|
31
|
+
// that into `allAvailable` preserves the effective result and removes the
|
|
32
|
+
// second scope authority.
|
|
33
|
+
part mdDefaultDefinition : MethodologyDefinition {
|
|
34
|
+
attribute :>> id = "METH-MD-DEFAULT";
|
|
35
|
+
attribute :>> name = "MedicalDeviceDefault";
|
|
36
|
+
attribute :>> version = "0.6.5";
|
|
24
37
|
attribute :>> domain = "medical device modeling";
|
|
25
|
-
attribute :>> description = "
|
|
26
|
-
attribute :>>
|
|
27
|
-
attribute :>> includedLayer = ("memo::architecture::operational", "memo::architecture::functional", "memo::architecture::logical");
|
|
28
|
-
attribute :>> includedModule = ("memo::assurance::requirements", "memo::assurance::safety_risk", "memo::assurance::verification_validation");
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
part mdLightDefaultResolved : ResolvedMethodology {
|
|
32
|
-
attribute :>> id = "RMETH-001";
|
|
33
|
-
attribute :>> name = "MedicalDeviceLightDefaultResolved";
|
|
34
|
-
attribute :>> version = "0.1";
|
|
35
|
-
attribute :>> includedLayer = ("memo::architecture::operational", "memo::architecture::functional", "memo::architecture::logical");
|
|
36
|
-
attribute :>> includedModule = ("memo::assurance::requirements", "memo::assurance::safety_risk", "memo::assurance::verification_validation");
|
|
38
|
+
attribute :>> description = "MEMO default medical-device methodology. Selects every layer, discipline, standard, artifact kind, and viewpoint the resolved ontology and extension packages provide.";
|
|
39
|
+
attribute :>> scopeMode = ScopeModeKind::allAvailable;
|
|
37
40
|
}
|
|
38
41
|
|
|
39
42
|
part useRiskAndResidualRule : ElementUsageRule {
|
|
@@ -68,45 +71,44 @@ package memo_methodology_profiles {
|
|
|
68
71
|
attribute :>> strength = RuleStrengthKind::required;
|
|
69
72
|
}
|
|
70
73
|
|
|
71
|
-
|
|
74
|
+
action stepRequirements : MethodologyWorkflowStep {
|
|
72
75
|
attribute :>> id = "STEP-001";
|
|
73
76
|
attribute :>> name = "CaptureRequirements";
|
|
74
|
-
attribute :>> stepOrder = 1;
|
|
75
77
|
attribute :>> stage = WorkflowStageKind::requirements;
|
|
76
78
|
attribute :>> objectiveDescription = "Capture stakeholder needs and derive requirements.";
|
|
77
79
|
attribute :>> entryCriteria = "Intended use and actors understood.";
|
|
78
80
|
attribute :>> exitCriteria = "Initial requirement set exists.";
|
|
79
81
|
}
|
|
80
82
|
|
|
81
|
-
|
|
83
|
+
action stepArchitecture : MethodologyWorkflowStep {
|
|
82
84
|
attribute :>> id = "STEP-002";
|
|
83
85
|
attribute :>> name = "DefineArchitecture";
|
|
84
|
-
attribute :>> stepOrder = 2;
|
|
85
86
|
attribute :>> stage = WorkflowStageKind::architecture;
|
|
86
87
|
attribute :>> objectiveDescription = "Define key software and hardware architecture elements and interfaces.";
|
|
87
88
|
attribute :>> entryCriteria = "Initial requirements exist.";
|
|
88
89
|
attribute :>> exitCriteria = "Core architecture and interfaces exist.";
|
|
89
90
|
}
|
|
90
91
|
|
|
91
|
-
|
|
92
|
+
action stepRisk : MethodologyWorkflowStep {
|
|
92
93
|
attribute :>> id = "STEP-003";
|
|
93
94
|
attribute :>> name = "PerformRiskAnalysis";
|
|
94
|
-
attribute :>> stepOrder = 3;
|
|
95
95
|
attribute :>> stage = WorkflowStageKind::risk;
|
|
96
96
|
attribute :>> objectiveDescription = "Create core risk chain and controls.";
|
|
97
97
|
attribute :>> entryCriteria = "Initial requirements and key behavior exist.";
|
|
98
98
|
attribute :>> exitCriteria = "Risk and control model exists.";
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
|
|
101
|
+
action stepVerification : MethodologyWorkflowStep {
|
|
102
102
|
attribute :>> id = "STEP-004";
|
|
103
103
|
attribute :>> name = "PlanVerification";
|
|
104
|
-
attribute :>> stepOrder = 4;
|
|
105
104
|
attribute :>> stage = WorkflowStageKind::verificationStage;
|
|
106
105
|
attribute :>> objectiveDescription = "Define verification and evidence expectations.";
|
|
107
106
|
attribute :>> entryCriteria = "Requirements and controls exist.";
|
|
108
107
|
attribute :>> exitCriteria = "Verification cases and evidence targets exist.";
|
|
109
108
|
}
|
|
109
|
+
first stepRequirements then stepArchitecture;
|
|
110
|
+
first stepArchitecture then stepRisk;
|
|
111
|
+
first stepRisk then stepVerification;
|
|
110
112
|
|
|
111
113
|
part gateLightComplete : QualityGate {
|
|
112
114
|
attribute :>> id = "GATE-001";
|
|
@@ -115,22 +117,10 @@ package memo_methodology_profiles {
|
|
|
115
117
|
attribute :>> passCriteria = "Core traceability, risk, verification, and RMF view support are present.";
|
|
116
118
|
}
|
|
117
119
|
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
attribute :>> includedArchLayer = ("memo::architecture::operational", "memo::architecture::functional", "memo::architecture::logical", "memo::architecture::implementation", "memo::architecture::realization");
|
|
124
|
-
attribute :>> includedModule = ("memo::assurance::requirements", "memo::assurance::safety_risk", "memo::assurance::cybersecurity", "memo::assurance::human_factors", "memo::assurance::verification_validation");
|
|
125
|
-
attribute :>> description = "Comprehensive default MEMO layer and module selection.";
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
part gpcaProjectBinding : ProjectMethodBinding {
|
|
129
|
-
attribute :>> id = "PMB-001";
|
|
130
|
-
attribute :>> name = "GPCAProjectMethodBinding";
|
|
131
|
-
attribute :>> projectName = "GPCA";
|
|
132
|
-
attribute :>> methodologyName = "MedicalDeviceLightDefault";
|
|
133
|
-
}
|
|
120
|
+
// The GPCA binding used to live here, in the reusable default methodology,
|
|
121
|
+
// naming its methodology by string. A project binding is project content:
|
|
122
|
+
// it now lives in the GPCA project's own `model/catalog/project.sysml` and
|
|
123
|
+
// references its methodology with a typed SysML reference.
|
|
134
124
|
|
|
135
125
|
part rmpDoc : DhfDocumentBinding {
|
|
136
126
|
attribute :>> id = "DHF-001";
|
|
@@ -4,8 +4,13 @@ package memo_methodology_workflow {
|
|
|
4
4
|
private import memo_core_common::*;
|
|
5
5
|
private import memo_core_enumerations::*;
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
7
|
+
// Named for its axis: this is a step in a METHODOLOGY workflow (a lifecycle
|
|
8
|
+
// stage with entry/exit criteria), distinct from
|
|
9
|
+
// memo_architecture_operational_workflows::WorkflowStep, which is a step in
|
|
10
|
+
// an OPERATIONAL workflow performed by users. The two carry different
|
|
11
|
+
// attributes and must not share a short name — an overloaded name resolves
|
|
12
|
+
// by load order and silently validates a usage against the wrong type.
|
|
13
|
+
action def MethodologyWorkflowStep :> MemoAction {
|
|
9
14
|
attribute stage : WorkflowStageKind;
|
|
10
15
|
attribute objectiveDescription : String;
|
|
11
16
|
attribute entryCriteria : String;
|