@memoarchitect/ontology 0.12.1 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/examples/connected-patient-monitor/memo.identity.yaml +34 -0
- package/examples/connected-patient-monitor/memo.package.yaml +3 -1
- package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +17 -12
- package/examples/connected-patient-monitor/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/embedded-infusion-pump/memo.package.yaml +3 -1
- package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +6 -6
- package/examples/embedded-infusion-pump/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/functional-logical-physical/memo.identity.yaml +28 -0
- package/examples/functional-logical-physical/memo.package.yaml +3 -1
- package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +5 -5
- package/examples/functional-logical-physical/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/gpca-pump/analysis/Samples/01-model-overview.ipynb +40 -139
- package/examples/gpca-pump/analysis/Samples/02-architecture-hotspots.ipynb +38 -290
- package/examples/gpca-pump/analysis/Samples/03-model-quality.ipynb +47 -217
- package/examples/gpca-pump/analysis/Samples/04-change-impact-explorer.ipynb +50 -191
- package/examples/gpca-pump/analysis/Samples/05-model-charts.ipynb +42 -181
- package/examples/gpca-pump/analysis/Samples/06-ownership-graph.ipynb +40 -164
- package/examples/gpca-pump/analysis/Samples/07-model-inventory-table.ipynb +51 -172
- package/examples/gpca-pump/analysis/Samples/README.md +15 -9
- package/examples/gpca-pump/analysis/memo_model.py +243 -0
- package/examples/gpca-pump/memo.identity.yaml +521 -26
- package/examples/gpca-pump/memo.package.yaml +3 -1
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +56 -47
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +51 -78
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +359 -358
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +9 -9
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +56 -69
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +44 -59
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +23 -35
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +33 -40
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +62 -63
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +362 -483
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +45 -70
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +6 -12
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +173 -169
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +139 -225
- package/examples/gpca-pump/model/catalog/gpca_standards.sysml +43 -47
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +68 -65
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +147 -116
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +65 -91
- package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +7 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_logical_architecture_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_risk_chain_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +2 -4
- package/examples/gpca-pump/model/{catalog → methodology}/project.sysml +8 -6
- package/examples/ivd-laboratory-system/memo.package.yaml +3 -1
- package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +12 -9
- package/examples/ivd-laboratory-system/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/manual-surgical-instrument/memo.package.yaml +3 -1
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +2 -6
- package/examples/manual-surgical-instrument/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/multidimensional-layers/memo.package.yaml +3 -1
- package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +2 -4
- package/examples/multidimensional-layers/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/nested-architecture-dsm/memo.identity.yaml +93 -0
- package/examples/nested-architecture-dsm/memo.package.yaml +3 -1
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +30 -30
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +28 -28
- package/examples/nested-architecture-dsm/model/catalog/architecture/operational/context.sysml +2 -4
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +4 -4
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +7 -7
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +8 -8
- package/examples/nested-architecture-dsm/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/reusable-instrument/memo.package.yaml +3 -1
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +7 -7
- package/examples/reusable-instrument/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/robot-cell-family/README.md +34 -0
- package/examples/robot-cell-family/memo.identity.yaml +142 -0
- package/examples/robot-cell-family/memo.package.yaml +7 -0
- package/examples/robot-cell-family/model/methodology/project.sysml +30 -0
- package/examples/robot-cell-family/model/shared/shared.sysml +53 -0
- package/examples/robot-cell-family/model/sos/chains.sysml +36 -0
- package/examples/robot-cell-family/model/sos/icds.sysml +29 -0
- package/examples/robot-cell-family/model/sos/sos.sysml +31 -0
- package/examples/robot-cell-family/model/sos/use_cases.sysml +25 -0
- package/examples/robot-cell-family/model/systems/manipulation/manipulation_system.sysml +35 -0
- package/examples/robot-cell-family/model/systems/navigation/navigation_system.sysml +46 -0
- package/examples/robot-cell-family/model/systems/perception/perception_system.sysml +37 -0
- package/examples/robot-platform/memo.package.yaml +3 -0
- package/examples/robot-platform/model/platform.sysml +15 -0
- package/examples/ros-mobile-robot/README.md +5 -4
- package/examples/ros-mobile-robot/memo.identity.yaml +94 -0
- package/examples/ros-mobile-robot/memo.package.yaml +3 -1
- package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +26 -29
- package/examples/ros-mobile-robot/model/{catalog → methodology}/project.sysml +8 -14
- package/examples/software-only-medical-device/memo.package.yaml +3 -1
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +9 -10
- package/examples/software-only-medical-device/model/{catalog → methodology}/project.sysml +8 -9
- package/examples/surgical-closure-workflow/memo.package.yaml +3 -1
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +23 -26
- package/examples/surgical-closure-workflow/model/{catalog → methodology}/project.sysml +7 -5
- package/examples/surgical-robot/memo.package.yaml +3 -1
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +14 -12
- package/examples/surgical-robot/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/sysml-diagram-samples/README.md +1 -0
- package/examples/sysml-diagram-samples/memo.identity.yaml +675 -0
- package/examples/sysml-diagram-samples/memo.package.yaml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +10 -20
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +7 -29
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/browser_view.sysml +12 -36
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +13 -25
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/diagram_samples.sysml +388 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/drill_down_view.sysml +88 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +27 -36
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/grid_view.sysml +8 -21
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +17 -65
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +23 -32
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/package_view.sysml +9 -22
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +7 -22
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/sequence_view.sysml +18 -34
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +2 -9
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +18 -42
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +11 -24
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +9 -36
- package/examples/sysml-diagram-samples/model/methodology/project.sysml +40 -0
- package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +1 -1
- package/examples/temperature-alarm/memo.identity.yaml +6 -0
- package/examples/temperature-alarm/memo.package.yaml +3 -1
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +43 -21
- package/examples/temperature-alarm/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/ui-screen-regions/memo.identity.yaml +33 -0
- package/examples/ui-screen-regions/memo.package.yaml +3 -1
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +12 -12
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +18 -18
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +6 -6
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +3 -3
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +1 -1
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +1 -1
- package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +10 -10
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +1 -1
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +12 -12
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +15 -15
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +6 -6
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +1 -2
- package/examples/ui-screen-regions/model/{catalog → methodology}/project.sysml +4 -5
- package/extensions/README.md +65 -16
- package/extensions/aadl/memo.package.yaml +1 -1
- package/extensions/aadl/src/aadl_extension.sysml +5 -2
- package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +29 -50
- package/extensions/clinical/memo.package.yaml +1 -1
- package/extensions/clinical/src/clinical_extension.sysml +2 -0
- package/extensions/cloud/memo.package.yaml +1 -1
- package/extensions/container/memo.package.yaml +1 -1
- package/extensions/messaging/memo.package.yaml +1 -1
- package/extensions/messaging/src/messaging_extension.sysml +2 -2
- package/extensions/ros/memo.package.yaml +1 -1
- package/extensions/ros/src/ros_extension.sysml +25 -24
- package/extensions/template/memo.package.yaml +1 -1
- package/extensions/template/model/extension.sysml +25 -0
- package/memo.manifest.yaml +1 -7
- package/methodologies/default/memo.package.yaml +1 -1
- package/methodologies/gpca/memo.package.yaml +1 -1
- package/ontology/memo.package.yaml +1 -1
- package/package.json +6 -4
- package/profile/memo.package.yaml +1 -1
- package/src/architecture/decisions/memo_decisions.sysml +9 -2
- package/src/architecture/functional/behavior/memo_behavior.sysml +27 -7
- package/src/architecture/functional/functions/memo_functions.sysml +45 -31
- package/src/architecture/functional/memo_architecture_functional.sysml +14 -0
- package/src/architecture/implementation/memo_architecture_implementation.sysml +21 -0
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +7 -0
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +58 -17
- package/src/architecture/implementation/ui/memo_ui.sysml +1 -1
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +67 -58
- package/src/architecture/logical/memo_architecture_logical.sysml +13 -0
- package/src/architecture/logical/structure/memo_logical_structure.sysml +27 -8
- package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +4 -1
- package/src/architecture/operational/memo_architecture_operational.sysml +19 -0
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +9 -8
- package/src/architecture/operational/structure/memo_operational.sysml +5 -2
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +16 -8
- package/src/architecture/realization/deployment/memo_deployment.sysml +30 -10
- package/src/architecture/realization/memo_architecture_realization.sysml +13 -0
- package/src/architecture/realization/physical/memo_physical_architecture.sysml +61 -0
- package/src/architecture/variability/memo_variability.sysml +87 -0
- package/src/artifacts/configuration_management/memo_configuration_management.sysml +95 -3
- package/src/artifacts/core/memo_controlled_artifacts.sysml +4 -2
- package/src/artifacts/standards/cfr_21_820.sysml +12 -24
- package/src/artifacts/standards/fda_cybersecurity_2023.sysml +13 -20
- package/src/artifacts/standards/iec_60601_1.sysml +16 -32
- package/src/artifacts/standards/iec_60601_1_2.sysml +5 -10
- package/src/artifacts/standards/iec_60812.sysml +4 -8
- package/src/artifacts/standards/iec_62304.sysml +607 -47
- package/src/artifacts/standards/iec_62366_1.sysml +12 -24
- package/src/artifacts/standards/iec_81001_5_1.sysml +8 -16
- package/src/artifacts/standards/iso_13485.sysml +12 -24
- package/src/artifacts/standards/iso_14971.sysml +118 -20
- package/src/artifacts/standards/iso_iec_ieee_42010.sysml +3 -6
- package/src/artifacts/standards/memo_artifacts_standards_traceability.sysml +14 -4
- package/src/artifacts/templates/dhf/fda-cybersecurity/postmarket-surveillance.md +1 -2
- package/src/artifacts/templates/dhf/fda-cybersecurity/vuln-assessment.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/sad.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/sbom.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/sdp.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/soup.md +3 -5
- package/src/artifacts/templates/dhf/system/sad.md +1 -1
- package/src/artifacts/templates/dhf/system/standards-checklist.md +2 -2
- package/src/artifacts/templates/dhf/system/standards-traceability.md +1 -1
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +339 -13
- package/src/assurance/human_factors/memo_human_factors.sysml +6 -2
- package/src/assurance/safety_risk/analysis/memo_fmea.sysml +7 -3
- package/src/assurance/safety_risk/memo_risk.sysml +39 -1
- package/src/core/common/memo_common.sysml +51 -68
- package/src/core/enumerations/memo_enumerations.sysml +93 -9
- package/src/core/relationships/memo_relationships.sysml +17 -11
- package/src/core/relationships/memo_workspace_membership.sysml +284 -0
- package/src/core/semantics/semantics.sysml +58 -0
- package/src/core/terminology/terminology.sysml +7 -0
- package/src/memo_namespaces.sysml +6 -0
- package/src/methodology/archetypes/memo_archetypes.sysml +8 -16
- package/src/methodology/core/memo_core.sysml +85 -29
- package/src/methodology/profiles/memo_profiles.sysml +217 -61
- package/src/methodology/workflow/memo_workflow.sysml +28 -0
- package/src/rules/closure/closure_rules.sysml +250 -4
- package/src/rules/crosslayer/cross_layer_rules.sysml +11 -0
- package/src/rules/ontology/ontology_invariants.sysml +288 -48
- package/src/rules/quantitative/quantitative_rules.sysml +4 -0
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +28 -28
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +4 -5
- package/src/viewpoints/context/context_viewpoint.sysml +4 -5
- package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +3 -5
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +4 -5
- package/src/viewpoints/definitions/memo_view_layout.sysml +150 -0
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +3 -5
- package/src/viewpoints/functional/functional_viewpoint.sysml +4 -5
- package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +2 -4
- package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +2 -4
- package/src/viewpoints/logical/logical_viewpoint.sysml +4 -5
- package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +2 -4
- package/src/viewpoints/operational/operational_viewpoint.sysml +4 -5
- package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +3 -5
- package/src/viewpoints/physical/physical_viewpoint.sysml +4 -5
- package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +2 -4
- package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +2 -4
- package/src/viewpoints/rendering/memo_rendering.sysml +50 -98
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +4 -5
- package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +2 -4
- package/src/viewpoints/risk/risk_viewpoint.sysml +4 -5
- package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +2 -4
- package/src/viewpoints/software/software_viewpoint.sysml +4 -5
- package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +3 -5
- package/src/viewpoints/{definitions → stakeholders_concerns}/memo_stakeholders_concerns.sysml +45 -36
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +4 -5
- package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +1 -1
- package/src/viewpoints/usability/usability_viewpoint.sysml +4 -5
- package/src/viewpoints/verification/verification_viewpoint.sysml +4 -5
- package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +2 -4
- package/stage1/syside-67f92dc96ba75cd05b5c8d13.ids.gz +0 -0
- package/stage1/syside-67f92dc96ba75cd05b5c8d13.json.gz +0 -0
- package/templates/default/memo.package.yaml +6 -1
- package/templates/default/model/catalog/architecture/system.sysml +7 -3
- package/templates/default/model/{catalog → methodology}/project.sysml +3 -4
- package/examples/sysml-diagram-samples/model/catalog/project.sysml +0 -26
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +0 -47
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +0 -94
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +0 -13
- package/examples/ui-screen-regions/model/catalog/relationships.sysml +0 -8
- package/extensions/aadl/src/methodology/aadl_methodology.sysml +0 -19
- package/extensions/clinical/src/methodology/clinical_methodology.sysml +0 -24
- package/extensions/cloud/src/methodology/cloud_methodology.sysml +0 -19
- package/extensions/container/src/methodology/container_methodology.sysml +0 -19
- package/extensions/messaging/src/methodology/messaging_methodology.sysml +0 -19
- package/extensions/ros/src/methodology/ros_methodology.sysml +0 -27
- package/extensions/template/src/extension.sysml +0 -39
- package/templates/connected-device/memo.package.yaml +0 -13
- package/templates/connected-device/model/catalog/architecture/system.sysml +0 -5
- package/templates/connected-device/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/connected-device/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/connected-device/model/catalog/project.sysml +0 -30
- package/templates/connected-device/package.json +0 -8
- package/templates/connected-device/syside.toml +0 -13
- package/templates/infusion-pump/memo.package.yaml +0 -13
- package/templates/infusion-pump/model/catalog/architecture/system.sysml +0 -5
- package/templates/infusion-pump/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/infusion-pump/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/infusion-pump/model/catalog/project.sysml +0 -30
- package/templates/infusion-pump/package.json +0 -8
- package/templates/infusion-pump/syside.toml +0 -13
- package/templates/monitoring-device/memo.package.yaml +0 -13
- package/templates/monitoring-device/model/catalog/architecture/system.sysml +0 -5
- package/templates/monitoring-device/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/monitoring-device/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/monitoring-device/model/catalog/project.sysml +0 -30
- package/templates/monitoring-device/package.json +0 -8
- package/templates/monitoring-device/syside.toml +0 -13
- package/templates/samd/memo.package.yaml +0 -13
- package/templates/samd/model/catalog/architecture/system.sysml +0 -5
- package/templates/samd/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/samd/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/samd/model/catalog/project.sysml +0 -30
- package/templates/samd/package.json +0 -8
- package/templates/samd/syside.toml +0 -13
|
@@ -11,10 +11,9 @@ package memo_examples_gpca_pump_viewpoints_logical_views_document_architecture_d
|
|
|
11
11
|
private import memo_core_common::MemoIdentity;
|
|
12
12
|
view architectureDescriptionView : MemoDocumentView {
|
|
13
13
|
expose memo_examples_gpca_pump_viewpoints_logical_views_document_architecture_description_view::*;
|
|
14
|
-
@MemoIdentity { :>> providedId = "DOC-005"; }
|
|
15
|
-
attribute :>> name = "ArchitectureDescriptionView";
|
|
14
|
+
@MemoIdentity { :>> providedId = "DOC-005"; :>> label = "ArchitectureDescriptionView"; }
|
|
16
15
|
@MemoIdentity { :>> shortDescription = "ISO/IEC/IEEE 42010 architecture description across all layers."; }
|
|
17
|
-
|
|
16
|
+
doc /* Aggregates context, operational, functional, logical, software, and physical layers with their views and correspondences for the system architecture description. */
|
|
18
17
|
attribute :>> version = "0.1";
|
|
19
18
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
20
19
|
attribute :>> viewKind = DocumentViewKind::architectureDescription;
|
|
@@ -24,9 +23,8 @@ package memo_examples_gpca_pump_viewpoints_logical_views_document_architecture_d
|
|
|
24
23
|
ref vpSoftware :> viewpointDefinition = softwareViewpoint;
|
|
25
24
|
ref vpPhysical :> viewpointDefinition = physicalViewpoint;
|
|
26
25
|
part :>> selectionQuery {
|
|
27
|
-
@MemoIdentity { :>> providedId = "QRY-DOC-005"; }
|
|
28
|
-
attribute :>>
|
|
29
|
-
attribute :>> includeElementKinds = ("LogicalComponent", "SystemFunction", "ComponentExchange", "SoftwareSystem", "SoftwareModule", "HardwareAssembly", "ProcessingNode", "PhysicalPort", "FunctionalFlow", "FunctionalFlowStep");
|
|
26
|
+
@MemoIdentity { :>> providedId = "QRY-DOC-005"; :>> label = "architectureDescriptionViewQuery"; }
|
|
27
|
+
attribute :>> includeElementKinds = ("LogicalComponent", "SystemFunction", "ComponentExchange", "SoftwareSystem", "SoftwareModule", "HardwareAssembly", "ProcessingNode", "PhysicalPort", "FunctionalFlow");
|
|
30
28
|
attribute :>> includeRelationshipKinds = ("Composes", "AllocatedTo", "Realizes", "BindsToInterface", "Performs", "Succession", "DeploysTo", "HostedBy");
|
|
31
29
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
32
30
|
}
|
|
@@ -18,10 +18,9 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_device_intercon
|
|
|
18
18
|
view gpcaDeviceInterconnectView : MemoDiagramView {
|
|
19
19
|
expose memo_examples_gpca_pump_viewpoints_logical_views_logical_device_interconnect_view::*;
|
|
20
20
|
attribute depth = 2;
|
|
21
|
-
@MemoIdentity { :>> providedId = "VIEW-LOG-003"; }
|
|
22
|
-
attribute :>> name = "GPCA_DeviceInterconnectView";
|
|
21
|
+
@MemoIdentity { :>> providedId = "VIEW-LOG-003"; :>> label = "GPCA_DeviceInterconnectView"; }
|
|
23
22
|
@MemoIdentity { :>> shortDescription = "AADL device-level interconnection: GPCA_HW_Sensors, GPCA_SW, and GPCA_HW_Actuators with their declared boundary features."; }
|
|
24
|
-
|
|
23
|
+
doc /* 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. */
|
|
25
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
26
25
|
attribute :>> presentationKind = (PresentationKind::internalDiagram);
|
|
27
26
|
attribute :>> viewKind = DiagramViewKind::interconnection;
|
|
@@ -30,8 +29,7 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_device_intercon
|
|
|
30
29
|
attribute :>> autoPopulate = true;
|
|
31
30
|
attribute :>> queryDescription = "Include hardware assemblies, the software system with its components and boundary ports, and the exchange topology between them.";
|
|
32
31
|
part :>> selectionQuery {
|
|
33
|
-
@MemoIdentity { :>> providedId = "QRY-LOG-003"; }
|
|
34
|
-
attribute :>> name = "GPCA_DeviceInterconnectQuery";
|
|
32
|
+
@MemoIdentity { :>> providedId = "QRY-LOG-003"; :>> label = "GPCA_DeviceInterconnectQuery"; }
|
|
35
33
|
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
34
|
attribute :>> includeRelationshipKinds = ("flow", "bind", "Composes");
|
|
37
35
|
attribute :>> includeLayers = ("logical_structure", "software_structure", "interfaces");
|
|
@@ -18,10 +18,9 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_logical_archite
|
|
|
18
18
|
view gpcaLogicalArchitectureView : MemoDiagramView {
|
|
19
19
|
expose memo_examples_gpca_pump_viewpoints_logical_views_logical_logical_architecture_view::*;
|
|
20
20
|
attribute depth = 2;
|
|
21
|
-
@MemoIdentity { :>> providedId = "VIEW-LOG-001"; }
|
|
22
|
-
attribute :>> name = "GPCA_LogicalArchitectureView";
|
|
21
|
+
@MemoIdentity { :>> providedId = "VIEW-LOG-001"; :>> label = "GPCA_LogicalArchitectureView"; }
|
|
23
22
|
@MemoIdentity { :>> shortDescription = "Logical decomposition of the GPCA system."; }
|
|
24
|
-
|
|
23
|
+
doc /* Product-specific logical architecture view that references the default logical architecture viewpoint and is intended for design description and architecture communication. */
|
|
25
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
26
25
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
27
26
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -30,9 +29,8 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_logical_archite
|
|
|
30
29
|
attribute :>> autoPopulate = true;
|
|
31
30
|
attribute :>> queryDescription = "Include GPCA logical components and key interfaces relevant to therapy control.";
|
|
32
31
|
part :>> selectionQuery {
|
|
33
|
-
@MemoIdentity { :>> providedId = "QRY-LOG-001"; }
|
|
34
|
-
attribute :>>
|
|
35
|
-
attribute :>> includeElementKinds = ("LogicalComponent", "Interface", "Function");
|
|
32
|
+
@MemoIdentity { :>> providedId = "QRY-LOG-001"; :>> label = "GPCA_LogicalArchitectureQuery"; }
|
|
33
|
+
attribute :>> includeElementKinds = ("LogicalComponent", "Interface", "MemoFunction");
|
|
36
34
|
attribute :>> includeLayers = ("functions", "logical_structure", "interfaces");
|
|
37
35
|
attribute :>> selectionExpression = "product == 'GPCA' and concern contains therapy control";
|
|
38
36
|
attribute :>> rationaleText = "Auto-populate the GPCA logical architecture view from the core product model.";
|
package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml
CHANGED
|
@@ -18,10 +18,9 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_mode_state_view
|
|
|
18
18
|
view gpcaModeStateView : MemoDiagramView {
|
|
19
19
|
expose memo_examples_gpca_pump_viewpoints_logical_views_logical_mode_state_view::*;
|
|
20
20
|
attribute depth = 2;
|
|
21
|
-
@MemoIdentity { :>> providedId = "VIEW-BHV-001"; }
|
|
22
|
-
attribute :>> name = "GPCA_ModeStateView";
|
|
21
|
+
@MemoIdentity { :>> providedId = "VIEW-BHV-001"; :>> label = "GPCA_ModeStateView"; }
|
|
23
22
|
@MemoIdentity { :>> shortDescription = "The CriSys Fig 4.1 mode hierarchy (OFF, ON, IDLE, THERAPY, PAUSED, ACTIVE, BASAL, SQUARE_BOLUS, PATIENT_BOLUS) and all guarded transitions."; }
|
|
24
|
-
|
|
23
|
+
doc /* 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. */
|
|
25
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
26
25
|
attribute :>> presentationKind = (PresentationKind::stateDiagram);
|
|
27
26
|
attribute :>> viewKind = DiagramViewKind::statetransition;
|
|
@@ -30,9 +29,8 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_mode_state_view
|
|
|
30
29
|
attribute :>> autoPopulate = true;
|
|
31
30
|
attribute :>> queryDescription = "Include the mode machine, the Fig 4.1 mode tree (Composes edges), transitions, and safety properties.";
|
|
32
31
|
part :>> selectionQuery {
|
|
33
|
-
@MemoIdentity { :>> providedId = "QRY-BHV-101"; }
|
|
34
|
-
attribute :>>
|
|
35
|
-
attribute :>> includeElementKinds = ("StateMachine", "MemoState[stateKind=mode]", "Transition", "BehaviorProperty", "TimingConstraint");
|
|
32
|
+
@MemoIdentity { :>> providedId = "QRY-BHV-101"; :>> label = "GPCA_ModeStateQuery"; }
|
|
33
|
+
attribute :>> includeElementKinds = ("StateMachine", "MemoState", "BehaviorProperty", "TimingConstraint");
|
|
36
34
|
attribute :>> includeLayers = ("behavior");
|
|
37
35
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
38
36
|
attribute :>> rationaleText = "Auto-populate the mode state view from the behavior layer.";
|
|
@@ -18,10 +18,9 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_system_decompos
|
|
|
18
18
|
view gpcaSystemDecompositionView : MemoDiagramView {
|
|
19
19
|
expose memo_examples_gpca_pump_viewpoints_logical_views_logical_system_decomposition_view::*;
|
|
20
20
|
attribute depth = 2;
|
|
21
|
-
@MemoIdentity { :>> providedId = "VIEW-LOG-002"; }
|
|
22
|
-
attribute :>> name = "GPCA_SystemDecompositionView";
|
|
21
|
+
@MemoIdentity { :>> providedId = "VIEW-LOG-002"; :>> label = "GPCA_SystemDecompositionView"; }
|
|
23
22
|
@MemoIdentity { :>> shortDescription = "Nested containment of the GPCA device: hardware assemblies and the software system."; }
|
|
24
|
-
|
|
23
|
+
doc /* 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). */
|
|
25
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
26
25
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
27
26
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -31,8 +30,7 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_system_decompos
|
|
|
31
30
|
attribute :>> autoPopulate = true;
|
|
32
31
|
attribute :>> queryDescription = "Include hardware assemblies, the software system, and software components; the Composes topology supplies the nesting.";
|
|
33
32
|
part :>> selectionQuery {
|
|
34
|
-
@MemoIdentity { :>> providedId = "QRY-LOG-002"; }
|
|
35
|
-
attribute :>> name = "GPCA_SystemDecompositionQuery";
|
|
33
|
+
@MemoIdentity { :>> providedId = "QRY-LOG-002"; :>> label = "GPCA_SystemDecompositionQuery"; }
|
|
36
34
|
attribute :>> includeElementKinds = ("HardwareAssembly", "SoftwareSystem", "SoftwareModule");
|
|
37
35
|
attribute :>> includeRelationshipKinds = ("Composes");
|
|
38
36
|
attribute :>> includeLayers = ("logical_structure", "software_structure");
|
|
@@ -18,8 +18,7 @@ package memo_examples_gpca_pump_viewpoints_operational_views_operational_scenari
|
|
|
18
18
|
view gpcaScenarioSequenceView : MemoDiagramView {
|
|
19
19
|
expose memo_examples_gpca_pump_viewpoints_operational_views_operational_scenario_sequence_view::*;
|
|
20
20
|
attribute depth = 2;
|
|
21
|
-
@MemoIdentity { :>> providedId = "VIEW-BHV-002"; }
|
|
22
|
-
attribute :>> name = "GPCA_ScenarioSequenceView";
|
|
21
|
+
@MemoIdentity { :>> providedId = "VIEW-BHV-002"; :>> label = "GPCA_ScenarioSequenceView"; }
|
|
23
22
|
@MemoIdentity { :>> shortDescription = "Key therapy and alarm scenarios rendered as sequences over the functional chains."; }
|
|
24
23
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
24
|
attribute :>> presentationKind = (PresentationKind::activityDiagram);
|
|
@@ -29,9 +28,8 @@ package memo_examples_gpca_pump_viewpoints_operational_views_operational_scenari
|
|
|
29
28
|
attribute :>> autoPopulate = true;
|
|
30
29
|
attribute :>> queryDescription = "Include system scenarios with the functional chains and steps that realize them.";
|
|
31
30
|
part :>> selectionQuery {
|
|
32
|
-
@MemoIdentity { :>> providedId = "QRY-BHV-102"; }
|
|
33
|
-
attribute :>>
|
|
34
|
-
attribute :>> includeElementKinds = ("OperativeScenario[scenarioKind=functional]", "OperativeScenario[scenarioKind=operative]", "FunctionalFlow", "FunctionalFlowStep");
|
|
31
|
+
@MemoIdentity { :>> providedId = "QRY-BHV-102"; :>> label = "GPCA_ScenarioSequenceQuery"; }
|
|
32
|
+
attribute :>> includeElementKinds = ("OperativeScenario", "FunctionalFlow");
|
|
35
33
|
attribute :>> includeLayers = ("operational", "system");
|
|
36
34
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
37
35
|
attribute :>> rationaleText = "Auto-populate scenario sequences from the system layer.";
|
|
@@ -18,10 +18,9 @@ package memo_examples_gpca_pump_viewpoints_operational_views_operational_use_cas
|
|
|
18
18
|
view gpcaUseCaseView : MemoDiagramView {
|
|
19
19
|
expose memo_examples_gpca_pump_viewpoints_operational_views_operational_use_case_view::*;
|
|
20
20
|
attribute depth = 2;
|
|
21
|
-
@MemoIdentity { :>> providedId = "VIEW-OPS-101"; }
|
|
22
|
-
attribute :>> name = "GPCA_UseCaseView";
|
|
21
|
+
@MemoIdentity { :>> providedId = "VIEW-OPS-101"; :>> label = "GPCA_UseCaseView"; }
|
|
23
22
|
@MemoIdentity { :>> shortDescription = "Actors connected to the patient-controlled analgesia use case."; }
|
|
24
|
-
|
|
23
|
+
doc /* Connects the nurse, patient, prescriber, and pharmacist to the patient-controlled analgesia use case. */
|
|
25
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
26
25
|
attribute :>> presentationKind = (PresentationKind::custom);
|
|
27
26
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -30,9 +29,8 @@ package memo_examples_gpca_pump_viewpoints_operational_views_operational_use_cas
|
|
|
30
29
|
attribute :>> autoPopulate = true;
|
|
31
30
|
attribute :>> queryDescription = "Include actors, use cases, and their participation relationships.";
|
|
32
31
|
part :>> selectionQuery {
|
|
33
|
-
@MemoIdentity { :>> providedId = "QRY-OPS-101"; }
|
|
34
|
-
attribute :>>
|
|
35
|
-
attribute :>> includeElementKinds = ("Actor", "User", "UseCase");
|
|
32
|
+
@MemoIdentity { :>> providedId = "QRY-OPS-101"; :>> label = "GPCA_UseCaseQuery"; }
|
|
33
|
+
attribute :>> includeElementKinds = ("OperationalParticipant", "UseCase");
|
|
36
34
|
attribute :>> includeRelationshipKinds = ("ParticipatesIn");
|
|
37
35
|
attribute :>> includeLayers = ("context", "operational");
|
|
38
36
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml
CHANGED
|
@@ -18,8 +18,7 @@ package memo_examples_gpca_pump_viewpoints_physical_views_physical_physical_bom_
|
|
|
18
18
|
view gpcaPhysicalBomView : MemoDiagramView {
|
|
19
19
|
expose memo_examples_gpca_pump_viewpoints_physical_views_physical_physical_bom_view::*;
|
|
20
20
|
attribute depth = 2;
|
|
21
|
-
@MemoIdentity { :>> providedId = "VIEW-PHY-101"; }
|
|
22
|
-
attribute :>> name = "GPCA_PhysicalBomView";
|
|
21
|
+
@MemoIdentity { :>> providedId = "VIEW-PHY-101"; :>> label = "GPCA_PhysicalBomView"; }
|
|
23
22
|
@MemoIdentity { :>> shortDescription = "Hardware assemblies, processing node, physical ports, and part numbers."; }
|
|
24
23
|
attribute :>> outputKind = (ViewOutputKind::table);
|
|
25
24
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
@@ -29,8 +28,7 @@ package memo_examples_gpca_pump_viewpoints_physical_views_physical_physical_bom_
|
|
|
29
28
|
attribute :>> autoPopulate = true;
|
|
30
29
|
attribute :>> queryDescription = "Include hardware assemblies with part numbers, the MCU node, and external ports.";
|
|
31
30
|
part :>> selectionQuery {
|
|
32
|
-
@MemoIdentity { :>> providedId = "QRY-PHY-101"; }
|
|
33
|
-
attribute :>> name = "GPCA_PhysicalBomQuery";
|
|
31
|
+
@MemoIdentity { :>> providedId = "QRY-PHY-101"; :>> label = "GPCA_PhysicalBomQuery"; }
|
|
34
32
|
attribute :>> includeElementKinds = ("HardwareAssembly", "ProcessingNode", "PhysicalPort", "Interface");
|
|
35
33
|
attribute :>> includeLayers = ("hardware_structure", "physical", "interfaces");
|
|
36
34
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml
CHANGED
|
@@ -11,10 +11,9 @@ package memo_examples_gpca_pump_viewpoints_requirements_views_document_dhf_index
|
|
|
11
11
|
private import memo_core_common::MemoIdentity;
|
|
12
12
|
view dhfIndexView : MemoDocumentView {
|
|
13
13
|
expose memo_examples_gpca_pump_viewpoints_requirements_views_document_dhf_index_view::*;
|
|
14
|
-
@MemoIdentity { :>> providedId = "DOC-007"; }
|
|
15
|
-
attribute :>> name = "DesignHistoryFileIndexView";
|
|
14
|
+
@MemoIdentity { :>> providedId = "DOC-007"; :>> label = "DesignHistoryFileIndexView"; }
|
|
16
15
|
@MemoIdentity { :>> shortDescription = "Index of design inputs, outputs, reviews, and V&V records for the DHF."; }
|
|
17
|
-
|
|
16
|
+
doc /* 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). */
|
|
18
17
|
attribute :>> version = "0.1";
|
|
19
18
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
20
19
|
attribute :>> viewKind = DocumentViewKind::DHF;
|
|
@@ -24,8 +23,7 @@ package memo_examples_gpca_pump_viewpoints_requirements_views_document_dhf_index
|
|
|
24
23
|
ref vpRisk :> viewpointDefinition = riskViewpoint;
|
|
25
24
|
ref vpVerification :> viewpointDefinition = verificationViewpoint;
|
|
26
25
|
part :>> selectionQuery {
|
|
27
|
-
@MemoIdentity { :>> providedId = "QRY-DOC-007"; }
|
|
28
|
-
attribute :>> name = "dhfIndexViewQuery";
|
|
26
|
+
@MemoIdentity { :>> providedId = "QRY-DOC-007"; :>> label = "dhfIndexViewQuery"; }
|
|
29
27
|
attribute :>> includeElementKinds = ("MemoDocumentView", "MemoDiagramView", "MemoUsabilityEngineeringView", "MemoCybersecurityThreatModelView", "MemoCybersecurityAssessmentView", "MemoEvidence", "Citation");
|
|
30
28
|
attribute :>> includeRelationshipKinds = ("ProducesEvidence");
|
|
31
29
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
@@ -18,8 +18,7 @@ package memo_examples_gpca_pump_viewpoints_requirements_views_requirements_requi
|
|
|
18
18
|
view gpcaRequirementsTraceView : MemoDiagramView {
|
|
19
19
|
expose memo_examples_gpca_pump_viewpoints_requirements_views_requirements_requirements_trace_view::*;
|
|
20
20
|
attribute depth = 2;
|
|
21
|
-
@MemoIdentity { :>> providedId = "VIEW-REQ-101"; }
|
|
22
|
-
attribute :>> name = "GPCA_RequirementsTraceabilityView";
|
|
21
|
+
@MemoIdentity { :>> providedId = "VIEW-REQ-101"; :>> label = "GPCA_RequirementsTraceabilityView"; }
|
|
23
22
|
@MemoIdentity { :>> shortDescription = "Needs to system/software/hardware requirements to satisfying components and verification."; }
|
|
24
23
|
attribute :>> outputKind = (ViewOutputKind::matrix);
|
|
25
24
|
attribute :>> presentationKind = (PresentationKind::traceMatrix);
|
|
@@ -29,8 +28,7 @@ package memo_examples_gpca_pump_viewpoints_requirements_views_requirements_requi
|
|
|
29
28
|
attribute :>> autoPopulate = true;
|
|
30
29
|
attribute :>> queryDescription = "Include all needs and requirements with derivation, satisfaction, and verification links.";
|
|
31
30
|
part :>> selectionQuery {
|
|
32
|
-
@MemoIdentity { :>> providedId = "QRY-REQ-101"; }
|
|
33
|
-
attribute :>> name = "GPCA_RequirementsTraceQuery";
|
|
31
|
+
@MemoIdentity { :>> providedId = "QRY-REQ-101"; :>> label = "GPCA_RequirementsTraceQuery"; }
|
|
34
32
|
attribute :>> includeElementKinds = ("Need", "Requirement", "VerificationCase");
|
|
35
33
|
attribute :>> includeRelationshipKinds = ("DerivesFrom", "SatisfiedBy", "VerifiedBy");
|
|
36
34
|
attribute :>> includeLayers = ("requirements", "assurance");
|
package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml
CHANGED
|
@@ -12,10 +12,9 @@ package memo_examples_gpca_pump_viewpoints_risk_views_document_hazard_analysis_v
|
|
|
12
12
|
expose memo_examples_gpca_pump_viewpoints_risk_views_document_hazard_analysis_view::*;
|
|
13
13
|
expose fmeaDelivery;
|
|
14
14
|
expose ftaOverdose;
|
|
15
|
-
@MemoIdentity { :>> providedId = "DOC-009"; }
|
|
16
|
-
attribute :>> name = "HazardAnalysisReportView";
|
|
15
|
+
@MemoIdentity { :>> providedId = "DOC-009"; :>> label = "HazardAnalysisReportView"; }
|
|
17
16
|
@MemoIdentity { :>> shortDescription = "Hazard analysis report aligned to the UMN CriSys GPCA hazard tables."; }
|
|
18
|
-
|
|
17
|
+
doc /* Aggregates the five hazard chains, the FMEA worksheet, and the overdose fault tree with their controls and verification pointers. */
|
|
19
18
|
attribute :>> version = "0.1";
|
|
20
19
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
21
20
|
attribute :>> viewKind = DocumentViewKind::RMF;
|
|
@@ -23,10 +22,9 @@ package memo_examples_gpca_pump_viewpoints_risk_views_document_hazard_analysis_v
|
|
|
23
22
|
attribute :>> marketScope = "generic";
|
|
24
23
|
ref :>> viewpointDefinition = riskViewpoint;
|
|
25
24
|
part :>> selectionQuery {
|
|
26
|
-
@MemoIdentity { :>> providedId = "QRY-DOC-003"; }
|
|
27
|
-
attribute :>> name = "hazardAnalysisViewQuery";
|
|
25
|
+
@MemoIdentity { :>> providedId = "QRY-DOC-003"; :>> label = "hazardAnalysisViewQuery"; }
|
|
28
26
|
attribute :>> includeElementKinds = ("FMEAWorksheet", "FailureMode", "FailureCause", "FailureEffect", "DetectionMethod", "FMEAAction", "FaultTree", "FaultTreeNode", "MinimalCutSet", "Hazard", "HazardCause", "SequenceOfEvents");
|
|
29
|
-
attribute :>> includeRelationshipKinds = ("HasFailureMode", "Causes", "DetectedBy", "Mitigates", "InputToGate", "ContainsEvent"
|
|
27
|
+
attribute :>> includeRelationshipKinds = ("HasFailureMode", "Causes", "DetectedBy", "Mitigates", "InputToGate", "ContainsEvent");
|
|
30
28
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
31
29
|
}
|
|
32
30
|
}
|
|
@@ -11,10 +11,9 @@ package memo_examples_gpca_pump_viewpoints_risk_views_document_rmf_view {
|
|
|
11
11
|
view rmfView : MemoDocumentView {
|
|
12
12
|
expose memo_examples_gpca_pump_viewpoints_risk_views_document_rmf_view::*;
|
|
13
13
|
expose evidenceLockout;
|
|
14
|
-
@MemoIdentity { :>> providedId = "DOC-001"; }
|
|
15
|
-
attribute :>> name = "RiskManagementFileView";
|
|
14
|
+
@MemoIdentity { :>> providedId = "DOC-001"; :>> label = "RiskManagementFileView"; }
|
|
16
15
|
@MemoIdentity { :>> shortDescription = "Document-backed risk view for GPCA."; }
|
|
17
|
-
|
|
16
|
+
doc /* Aggregates the risk chain, controls, verification, residual risk, and cybersecurity links needed for the GPCA risk management file. */
|
|
18
17
|
attribute :>> version = "0.2";
|
|
19
18
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
20
19
|
attribute :>> viewKind = DocumentViewKind::RMF;
|
|
@@ -22,10 +21,9 @@ package memo_examples_gpca_pump_viewpoints_risk_views_document_rmf_view {
|
|
|
22
21
|
attribute :>> marketScope = "generic";
|
|
23
22
|
ref :>> viewpointDefinition = riskViewpoint;
|
|
24
23
|
part :>> selectionQuery {
|
|
25
|
-
@MemoIdentity { :>> providedId = "QRY-DOC-001"; }
|
|
26
|
-
attribute :>> name = "rmfViewQuery";
|
|
24
|
+
@MemoIdentity { :>> providedId = "QRY-DOC-001"; :>> label = "rmfViewQuery"; }
|
|
27
25
|
attribute :>> includeElementKinds = ("IntendedUse", "ReasonablyForeseeableMisuse", "SafetyRelatedCharacteristic", "Hazard", "HazardCause", "SequenceOfEvents", "HazardousSituation", "Harm", "Risk", "RiskControlMeasure", "ResidualRisk", "Benefit", "OverallResidualRiskEvaluation", "VerificationCase", "MemoEvidence");
|
|
28
|
-
attribute :>> includeRelationshipKinds = ("Causes", "Mitigates", "
|
|
26
|
+
attribute :>> includeRelationshipKinds = ("Causes", "Mitigates", "TracesRisk", "EstimatedFor", "ReducedBy", "EvaluatedIn", "AssessedAgainst", "VerifiedBy", "ProducesEvidence");
|
|
29
27
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
30
28
|
}
|
|
31
29
|
}
|
|
@@ -18,8 +18,7 @@ package memo_examples_gpca_pump_viewpoints_risk_views_risk_fmea_view {
|
|
|
18
18
|
view gpcaFmeaView : MemoDiagramView {
|
|
19
19
|
expose memo_examples_gpca_pump_viewpoints_risk_views_risk_fmea_view::*;
|
|
20
20
|
attribute depth = 2;
|
|
21
|
-
@MemoIdentity { :>> providedId = "VIEW-RISK-102"; }
|
|
22
|
-
attribute :>> name = "GPCA_FmeaView";
|
|
21
|
+
@MemoIdentity { :>> providedId = "VIEW-RISK-102"; :>> label = "GPCA_FmeaView"; }
|
|
23
22
|
@MemoIdentity { :>> shortDescription = "Failure modes with causes, effects, detection, RPN, and the overdose fault tree."; }
|
|
24
23
|
attribute :>> outputKind = (ViewOutputKind::table);
|
|
25
24
|
attribute :>> presentationKind = (PresentationKind::riskTable);
|
|
@@ -29,8 +28,7 @@ package memo_examples_gpca_pump_viewpoints_risk_views_risk_fmea_view {
|
|
|
29
28
|
attribute :>> autoPopulate = true;
|
|
30
29
|
attribute :>> queryDescription = "Include FMEA worksheet rows and the overdose fault tree structure.";
|
|
31
30
|
part :>> selectionQuery {
|
|
32
|
-
@MemoIdentity { :>> providedId = "QRY-RISK-102"; }
|
|
33
|
-
attribute :>> name = "GPCA_FmeaQuery";
|
|
31
|
+
@MemoIdentity { :>> providedId = "QRY-RISK-102"; :>> label = "GPCA_FmeaQuery"; }
|
|
34
32
|
attribute :>> includeElementKinds = ("FMEAWorksheet", "FailureMode", "FailureEffect", "FailureCause", "DetectionMethod", "FMEAAction", "FaultTree", "FaultTreeNode", "MinimalCutSet");
|
|
35
33
|
attribute :>> includeLayers = ("analysis", "risk");
|
|
36
34
|
attribute :>> includeConcerns = (ConcernKind::safety, ConcernKind::reliability);
|
|
@@ -18,10 +18,9 @@ package memo_examples_gpca_pump_viewpoints_risk_views_risk_risk_chain_view {
|
|
|
18
18
|
view gpcaRiskChainView : MemoDiagramView {
|
|
19
19
|
expose memo_examples_gpca_pump_viewpoints_risk_views_risk_risk_chain_view::*;
|
|
20
20
|
attribute depth = 2;
|
|
21
|
-
@MemoIdentity { :>> providedId = "VIEW-RISK-101"; }
|
|
22
|
-
attribute :>> name = "GPCA_RiskChainView";
|
|
21
|
+
@MemoIdentity { :>> providedId = "VIEW-RISK-101"; :>> label = "GPCA_RiskChainView"; }
|
|
23
22
|
@MemoIdentity { :>> shortDescription = "All seven hazard causal trees from categorized cause through harm with controls and residual risk."; }
|
|
24
|
-
|
|
23
|
+
doc /* 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. */
|
|
25
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
26
25
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
27
26
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -30,10 +29,9 @@ package memo_examples_gpca_pump_viewpoints_risk_views_risk_risk_chain_view {
|
|
|
30
29
|
attribute :>> autoPopulate = true;
|
|
31
30
|
attribute :>> queryDescription = "Include hazards, sequences, situations, harms, risks before/after, controls, and residual evaluation.";
|
|
32
31
|
part :>> selectionQuery {
|
|
33
|
-
@MemoIdentity { :>> providedId = "QRY-RISK-101"; }
|
|
34
|
-
attribute :>> name = "GPCA_RiskChainQuery";
|
|
32
|
+
@MemoIdentity { :>> providedId = "QRY-RISK-101"; :>> label = "GPCA_RiskChainQuery"; }
|
|
35
33
|
attribute :>> includeElementKinds = ("SafetyRelatedCharacteristic", "Hazard", "HazardCause", "SequenceOfEvents", "HazardousSituation", "Harm", "Risk", "RiskControlMeasure", "ResidualRisk", "Benefit", "OverallResidualRiskEvaluation");
|
|
36
|
-
attribute :>> includeRelationshipKinds = ("TracesRisk", "Mitigates", "Causes", "
|
|
34
|
+
attribute :>> includeRelationshipKinds = ("TracesRisk", "Mitigates", "Causes", "EstimatedFor", "ReducedBy", "EvaluatedIn");
|
|
37
35
|
attribute :>> includeLayers = ("risk", "assurance");
|
|
38
36
|
attribute :>> includeConcerns = (ConcernKind::safety);
|
|
39
37
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
@@ -9,10 +9,9 @@ package memo_examples_gpca_pump_viewpoints_software_views_document_sdd_view {
|
|
|
9
9
|
private import memo_core_common::MemoIdentity;
|
|
10
10
|
view sddView : MemoDocumentView {
|
|
11
11
|
expose memo_examples_gpca_pump_viewpoints_software_views_document_sdd_view::*;
|
|
12
|
-
@MemoIdentity { :>> providedId = "DOC-004"; }
|
|
13
|
-
attribute :>> name = "SoftwareDesignDescriptionView";
|
|
12
|
+
@MemoIdentity { :>> providedId = "DOC-004"; :>> label = "SoftwareDesignDescriptionView"; }
|
|
14
13
|
@MemoIdentity { :>> shortDescription = "IEC 62304 software design description for the GPCA software system."; }
|
|
15
|
-
|
|
14
|
+
doc /* Aggregates the software system, its six components with safety classes and scheduling attributes, mode machine and transitions, interfaces, and function allocations for the SDD. */
|
|
16
15
|
attribute :>> version = "0.1";
|
|
17
16
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
18
17
|
attribute :>> viewKind = DocumentViewKind::SDD;
|
|
@@ -20,9 +19,8 @@ package memo_examples_gpca_pump_viewpoints_software_views_document_sdd_view {
|
|
|
20
19
|
attribute :>> marketScope = "generic";
|
|
21
20
|
ref :>> viewpointDefinition = softwareViewpoint;
|
|
22
21
|
part :>> selectionQuery {
|
|
23
|
-
@MemoIdentity { :>> providedId = "QRY-DOC-004"; }
|
|
24
|
-
attribute :>>
|
|
25
|
-
attribute :>> includeElementKinds = ("SoftwareSystem", "SoftwareModule", "MemoState[stateKind=mode]", "Transition", "Interface", "SystemFunction", "TimingConstraint", "SoftwareModule[moduleKind=soup]");
|
|
22
|
+
@MemoIdentity { :>> providedId = "QRY-DOC-004"; :>> label = "sddViewQuery"; }
|
|
23
|
+
attribute :>> includeElementKinds = ("SoftwareSystem", "SoftwareModule", "MemoState", "Interface", "SystemFunction", "TimingConstraint");
|
|
26
24
|
attribute :>> includeRelationshipKinds = ("Composes", "AllocatedTo", "BindsToInterface", "Realizes", "DependsOnSoup", "Changes");
|
|
27
25
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
28
26
|
}
|
|
@@ -18,10 +18,9 @@ package memo_examples_gpca_pump_viewpoints_software_views_software_software_arch
|
|
|
18
18
|
view gpcaSoftwareArchitectureView : MemoDiagramView {
|
|
19
19
|
expose memo_examples_gpca_pump_viewpoints_software_views_software_software_architecture_view::*;
|
|
20
20
|
attribute depth = 2;
|
|
21
|
-
@MemoIdentity { :>> providedId = "VIEW-SW-101"; }
|
|
22
|
-
attribute :>> name = "GPCA_SoftwareArchitectureView";
|
|
21
|
+
@MemoIdentity { :>> providedId = "VIEW-SW-101"; :>> label = "GPCA_SoftwareArchitectureView"; }
|
|
23
22
|
@MemoIdentity { :>> shortDescription = "The eight AADL GPCA_SW.Impl subcomponents, top-level ports, and the full inter-component connection topology."; }
|
|
24
|
-
|
|
23
|
+
doc /* 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. */
|
|
25
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
26
25
|
attribute :>> presentationKind = (PresentationKind::internalDiagram);
|
|
27
26
|
attribute :>> viewKind = DiagramViewKind::interconnection;
|
|
@@ -30,8 +29,7 @@ package memo_examples_gpca_pump_viewpoints_software_views_software_software_arch
|
|
|
30
29
|
attribute :>> autoPopulate = true;
|
|
31
30
|
attribute :>> queryDescription = "Include the software system, its eight components, its boundary ports, and the flow and delegation topology between them.";
|
|
32
31
|
part :>> selectionQuery {
|
|
33
|
-
@MemoIdentity { :>> providedId = "QRY-SW-101"; }
|
|
34
|
-
attribute :>> name = "GPCA_SoftwareArchitectureQuery";
|
|
32
|
+
@MemoIdentity { :>> providedId = "QRY-SW-101"; :>> label = "GPCA_SoftwareArchitectureQuery"; }
|
|
35
33
|
attribute :>> includeElementKinds = ("SoftwareSystem", "SoftwareModule", "SoftwarePort");
|
|
36
34
|
attribute :>> includeRelationshipKinds = ("flow", "bind", "Composes");
|
|
37
35
|
attribute :>> includeLayers = ("software_structure", "interfaces");
|
package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml
CHANGED
|
@@ -12,18 +12,16 @@ package memo_examples_gpca_pump_viewpoints_usability_views_document_usability_vi
|
|
|
12
12
|
view usabilityView : MemoUsabilityEngineeringView {
|
|
13
13
|
expose memo_examples_gpca_pump_viewpoints_usability_views_document_usability_view::*;
|
|
14
14
|
expose evidenceUsability;
|
|
15
|
-
@MemoIdentity { :>> providedId = "DOC-008"; }
|
|
16
|
-
attribute :>> name = "UsabilityEngineeringFileView";
|
|
15
|
+
@MemoIdentity { :>> providedId = "DOC-008"; :>> label = "UsabilityEngineeringFileView"; }
|
|
17
16
|
@MemoIdentity { :>> shortDescription = "IEC 62366-1 usability engineering file content for GPCA."; }
|
|
18
|
-
|
|
17
|
+
doc /* Aggregates intended use, use contexts, actors, foreseeable use errors, related risk chains, usability requirements, and the summative usability validation case. */
|
|
19
18
|
attribute :>> version = "0.1";
|
|
20
19
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
21
20
|
attribute :>> marketScope = "generic";
|
|
22
21
|
ref :>> viewpointDefinition = usabilityViewpoint;
|
|
23
22
|
part :>> selectionQuery {
|
|
24
|
-
@MemoIdentity { :>> providedId = "QRY-DOC-002"; }
|
|
25
|
-
attribute :>>
|
|
26
|
-
attribute :>> includeElementKinds = ("UseError", "UseContext", "Actor", "ValidationCase", "OperativeScenario[scenarioKind=operative]", "IntendedUse", "ReasonablyForeseeableMisuse");
|
|
23
|
+
@MemoIdentity { :>> providedId = "QRY-DOC-002"; :>> label = "usabilityViewQuery"; }
|
|
24
|
+
attribute :>> includeElementKinds = ("UseError", "UseContext", "OperationalParticipant", "ValidationCase", "OperativeScenario", "IntendedUse", "ReasonablyForeseeableMisuse");
|
|
27
25
|
attribute :>> includeRelationshipKinds = ("TestedByUsability", "RealizedByScenario", "connect");
|
|
28
26
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
29
27
|
}
|
package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml
CHANGED
|
@@ -11,10 +11,9 @@ package memo_examples_gpca_pump_viewpoints_verification_views_document_vv_view {
|
|
|
11
11
|
view vvView : MemoDocumentView {
|
|
12
12
|
expose memo_examples_gpca_pump_viewpoints_verification_views_document_vv_view::*;
|
|
13
13
|
expose evidenceSafetyAlarmSuite;
|
|
14
|
-
@MemoIdentity { :>> providedId = "DOC-006"; }
|
|
15
|
-
attribute :>> name = "VerificationValidationView";
|
|
14
|
+
@MemoIdentity { :>> providedId = "DOC-006"; :>> label = "VerificationValidationView"; }
|
|
16
15
|
@MemoIdentity { :>> shortDescription = "V&V plan and coverage for requirements and risk controls."; }
|
|
17
|
-
|
|
16
|
+
doc /* Aggregates verification cases, validation cases, test artifacts, and evidence with their coverage of requirements, risk controls, behavior properties, and timing constraints. */
|
|
18
17
|
attribute :>> version = "0.1";
|
|
19
18
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
20
19
|
attribute :>> viewKind = DocumentViewKind::VV;
|
|
@@ -22,8 +21,7 @@ package memo_examples_gpca_pump_viewpoints_verification_views_document_vv_view {
|
|
|
22
21
|
attribute :>> marketScope = "generic";
|
|
23
22
|
ref :>> viewpointDefinition = verificationViewpoint;
|
|
24
23
|
part :>> selectionQuery {
|
|
25
|
-
@MemoIdentity { :>> providedId = "QRY-DOC-006"; }
|
|
26
|
-
attribute :>> name = "vvViewQuery";
|
|
24
|
+
@MemoIdentity { :>> providedId = "QRY-DOC-006"; :>> label = "vvViewQuery"; }
|
|
27
25
|
attribute :>> includeElementKinds = ("VerificationCase", "ValidationCase", "MemoEvidence", "Requirement", "RiskControlMeasure");
|
|
28
26
|
attribute :>> includeRelationshipKinds = ("VerifiedBy", "Validates", "TestedByUsability", "ProducesEvidence");
|
|
29
27
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
@@ -18,8 +18,7 @@ package memo_examples_gpca_pump_viewpoints_verification_views_verification_verif
|
|
|
18
18
|
view gpcaVerificationCoverageView : MemoDiagramView {
|
|
19
19
|
expose memo_examples_gpca_pump_viewpoints_verification_views_verification_verification_coverage_view::*;
|
|
20
20
|
attribute depth = 2;
|
|
21
|
-
@MemoIdentity { :>> providedId = "VIEW-VER-101"; }
|
|
22
|
-
attribute :>> name = "GPCA_VerificationCoverageView";
|
|
21
|
+
@MemoIdentity { :>> providedId = "VIEW-VER-101"; :>> label = "GPCA_VerificationCoverageView"; }
|
|
23
22
|
@MemoIdentity { :>> shortDescription = "Requirements and risk controls against verification cases, validation cases, and evidence."; }
|
|
24
23
|
attribute :>> outputKind = (ViewOutputKind::matrix);
|
|
25
24
|
attribute :>> presentationKind = (PresentationKind::traceMatrix);
|
|
@@ -29,8 +28,7 @@ package memo_examples_gpca_pump_viewpoints_verification_views_verification_verif
|
|
|
29
28
|
attribute :>> autoPopulate = true;
|
|
30
29
|
attribute :>> queryDescription = "Include every requirement and risk control with its verification/validation status and produced evidence.";
|
|
31
30
|
part :>> selectionQuery {
|
|
32
|
-
@MemoIdentity { :>> providedId = "QRY-VER-101"; }
|
|
33
|
-
attribute :>> name = "GPCA_VerificationCoverageQuery";
|
|
31
|
+
@MemoIdentity { :>> providedId = "QRY-VER-101"; :>> label = "GPCA_VerificationCoverageQuery"; }
|
|
34
32
|
attribute :>> includeElementKinds = ("Requirement", "RiskControlMeasure", "VerificationCase", "ValidationCase", "MemoEvidence");
|
|
35
33
|
attribute :>> includeRelationshipKinds = ("VerifiedBy", "Validates", "ProducesEvidence");
|
|
36
34
|
attribute :>> includeLayers = ("requirements", "risk", "assurance");
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
// GPCA
|
|
1
|
+
// GPCA model identity and method binding.
|
|
2
2
|
//
|
|
3
3
|
// This file is the project's native entrypoint. It imports the methodology it
|
|
4
4
|
// selects and states the selection as a typed SysML reference — no YAML field
|
|
@@ -8,14 +8,16 @@ package memo_examples_gpca_pump_project {
|
|
|
8
8
|
|
|
9
9
|
private import memo_methodology_core::*;
|
|
10
10
|
private import memo_core_enumerations::*;
|
|
11
|
-
|
|
11
|
+
// The methodology, by the one name the binding needs. What it selects is
|
|
12
|
+
// what its package publicly imports; the resolver reads that from the
|
|
13
|
+
// package, so this import does not have to bring the selection in too.
|
|
14
|
+
private import memo_examples_gpca_pump_methodology_gpca_profiles::gpcaMethodDefinition;
|
|
12
15
|
|
|
13
16
|
private import memo_core_common::*;
|
|
14
17
|
private import memo_core_common::MemoIdentity;
|
|
15
|
-
part gpcaProjectBinding :
|
|
16
|
-
@MemoIdentity { :>> providedId = "PMB-GPCA-001"; }
|
|
17
|
-
attribute :>>
|
|
18
|
-
attribute :>> projectName = "GPCA Infusion Pump";
|
|
18
|
+
part gpcaProjectBinding : ModelMethodBinding {
|
|
19
|
+
@MemoIdentity { :>> providedId = "PMB-GPCA-001"; :>> label = "GPCAModelMethodBinding"; }
|
|
20
|
+
attribute :>> modelName = "GPCA Infusion Pump";
|
|
19
21
|
ref :>> selectedMethodology = gpcaMethodDefinition;
|
|
20
22
|
// The project adds nothing to the methodology's selection.
|
|
21
23
|
attribute :>> scopeMode = ScopeModeKind::explicit;
|
|
@@ -10,37 +10,40 @@ package memo_examples_ivd_laboratory_system {
|
|
|
10
10
|
private import memo_architecture_operational_activities::*;
|
|
11
11
|
private import memo_architecture_logical_structure::*;
|
|
12
12
|
private import memo_architecture_implementation_hardware_structure::*;
|
|
13
|
+
private import memo_architecture_realization_physical::*;
|
|
13
14
|
|
|
14
15
|
private import memo_core_common::*;
|
|
15
16
|
private import memo_core_common::MemoIdentity;
|
|
16
17
|
part analyzer : PhysicalAssembly {
|
|
17
|
-
@MemoIdentity { :>> providedId = "IVD-DEV-001";
|
|
18
|
+
@MemoIdentity { :>> providedId = "IVD-DEV-001"; :>> label = "ChemAnalyzer"; }
|
|
18
19
|
attribute :>> responsibility = "automate clinical chemistry measurements";
|
|
19
20
|
}
|
|
20
21
|
|
|
21
22
|
// Specimen path: material flow through fluidic hardware.
|
|
22
23
|
part fluidSampleProbe : FluidicComponent {
|
|
23
|
-
@MemoIdentity { :>> providedId = "IVD-HW-001";
|
|
24
|
+
@MemoIdentity { :>> providedId = "IVD-HW-001"; :>> label = "SampleProbe"; }
|
|
24
25
|
attribute :>> fluidPathRole = "aspirates specimen from primary tube";
|
|
26
|
+
out port pSpecimenOut : PhysicalPort;
|
|
25
27
|
}
|
|
26
28
|
part fluidReactionCuvette : FluidicComponent {
|
|
27
|
-
@MemoIdentity { :>> providedId = "IVD-HW-002";
|
|
29
|
+
@MemoIdentity { :>> providedId = "IVD-HW-002"; :>> label = "ReactionCuvette"; }
|
|
28
30
|
attribute :>> fluidPathRole = "holds specimen-reagent reaction mix";
|
|
31
|
+
in port pSpecimenIn : PhysicalPort;
|
|
29
32
|
}
|
|
30
33
|
part optPhotometer : OpticalComponent {
|
|
31
|
-
@MemoIdentity { :>> providedId = "IVD-HW-003";
|
|
34
|
+
@MemoIdentity { :>> providedId = "IVD-HW-003"; :>> label = "PhotometerAssembly"; }
|
|
32
35
|
attribute :>> opticalFunction = "absorbance measurement";
|
|
33
36
|
attribute :>> wavelengthRange = "340-800 nm";
|
|
34
37
|
}
|
|
35
|
-
|
|
36
|
-
|
|
38
|
+
// The probe dispenses the aspirated specimen into the cuvette.
|
|
39
|
+
flow exSpecimenFlow : LogicalExchange from fluidSampleProbe.pSpecimenOut to fluidReactionCuvette.pSpecimenIn {
|
|
40
|
+
@MemoIdentity { :>> providedId = "IVD-EX-001"; :>> label = "SpecimenTransfer"; }
|
|
37
41
|
attribute :>> contentKind = FlowContentKind::material;
|
|
38
|
-
attribute :>> direction = DirectionKind::output;
|
|
39
42
|
}
|
|
40
43
|
|
|
41
44
|
// Result item coded with LOINC.
|
|
42
45
|
item glucoseResult : LogicalExchangeItem {
|
|
43
|
-
@MemoIdentity { :>> providedId = "IVD-IT-001"; }
|
|
46
|
+
@MemoIdentity { :>> providedId = "IVD-IT-001"; }
|
|
44
47
|
attribute :>> contentKind = FlowContentKind::measurement;
|
|
45
48
|
attribute :>> unit = "mg/dL";
|
|
46
49
|
attribute :>> timestampRequired = true;
|
|
@@ -54,7 +57,7 @@ package memo_examples_ivd_laboratory_system {
|
|
|
54
57
|
|
|
55
58
|
// Operating activity for the analyzer.
|
|
56
59
|
action actRunPanel : OperativeAction {
|
|
57
|
-
@MemoIdentity { :>> providedId = "IVD-ACT-001";
|
|
60
|
+
@MemoIdentity { :>> providedId = "IVD-ACT-001"; :>> label = "RunChemistryPanel"; }
|
|
58
61
|
attribute :>> criticality = CriticalityKind::high;
|
|
59
62
|
}
|
|
60
63
|
}
|