@memoarchitect/ontology 0.7.0 → 0.8.24
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/memo.package.yaml +3 -0
- package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +1 -1
- package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/views/connected_patient_monitor_overview.sysml +1 -1
- package/examples/embedded-infusion-pump/memo.package.yaml +3 -0
- package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +8 -6
- package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/views/embedded_infusion_pump_overview.sysml +1 -1
- package/examples/functional-logical-physical/memo.package.yaml +3 -0
- package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +6 -6
- package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/views/functional_logical_physical_overview.sysml +1 -1
- package/examples/gpca-pump/memo.package.yaml +3 -0
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +18 -8
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +341 -99
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +25 -11
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +328 -271
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +52 -11
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +14 -3
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +8 -5
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +175 -259
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +97 -103
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +5 -10
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +101 -100
- package/examples/gpca-pump/model/catalog/gpca_standards.sysml +161 -0
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +17 -17
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +274 -334
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +115 -35
- package/examples/gpca-pump/model/catalog/project.sysml +5 -0
- package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +1 -4
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +2 -5
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +4 -7
- 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 +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +5 -8
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +6 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +5 -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 +1 -3
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +2 -5
- 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 +5 -6
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +5 -6
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +2 -4
- package/examples/ivd-laboratory-system/memo.package.yaml +3 -0
- package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +1 -1
- package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/views/ivd_laboratory_system_overview.sysml +1 -1
- package/examples/manual-surgical-instrument/memo.package.yaml +3 -0
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +4 -3
- package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/views/manual_surgical_instrument_overview.sysml +1 -1
- package/examples/multidimensional-layers/memo.package.yaml +3 -0
- package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +6 -2
- package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/views/multidimensional_layers_overview.sysml +0 -1
- package/examples/nested-architecture-dsm/memo.package.yaml +3 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +133 -128
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +139 -157
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +56 -33
- package/examples/nested-architecture-dsm/model/catalog/traces.sysml +25 -26
- package/examples/reusable-instrument/memo.package.yaml +3 -0
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +16 -23
- package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/views/reusable_instrument_overview.sysml +0 -1
- package/examples/ros-mobile-robot/README.md +40 -0
- package/examples/ros-mobile-robot/memo.package.yaml +3 -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 +12 -0
- package/examples/software-only-medical-device/memo.package.yaml +3 -0
- package/examples/software-only-medical-device/model/catalog/project.sysml +4 -0
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +12 -6
- package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/views/software_only_medical_device_overview.sysml +0 -1
- package/examples/surgical-closure-workflow/memo.package.yaml +3 -0
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +58 -75
- package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/views/surgical_closure_workflow_overview.sysml +0 -1
- package/examples/surgical-robot/memo.package.yaml +3 -0
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +1 -1
- package/examples/surgical-robot/model/catalog/viewpoints/unassigned/views/surgical_robot_overview.sysml +0 -1
- package/examples/sysml-diagram-samples/memo.package.yaml +2 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +12 -18
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +8 -11
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +43 -68
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +57 -68
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +40 -70
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +4 -8
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +1 -20
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +52 -84
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +22 -33
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +13 -10
- package/examples/temperature-alarm/memo.package.yaml +3 -0
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +28 -25
- package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/views/temperature_alarm_overview.sysml +0 -1
- package/examples/ui-screen-regions/memo.package.yaml +3 -0
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +57 -33
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +102 -79
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +5 -5
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +21 -6
- package/examples/ui-screen-regions/model/catalog/relationships.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/traces.sysml +28 -125
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +2 -3
- 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/viewpoints/ui_layout/views/main_screen_layout.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +1 -2
- 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/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/src/extension.sysml +37 -0
- package/memo.manifest.yaml +13 -2
- 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 +5 -3
- package/profile/memo.package.yaml +1 -1
- package/src/architecture/decisions/memo_decisions.sysml +23 -2
- package/src/architecture/functional/behavior/memo_behavior.sysml +51 -23
- package/src/architecture/functional/constraints/memo_constraints.sysml +3 -2
- package/src/architecture/functional/functions/memo_functions.sysml +93 -36
- package/src/architecture/implementation/hardware/common/memo_hardware_common.sysml +2 -2
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +46 -22
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +40 -13
- package/src/architecture/implementation/ui/memo_ui.sysml +83 -43
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +64 -12
- package/src/architecture/logical/structure/memo_logical_structure.sysml +26 -25
- package/src/architecture/operational/activities/memo_activities.sysml +27 -29
- package/src/architecture/operational/context/actors/memo_actors.sysml +8 -10
- package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +16 -33
- package/src/architecture/operational/context/use_context/memo_use_context.sysml +42 -17
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +36 -84
- package/src/architecture/operational/structure/memo_operational.sysml +42 -13
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +35 -27
- package/src/architecture/operational/workflows/memo_workflows.sysml +45 -28
- package/src/architecture/realization/deployment/memo_deployment.sysml +115 -20
- package/src/architecture/realization/physical/memo_physical_architecture.sysml +29 -4
- package/src/artifacts/configuration_management/memo_configuration_management.sysml +16 -0
- package/src/artifacts/core/memo_controlled_artifacts.sysml +3 -1
- 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/artifacts/templates/dhf/21cfr820/design-input.md +1 -1
- package/src/artifacts/templates/dhf/21cfr820/design-output.md +5 -5
- package/src/artifacts/templates/dhf/21cfr820/design-review.md +1 -1
- package/src/artifacts/templates/dhf/21cfr820/design-validation.md +2 -2
- package/src/artifacts/templates/dhf/21cfr820/design-verification.md +2 -2
- package/src/artifacts/templates/dhf/21cfr820/dhf-index.md +2 -2
- package/src/artifacts/templates/dhf/21cfr820/transfer-plan.md +1 -1
- package/src/artifacts/templates/dhf/21cfr820/user-needs.md +1 -1
- package/src/artifacts/templates/dhf/21cfr820/vv-plan.md +3 -3
- package/src/artifacts/templates/dhf/21cfr820/vv-report.md +4 -4
- package/src/artifacts/templates/dhf/fda-cybersecurity/incident-response.md +1 -1
- package/src/artifacts/templates/dhf/fda-cybersecurity/postmarket-surveillance.md +3 -2
- package/src/artifacts/templates/dhf/fda-cybersecurity/security-arch.md +2 -2
- package/src/artifacts/templates/dhf/fda-cybersecurity/threat-model.md +4 -4
- package/src/artifacts/templates/dhf/fda-cybersecurity/vuln-assessment.md +4 -3
- package/src/artifacts/templates/dhf/iec-60601/hrs.md +170 -0
- package/src/artifacts/templates/dhf/iec-62304/detailed-design.md +1 -1
- package/src/artifacts/templates/dhf/iec-62304/integration-test.md +3 -3
- package/src/artifacts/templates/dhf/iec-62304/sad.md +6 -5
- package/src/artifacts/templates/dhf/iec-62304/sbom.md +3 -2
- package/src/artifacts/templates/dhf/iec-62304/sdp.md +5 -4
- package/src/artifacts/templates/dhf/iec-62304/soup.md +4 -2
- package/src/artifacts/templates/dhf/iec-62304/srs.md +54 -20
- package/src/artifacts/templates/dhf/iec-62304/sw-traceability.md +3 -3
- package/src/artifacts/templates/dhf/iec-62304/system-test.md +1 -1
- package/src/artifacts/templates/dhf/iec-62366/summative-eval.md +1 -1
- package/src/artifacts/templates/dhf/iec-62366/task-analysis.md +40 -4
- package/src/artifacts/templates/dhf/iec-62366/ue-plan.md +1 -1
- package/src/artifacts/templates/dhf/iec-62366/urra.md +3 -3
- package/src/artifacts/templates/dhf/iso-14971/fmea.md +42 -19
- package/src/artifacts/templates/dhf/iso-14971/har.md +3 -3
- package/src/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 +40 -21
- package/src/assurance/human_factors/memo_human_factors.sysml +29 -22
- package/src/assurance/requirements/memo_requirements.sysml +7 -20
- 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 +90 -7
- package/src/assurance/safety_risk/postmarket_surveillance/memo_postmarket_surveillance.sysml +16 -0
- package/src/assurance/verification_validation/memo_assurance.sysml +17 -21
- package/src/core/annotations/memo_annotations.sysml +25 -6
- package/src/core/common/memo_common.sysml +130 -21
- package/src/core/consistency_rules/consistency_rules.sysml +1 -1
- package/src/core/dimensions/dimensions.sysml +12 -0
- package/src/core/enumerations/memo_enumerations.sysml +60 -14
- package/src/core/relationships/memo_relationships.sysml +199 -196
- package/src/memo_namespaces.sysml +30 -0
- package/src/methodology/core/memo_core.sysml +24 -0
- package/src/methodology/profiles/memo_profiles.sysml +1 -1
- package/src/methodology/workflow/memo_workflow.sysml +5 -5
- package/src/rules/closure/closure_rules.sysml +20 -20
- package/src/rules/crosslayer/cross_layer_rules.sysml +2 -2
- package/src/rules/ontology/ontology_invariants.sysml +223 -11
- package/src/rules/quantitative/quantitative_rules.sysml +2 -2
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +30 -30
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +2 -3
- package/src/viewpoints/context/context_viewpoint.sysml +2 -3
- package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +1 -2
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +2 -4
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +46 -3
- package/src/viewpoints/functional/functional_viewpoint.sysml +2 -3
- package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +2 -3
- package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +2 -3
- package/src/viewpoints/logical/logical_viewpoint.sysml +1 -2
- package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +1 -2
- package/src/viewpoints/operational/operational_viewpoint.sysml +2 -3
- package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +2 -3
- package/src/viewpoints/physical/physical_viewpoint.sysml +1 -2
- package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +1 -2
- package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +1 -2
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +1 -2
- package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +1 -2
- package/src/viewpoints/risk/risk_viewpoint.sysml +1 -2
- package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +1 -2
- package/src/viewpoints/software/software_viewpoint.sysml +1 -2
- package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +1 -2
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +2 -3
- package/src/viewpoints/usability/usability_viewpoint.sysml +1 -2
- package/src/viewpoints/verification/verification_viewpoint.sysml +2 -3
- package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +2 -3
- package/templates/connected-device/memo.package.yaml +2 -0
- package/templates/default/memo.package.yaml +2 -0
- package/templates/infusion-pump/memo.package.yaml +2 -0
- package/templates/monitoring-device/memo.package.yaml +2 -0
- package/templates/samd/memo.package.yaml +2 -0
- package/examples/extensions/README.md +0 -16
- package/examples/extensions/template/src/extension.sysml +0 -15
- package/examples/gpca-pump/gpca-pump.kpar +0 -0
- /package/{examples/extensions → extensions}/clinical/memo.package.yaml +0 -0
- /package/{examples/extensions → extensions}/clinical/src/clinical_extension.sysml +0 -0
- /package/{examples/extensions → extensions}/clinical/src/methodology/clinical_methodology.sysml +0 -0
- /package/{examples/extensions → extensions}/clinical/src/procedures/memo_clinical_procedures.sysml +0 -0
- /package/{examples/extensions → extensions}/template/memo.package.yaml +0 -0
|
@@ -18,7 +18,6 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_logical_archite
|
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-LOG-001";
|
|
20
20
|
attribute :>> name = "GPCA_LogicalArchitectureView";
|
|
21
|
-
attribute :>> title = "GPCA Logical Architecture View";
|
|
22
21
|
attribute :>> shortDescription = "Logical decomposition of the GPCA system.";
|
|
23
22
|
attribute :>> description = "Product-specific logical architecture view that references the default logical architecture viewpoint and is intended for design description and architecture communication.";
|
|
24
23
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
@@ -28,7 +27,6 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_logical_archite
|
|
|
28
27
|
attribute :>> dataSourceDescription = "GPCA architecture and interface model elements";
|
|
29
28
|
attribute :>> autoPopulate = true;
|
|
30
29
|
attribute :>> queryDescription = "Include GPCA logical components and key interfaces relevant to therapy control.";
|
|
31
|
-
attribute :>> documentUsage = ("SDD", "Architecture Description", "QMSR");
|
|
32
30
|
part :>> selectionQuery {
|
|
33
31
|
attribute :>> id = "QRY-LOG-001";
|
|
34
32
|
attribute :>> name = "GPCA_LogicalArchitectureQuery";
|
|
@@ -37,6 +35,6 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_logical_archite
|
|
|
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.";
|
|
39
37
|
}
|
|
40
|
-
|
|
38
|
+
ref :>> viewpointDefinition = logicalArchitectureViewpoint;
|
|
41
39
|
}
|
|
42
40
|
}
|
package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml
CHANGED
|
@@ -18,7 +18,6 @@ package 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
|
-
attribute :>> title = "GPCA Top-Level Mode State View";
|
|
22
21
|
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
22
|
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
23
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
@@ -28,15 +27,14 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_mode_state_view
|
|
|
28
27
|
attribute :>> dataSourceDescription = "GPCA behavior machine, mode states, and transitions";
|
|
29
28
|
attribute :>> autoPopulate = true;
|
|
30
29
|
attribute :>> queryDescription = "Include the mode machine, the Fig 4.1 mode tree (Composes edges), transitions, and safety properties.";
|
|
31
|
-
attribute :>> documentUsage = ("SDD", "RMF");
|
|
32
30
|
part :>> selectionQuery {
|
|
33
31
|
attribute :>> id = "QRY-BHV-101";
|
|
34
32
|
attribute :>> name = "GPCA_ModeStateQuery";
|
|
35
|
-
attribute :>> includeElementKinds = ("StateMachine", "
|
|
33
|
+
attribute :>> includeElementKinds = ("StateMachine", "MemoState[stateKind=mode]", "Transition", "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.";
|
|
39
37
|
}
|
|
40
|
-
|
|
38
|
+
ref :>> viewpointDefinition = logicalArchitectureViewpoint;
|
|
41
39
|
}
|
|
42
40
|
}
|
|
@@ -18,7 +18,6 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_system_decompos
|
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-LOG-002";
|
|
20
20
|
attribute :>> name = "GPCA_SystemDecompositionView";
|
|
21
|
-
attribute :>> title = "GPCA System Decomposition View";
|
|
22
21
|
attribute :>> shortDescription = "Nested containment of the GPCA device: hardware assemblies and the software system.";
|
|
23
22
|
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
23
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
@@ -29,7 +28,6 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_system_decompos
|
|
|
29
28
|
attribute :>> dataSourceDescription = "GPCA hardware assemblies, software system, and software components with their Composes hierarchy";
|
|
30
29
|
attribute :>> autoPopulate = true;
|
|
31
30
|
attribute :>> queryDescription = "Include hardware assemblies, the software system, and software components; the Composes topology supplies the nesting.";
|
|
32
|
-
attribute :>> documentUsage = ("SDD", "Architecture Description");
|
|
33
31
|
part :>> selectionQuery {
|
|
34
32
|
attribute :>> id = "QRY-LOG-002";
|
|
35
33
|
attribute :>> name = "GPCA_SystemDecompositionQuery";
|
|
@@ -39,6 +37,6 @@ package memo_examples_gpca_pump_viewpoints_logical_views_logical_system_decompos
|
|
|
39
37
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
40
38
|
attribute :>> rationaleText = "Populate the decomposition from the device structure; composition edges drive the containment nesting.";
|
|
41
39
|
}
|
|
42
|
-
|
|
40
|
+
ref :>> viewpointDefinition = logicalArchitectureViewpoint;
|
|
43
41
|
}
|
|
44
42
|
}
|
|
@@ -18,7 +18,6 @@ package memo_examples_gpca_pump_viewpoints_operational_views_operational_scenari
|
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-BHV-002";
|
|
20
20
|
attribute :>> name = "GPCA_ScenarioSequenceView";
|
|
21
|
-
attribute :>> title = "GPCA Scenario Sequence View";
|
|
22
21
|
attribute :>> shortDescription = "Key therapy and alarm scenarios rendered as sequences over the functional chains.";
|
|
23
22
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
24
23
|
attribute :>> presentationKind = (PresentationKind::activityDiagram);
|
|
@@ -27,15 +26,14 @@ package memo_examples_gpca_pump_viewpoints_operational_views_operational_scenari
|
|
|
27
26
|
attribute :>> dataSourceDescription = "GPCA system scenarios, functional chains, and chain steps";
|
|
28
27
|
attribute :>> autoPopulate = true;
|
|
29
28
|
attribute :>> queryDescription = "Include system scenarios with the functional chains and steps that realize them.";
|
|
30
|
-
attribute :>> documentUsage = ("SDD", "VV");
|
|
31
29
|
part :>> selectionQuery {
|
|
32
30
|
attribute :>> id = "QRY-BHV-102";
|
|
33
31
|
attribute :>> name = "GPCA_ScenarioSequenceQuery";
|
|
34
|
-
attribute :>> includeElementKinds = ("
|
|
32
|
+
attribute :>> includeElementKinds = ("OperativeScenario[scenarioKind=functional]", "OperativeScenario[scenarioKind=operative]", "FunctionalFlow", "FunctionalFlowStep");
|
|
35
33
|
attribute :>> includeLayers = ("operational", "system");
|
|
36
34
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
37
35
|
attribute :>> rationaleText = "Auto-populate scenario sequences from the system layer.";
|
|
38
36
|
}
|
|
39
|
-
|
|
37
|
+
ref :>> viewpointDefinition = operationalViewpoint;
|
|
40
38
|
}
|
|
41
39
|
}
|
|
@@ -18,7 +18,6 @@ package memo_examples_gpca_pump_viewpoints_operational_views_operational_use_cas
|
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-OPS-101";
|
|
20
20
|
attribute :>> name = "GPCA_UseCaseView";
|
|
21
|
-
attribute :>> title = "GPCA Use Case View";
|
|
22
21
|
attribute :>> shortDescription = "Actors connected to the patient-controlled analgesia use case.";
|
|
23
22
|
attribute :>> description = "Connects the nurse, patient, prescriber, and pharmacist to the patient-controlled analgesia use case.";
|
|
24
23
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
@@ -28,16 +27,15 @@ package memo_examples_gpca_pump_viewpoints_operational_views_operational_use_cas
|
|
|
28
27
|
attribute :>> dataSourceDescription = "GPCA use case and participating context actors";
|
|
29
28
|
attribute :>> autoPopulate = true;
|
|
30
29
|
attribute :>> queryDescription = "Include actors, use cases, and their participation relationships.";
|
|
31
|
-
attribute :>> documentUsage = ("Usability Engineering File", "Architecture Description");
|
|
32
30
|
part :>> selectionQuery {
|
|
33
31
|
attribute :>> id = "QRY-OPS-101";
|
|
34
32
|
attribute :>> name = "GPCA_UseCaseQuery";
|
|
35
33
|
attribute :>> includeElementKinds = ("Actor", "User", "UseCase");
|
|
36
|
-
attribute :>> includeRelationshipKinds = ("
|
|
34
|
+
attribute :>> includeRelationshipKinds = ("ParticipatesIn");
|
|
37
35
|
attribute :>> includeLayers = ("context", "operational");
|
|
38
36
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
39
37
|
attribute :>> rationaleText = "Auto-populate the GPCA use case view from the operational layer.";
|
|
40
38
|
}
|
|
41
|
-
|
|
39
|
+
ref :>> viewpointDefinition = operationalViewpoint;
|
|
42
40
|
}
|
|
43
41
|
}
|
package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml
CHANGED
|
@@ -18,7 +18,6 @@ package memo_examples_gpca_pump_viewpoints_physical_views_physical_physical_bom_
|
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-PHY-101";
|
|
20
20
|
attribute :>> name = "GPCA_PhysicalBomView";
|
|
21
|
-
attribute :>> title = "GPCA Physical Architecture and BOM View";
|
|
22
21
|
attribute :>> shortDescription = "Hardware assemblies, processing node, physical ports, and part numbers.";
|
|
23
22
|
attribute :>> outputKind = (ViewOutputKind::table);
|
|
24
23
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
@@ -27,7 +26,6 @@ package memo_examples_gpca_pump_viewpoints_physical_views_physical_physical_bom_
|
|
|
27
26
|
attribute :>> dataSourceDescription = "GPCA hardware assemblies, processing node, and physical ports";
|
|
28
27
|
attribute :>> autoPopulate = true;
|
|
29
28
|
attribute :>> queryDescription = "Include hardware assemblies with part numbers, the MCU node, and external ports.";
|
|
30
|
-
attribute :>> documentUsage = ("Architecture Description", "DHF");
|
|
31
29
|
part :>> selectionQuery {
|
|
32
30
|
attribute :>> id = "QRY-PHY-101";
|
|
33
31
|
attribute :>> name = "GPCA_PhysicalBomQuery";
|
|
@@ -36,6 +34,6 @@ package memo_examples_gpca_pump_viewpoints_physical_views_physical_physical_bom_
|
|
|
36
34
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
37
35
|
attribute :>> rationaleText = "Auto-populate the physical BOM from the hardware and physical layers.";
|
|
38
36
|
}
|
|
39
|
-
|
|
37
|
+
ref :>> viewpointDefinition = physicalViewpoint;
|
|
40
38
|
}
|
|
41
39
|
}
|
package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml
CHANGED
|
@@ -11,7 +11,6 @@ package memo_examples_gpca_pump_viewpoints_requirements_views_document_dhf_index
|
|
|
11
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
|
-
attribute :>> title = "GPCA Design History File Index View";
|
|
15
14
|
attribute :>> shortDescription = "Index of design inputs, outputs, reviews, and V&V records for the DHF.";
|
|
16
15
|
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
16
|
attribute :>> version = "0.1";
|
|
@@ -19,16 +18,14 @@ package memo_examples_gpca_pump_viewpoints_requirements_views_document_dhf_index
|
|
|
19
18
|
attribute :>> viewKind = DocumentViewKind::DHF;
|
|
20
19
|
attribute :>> generationRule = "Index every document-backed view with version and lifecycle state";
|
|
21
20
|
attribute :>> marketScope = "generic";
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
part vpRisk :> viewpointDefinition = riskViewpoint;
|
|
26
|
-
part vpVerification :> viewpointDefinition = verificationViewpoint;
|
|
21
|
+
ref vpRequirements :> viewpointDefinition = requirementsViewpoint;
|
|
22
|
+
ref vpRisk :> viewpointDefinition = riskViewpoint;
|
|
23
|
+
ref vpVerification :> viewpointDefinition = verificationViewpoint;
|
|
27
24
|
part :>> selectionQuery {
|
|
28
25
|
attribute :>> id = "QRY-DOC-007";
|
|
29
26
|
attribute :>> name = "dhfIndexViewQuery";
|
|
30
|
-
attribute :>> includeElementKinds = ("MemoDocumentView", "MemoDiagramView", "MemoUsabilityEngineeringView", "MemoCybersecurityThreatModelView", "MemoCybersecurityAssessmentView", "
|
|
31
|
-
attribute :>> includeRelationshipKinds = ("
|
|
27
|
+
attribute :>> includeElementKinds = ("MemoDocumentView", "MemoDiagramView", "MemoUsabilityEngineeringView", "MemoCybersecurityThreatModelView", "MemoCybersecurityAssessmentView", "MemoEvidence", "Citation");
|
|
28
|
+
attribute :>> includeRelationshipKinds = ("ProducesEvidence");
|
|
32
29
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
33
30
|
}
|
|
34
31
|
}
|
|
@@ -18,7 +18,6 @@ package memo_examples_gpca_pump_viewpoints_requirements_views_requirements_requi
|
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-REQ-101";
|
|
20
20
|
attribute :>> name = "GPCA_RequirementsTraceabilityView";
|
|
21
|
-
attribute :>> title = "GPCA Requirements Traceability View";
|
|
22
21
|
attribute :>> shortDescription = "Needs to system/software/hardware requirements to satisfying components and verification.";
|
|
23
22
|
attribute :>> outputKind = (ViewOutputKind::matrix);
|
|
24
23
|
attribute :>> presentationKind = (PresentationKind::traceMatrix);
|
|
@@ -27,7 +26,6 @@ package memo_examples_gpca_pump_viewpoints_requirements_views_requirements_requi
|
|
|
27
26
|
attribute :>> dataSourceDescription = "GPCA requirements with DerivesFrom, SatisfiedBy, and VerifiedBy links";
|
|
28
27
|
attribute :>> autoPopulate = true;
|
|
29
28
|
attribute :>> queryDescription = "Include all needs and requirements with derivation, satisfaction, and verification links.";
|
|
30
|
-
attribute :>> documentUsage = ("Requirements Traceability Matrix", "DHF", "QMSR");
|
|
31
29
|
part :>> selectionQuery {
|
|
32
30
|
attribute :>> id = "QRY-REQ-101";
|
|
33
31
|
attribute :>> name = "GPCA_RequirementsTraceQuery";
|
|
@@ -37,6 +35,6 @@ package memo_examples_gpca_pump_viewpoints_requirements_views_requirements_requi
|
|
|
37
35
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
38
36
|
attribute :>> rationaleText = "Full derivation-to-verification traceability for design reviews.";
|
|
39
37
|
}
|
|
40
|
-
|
|
38
|
+
ref :>> viewpointDefinition = requirementsViewpoint;
|
|
41
39
|
}
|
|
42
40
|
}
|
package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml
CHANGED
|
@@ -4,12 +4,14 @@ package memo_examples_gpca_pump_viewpoints_risk_views_document_hazard_analysis_v
|
|
|
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
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
|
-
attribute :>> title = "GPCA Hazard Analysis Report View";
|
|
13
15
|
attribute :>> shortDescription = "Hazard analysis report aligned to the UMN CriSys GPCA hazard tables.";
|
|
14
16
|
attribute :>> description = "Aggregates the five hazard chains, the FMEA worksheet, and the overdose fault tree with their controls and verification pointers.";
|
|
15
17
|
attribute :>> version = "0.1";
|
|
@@ -17,14 +19,12 @@ package memo_examples_gpca_pump_viewpoints_risk_views_document_hazard_analysis_v
|
|
|
17
19
|
attribute :>> viewKind = DocumentViewKind::RMF;
|
|
18
20
|
attribute :>> generationRule = "Include hazards, sequences of events, situations, harms, FMEA rows, fault tree, and controls";
|
|
19
21
|
attribute :>> marketScope = "generic";
|
|
20
|
-
|
|
21
|
-
attribute :>> sectionIdentifier = "HAZ";
|
|
22
|
-
part :>> viewpointDefinition = riskViewpoint;
|
|
22
|
+
ref :>> viewpointDefinition = riskViewpoint;
|
|
23
23
|
part :>> selectionQuery {
|
|
24
24
|
attribute :>> id = "QRY-DOC-003";
|
|
25
25
|
attribute :>> name = "hazardAnalysisViewQuery";
|
|
26
|
-
attribute :>> includeElementKinds = ("FMEAWorksheet", "FailureMode", "FailureCause", "FailureEffect", "DetectionMethod", "FMEAAction", "FaultTree", "
|
|
27
|
-
attribute :>> includeRelationshipKinds = ("HasFailureMode", "Causes", "DetectedBy", "Mitigates", "InputToGate", "ContainsEvent", "Mitigates"
|
|
26
|
+
attribute :>> includeElementKinds = ("FMEAWorksheet", "FailureMode", "FailureCause", "FailureEffect", "DetectionMethod", "FMEAAction", "FaultTree", "FaultTreeNode", "MinimalCutSet", "Hazard", "HazardCause", "SequenceOfEvents");
|
|
27
|
+
attribute :>> includeRelationshipKinds = ("HasFailureMode", "Causes", "DetectedBy", "Mitigates", "InputToGate", "ContainsEvent", "Mitigates");
|
|
28
28
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
29
29
|
}
|
|
30
30
|
}
|
|
@@ -4,12 +4,13 @@ package memo_examples_gpca_pump_viewpoints_risk_views_document_rmf_view {
|
|
|
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
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
|
-
attribute :>> title = "GPCA Risk Management File View";
|
|
13
14
|
attribute :>> shortDescription = "Document-backed risk view for GPCA.";
|
|
14
15
|
attribute :>> description = "Aggregates the risk chain, controls, verification, residual risk, and cybersecurity links needed for the GPCA risk management file.";
|
|
15
16
|
attribute :>> version = "0.2";
|
|
@@ -17,14 +18,12 @@ package memo_examples_gpca_pump_viewpoints_risk_views_document_rmf_view {
|
|
|
17
18
|
attribute :>> viewKind = DocumentViewKind::RMF;
|
|
18
19
|
attribute :>> generationRule = "Include risk chain, controls, verification, residual risk, and cybersecurity traceability";
|
|
19
20
|
attribute :>> marketScope = "generic";
|
|
20
|
-
|
|
21
|
-
attribute :>> sectionIdentifier = "RMF";
|
|
22
|
-
part :>> viewpointDefinition = riskViewpoint;
|
|
21
|
+
ref :>> viewpointDefinition = riskViewpoint;
|
|
23
22
|
part :>> selectionQuery {
|
|
24
23
|
attribute :>> id = "QRY-DOC-001";
|
|
25
24
|
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"
|
|
25
|
+
attribute :>> includeElementKinds = ("IntendedUse", "ReasonablyForeseeableMisuse", "SafetyRelatedCharacteristic", "Hazard", "HazardCause", "SequenceOfEvents", "HazardousSituation", "Harm", "Risk", "RiskControlMeasure", "ResidualRisk", "Benefit", "OverallResidualRiskEvaluation", "VerificationCase", "MemoEvidence");
|
|
26
|
+
attribute :>> includeRelationshipKinds = ("Causes", "Mitigates", "Mitigates", "TracesRisk", "AssessedAgainst", "VerifiedBy", "ProducesEvidence");
|
|
28
27
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
29
28
|
}
|
|
30
29
|
}
|
|
@@ -18,7 +18,6 @@ package 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";
|
|
21
|
-
attribute :>> title = "GPCA FMEA and Fault Tree View";
|
|
22
21
|
attribute :>> shortDescription = "Failure modes with causes, effects, detection, RPN, and the overdose fault tree.";
|
|
23
22
|
attribute :>> outputKind = (ViewOutputKind::table);
|
|
24
23
|
attribute :>> presentationKind = (PresentationKind::riskTable);
|
|
@@ -27,16 +26,15 @@ package memo_examples_gpca_pump_viewpoints_risk_views_risk_fmea_view {
|
|
|
27
26
|
attribute :>> dataSourceDescription = "GPCA FMEA worksheet, failure modes, fault tree events, gates, and cut sets";
|
|
28
27
|
attribute :>> autoPopulate = true;
|
|
29
28
|
attribute :>> queryDescription = "Include FMEA worksheet rows and the overdose fault tree structure.";
|
|
30
|
-
attribute :>> documentUsage = ("FMEA", "RMF");
|
|
31
29
|
part :>> selectionQuery {
|
|
32
30
|
attribute :>> id = "QRY-RISK-102";
|
|
33
31
|
attribute :>> name = "GPCA_FmeaQuery";
|
|
34
|
-
attribute :>> includeElementKinds = ("FMEAWorksheet", "FailureMode", "FailureEffect", "FailureCause", "DetectionMethod", "FMEAAction", "FaultTree", "
|
|
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);
|
|
37
35
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
38
36
|
attribute :>> rationaleText = "Auto-populate the FMEA/FTA view from the analysis layer.";
|
|
39
37
|
}
|
|
40
|
-
|
|
38
|
+
ref :>> viewpointDefinition = riskViewpoint;
|
|
41
39
|
}
|
|
42
40
|
}
|
|
@@ -18,7 +18,6 @@ package 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
|
-
attribute :>> title = "GPCA Risk Mitigation Chain View";
|
|
22
21
|
attribute :>> shortDescription = "All seven hazard causal trees from categorized cause through harm with controls and residual risk.";
|
|
23
22
|
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
23
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
@@ -28,7 +27,6 @@ package memo_examples_gpca_pump_viewpoints_risk_views_risk_risk_chain_view {
|
|
|
28
27
|
attribute :>> dataSourceDescription = "GPCA risk layer and TracesRisk/MitigatesHazard links";
|
|
29
28
|
attribute :>> autoPopulate = true;
|
|
30
29
|
attribute :>> queryDescription = "Include hazards, sequences, situations, harms, risks before/after, controls, and residual evaluation.";
|
|
31
|
-
attribute :>> documentUsage = ("RMF", "Hazard Analysis Report", "QMSR");
|
|
32
30
|
part :>> selectionQuery {
|
|
33
31
|
attribute :>> id = "QRY-RISK-101";
|
|
34
32
|
attribute :>> name = "GPCA_RiskChainQuery";
|
|
@@ -39,6 +37,6 @@ package memo_examples_gpca_pump_viewpoints_risk_views_risk_risk_chain_view {
|
|
|
39
37
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
40
38
|
attribute :>> rationaleText = "Auto-populate the risk chain diagram from the risk layer.";
|
|
41
39
|
}
|
|
42
|
-
|
|
40
|
+
ref :>> viewpointDefinition = riskViewpoint;
|
|
43
41
|
}
|
|
44
42
|
}
|
|
@@ -9,7 +9,6 @@ package memo_examples_gpca_pump_viewpoints_software_views_document_sdd_view {
|
|
|
9
9
|
expose memo_examples_gpca_pump_viewpoints_software_views_document_sdd_view::*;
|
|
10
10
|
attribute :>> id = "DOC-004";
|
|
11
11
|
attribute :>> name = "SoftwareDesignDescriptionView";
|
|
12
|
-
attribute :>> title = "GPCA Software Design Description View";
|
|
13
12
|
attribute :>> shortDescription = "IEC 62304 software design description for the GPCA software system.";
|
|
14
13
|
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
14
|
attribute :>> version = "0.1";
|
|
@@ -17,13 +16,11 @@ package memo_examples_gpca_pump_viewpoints_software_views_document_sdd_view {
|
|
|
17
16
|
attribute :>> viewKind = DocumentViewKind::SDD;
|
|
18
17
|
attribute :>> generationRule = "Include software structure, behavior machine with transitions, software interfaces, allocations, and timing constraints";
|
|
19
18
|
attribute :>> marketScope = "generic";
|
|
20
|
-
|
|
21
|
-
attribute :>> sectionIdentifier = "SDD";
|
|
22
|
-
part :>> viewpointDefinition = softwareViewpoint;
|
|
19
|
+
ref :>> viewpointDefinition = softwareViewpoint;
|
|
23
20
|
part :>> selectionQuery {
|
|
24
21
|
attribute :>> id = "QRY-DOC-004";
|
|
25
22
|
attribute :>> name = "sddViewQuery";
|
|
26
|
-
attribute :>> includeElementKinds = ("SoftwareSystem", "SoftwareModule", "
|
|
23
|
+
attribute :>> includeElementKinds = ("SoftwareSystem", "SoftwareModule", "MemoState[stateKind=mode]", "Transition", "Interface", "SystemFunction", "TimingConstraint", "SoftwareModule[moduleKind=soup]");
|
|
27
24
|
attribute :>> includeRelationshipKinds = ("Composes", "AllocatedTo", "BindsToInterface", "Realizes", "DependsOnSoup", "Changes");
|
|
28
25
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
29
26
|
}
|
|
@@ -18,7 +18,6 @@ package memo_examples_gpca_pump_viewpoints_software_views_software_software_arch
|
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-SW-101";
|
|
20
20
|
attribute :>> name = "GPCA_SoftwareArchitectureView";
|
|
21
|
-
attribute :>> title = "GPCA Software Architecture View";
|
|
22
21
|
attribute :>> shortDescription = "The eight AADL GPCA_SW.Impl subcomponents, top-level ports, and the full inter-component connection topology.";
|
|
23
22
|
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
23
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
@@ -27,17 +26,16 @@ package memo_examples_gpca_pump_viewpoints_software_views_software_software_arch
|
|
|
27
26
|
attribute :>> diagramType = "ibd";
|
|
28
27
|
attribute :>> dataSourceDescription = "GPCA software structure, top-level ports, and the GPCA_SW.Impl connection set (CE-101..CE-142)";
|
|
29
28
|
attribute :>> autoPopulate = true;
|
|
30
|
-
attribute :>> queryDescription = "Include the software system, its eight components, its boundary ports, and the
|
|
31
|
-
attribute :>> documentUsage = ("SDD", "QMSR");
|
|
29
|
+
attribute :>> queryDescription = "Include the software system, its eight components, its boundary ports, and the flow and delegation topology between them.";
|
|
32
30
|
part :>> selectionQuery {
|
|
33
31
|
attribute :>> id = "QRY-SW-101";
|
|
34
32
|
attribute :>> name = "GPCA_SoftwareArchitectureQuery";
|
|
35
33
|
attribute :>> includeElementKinds = ("SoftwareSystem", "SoftwareModule", "SoftwarePort");
|
|
36
|
-
attribute :>> includeRelationshipKinds = ("
|
|
34
|
+
attribute :>> includeRelationshipKinds = ("flow", "bind", "Composes");
|
|
37
35
|
attribute :>> includeLayers = ("software_structure", "interfaces");
|
|
38
36
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
39
37
|
attribute :>> rationaleText = "Render the real GPCA_SW.Impl topology: components and boundary ports as nodes, AADL connections as edges.";
|
|
40
38
|
}
|
|
41
|
-
|
|
39
|
+
ref :>> viewpointDefinition = softwareViewpoint;
|
|
42
40
|
}
|
|
43
41
|
}
|
package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml
CHANGED
|
@@ -5,25 +5,24 @@ package memo_examples_gpca_pump_viewpoints_usability_views_document_usability_vi
|
|
|
5
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
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
|
-
attribute :>> title = "GPCA Usability Engineering File View";
|
|
14
15
|
attribute :>> shortDescription = "IEC 62366-1 usability engineering file content for GPCA.";
|
|
15
16
|
attribute :>> description = "Aggregates intended use, use contexts, actors, foreseeable use errors, related risk chains, usability requirements, and the summative usability validation case.";
|
|
16
17
|
attribute :>> version = "0.1";
|
|
17
18
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
18
19
|
attribute :>> marketScope = "generic";
|
|
19
|
-
|
|
20
|
-
attribute :>> sectionIdentifier = "UEF";
|
|
21
|
-
part :>> viewpointDefinition = usabilityViewpoint;
|
|
20
|
+
ref :>> viewpointDefinition = usabilityViewpoint;
|
|
22
21
|
part :>> selectionQuery {
|
|
23
22
|
attribute :>> id = "QRY-DOC-002";
|
|
24
23
|
attribute :>> name = "usabilityViewQuery";
|
|
25
|
-
attribute :>> includeElementKinds = ("UseError", "UseContext", "Actor", "ValidationCase", "OperativeScenario", "IntendedUse", "ReasonablyForeseeableMisuse");
|
|
26
|
-
attribute :>> includeRelationshipKinds = ("TestedByUsability", "RealizedByScenario", "InteractsWith"
|
|
24
|
+
attribute :>> includeElementKinds = ("UseError", "UseContext", "Actor", "ValidationCase", "OperativeScenario[scenarioKind=operative]", "IntendedUse", "ReasonablyForeseeableMisuse");
|
|
25
|
+
attribute :>> includeRelationshipKinds = ("TestedByUsability", "RealizedByScenario", "InteractsWith");
|
|
27
26
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
28
27
|
}
|
|
29
28
|
}
|
package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml
CHANGED
|
@@ -4,12 +4,13 @@ package memo_examples_gpca_pump_viewpoints_verification_views_document_vv_view {
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
5
5
|
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
6
6
|
private import memo_core_enumerations::*;
|
|
7
|
+
private import memo_examples_gpca_pump_gpca_verification::*;
|
|
7
8
|
|
|
8
9
|
view vvView : MemoDocumentView {
|
|
9
10
|
expose memo_examples_gpca_pump_viewpoints_verification_views_document_vv_view::*;
|
|
11
|
+
expose evidenceSafetyAlarmSuite;
|
|
10
12
|
attribute :>> id = "DOC-006";
|
|
11
13
|
attribute :>> name = "VerificationValidationView";
|
|
12
|
-
attribute :>> title = "GPCA Verification and Validation View";
|
|
13
14
|
attribute :>> shortDescription = "V&V plan and coverage for requirements and risk controls.";
|
|
14
15
|
attribute :>> description = "Aggregates verification cases, validation cases, test artifacts, and evidence with their coverage of requirements, risk controls, behavior properties, and timing constraints.";
|
|
15
16
|
attribute :>> version = "0.1";
|
|
@@ -17,14 +18,12 @@ package memo_examples_gpca_pump_viewpoints_verification_views_document_vv_view {
|
|
|
17
18
|
attribute :>> viewKind = DocumentViewKind::VV;
|
|
18
19
|
attribute :>> generationRule = "Include all VerifiedBy, Validates, and ProducesEvidence chains with status";
|
|
19
20
|
attribute :>> marketScope = "generic";
|
|
20
|
-
|
|
21
|
-
attribute :>> sectionIdentifier = "VV";
|
|
22
|
-
part :>> viewpointDefinition = verificationViewpoint;
|
|
21
|
+
ref :>> viewpointDefinition = verificationViewpoint;
|
|
23
22
|
part :>> selectionQuery {
|
|
24
23
|
attribute :>> id = "QRY-DOC-006";
|
|
25
24
|
attribute :>> name = "vvViewQuery";
|
|
26
|
-
attribute :>> includeElementKinds = ("VerificationCase", "ValidationCase", "
|
|
27
|
-
attribute :>> includeRelationshipKinds = ("VerifiedBy", "Validates", "TestedByUsability", "ProducesEvidence"
|
|
25
|
+
attribute :>> includeElementKinds = ("VerificationCase", "ValidationCase", "MemoEvidence", "Requirement", "RiskControlMeasure");
|
|
26
|
+
attribute :>> includeRelationshipKinds = ("VerifiedBy", "Validates", "TestedByUsability", "ProducesEvidence");
|
|
28
27
|
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
29
28
|
}
|
|
30
29
|
}
|
|
@@ -18,7 +18,6 @@ package memo_examples_gpca_pump_viewpoints_verification_views_verification_verif
|
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-VER-101";
|
|
20
20
|
attribute :>> name = "GPCA_VerificationCoverageView";
|
|
21
|
-
attribute :>> title = "GPCA Verification and Validation Coverage View";
|
|
22
21
|
attribute :>> shortDescription = "Requirements and risk controls against verification cases, validation cases, and evidence.";
|
|
23
22
|
attribute :>> outputKind = (ViewOutputKind::matrix);
|
|
24
23
|
attribute :>> presentationKind = (PresentationKind::traceMatrix);
|
|
@@ -27,16 +26,15 @@ package memo_examples_gpca_pump_viewpoints_verification_views_verification_verif
|
|
|
27
26
|
attribute :>> dataSourceDescription = "VerifiedBy, Validates, and ProducesEvidence links in the GPCA model";
|
|
28
27
|
attribute :>> autoPopulate = true;
|
|
29
28
|
attribute :>> queryDescription = "Include every requirement and risk control with its verification/validation status and produced evidence.";
|
|
30
|
-
attribute :>> documentUsage = ("VV", "DHF", "QMSR");
|
|
31
29
|
part :>> selectionQuery {
|
|
32
30
|
attribute :>> id = "QRY-VER-101";
|
|
33
31
|
attribute :>> name = "GPCA_VerificationCoverageQuery";
|
|
34
|
-
attribute :>> includeElementKinds = ("Requirement", "RiskControlMeasure", "VerificationCase", "ValidationCase", "
|
|
32
|
+
attribute :>> includeElementKinds = ("Requirement", "RiskControlMeasure", "VerificationCase", "ValidationCase", "MemoEvidence");
|
|
35
33
|
attribute :>> includeRelationshipKinds = ("VerifiedBy", "Validates", "ProducesEvidence");
|
|
36
34
|
attribute :>> includeLayers = ("requirements", "risk", "assurance");
|
|
37
35
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
38
36
|
attribute :>> rationaleText = "Coverage gaps surface as requirements or controls without linked cases or evidence.";
|
|
39
37
|
}
|
|
40
|
-
|
|
38
|
+
ref :>> viewpointDefinition = verificationViewpoint;
|
|
41
39
|
}
|
|
42
40
|
}
|
|
@@ -51,7 +51,7 @@ package memo_examples_ivd_laboratory_system {
|
|
|
51
51
|
}
|
|
52
52
|
|
|
53
53
|
// Operating activity for the analyzer.
|
|
54
|
-
action actRunPanel :
|
|
54
|
+
action actRunPanel : OperativeAction {
|
|
55
55
|
attribute :>> id = "IVD-ACT-001"; attribute :>> name = "RunChemistryPanel";
|
|
56
56
|
attribute :>> criticality = CriticalityKind::high;
|
|
57
57
|
}
|
|
@@ -2,5 +2,5 @@ package memo_examples_ivd_laboratory_system_viewpoints_unassigned_views_ivd_labo
|
|
|
2
2
|
private import memo_examples_ivd_laboratory_system::*;
|
|
3
3
|
private import memo_viewpoints_definitions::*;
|
|
4
4
|
private import memo_core_enumerations::*;
|
|
5
|
-
view ivdLaboratorySystemOverview : MemoDiagramView { expose memo_examples_ivd_laboratory_system::*; attribute depth = 2; attribute :>>
|
|
5
|
+
view ivdLaboratorySystemOverview : MemoDiagramView { expose memo_examples_ivd_laboratory_system::*; attribute depth = 2; attribute :>> viewKind = DiagramViewKind::interconnection; attribute :>> diagramType = "ibd"; }
|
|
6
6
|
}
|
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
// without adding functional, logical, or software layers.
|
|
4
4
|
package memo_examples_manual_surgical_instrument {
|
|
5
5
|
private import ScalarValues::*;
|
|
6
|
+
private import ModelingMetadata::*;
|
|
6
7
|
|
|
7
8
|
private import memo_core_enumerations::*;
|
|
8
9
|
private import memo_core_relationships::*;
|
|
@@ -29,12 +30,12 @@ package memo_examples_manual_surgical_instrument {
|
|
|
29
30
|
attribute :>> mechanicalFunction = "maintains jaw clamping force without continuous grip";
|
|
30
31
|
attribute :>> patientContact = false;
|
|
31
32
|
}
|
|
32
|
-
|
|
33
|
-
|
|
33
|
+
#refinement dependency needleHolder to jawAssembly;
|
|
34
|
+
#refinement dependency needleHolder to ratchetLock;
|
|
34
35
|
|
|
35
36
|
// A task may be traced to the architecture later when the project has a
|
|
36
37
|
// specific allocation or interaction claim to make.
|
|
37
|
-
action taskPlaceSutures :
|
|
38
|
+
action taskPlaceSutures : OperativeAction {
|
|
38
39
|
attribute :>> id = "MSI-TASK-001";
|
|
39
40
|
attribute :>> name = "PlaceSutures";
|
|
40
41
|
attribute :>> taskGoal = "place interrupted sutures";
|
|
@@ -2,5 +2,5 @@ package memo_examples_manual_surgical_instrument_viewpoints_unassigned_views_man
|
|
|
2
2
|
private import memo_examples_manual_surgical_instrument::*;
|
|
3
3
|
private import memo_viewpoints_definitions::*;
|
|
4
4
|
private import memo_core_enumerations::*;
|
|
5
|
-
view manualSurgicalInstrumentOverview : MemoDiagramView { expose memo_examples_manual_surgical_instrument::*; attribute depth = 2; attribute :>>
|
|
5
|
+
view manualSurgicalInstrumentOverview : MemoDiagramView { expose memo_examples_manual_surgical_instrument::*; attribute depth = 2; attribute :>> viewKind = DiagramViewKind::general; attribute :>> diagramType = "bdd"; }
|
|
6
6
|
}
|
|
@@ -8,6 +8,7 @@
|
|
|
8
8
|
// through relationships.
|
|
9
9
|
package memo_examples_multidimensional_layers {
|
|
10
10
|
private import ScalarValues::*;
|
|
11
|
+
private import ModelingMetadata::*;
|
|
11
12
|
|
|
12
13
|
private import memo_core_enumerations::*;
|
|
13
14
|
private import memo_core_dimensions::*;
|
|
@@ -37,15 +38,18 @@ package memo_examples_multidimensional_layers {
|
|
|
37
38
|
attribute :>> periodMs = 50.0;
|
|
38
39
|
attribute :>> deadlineMs = 50.0;
|
|
39
40
|
attribute :>> wcetMs = 8.0;
|
|
41
|
+
attribute :>> memoryBudget = 64.0;
|
|
40
42
|
attribute :>> schedulingPolicy = SchedulingPolicyKind::fixedPriorityPreemptive;
|
|
41
43
|
attribute :>> realizationStage = RealizationStageKind::deployed;
|
|
42
44
|
}
|
|
43
|
-
|
|
45
|
+
#refinement dependency doseLimitCheckerRuntime to doseLimitChecker;
|
|
44
46
|
|
|
45
47
|
verification vcLimitEnforcement : VerificationCase {
|
|
46
48
|
attribute :>> id = "MDL-VC-001"; attribute :>> name = "VerifyHardLimitEnforcement";
|
|
47
49
|
attribute :>> methodKind = VerificationMethodKind::test;
|
|
48
50
|
attribute :>> acceptanceCriteria = "all out-of-limit programs rejected across the equivalence classes";
|
|
51
|
+
|
|
52
|
+
subject verified : Base::Anything[*] = (doseLimitChecker);
|
|
49
53
|
}
|
|
50
|
-
|
|
54
|
+
|
|
51
55
|
}
|
|
@@ -6,7 +6,6 @@ package memo_examples_multidimensional_layers_viewpoints_unassigned_views_multid
|
|
|
6
6
|
view multidimensionalLayersOverview : MemoDiagramView {
|
|
7
7
|
expose memo_examples_multidimensional_layers::*;
|
|
8
8
|
attribute depth = 2;
|
|
9
|
-
attribute :>> title = "Multidimensional Layers Overview";
|
|
10
9
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
11
10
|
attribute :>> diagramType = "bdd";
|
|
12
11
|
}
|