@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
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_logical_views_document_architecture_description_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -8,27 +8,27 @@ package memo_examples_gpca_pump_model_views_document_architecture_description_vi
|
|
|
8
8
|
private import memo_core_enumerations::*;
|
|
9
9
|
|
|
10
10
|
view architectureDescriptionView : MemoDocumentView {
|
|
11
|
-
expose
|
|
11
|
+
expose memo_examples_gpca_pump_viewpoints_logical_views_document_architecture_description_view::*;
|
|
12
12
|
attribute :>> id = "DOC-005";
|
|
13
13
|
attribute :>> name = "ArchitectureDescriptionView";
|
|
14
14
|
attribute :>> title = "GPCA System Architecture Description View";
|
|
15
15
|
attribute :>> shortDescription = "ISO/IEC/IEEE 42010 architecture description across all layers.";
|
|
16
|
-
attribute :>>
|
|
16
|
+
attribute :>> description = "Aggregates context, operational, functional, logical, software, and physical layers with their views and correspondences for the system architecture description.";
|
|
17
17
|
attribute :>> version = "0.1";
|
|
18
18
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
19
|
-
attribute :>> viewKind = DocumentViewKind::
|
|
19
|
+
attribute :>> viewKind = DocumentViewKind::architectureDescription;
|
|
20
20
|
attribute :>> generationRule = "Include all architecture layers, functional chains, interfaces, and the physical BOM with cross-layer allocations";
|
|
21
21
|
attribute :>> marketScope = "generic";
|
|
22
22
|
attribute :>> documentUsage = ("Architecture Description", "DHF");
|
|
23
23
|
attribute :>> sectionIdentifier = "AD";
|
|
24
|
-
part
|
|
25
|
-
part
|
|
26
|
-
part
|
|
24
|
+
part vpLogicalArchitecture :> viewpointDefinition = logicalArchitectureViewpoint;
|
|
25
|
+
part vpSoftware :> viewpointDefinition = softwareViewpoint;
|
|
26
|
+
part vpPhysical :> viewpointDefinition = physicalViewpoint;
|
|
27
27
|
part :>> selectionQuery {
|
|
28
28
|
attribute :>> id = "QRY-DOC-005";
|
|
29
29
|
attribute :>> name = "architectureDescriptionViewQuery";
|
|
30
30
|
attribute :>> includeElementKinds = ("LogicalComponent", "SystemFunction", "ComponentExchange", "SoftwareSystem", "SoftwareModule", "HardwareAssembly", "ProcessingNode", "PhysicalPort", "FunctionalFlow", "FunctionalFlowStep");
|
|
31
|
-
attribute :>> includeRelationshipKinds = ("Composes", "AllocatedTo", "Realizes", "BindsToInterface", "
|
|
31
|
+
attribute :>> includeRelationshipKinds = ("Composes", "AllocatedTo", "Realizes", "BindsToInterface", "Performs", "Succession", "DeploysTo", "HostedBy");
|
|
32
32
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_logical_views_logical_device_interconnect_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,18 +14,18 @@ package memo_examples_gpca_pump_model_views_logical_device_interconnect_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaDeviceInterconnectView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_logical_views_logical_device_interconnect_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-LOG-003";
|
|
20
20
|
attribute :>> name = "GPCA_DeviceInterconnectView";
|
|
21
21
|
attribute :>> title = "GPCA Device Interconnect View";
|
|
22
22
|
attribute :>> shortDescription = "AADL device-level interconnection: GPCA_HW_Sensors, GPCA_SW, and GPCA_HW_Actuators with their declared boundary features.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "Source-faithful interconnection view of GPCA_Device.Impl: exactly the three AADL subcomponents (GPCA_HW_Sensors, GPCA_SW, GPCA_HW_Actuators), the device and subsystem boundary ports, and the twelve declared port connections. MEMO physical-design additions such as the controller board, power sources, enclosure, and individual sensors/actuators are intentionally excluded because the published AADL v2.0 model does not declare them as GPCA_Device.Impl subcomponents. Drill into GPCA_SW to inspect its eight subcomponents and 42 internal connections; use the connection-density control to switch between bundled summary and full fidelity.";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::internalDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::interconnection;
|
|
27
27
|
attribute :>> diagramType = "ibd";
|
|
28
|
-
attribute :>> dataSourceDescription = "GPCA hardware assemblies, software system, software components, boundary ports, and the
|
|
28
|
+
attribute :>> dataSourceDescription = "GPCA hardware assemblies, software system, software components, boundary ports, and the flow/bind/Composes topology";
|
|
29
29
|
attribute :>> autoPopulate = true;
|
|
30
30
|
attribute :>> queryDescription = "Include hardware assemblies, the software system with its components and boundary ports, and the exchange topology between them.";
|
|
31
31
|
attribute :>> documentUsage = ("SDD", "Architecture Description", "QMSR");
|
|
@@ -33,7 +33,7 @@ package memo_examples_gpca_pump_model_views_logical_device_interconnect_view {
|
|
|
33
33
|
attribute :>> id = "QRY-LOG-003";
|
|
34
34
|
attribute :>> name = "GPCA_DeviceInterconnectQuery";
|
|
35
35
|
attribute :>> includeElementIds = ("gpcaDevice", "gpcaDeviceSensors", "gpcaSoftware", "gpcaActuators", "devOpCmdIn", "devDbIn", "devPresIn", "devPatientIn", "devGpcaOut", "snsOpCmdIn", "snsDbIn", "snsPresIn", "snsPatientIn", "snsOpCmdOut", "snsPresOut", "snsPatientOut", "snsSensorOut", "snsConstOut", "snsDbOut", "portOpCmdIn", "portPresIn", "portPatientIn", "portSensorIn", "portConstIn", "portDbIn", "portGpcaSwOut", "actGpcaSwIn", "actGpcaOut", "tlm", "systemStatus", "alarm", "config", "infusionMgr", "systemMonitor", "logging", "outputBus");
|
|
36
|
-
attribute :>> includeRelationshipKinds = ("
|
|
36
|
+
attribute :>> includeRelationshipKinds = ("flow", "bind", "Composes");
|
|
37
37
|
attribute :>> includeLayers = ("logical_structure", "software_structure", "interfaces");
|
|
38
38
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
39
39
|
attribute :>> rationaleText = "Render the device interconnect: parts with boundary ports as nodes, AADL connections as typed connectors, composition as nesting.";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_logical_views_logical_logical_architecture_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_logical_logical_architecture_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaLogicalArchitectureView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_logical_views_logical_logical_architecture_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-LOG-001";
|
|
20
20
|
attribute :>> name = "GPCA_LogicalArchitectureView";
|
|
21
21
|
attribute :>> title = "GPCA Logical Architecture View";
|
|
22
22
|
attribute :>> shortDescription = "Logical decomposition of the GPCA system.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "Product-specific logical architecture view that references the default logical architecture viewpoint and is intended for design description and architecture communication.";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_logical_views_logical_mode_state_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_logical_mode_state_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaModeStateView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_logical_views_logical_mode_state_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-BHV-001";
|
|
20
20
|
attribute :>> name = "GPCA_ModeStateView";
|
|
21
21
|
attribute :>> title = "GPCA Top-Level Mode State View";
|
|
22
22
|
attribute :>> shortDescription = "The CriSys Fig 4.1 mode hierarchy (OFF, ON, IDLE, THERAPY, PAUSED, ACTIVE, BASAL, SQUARE_BOLUS, PATIENT_BOLUS) and all guarded transitions.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "Hierarchical state diagram per CriSys §4.1 Fig 4.1: OFF and ON at top level, IDLE and THERAPY under ON, PAUSED (KVO delivery) and ACTIVE under THERAPY, and BASAL / SQUARE_BOLUS (auto-scheduled) / PATIENT_BOLUS under ACTIVE — with the REQ 4-47 transitions, Inhibited_* macro guards, and same-step-critical markings.";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::stateDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::statetransition;
|
|
@@ -32,7 +32,7 @@ package memo_examples_gpca_pump_model_views_logical_mode_state_view {
|
|
|
32
32
|
part :>> selectionQuery {
|
|
33
33
|
attribute :>> id = "QRY-BHV-101";
|
|
34
34
|
attribute :>> name = "GPCA_ModeStateQuery";
|
|
35
|
-
attribute :>> includeElementKinds = ("StateMachine", "
|
|
35
|
+
attribute :>> includeElementKinds = ("StateMachine", "MemoState[stateKind=mode]", "Transition", "BehaviorProperty", "TimingConstraint");
|
|
36
36
|
attribute :>> includeLayers = ("behavior");
|
|
37
37
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
38
38
|
attribute :>> rationaleText = "Auto-populate the mode state view from the behavior layer.";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_logical_views_logical_system_decomposition_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_logical_system_decomposition_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaSystemDecompositionView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_logical_views_logical_system_decomposition_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-LOG-002";
|
|
20
20
|
attribute :>> name = "GPCA_SystemDecompositionView";
|
|
21
21
|
attribute :>> title = "GPCA System Decomposition View";
|
|
22
22
|
attribute :>> shortDescription = "Nested containment of the GPCA device: hardware assemblies and the software system.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "General-kind membership structure of the GPCA device per the AADL GPCA_Device.Impl decomposition: sensor and actuator assemblies with their subcomponents, supporting hardware, and the GPCA software system with its eight AADL subcomponents. Rendered through the KK-2 General view template in containment mode (nested blocks with expand/collapse; the tree mode shows the same hierarchy as a decomposition tree).";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// operational viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_operational {
|
|
7
|
+
public import memo_viewpoints_operational_operational_viewpoint::*;
|
|
8
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_operational_views_operational_scenario_sequence_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,7 +14,7 @@ package memo_examples_gpca_pump_model_views_operational_scenario_sequence_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaScenarioSequenceView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_operational_views_operational_scenario_sequence_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-BHV-002";
|
|
20
20
|
attribute :>> name = "GPCA_ScenarioSequenceView";
|
|
@@ -31,7 +31,7 @@ package memo_examples_gpca_pump_model_views_operational_scenario_sequence_view {
|
|
|
31
31
|
part :>> selectionQuery {
|
|
32
32
|
attribute :>> id = "QRY-BHV-102";
|
|
33
33
|
attribute :>> name = "GPCA_ScenarioSequenceQuery";
|
|
34
|
-
attribute :>> includeElementKinds = ("
|
|
34
|
+
attribute :>> includeElementKinds = ("MemoScenario[scenarioKind=functional]", "MemoScenario[scenarioKind=operative]", "FunctionalFlow", "FunctionalFlowStep");
|
|
35
35
|
attribute :>> includeLayers = ("operational", "system");
|
|
36
36
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
37
37
|
attribute :>> rationaleText = "Auto-populate scenario sequences from the system layer.";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_operational_views_operational_use_case_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_operational_use_case_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaUseCaseView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_operational_views_operational_use_case_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-OPS-101";
|
|
20
20
|
attribute :>> name = "GPCA_UseCaseView";
|
|
21
21
|
attribute :>> title = "GPCA Use Case View";
|
|
22
22
|
attribute :>> shortDescription = "Actors connected to the patient-controlled analgesia use case.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "Connects the nurse, patient, prescriber, and pharmacist to the patient-controlled analgesia use case.";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::custom);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -33,7 +33,7 @@ package memo_examples_gpca_pump_model_views_operational_use_case_view {
|
|
|
33
33
|
attribute :>> id = "QRY-OPS-101";
|
|
34
34
|
attribute :>> name = "GPCA_UseCaseQuery";
|
|
35
35
|
attribute :>> includeElementKinds = ("Actor", "User", "UseCase");
|
|
36
|
-
attribute :>> includeRelationshipKinds = ("
|
|
36
|
+
attribute :>> includeRelationshipKinds = ("ParticipatesIn");
|
|
37
37
|
attribute :>> includeLayers = ("context", "operational");
|
|
38
38
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
39
39
|
attribute :>> rationaleText = "Auto-populate the GPCA use case view from the operational layer.";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// physical viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_physical {
|
|
7
|
+
public import memo_viewpoints_physical_physical_viewpoint::*;
|
|
8
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_physical_views_physical_physical_bom_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,7 +14,7 @@ package memo_examples_gpca_pump_model_views_physical_physical_bom_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaPhysicalBomView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_physical_views_physical_physical_bom_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-PHY-101";
|
|
20
20
|
attribute :>> name = "GPCA_PhysicalBomView";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// requirements viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_requirements {
|
|
7
|
+
public import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
8
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_requirements_views_document_dhf_index_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -8,12 +8,12 @@ package memo_examples_gpca_pump_model_views_document_dhf_index_view {
|
|
|
8
8
|
private import memo_core_enumerations::*;
|
|
9
9
|
|
|
10
10
|
view dhfIndexView : MemoDocumentView {
|
|
11
|
-
expose
|
|
11
|
+
expose memo_examples_gpca_pump_viewpoints_requirements_views_document_dhf_index_view::*;
|
|
12
12
|
attribute :>> id = "DOC-007";
|
|
13
13
|
attribute :>> name = "DesignHistoryFileIndexView";
|
|
14
14
|
attribute :>> title = "GPCA Design History File Index View";
|
|
15
15
|
attribute :>> shortDescription = "Index of design inputs, outputs, reviews, and V&V records for the DHF.";
|
|
16
|
-
attribute :>>
|
|
16
|
+
attribute :>> description = "Collects the document-backed views (requirements, architecture, SDD, RMF, VV, usability, cybersecurity) into the design history file index required by 21 CFR 820.30(j).";
|
|
17
17
|
attribute :>> version = "0.1";
|
|
18
18
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
19
19
|
attribute :>> viewKind = DocumentViewKind::DHF;
|
|
@@ -21,14 +21,14 @@ package memo_examples_gpca_pump_model_views_document_dhf_index_view {
|
|
|
21
21
|
attribute :>> marketScope = "generic";
|
|
22
22
|
attribute :>> documentUsage = ("DHF");
|
|
23
23
|
attribute :>> sectionIdentifier = "DHF";
|
|
24
|
-
part
|
|
25
|
-
part
|
|
26
|
-
part
|
|
24
|
+
part vpRequirements :> viewpointDefinition = requirementsViewpoint;
|
|
25
|
+
part vpRisk :> viewpointDefinition = riskViewpoint;
|
|
26
|
+
part vpVerification :> viewpointDefinition = verificationViewpoint;
|
|
27
27
|
part :>> selectionQuery {
|
|
28
28
|
attribute :>> id = "QRY-DOC-007";
|
|
29
29
|
attribute :>> name = "dhfIndexViewQuery";
|
|
30
|
-
attribute :>> includeElementKinds = ("MemoDocumentView", "MemoDiagramView", "MemoUsabilityEngineeringView", "MemoCybersecurityThreatModelView", "MemoCybersecurityAssessmentView", "
|
|
31
|
-
attribute :>> includeRelationshipKinds = ("
|
|
30
|
+
attribute :>> includeElementKinds = ("MemoDocumentView", "MemoDiagramView", "MemoUsabilityEngineeringView", "MemoCybersecurityThreatModelView", "MemoCybersecurityAssessmentView", "MemoEvidence", "Citation");
|
|
31
|
+
attribute :>> includeRelationshipKinds = ("ProducesEvidence");
|
|
32
32
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
33
33
|
}
|
|
34
34
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_requirements_views_requirements_requirements_trace_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,7 +14,7 @@ package memo_examples_gpca_pump_model_views_requirements_requirements_trace_view
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaRequirementsTraceView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_requirements_views_requirements_requirements_trace_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-REQ-101";
|
|
20
20
|
attribute :>> name = "GPCA_RequirementsTraceabilityView";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// risk viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_risk {
|
|
7
|
+
public import memo_viewpoints_risk_risk_viewpoint::*;
|
|
8
|
+
}
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_risk_views_document_hazard_analysis_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
5
5
|
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
6
6
|
private import memo_core_enumerations::*;
|
|
7
|
+
private import memo_examples_gpca_pump_gpca_analysis::*;
|
|
7
8
|
|
|
8
9
|
view hazardAnalysisView : MemoDocumentView {
|
|
9
|
-
expose
|
|
10
|
+
expose memo_examples_gpca_pump_viewpoints_risk_views_document_hazard_analysis_view::*;
|
|
11
|
+
expose fmeaDelivery;
|
|
12
|
+
expose ftaOverdose;
|
|
10
13
|
attribute :>> id = "DOC-009";
|
|
11
14
|
attribute :>> name = "HazardAnalysisReportView";
|
|
12
15
|
attribute :>> title = "GPCA Hazard Analysis Report View";
|
|
13
16
|
attribute :>> shortDescription = "Hazard analysis report aligned to the UMN CriSys GPCA hazard tables.";
|
|
14
|
-
attribute :>>
|
|
17
|
+
attribute :>> description = "Aggregates the five hazard chains, the FMEA worksheet, and the overdose fault tree with their controls and verification pointers.";
|
|
15
18
|
attribute :>> version = "0.1";
|
|
16
19
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
17
20
|
attribute :>> viewKind = DocumentViewKind::RMF;
|
|
@@ -23,8 +26,8 @@ package memo_examples_gpca_pump_model_views_document_hazard_analysis_view {
|
|
|
23
26
|
part :>> selectionQuery {
|
|
24
27
|
attribute :>> id = "QRY-DOC-003";
|
|
25
28
|
attribute :>> name = "hazardAnalysisViewQuery";
|
|
26
|
-
attribute :>> includeElementKinds = ("FMEAWorksheet", "FailureMode", "FailureCause", "FailureEffect", "DetectionMethod", "FMEAAction", "FaultTree", "
|
|
27
|
-
attribute :>> includeRelationshipKinds = ("HasFailureMode", "Causes", "DetectedBy", "Mitigates", "InputToGate", "ContainsEvent", "Mitigates"
|
|
29
|
+
attribute :>> includeElementKinds = ("FMEAWorksheet", "FailureMode", "FailureCause", "FailureEffect", "DetectionMethod", "FMEAAction", "FaultTree", "FaultTreeNode", "MinimalCutSet", "Hazard", "HazardCause", "SequenceOfEvents");
|
|
30
|
+
attribute :>> includeRelationshipKinds = ("HasFailureMode", "Causes", "DetectedBy", "Mitigates", "InputToGate", "ContainsEvent", "Mitigates");
|
|
28
31
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
29
32
|
}
|
|
30
33
|
}
|
package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_rmf_view.sysml
RENAMED
|
@@ -1,17 +1,19 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_risk_views_document_rmf_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
5
5
|
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
6
6
|
private import memo_core_enumerations::*;
|
|
7
|
+
private import memo_examples_gpca_pump_gpca_verification::*;
|
|
7
8
|
|
|
8
9
|
view rmfView : MemoDocumentView {
|
|
9
|
-
expose
|
|
10
|
+
expose memo_examples_gpca_pump_viewpoints_risk_views_document_rmf_view::*;
|
|
11
|
+
expose evidenceLockout;
|
|
10
12
|
attribute :>> id = "DOC-001";
|
|
11
13
|
attribute :>> name = "RiskManagementFileView";
|
|
12
14
|
attribute :>> title = "GPCA Risk Management File View";
|
|
13
15
|
attribute :>> shortDescription = "Document-backed risk view for GPCA.";
|
|
14
|
-
attribute :>>
|
|
16
|
+
attribute :>> description = "Aggregates the risk chain, controls, verification, residual risk, and cybersecurity links needed for the GPCA risk management file.";
|
|
15
17
|
attribute :>> version = "0.2";
|
|
16
18
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
17
19
|
attribute :>> viewKind = DocumentViewKind::RMF;
|
|
@@ -23,8 +25,8 @@ package memo_examples_gpca_pump_model_views_document_rmf_view {
|
|
|
23
25
|
part :>> selectionQuery {
|
|
24
26
|
attribute :>> id = "QRY-DOC-001";
|
|
25
27
|
attribute :>> name = "rmfViewQuery";
|
|
26
|
-
attribute :>> includeElementKinds = ("IntendedUse", "ReasonablyForeseeableMisuse", "SafetyRelatedCharacteristic", "Hazard", "HazardCause", "SequenceOfEvents", "HazardousSituation", "Harm", "Risk", "RiskControlMeasure", "ResidualRisk", "Benefit", "OverallResidualRiskEvaluation", "VerificationCase", "
|
|
27
|
-
attribute :>> includeRelationshipKinds = ("Causes", "Mitigates", "Mitigates", "TracesRisk", "AssessedAgainst", "VerifiedBy", "ProducesEvidence"
|
|
28
|
+
attribute :>> includeElementKinds = ("IntendedUse", "ReasonablyForeseeableMisuse", "SafetyRelatedCharacteristic", "Hazard", "HazardCause", "SequenceOfEvents", "HazardousSituation", "Harm", "Risk", "RiskControlMeasure", "ResidualRisk", "Benefit", "OverallResidualRiskEvaluation", "VerificationCase", "MemoEvidence");
|
|
29
|
+
attribute :>> includeRelationshipKinds = ("Causes", "Mitigates", "Mitigates", "TracesRisk", "AssessedAgainst", "VerifiedBy", "ProducesEvidence");
|
|
28
30
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
29
31
|
}
|
|
30
32
|
}
|
package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_fmea_view.sysml
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_risk_views_risk_fmea_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,7 +14,7 @@ package memo_examples_gpca_pump_model_views_risk_fmea_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaFmeaView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_risk_views_risk_fmea_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-RISK-102";
|
|
20
20
|
attribute :>> name = "GPCA_FmeaView";
|
|
@@ -31,7 +31,7 @@ package memo_examples_gpca_pump_model_views_risk_fmea_view {
|
|
|
31
31
|
part :>> selectionQuery {
|
|
32
32
|
attribute :>> id = "QRY-RISK-102";
|
|
33
33
|
attribute :>> name = "GPCA_FmeaQuery";
|
|
34
|
-
attribute :>> includeElementKinds = ("FMEAWorksheet", "FailureMode", "FailureEffect", "FailureCause", "DetectionMethod", "FMEAAction", "FaultTree", "
|
|
34
|
+
attribute :>> includeElementKinds = ("FMEAWorksheet", "FailureMode", "FailureEffect", "FailureCause", "DetectionMethod", "FMEAAction", "FaultTree", "FaultTreeNode", "MinimalCutSet");
|
|
35
35
|
attribute :>> includeLayers = ("analysis", "risk");
|
|
36
36
|
attribute :>> includeConcerns = (ConcernKind::safety, ConcernKind::reliability);
|
|
37
37
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_risk_chain_view.sysml
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_risk_views_risk_risk_chain_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_risk_risk_chain_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaRiskChainView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_risk_views_risk_risk_chain_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-RISK-101";
|
|
20
20
|
attribute :>> name = "GPCA_RiskChainView";
|
|
21
21
|
attribute :>> title = "GPCA Risk Mitigation Chain View";
|
|
22
22
|
attribute :>> shortDescription = "All seven hazard causal trees from categorized cause through harm with controls and residual risk.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "Opioid over-infusion, under-infusion, air embolism, misprogramming, free-flow, reverse-delivery, and VTBI over-infusion causal trees (GIIP cause-source structure): categorized causes converging on each hazard, sequences of events, hazardous situations, harms, risk estimates, controls, and residual evaluations.";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// software viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_software {
|
|
7
|
+
public import memo_viewpoints_software_software_viewpoint::*;
|
|
8
|
+
}
|
package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/document_sdd_view.sysml
RENAMED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_software_views_document_sdd_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -6,12 +6,12 @@ package memo_examples_gpca_pump_model_views_document_sdd_view {
|
|
|
6
6
|
private import memo_core_enumerations::*;
|
|
7
7
|
|
|
8
8
|
view sddView : MemoDocumentView {
|
|
9
|
-
expose
|
|
9
|
+
expose memo_examples_gpca_pump_viewpoints_software_views_document_sdd_view::*;
|
|
10
10
|
attribute :>> id = "DOC-004";
|
|
11
11
|
attribute :>> name = "SoftwareDesignDescriptionView";
|
|
12
12
|
attribute :>> title = "GPCA Software Design Description View";
|
|
13
13
|
attribute :>> shortDescription = "IEC 62304 software design description for the GPCA software system.";
|
|
14
|
-
attribute :>>
|
|
14
|
+
attribute :>> description = "Aggregates the software system, its six components with safety classes and scheduling attributes, mode machine and transitions, interfaces, and function allocations for the SDD.";
|
|
15
15
|
attribute :>> version = "0.1";
|
|
16
16
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
17
17
|
attribute :>> viewKind = DocumentViewKind::SDD;
|
|
@@ -23,7 +23,7 @@ package memo_examples_gpca_pump_model_views_document_sdd_view {
|
|
|
23
23
|
part :>> selectionQuery {
|
|
24
24
|
attribute :>> id = "QRY-DOC-004";
|
|
25
25
|
attribute :>> name = "sddViewQuery";
|
|
26
|
-
attribute :>> includeElementKinds = ("SoftwareSystem", "SoftwareModule", "
|
|
26
|
+
attribute :>> includeElementKinds = ("SoftwareSystem", "SoftwareModule", "MemoState[stateKind=mode]", "Transition", "Interface", "SystemFunction", "TimingConstraint", "SoftwareModule[moduleKind=soup]");
|
|
27
27
|
attribute :>> includeRelationshipKinds = ("Composes", "AllocatedTo", "BindsToInterface", "Realizes", "DependsOnSoup", "Changes");
|
|
28
28
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
29
29
|
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_software_views_software_software_architecture_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,26 +14,26 @@ package memo_examples_gpca_pump_model_views_software_software_architecture_view
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaSoftwareArchitectureView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_software_views_software_software_architecture_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-SW-101";
|
|
20
20
|
attribute :>> name = "GPCA_SoftwareArchitectureView";
|
|
21
21
|
attribute :>> title = "GPCA Software Architecture View";
|
|
22
22
|
attribute :>> shortDescription = "The eight AADL GPCA_SW.Impl subcomponents, top-level ports, and the full inter-component connection topology.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "Top_Level_Mode, System_Status, Alarm, Config, Infusion_Manager, System_Monitor, Logging, and OutputBus inside the GPCA_Software system, wired per GPCA_SW.Impl with the seven top-level ports (OP_CMD_IN, PRES_IN, PATIENT_IN, SENSOR_IN, CONST_IN, DB_IN, GPCA_SW_OUT). Connections are synchronous with AADL immediate port semantics.";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::internalDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::interconnection;
|
|
27
27
|
attribute :>> diagramType = "ibd";
|
|
28
28
|
attribute :>> dataSourceDescription = "GPCA software structure, top-level ports, and the GPCA_SW.Impl connection set (CE-101..CE-142)";
|
|
29
29
|
attribute :>> autoPopulate = true;
|
|
30
|
-
attribute :>> queryDescription = "Include the software system, its eight components, its boundary ports, and the
|
|
30
|
+
attribute :>> queryDescription = "Include the software system, its eight components, its boundary ports, and the flow and delegation topology between them.";
|
|
31
31
|
attribute :>> documentUsage = ("SDD", "QMSR");
|
|
32
32
|
part :>> selectionQuery {
|
|
33
33
|
attribute :>> id = "QRY-SW-101";
|
|
34
34
|
attribute :>> name = "GPCA_SoftwareArchitectureQuery";
|
|
35
35
|
attribute :>> includeElementKinds = ("SoftwareSystem", "SoftwareModule", "SoftwarePort");
|
|
36
|
-
attribute :>> includeRelationshipKinds = ("
|
|
36
|
+
attribute :>> includeRelationshipKinds = ("flow", "bind", "Composes");
|
|
37
37
|
attribute :>> includeLayers = ("software_structure", "interfaces");
|
|
38
38
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
39
39
|
attribute :>> rationaleText = "Render the real GPCA_SW.Impl topology: components and boundary ports as nodes, AADL connections as edges.";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// usability viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_usability {
|
|
7
|
+
public import memo_viewpoints_usability_usability_viewpoint::*;
|
|
8
|
+
}
|
|
@@ -1,18 +1,20 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_usability_views_document_usability_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
5
|
-
private import
|
|
5
|
+
private import memo_viewpoints_usability_views_usability_engineering_view::*;
|
|
6
6
|
private import memo_viewpoints_usability_usability_viewpoint::*;
|
|
7
7
|
private import memo_core_enumerations::*;
|
|
8
|
+
private import memo_examples_gpca_pump_gpca_verification::*;
|
|
8
9
|
|
|
9
10
|
view usabilityView : MemoUsabilityEngineeringView {
|
|
10
|
-
expose
|
|
11
|
+
expose memo_examples_gpca_pump_viewpoints_usability_views_document_usability_view::*;
|
|
12
|
+
expose evidenceUsability;
|
|
11
13
|
attribute :>> id = "DOC-008";
|
|
12
14
|
attribute :>> name = "UsabilityEngineeringFileView";
|
|
13
15
|
attribute :>> title = "GPCA Usability Engineering File View";
|
|
14
16
|
attribute :>> shortDescription = "IEC 62366-1 usability engineering file content for GPCA.";
|
|
15
|
-
attribute :>>
|
|
17
|
+
attribute :>> description = "Aggregates intended use, use contexts, actors, foreseeable use errors, related risk chains, usability requirements, and the summative usability validation case.";
|
|
16
18
|
attribute :>> version = "0.1";
|
|
17
19
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
18
20
|
attribute :>> marketScope = "generic";
|
|
@@ -22,8 +24,8 @@ package memo_examples_gpca_pump_model_views_document_usability_view {
|
|
|
22
24
|
part :>> selectionQuery {
|
|
23
25
|
attribute :>> id = "QRY-DOC-002";
|
|
24
26
|
attribute :>> name = "usabilityViewQuery";
|
|
25
|
-
attribute :>> includeElementKinds = ("UseError", "UseContext", "Actor", "ValidationCase", "
|
|
26
|
-
attribute :>> includeRelationshipKinds = ("TestedByUsability", "RealizedByScenario", "InteractsWith"
|
|
27
|
+
attribute :>> includeElementKinds = ("UseError", "UseContext", "Actor", "ValidationCase", "MemoScenario[scenarioKind=operative]", "IntendedUse", "ReasonablyForeseeableMisuse");
|
|
28
|
+
attribute :>> includeRelationshipKinds = ("TestedByUsability", "RealizedByScenario", "InteractsWith");
|
|
27
29
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
28
30
|
}
|
|
29
31
|
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// verification viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_verification {
|
|
7
|
+
public import memo_viewpoints_verification_verification_viewpoint::*;
|
|
8
|
+
}
|