@memoarchitect/ontology 0.6.5 → 0.8.22
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 +4 -2
- package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +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/embedded_infusion_pump.sysml +7 -5
- 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/functional-logical-physical/model/catalog/functional_logical_physical.sysml +5 -5
- 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/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 +19 -9
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +342 -100
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +27 -13
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +329 -272
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +57 -16
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +12 -8
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +14 -10
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +1 -15
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +181 -264
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +95 -60
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +6 -11
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +102 -101
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_standards.sysml +161 -0
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +47 -30
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +301 -354
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +116 -36
- package/examples/gpca-pump/model/catalog/project.sysml +26 -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 +4 -4
- 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 +4 -4
- 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 +5 -5
- 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 +8 -8
- 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 +4 -4
- 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 +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_use_case_view.sysml +4 -4
- 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 +8 -8
- 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 +8 -5
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_rmf_view.sysml +7 -5
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_fmea_view.sysml +3 -3
- 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 +4 -4
- package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/software_software_architecture_view.sysml +5 -5
- 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 +8 -6
- 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 +7 -5
- package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/verification_verification_coverage_view.sysml +3 -3
- 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 +4 -2
- 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/multidimensional_layers.sysml +6 -2
- 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 +179 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +165 -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 +113 -0
- package/examples/nested-architecture-dsm/model/catalog/project.sysml +28 -0
- package/examples/nested-architecture-dsm/model/catalog/traces.sysml +48 -0
- package/examples/reusable-instrument/model/catalog/project.sysml +24 -0
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +11 -8
- 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/ros-mobile-robot/README.md +40 -0
- package/examples/ros-mobile-robot/model/catalog/project.sysml +33 -0
- package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +296 -0
- package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +7 -0
- package/examples/ros-mobile-robot/model/catalog/viewpoints/unassigned/views/ros_mobile_robot_overview.sysml +13 -0
- package/examples/software-only-medical-device/model/catalog/project.sysml +28 -0
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +11 -5
- 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 +57 -57
- 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 +6 -4
- 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 +23 -20
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/context_view.sysml +11 -11
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +47 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +143 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +87 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +94 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +109 -0
- 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 +6 -7
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +33 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +80 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +48 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/use_case_view.sysml +15 -9
- 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 +29 -21
- 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 +84 -0
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +212 -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 +75 -0
- package/examples/ui-screen-regions/model/catalog/project.sysml +45 -0
- package/examples/ui-screen-regions/model/catalog/relationships.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/traces.sysml +179 -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/extensions/LICENSES/MIT.txt +19 -0
- package/extensions/README.md +94 -0
- package/extensions/aadl/memo.package.yaml +18 -0
- package/extensions/aadl/src/aadl_extension.sysml +6 -0
- package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +147 -0
- package/extensions/aadl/src/methodology/aadl_methodology.sysml +17 -0
- package/extensions/aadl/src/runtime/memo_aadl_runtime.sysml +56 -0
- package/extensions/clinical/memo.package.yaml +18 -0
- package/extensions/clinical/src/methodology/clinical_methodology.sysml +22 -0
- package/extensions/cloud/memo.package.yaml +18 -0
- package/extensions/cloud/src/cloud_extension.sysml +44 -0
- package/extensions/cloud/src/methodology/cloud_methodology.sysml +17 -0
- package/extensions/container/memo.package.yaml +18 -0
- package/extensions/container/src/container_extension.sysml +37 -0
- package/extensions/container/src/methodology/container_methodology.sysml +17 -0
- package/extensions/messaging/memo.package.yaml +18 -0
- package/extensions/messaging/src/messaging_extension.sysml +64 -0
- package/extensions/messaging/src/methodology/messaging_methodology.sysml +17 -0
- package/extensions/ros/memo.package.yaml +18 -0
- package/extensions/ros/src/methodology/ros_methodology.sysml +25 -0
- package/extensions/ros/src/ros_extension.sysml +200 -0
- package/extensions/template/memo.package.yaml +17 -0
- package/extensions/template/src/extension.sysml +37 -0
- package/memo.manifest.yaml +15 -2
- 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 +6 -6
- package/profile/memo.package.yaml +18 -9
- package/src/architecture/decisions/memo_decisions.sysml +28 -0
- package/src/architecture/functional/behavior/memo_behavior.sysml +50 -22
- package/src/architecture/functional/constraints/memo_constraints.sysml +3 -2
- package/src/architecture/functional/functions/memo_functions.sysml +93 -43
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +46 -24
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +52 -12
- package/src/architecture/implementation/ui/memo_ui.sysml +276 -53
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +64 -13
- package/src/architecture/logical/structure/memo_logical_structure.sysml +92 -35
- package/src/architecture/operational/activities/memo_activities.sysml +10 -4
- package/src/architecture/operational/context/actors/memo_actors.sysml +5 -8
- package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +13 -30
- package/src/architecture/operational/context/use_context/memo_use_context.sysml +42 -16
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +57 -23
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +35 -26
- package/src/architecture/operational/workflows/memo_workflows.sysml +28 -15
- package/src/architecture/realization/deployment/memo_deployment.sysml +111 -16
- package/src/architecture/realization/physical/memo_physical_architecture.sysml +27 -2
- package/src/artifacts/configuration_management/memo_configuration_management.sysml +35 -0
- package/src/artifacts/core/memo_controlled_artifacts.sysml +35 -0
- package/src/artifacts/documents/risk_management/memo_risk_management.sysml +12 -0
- package/src/artifacts/standards/cfr_21_820.sysml +116 -0
- package/src/artifacts/standards/fda_cybersecurity_2023.sysml +80 -0
- package/src/artifacts/standards/iec_60601_1.sysml +149 -0
- package/src/artifacts/standards/iec_60601_1_2.sysml +56 -0
- package/src/artifacts/standards/iec_60812.sysml +51 -0
- package/src/artifacts/standards/iec_62304.sysml +210 -0
- package/src/artifacts/standards/iec_62366_1.sysml +113 -0
- package/src/artifacts/standards/iec_81001_5_1.sysml +84 -0
- package/src/artifacts/standards/iso_13485.sysml +113 -0
- package/src/artifacts/standards/iso_14971.sysml +94 -0
- package/src/artifacts/standards/iso_iec_ieee_42010.sysml +42 -0
- package/src/artifacts/standards/memo_artifacts_standards_traceability.sysml +132 -0
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-input.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-output.md +5 -5
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-review.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-validation.md +2 -2
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-verification.md +2 -2
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/dhf-index.md +2 -2
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/transfer-plan.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/user-needs.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-plan.md +3 -3
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-report.md +4 -4
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/incident-response.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/postmarket-surveillance.md +3 -2
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/security-arch.md +2 -2
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/threat-model.md +4 -4
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/vuln-assessment.md +4 -3
- package/src/artifacts/templates/dhf/iec-60601/hrs.md +170 -0
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/detailed-design.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/integration-test.md +3 -3
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sad.md +6 -5
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sbom.md +3 -2
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sdp.md +5 -4
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/soup.md +4 -2
- package/src/artifacts/templates/dhf/iec-62304/srs.md +172 -0
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sw-traceability.md +3 -3
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/system-test.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/summative-eval.md +1 -1
- package/src/artifacts/templates/dhf/iec-62366/task-analysis.md +93 -0
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ue-plan.md +1 -1
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/urra.md +3 -3
- package/src/artifacts/templates/dhf/iso-14971/fmea.md +116 -0
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/har.md +3 -3
- package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmp.md +2 -2
- package/src/artifacts/templates/dhf/system/sad.md +173 -0
- package/src/artifacts/templates/dhf/system/standards-checklist.md +87 -0
- package/src/artifacts/templates/dhf/system/standards-traceability.md +125 -0
- package/src/artifacts/templates/dhf/system/syrs.md +128 -0
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +39 -20
- package/src/assurance/human_factors/memo_human_factors.sysml +29 -22
- package/src/assurance/requirements/memo_requirements.sysml +5 -2
- package/src/assurance/requirements/needs/memo_needs.sysml +1 -1
- package/src/assurance/safety_risk/analysis/memo_fmea.sysml +118 -13
- package/src/assurance/safety_risk/memo_risk.sysml +78 -7
- package/src/assurance/safety_risk/postmarket_surveillance/memo_postmarket_surveillance.sysml +27 -0
- package/src/assurance/verification_validation/clinical_evaluation/memo_clinical_evaluation.sysml +11 -0
- package/src/assurance/verification_validation/memo_assurance.sysml +17 -21
- package/src/core/annotations/memo_annotations.sysml +96 -0
- package/src/core/common/memo_common.sysml +140 -18
- package/src/core/consistency_rules/consistency_rules.sysml +7 -0
- package/src/core/dimensions/dimensions.sysml +17 -1
- package/src/core/enumerations/memo_enumerations.sysml +101 -20
- package/src/core/methodology_scope/methodology_scope.sysml +7 -15
- package/src/core/relationships/memo_relationships.sysml +199 -194
- package/src/memo_namespaces.sysml +127 -67
- package/src/methodology/core/memo_core.sysml +69 -2
- package/src/methodology/profiles/memo_profiles.sysml +31 -41
- 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 +243 -74
- package/src/rules/quantitative/quantitative_rules.sysml +8 -8
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +10 -3
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +4 -2
- package/src/viewpoints/clinical/{clinical_evidence_view → views/clinical_evidence_view}/clinical_evidence_view.sysml +2 -2
- package/src/viewpoints/context/context_viewpoint.sysml +4 -2
- package/src/viewpoints/context/{system_context_view → views/system_context_view}/system_context_view.sysml +2 -2
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +4 -2
- 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 +5 -0
- package/src/viewpoints/functional/functional_viewpoint.sysml +4 -2
- package/src/viewpoints/functional/{function_allocation_view → views/function_allocation_view}/function_allocation_view.sysml +3 -3
- package/src/viewpoints/functional/{system_functional_tree_view → views/system_functional_tree_view}/system_functional_tree_view.sysml +3 -3
- 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 +4 -2
- package/src/viewpoints/operational/{use_case_view → views/use_case_view}/use_case_view.sysml +3 -3
- 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 +4 -2
- package/src/viewpoints/verification/{verification_coverage_view → views/verification_coverage_view}/verification_coverage_view.sysml +3 -3
- 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/extensions/README.md +0 -16
- package/examples/extensions/clinical/memo.package.yaml +0 -9
- package/examples/extensions/clinical/src/methodology/clinical_methodology.sysml +0 -14
- package/examples/extensions/template/memo.package.yaml +0 -9
- package/examples/extensions/template/src/extension.sysml +0 -15
- 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/sysml-diagram-samples/model/samples/functional_flow_view.sysml +0 -164
- package/examples/sysml-diagram-samples/model/samples/interconnection_view.sysml +0 -94
- package/examples/sysml-diagram-samples/model/samples/operational_behaviour_view.sysml +0 -135
- package/examples/sysml-diagram-samples/model/samples/state_transition_view.sysml +0 -109
- package/examples/sysml-diagram-samples/model/samples/tree_view.sysml +0 -56
- 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/change/memo_change.sysml +0 -17
- package/src/compliance/dhf-templates/iec-62304/srs.md +0 -138
- package/src/compliance/dhf-templates/iec-62366/task-analysis.md +0 -57
- package/src/compliance/dhf-templates/iso-14971/fmea.md +0 -93
- 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/{examples/extensions → extensions}/clinical/src/clinical_extension.sysml +0 -0
- /package/{examples/extensions → extensions}/clinical/src/procedures/memo_clinical_procedures.sysml +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/change-record.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-62366/formative-eval.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/use-spec.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/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/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
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
package memo_viewpoints_ui_layout_ui_layout_viewpoint {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_core_enumerations::*;
|
|
6
|
+
|
|
7
|
+
part uiLayoutViewpoint : Viewpoint {
|
|
8
|
+
attribute :>> id = "VP-UIL";
|
|
9
|
+
attribute :>> name = "UILayoutViewpoint";
|
|
10
|
+
attribute :>> title = "UI Layout Viewpoint";
|
|
11
|
+
attribute :>> shortDescription = "Shows screen captures with the UI element tree laid out over them.";
|
|
12
|
+
attribute :>> description = "Frames the user interface spatially: a captured rendering of a screen, and the UIElement tree laid out over it by each element's bounds. Supports IEC 62366-1 use-related design review and the UI description in the software design specification, by making 'which control is this, and what does it do' answerable from the picture. There is one tree, not two — the elements carrying the geometry are the same elements carrying the requirements, functions, use errors, and risk controls.";
|
|
13
|
+
attribute :>> purpose = "Review the interface as the user sees it, with every functional area backed by a design record.";
|
|
14
|
+
attribute :>> audience = (AudienceKind::usabilityEngineer, AudienceKind::softwareArchitect, AudienceKind::safetyEngineer);
|
|
15
|
+
attribute :>> stage = WorkflowStageKind::architecture;
|
|
16
|
+
attribute :>> abstractionLevel = "implementation";
|
|
17
|
+
attribute :>> outputKind = (ViewOutputKind::diagram, ViewOutputKind::documentSection);
|
|
18
|
+
attribute :>> presentationKind = (PresentationKind::screenLayout);
|
|
19
|
+
attribute :>> concernKinds = (ConcernKind::usability, ConcernKind::safety);
|
|
20
|
+
attribute :>> includedLayers = ("implementation");
|
|
21
|
+
attribute :>> explorerLane = "architecture";
|
|
22
|
+
attribute :>> explorerOrder = 4;
|
|
23
|
+
attribute :>> allowedElementKinds = ("ScreenCapture", "UIElement", "UserInterface");
|
|
24
|
+
attribute :>> allowedRelationshipKinds = ("CapturesScreen", "NavigatesTo", "Composes", "satisfy", "ElementTriggersAction");
|
|
25
|
+
attribute :>> defaultViewKind = DiagramViewKind::geometry;
|
|
26
|
+
attribute :>> userExtensible = true;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// The first geometry-kind view in MEMO. ADR-1-19 (memo-architect) deferred the
|
|
2
|
+
// geometry renderer because the ontology carried no geometric data and any 2D
|
|
3
|
+
// placement would have been invented layout rather than model content. With
|
|
4
|
+
// memo_architecture_implementation_ui_layout, placement is modelled: a region's
|
|
5
|
+
// RegionBounds are authored facts, drawn over an authored capture. The
|
|
6
|
+
// renderer now has something true to draw.
|
|
7
|
+
package memo_viewpoints_ui_layout_views_screen_layout_view {
|
|
8
|
+
private import ScalarValues::*;
|
|
9
|
+
|
|
10
|
+
private import memo_viewpoints_definitions::*;
|
|
11
|
+
private import memo_core_enumerations::*;
|
|
12
|
+
|
|
13
|
+
view def MemoScreenLayoutView :> MemoDiagramView {
|
|
14
|
+
attribute :>> viewKind = DiagramViewKind::geometry;
|
|
15
|
+
attribute :>> shortDescription = "Screen capture overlaid with its UI element tree.";
|
|
16
|
+
attribute :>> description = "Renders one ScreenCapture as the backdrop and each UIElement composed under the captured screen as a boundary box at its authored bounds, coloured by boundaryColor. Bounds are relative to the parent element, so the renderer accumulates transforms down the Composes tree. Selecting an element isolates it: siblings recede rather than compete. Following an element's NavigatesTo edge swaps the backdrop to the target screen's capture, so the view walks the interface the way the user does.";
|
|
17
|
+
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
18
|
+
attribute :>> presentationKind = (PresentationKind::screenLayout);
|
|
19
|
+
attribute :>> layoutHint = "authored";
|
|
20
|
+
attribute :>> autoPopulate = true;
|
|
21
|
+
attribute :>> queryDescription = "One ScreenCapture, the screen UIElement it captures, and the UIElement tree composed beneath that screen.";
|
|
22
|
+
}
|
|
23
|
+
}
|
|
@@ -9,7 +9,7 @@ package memo_viewpoints_usability_usability_viewpoint {
|
|
|
9
9
|
attribute :>> name = "UsabilityViewpoint";
|
|
10
10
|
attribute :>> title = "Usability Viewpoint";
|
|
11
11
|
attribute :>> shortDescription = "Shows use contexts, actors, use errors, and usability requirements.";
|
|
12
|
-
attribute :>>
|
|
12
|
+
attribute :>> description = "Default viewpoint derived from the context and requirements layers for IEC 62366-1 usability engineering — actors, use contexts, identified use errors, and requirements tagged with the usability concern. Reuses existing context-layer elements (Actor, UseContext, UseError) rather than a separate usability layer.";
|
|
13
13
|
attribute :>> purpose = "Communicate use-related hazards and usability requirements for the device.";
|
|
14
14
|
attribute :>> audience = (AudienceKind::usabilityEngineer, AudienceKind::safetyEngineer);
|
|
15
15
|
attribute :>> stage = WorkflowStageKind::requirements;
|
|
@@ -18,6 +18,8 @@ package memo_viewpoints_usability_usability_viewpoint {
|
|
|
18
18
|
attribute :>> presentationKind = (PresentationKind::narrativeSection);
|
|
19
19
|
attribute :>> concernKinds = (ConcernKind::usability, ConcernKind::safety);
|
|
20
20
|
attribute :>> includedLayers = ("context", "requirements");
|
|
21
|
+
attribute :>> explorerLane = "assurance";
|
|
22
|
+
attribute :>> explorerOrder = 4;
|
|
21
23
|
attribute :>> allowedElementKinds = ("Actor", "UseContext", "UseError", "Requirement");
|
|
22
24
|
attribute :>> userExtensible = true;
|
|
23
25
|
}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_viewpoints_usability_views_usability_engineering_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
5
5
|
private import memo_core_enumerations::*;
|
|
6
6
|
|
|
7
7
|
view def MemoUsabilityEngineeringView :> MemoDocumentView {
|
|
8
|
-
attribute :>> viewKind = DocumentViewKind::
|
|
8
|
+
attribute :>> viewKind = DocumentViewKind::usability;
|
|
9
9
|
attribute :>> generationRule = "Include actors, use contexts, use errors, and requirements tagged with the usability concern to support the Usability Engineering Report.";
|
|
10
10
|
attribute :>> outputKind = (ViewOutputKind::documentSection);
|
|
11
11
|
attribute :>> presentationKind = (PresentationKind::narrativeSection);
|
|
@@ -9,7 +9,7 @@ package memo_viewpoints_verification_verification_viewpoint {
|
|
|
9
9
|
attribute :>> name = "VerificationViewpoint";
|
|
10
10
|
attribute :>> title = "Verification & Validation Viewpoint";
|
|
11
11
|
attribute :>> shortDescription = "Shows verification cases, validation cases, and the evidence they produce, traced to requirements.";
|
|
12
|
-
attribute :>>
|
|
12
|
+
attribute :>> description = "Default viewpoint derived from the requirements and assurance layers for V&V coverage — which requirements are verified/validated, by which case, and what evidence was produced, supporting ISO 13485 §7.3.6/§7.3.7 and IEC 62304 §5.7/§5.8.";
|
|
13
13
|
attribute :>> purpose = "Communicate verification and validation coverage against requirements.";
|
|
14
14
|
attribute :>> audience = (AudienceKind::verificationEngineer);
|
|
15
15
|
attribute :>> stage = WorkflowStageKind::verificationStage;
|
|
@@ -18,7 +18,9 @@ package memo_viewpoints_verification_verification_viewpoint {
|
|
|
18
18
|
attribute :>> presentationKind = (PresentationKind::traceMatrix);
|
|
19
19
|
attribute :>> concernKinds = (ConcernKind::safety, ConcernKind::regulatory);
|
|
20
20
|
attribute :>> includedLayers = ("requirements", "assurance");
|
|
21
|
-
attribute :>>
|
|
21
|
+
attribute :>> explorerLane = "assurance";
|
|
22
|
+
attribute :>> explorerOrder = 5;
|
|
23
|
+
attribute :>> allowedElementKinds = ("Requirement", "VerificationCase", "ValidationCase", "MemoEvidence");
|
|
22
24
|
attribute :>> userExtensible = true;
|
|
23
25
|
}
|
|
24
26
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_viewpoints_verification_views_verification_coverage_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -6,7 +6,7 @@ package memo_viewpoints_verification_verification_coverage_view {
|
|
|
6
6
|
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
7
7
|
|
|
8
8
|
view verificationCoverageView : MemoDiagramView {
|
|
9
|
-
expose
|
|
9
|
+
expose memo_viewpoints_verification_views_verification_coverage_view::*;
|
|
10
10
|
attribute depth = 2;
|
|
11
11
|
attribute :>> id = "VIEW-VER-001";
|
|
12
12
|
attribute :>> name = "VerificationCoverageView";
|
|
@@ -20,7 +20,7 @@ package memo_viewpoints_verification_verification_coverage_view {
|
|
|
20
20
|
part :>> selectionQuery {
|
|
21
21
|
attribute :>> id = "QRY-VER-001";
|
|
22
22
|
attribute :>> name = "VerificationCoverageQuery";
|
|
23
|
-
attribute :>> includeElementKinds = ("Requirement", "VerificationCase", "ValidationCase", "
|
|
23
|
+
attribute :>> includeElementKinds = ("Requirement", "VerificationCase", "ValidationCase", "MemoEvidence");
|
|
24
24
|
attribute :>> includeLayers = ("requirements", "assurance");
|
|
25
25
|
attribute :>> rationaleText = "Auto-populate V&V coverage from the requirements and assurance layers.";
|
|
26
26
|
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 connected device model
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Project identity and method binding — the project's native entrypoint.
|
|
2
|
+
//
|
|
3
|
+
// The imports below name the reusable packages this project resolves, and the
|
|
4
|
+
// binding names its methodology with a typed SysML reference. Nothing outside
|
|
5
|
+
// SysML selects model content: delete every YAML file beside this one and the
|
|
6
|
+
// model still means exactly what it means now.
|
|
7
|
+
package connected_device_catalog {
|
|
8
|
+
private import ScalarValues::*;
|
|
9
|
+
|
|
10
|
+
private import memo_core_enumerations::*;
|
|
11
|
+
private import memo_methodology_core::*;
|
|
12
|
+
private import memo_methodology_profiles::*;
|
|
13
|
+
|
|
14
|
+
private import connected_device_architecture::*;
|
|
15
|
+
private import connected_device_assurance::*;
|
|
16
|
+
private import connected_device_artifacts::*;
|
|
17
|
+
|
|
18
|
+
part projectMethodBinding : ProjectMethodBinding {
|
|
19
|
+
attribute :>> id = "PMB-001";
|
|
20
|
+
attribute :>> name = "{{name}}ProjectMethodBinding";
|
|
21
|
+
attribute :>> projectName = "{{name}}";
|
|
22
|
+
ref :>> selectedMethodology = mdDefaultDefinition;
|
|
23
|
+
// The project adds no modules of its own yet. Under `explicit` an
|
|
24
|
+
// empty additive list means exactly that — no additions — rather than
|
|
25
|
+
// being read as "everything".
|
|
26
|
+
attribute :>> scopeMode = ScopeModeKind::explicit;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 architecture and assurance model
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Project identity and method binding — the project's native entrypoint.
|
|
2
|
+
//
|
|
3
|
+
// The imports below name the reusable packages this project resolves, and the
|
|
4
|
+
// binding names its methodology with a typed SysML reference. Nothing outside
|
|
5
|
+
// SysML selects model content: delete every YAML file beside this one and the
|
|
6
|
+
// model still means exactly what it means now.
|
|
7
|
+
package project_catalog {
|
|
8
|
+
private import ScalarValues::*;
|
|
9
|
+
|
|
10
|
+
private import memo_core_enumerations::*;
|
|
11
|
+
private import memo_methodology_core::*;
|
|
12
|
+
private import memo_methodology_profiles::*;
|
|
13
|
+
|
|
14
|
+
private import project_architecture::*;
|
|
15
|
+
private import project_assurance::*;
|
|
16
|
+
private import project_artifacts::*;
|
|
17
|
+
|
|
18
|
+
part projectMethodBinding : ProjectMethodBinding {
|
|
19
|
+
attribute :>> id = "PMB-001";
|
|
20
|
+
attribute :>> name = "{{name}}ProjectMethodBinding";
|
|
21
|
+
attribute :>> projectName = "{{name}}";
|
|
22
|
+
ref :>> selectedMethodology = mdDefaultDefinition;
|
|
23
|
+
// The project adds no modules of its own yet. Under `explicit` an
|
|
24
|
+
// empty additive list means exactly that — no additions — rather than
|
|
25
|
+
// being read as "everything".
|
|
26
|
+
attribute :>> scopeMode = ScopeModeKind::explicit;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 infusion pump model
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Project identity and method binding — the project's native entrypoint.
|
|
2
|
+
//
|
|
3
|
+
// The imports below name the reusable packages this project resolves, and the
|
|
4
|
+
// binding names its methodology with a typed SysML reference. Nothing outside
|
|
5
|
+
// SysML selects model content: delete every YAML file beside this one and the
|
|
6
|
+
// model still means exactly what it means now.
|
|
7
|
+
package infusion_pump_catalog {
|
|
8
|
+
private import ScalarValues::*;
|
|
9
|
+
|
|
10
|
+
private import memo_core_enumerations::*;
|
|
11
|
+
private import memo_methodology_core::*;
|
|
12
|
+
private import memo_methodology_profiles::*;
|
|
13
|
+
|
|
14
|
+
private import infusion_pump_architecture::*;
|
|
15
|
+
private import infusion_pump_assurance::*;
|
|
16
|
+
private import infusion_pump_artifacts::*;
|
|
17
|
+
|
|
18
|
+
part projectMethodBinding : ProjectMethodBinding {
|
|
19
|
+
attribute :>> id = "PMB-001";
|
|
20
|
+
attribute :>> name = "{{name}}ProjectMethodBinding";
|
|
21
|
+
attribute :>> projectName = "{{name}}";
|
|
22
|
+
ref :>> selectedMethodology = mdDefaultDefinition;
|
|
23
|
+
// The project adds no modules of its own yet. Under `explicit` an
|
|
24
|
+
// empty additive list means exactly that — no additions — rather than
|
|
25
|
+
// being read as "everything".
|
|
26
|
+
attribute :>> scopeMode = ScopeModeKind::explicit;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 monitoring device model
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Project identity and method binding — the project's native entrypoint.
|
|
2
|
+
//
|
|
3
|
+
// The imports below name the reusable packages this project resolves, and the
|
|
4
|
+
// binding names its methodology with a typed SysML reference. Nothing outside
|
|
5
|
+
// SysML selects model content: delete every YAML file beside this one and the
|
|
6
|
+
// model still means exactly what it means now.
|
|
7
|
+
package monitoring_device_catalog {
|
|
8
|
+
private import ScalarValues::*;
|
|
9
|
+
|
|
10
|
+
private import memo_core_enumerations::*;
|
|
11
|
+
private import memo_methodology_core::*;
|
|
12
|
+
private import memo_methodology_profiles::*;
|
|
13
|
+
|
|
14
|
+
private import monitoring_device_architecture::*;
|
|
15
|
+
private import monitoring_device_assurance::*;
|
|
16
|
+
private import monitoring_device_artifacts::*;
|
|
17
|
+
|
|
18
|
+
part projectMethodBinding : ProjectMethodBinding {
|
|
19
|
+
attribute :>> id = "PMB-001";
|
|
20
|
+
attribute :>> name = "{{name}}ProjectMethodBinding";
|
|
21
|
+
attribute :>> projectName = "{{name}}";
|
|
22
|
+
ref :>> selectedMethodology = mdDefaultDefinition;
|
|
23
|
+
// The project adds no modules of its own yet. Under `explicit` an
|
|
24
|
+
// empty additive list means exactly that — no additions — rather than
|
|
25
|
+
// being read as "everything".
|
|
26
|
+
attribute :>> scopeMode = ScopeModeKind::explicit;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -1,5 +1,11 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
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 software as a medical device model
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
// Project identity and method binding — the project's native entrypoint.
|
|
2
|
+
//
|
|
3
|
+
// The imports below name the reusable packages this project resolves, and the
|
|
4
|
+
// binding names its methodology with a typed SysML reference. Nothing outside
|
|
5
|
+
// SysML selects model content: delete every YAML file beside this one and the
|
|
6
|
+
// model still means exactly what it means now.
|
|
7
|
+
package samd_catalog {
|
|
8
|
+
private import ScalarValues::*;
|
|
9
|
+
|
|
10
|
+
private import memo_core_enumerations::*;
|
|
11
|
+
private import memo_methodology_core::*;
|
|
12
|
+
private import memo_methodology_profiles::*;
|
|
13
|
+
|
|
14
|
+
private import samd_architecture::*;
|
|
15
|
+
private import samd_assurance::*;
|
|
16
|
+
private import samd_artifacts::*;
|
|
17
|
+
|
|
18
|
+
part projectMethodBinding : ProjectMethodBinding {
|
|
19
|
+
attribute :>> id = "PMB-001";
|
|
20
|
+
attribute :>> name = "{{name}}ProjectMethodBinding";
|
|
21
|
+
attribute :>> projectName = "{{name}}";
|
|
22
|
+
ref :>> selectedMethodology = mdDefaultDefinition;
|
|
23
|
+
// The project adds no modules of its own yet. Under `explicit` an
|
|
24
|
+
// empty additive list means exactly that — no additions — rather than
|
|
25
|
+
// being read as "everything".
|
|
26
|
+
attribute :>> scopeMode = ScopeModeKind::explicit;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
# Extension examples
|
|
2
|
-
|
|
3
|
-
An extension is a regular SysML package selected by a MEMO methodology. MEMO
|
|
4
|
-
does not define a separate extension metaclass. `MethodologyDefinition` and
|
|
5
|
-
`ProjectMethodBinding` already accept packages through `includedModule`.
|
|
6
|
-
|
|
7
|
-
- `template/` is the starting structure for an extension.
|
|
8
|
-
- `clinical/` specializes `OperationalWorkflow` with clinical procedure data.
|
|
9
|
-
|
|
10
|
-
Extensions specialize or reference base types. They do not redefine
|
|
11
|
-
activities, workflows, architecture elements, relationships, or constraints
|
|
12
|
-
already expressed by the base ontology.
|
|
13
|
-
|
|
14
|
-
Extension packages remain outside `src/` and outside the `memo::` namespace.
|
|
15
|
-
Projects import an extension package directly and include it in their selected
|
|
16
|
-
methodology.
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
name: "@memoarchitect/example-extension-clinical"
|
|
2
|
-
version: "0.6.1"
|
|
3
|
-
type: methodology
|
|
4
|
-
extends: "@memoarchitect/methodology-default"
|
|
5
|
-
sysmlDir: "./src"
|
|
6
|
-
description: "Example methodology extension for clinical-procedure vocabulary"
|
|
7
|
-
license: "MIT"
|
|
8
|
-
tags: ["memo", "methodology", "extension", "clinical"]
|
|
9
|
-
usage: ["extension", "clinical-procedures"]
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
package memo_extension_clinical_methodology {
|
|
2
|
-
private import ScalarValues::*;
|
|
3
|
-
private import memo_methodology_core::*;
|
|
4
|
-
|
|
5
|
-
part clinicalExtensionMethod : MethodologyDefinition {
|
|
6
|
-
attribute :>> id = "EXT-CLINICAL-001";
|
|
7
|
-
attribute :>> name = "ClinicalProcedureExtension";
|
|
8
|
-
attribute :>> version = "0.6.1";
|
|
9
|
-
attribute :>> domain = "clinical procedures";
|
|
10
|
-
attribute :>> description = "Adds optional clinical-procedure vocabulary to a MEMO project.";
|
|
11
|
-
attribute :>> baseMethodName = "MedicalDeviceLightDefault";
|
|
12
|
-
attribute :>> includedModule = "memo_extension_clinical";
|
|
13
|
-
}
|
|
14
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
// Replace the package name and included module with extension-specific names.
|
|
2
|
-
package memo_extension_template {
|
|
3
|
-
private import ScalarValues::*;
|
|
4
|
-
private import memo_methodology_core::*;
|
|
5
|
-
|
|
6
|
-
part extensionMethod : MethodologyDefinition {
|
|
7
|
-
attribute :>> id = "EXT-METH-001";
|
|
8
|
-
attribute :>> name = "ExtensionMethod";
|
|
9
|
-
attribute :>> version = "0.1.0";
|
|
10
|
-
attribute :>> domain = "project extension";
|
|
11
|
-
attribute :>> description = "Adds a project or domain package to the selected MEMO methodology.";
|
|
12
|
-
attribute :>> baseMethodName = "MedicalDeviceLightDefault";
|
|
13
|
-
attribute :>> includedModule = "replace_with_extension_package";
|
|
14
|
-
}
|
|
15
|
-
}
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
# GPCA Infusion Pump — submission-grade reference model
|
|
2
|
-
# Based on University of Minnesota CriSys GPCA project
|
|
3
|
-
projectName: gpca-pump
|
|
4
|
-
projectType: device
|
|
5
|
-
|
|
6
|
-
# Phase H: project pins the GPCA-specific methodology.
|
|
7
|
-
# @memoarchitect/methodology-gpca extends @memoarchitect/methodology-default and subtracts
|
|
8
|
-
# cybersecurity and SOUP for the non-networked prototype variant.
|
|
9
|
-
methodology: "@memoarchitect/methodology-gpca@^0.6.1"
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
package memo_examples_gpca_pump_methodology_gpca_scope {
|
|
2
|
-
private import ScalarValues::*;
|
|
3
|
-
|
|
4
|
-
private import memo_methodology_core::*;
|
|
5
|
-
private import memo_core_methodology_scope::*;
|
|
6
|
-
private import memo_core_enumerations::*;
|
|
7
|
-
|
|
8
|
-
part gpcaCoverageScope : MethodologyScope {
|
|
9
|
-
attribute :>> id = "SCOPE-GPCA-001";
|
|
10
|
-
attribute :>> name = "GPCACoverageScope";
|
|
11
|
-
attribute :>> scopeName = "coverage";
|
|
12
|
-
|
|
13
|
-
attribute :>> includedArchLayer = "context; requirements; functions; logical_structure; interfaces; software_structure; hardware_structure; behavior; risk; assurance; constraints";
|
|
14
|
-
|
|
15
|
-
attribute :>> includedStandard = "ISO 14971; IEC 62304; 21 CFR 820; ISO 13485; ISO 14155; IEC 62366; IEC 60601-1";
|
|
16
|
-
|
|
17
|
-
attribute :>> includedArtifactKind = "RiskManagementPlan";
|
|
18
|
-
|
|
19
|
-
attribute :>> includedViewpointType = "VP-CTX; VP-LOG; VP-RISK";
|
|
20
|
-
|
|
21
|
-
attribute :>> excludedKind = "CybersecurityAsset; AttackSurface; Threat; Vulnerability; ThreatScenario; CyberHazard; CyberRisk; CyberMitigation; SecurityRequirement; TrustBoundary; SecurityClaim; SoftwareModule[moduleKind=soup]";
|
|
22
|
-
|
|
23
|
-
attribute :>> description = "GPCA prototype methodology — subtracts cybersecurity layer (non-networked device) and SOUP modules (no SOUP in prototype). Derived from default methodology by exclusion.";
|
|
24
|
-
}
|
|
25
|
-
}
|