@memoarchitect/ontology 0.6.4 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/examples/connected-patient-monitor/model/catalog/project.sysml +24 -0
- package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/connected-patient-monitor/model/{viewpoints → catalog/viewpoints/unassigned/views}/connected_patient_monitor_overview.sysml +1 -1
- package/examples/embedded-infusion-pump/model/catalog/project.sysml +24 -0
- package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/embedded-infusion-pump/model/{viewpoints → catalog/viewpoints/unassigned/views}/embedded_infusion_pump_overview.sysml +1 -1
- package/examples/extensions/clinical/memo.package.yaml +18 -9
- package/examples/extensions/clinical/src/methodology/clinical_methodology.sysml +10 -2
- package/examples/extensions/template/memo.package.yaml +17 -9
- package/examples/functional-logical-physical/model/catalog/project.sysml +24 -0
- package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/functional-logical-physical/model/{viewpoints → catalog/viewpoints/unassigned/views}/functional_logical_physical_overview.sysml +1 -1
- package/examples/gpca-pump/analysis/Samples/01-model-overview.ipynb +148 -0
- package/examples/gpca-pump/analysis/Samples/02-architecture-hotspots.ipynb +301 -0
- package/examples/gpca-pump/analysis/Samples/03-model-quality.ipynb +229 -0
- package/examples/gpca-pump/analysis/Samples/04-change-impact-explorer.ipynb +200 -0
- package/examples/gpca-pump/analysis/Samples/05-model-charts.ipynb +188 -0
- package/examples/gpca-pump/analysis/Samples/06-ownership-graph.ipynb +173 -0
- package/examples/gpca-pump/analysis/Samples/07-model-inventory-table.ipynb +180 -0
- package/examples/gpca-pump/analysis/Samples/README.md +37 -0
- package/examples/gpca-pump/gpca-pump.kpar +0 -0
- package/examples/gpca-pump/methodology/gpca_methodology.sysml +7 -8
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +89 -11
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +22 -12
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +2 -2
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +8 -2
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +5 -5
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +3 -8
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +6 -6
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +1 -15
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +41 -11
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +19 -8
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +2 -2
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +10 -1
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +34 -30
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +59 -31
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +1 -1
- package/examples/gpca-pump/model/catalog/project.sysml +21 -0
- package/examples/gpca-pump/model/catalog/viewpoints/context/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/context/views}/context_system_context_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/cybersecurity_cybersecurity_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_cyber_assessment_view.sysml +4 -4
- package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_threat_model_view.sysml +4 -4
- package/examples/gpca-pump/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_allocation_view.sysml +2 -2
- package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_browser_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/behavior_action_flow_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/document_architecture_description_view.sysml +7 -7
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_device_interconnect_view.sysml +5 -5
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_logical_architecture_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_mode_state_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_system_decomposition_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/operational/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_scenario_sequence_view.sysml +2 -2
- package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_use_case_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/physical/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/physical/views}/physical_physical_bom_view.sysml +2 -2
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/document_dhf_index_view.sysml +6 -6
- package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/requirements_requirements_trace_view.sysml +2 -2
- package/examples/gpca-pump/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_hazard_analysis_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_rmf_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_fmea_view.sysml +2 -2
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_risk_chain_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/software/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/document_sdd_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/software_software_architecture_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/usability/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/usability/views}/document_usability_view.sysml +4 -4
- package/examples/gpca-pump/model/catalog/viewpoints/verification/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/document_vv_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/verification_verification_coverage_view.sysml +2 -2
- package/examples/ivd-laboratory-system/model/catalog/project.sysml +24 -0
- package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/ivd-laboratory-system/model/{viewpoints → catalog/viewpoints/unassigned/views}/ivd_laboratory_system_overview.sysml +1 -1
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +1 -0
- package/examples/manual-surgical-instrument/model/catalog/project.sysml +24 -0
- package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/manual-surgical-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/manual_surgical_instrument_overview.sysml +1 -1
- package/examples/multidimensional-layers/model/catalog/project.sysml +24 -0
- package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/multidimensional-layers/model/{viewpoints → catalog/viewpoints/unassigned/views}/multidimensional_layers_overview.sysml +1 -1
- package/examples/nested-architecture-dsm/README.md +49 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +174 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +183 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +53 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +89 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +90 -0
- package/examples/nested-architecture-dsm/model/catalog/project.sysml +28 -0
- package/examples/nested-architecture-dsm/model/catalog/traces.sysml +49 -0
- package/examples/reusable-instrument/model/catalog/project.sysml +24 -0
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +7 -6
- package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/reusable-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/reusable_instrument_overview.sysml +1 -1
- package/examples/software-only-medical-device/model/catalog/project.sysml +24 -0
- package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/software-only-medical-device/model/{viewpoints → catalog/viewpoints/unassigned/views}/software_only_medical_device_overview.sysml +1 -1
- package/examples/surgical-closure-workflow/model/catalog/project.sysml +24 -0
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +23 -19
- package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/surgical-closure-workflow/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_closure_workflow_overview.sysml +1 -1
- package/examples/surgical-robot/model/catalog/project.sysml +24 -0
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +5 -3
- package/examples/surgical-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/surgical-robot/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_robot_overview.sysml +1 -1
- package/examples/sysml-diagram-samples/README.md +7 -0
- package/examples/sysml-diagram-samples/dhf/documents/DOC-HAR-001.md +11 -0
- package/examples/sysml-diagram-samples/memo.package.yaml +11 -5
- package/examples/sysml-diagram-samples/model/catalog/project.sysml +33 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/action_flow_view.sysml +18 -10
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/context_view.sysml +4 -2
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +47 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/functional_flow_view.sysml +23 -20
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/interconnection_view.sysml +17 -14
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +94 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/operational_behaviour_view.sysml +23 -20
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +13 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/requirements_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +51 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/state_transition_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/tree_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/use_case_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +93 -0
- package/examples/temperature-alarm/model/catalog/project.sysml +24 -0
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +2 -1
- package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/temperature-alarm/model/{viewpoints → catalog/viewpoints/unassigned/views}/temperature_alarm_overview.sysml +1 -1
- package/examples/ui-screen-regions/README.md +117 -0
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +60 -0
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +189 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +61 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/drugSelectorRegion/drug-selector-expanded-2.4.1.png +0 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/mainScreenLayout/main-screen-2.4.1.png +0 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/settingsScreenLayout/settings-screen-2.4.1.png +0 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +51 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +27 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +27 -0
- package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +59 -0
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +25 -0
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +178 -0
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +93 -0
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +60 -0
- package/examples/ui-screen-regions/model/catalog/project.sysml +45 -0
- package/examples/ui-screen-regions/model/catalog/traces.sysml +276 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +62 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +62 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +62 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +57 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +52 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +54 -0
- package/memo.manifest.yaml +2 -0
- package/methodologies/default/memo.package.yaml +19 -9
- package/methodologies/gpca/memo.package.yaml +18 -9
- package/ontology/memo.package.yaml +23 -8
- package/package.json +1 -3
- package/profile/memo.package.yaml +18 -9
- package/src/architecture/decisions/memo_decisions.sysml +7 -0
- package/src/architecture/functional/behavior/memo_behavior.sysml +1 -1
- package/src/architecture/functional/functions/memo_functions.sysml +5 -12
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +1 -3
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +18 -5
- package/src/architecture/implementation/ui/memo_ui.sysml +210 -27
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +1 -2
- package/src/architecture/logical/structure/memo_logical_structure.sysml +71 -15
- package/src/architecture/operational/activities/memo_activities.sysml +0 -1
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +2 -2
- package/src/architecture/operational/workflows/memo_workflows.sysml +0 -6
- package/src/{compliance/change/memo_change.sysml → artifacts/configuration_management/memo_configuration_management.sysml} +5 -3
- package/src/artifacts/core/memo_controlled_artifacts.sysml +33 -0
- package/src/artifacts/documents/risk_management/memo_risk_management.sysml +12 -0
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +1 -1
- package/src/assurance/human_factors/memo_human_factors.sysml +1 -1
- package/src/assurance/safety_risk/postmarket_surveillance/memo_postmarket_surveillance.sysml +11 -0
- package/src/assurance/verification_validation/clinical_evaluation/memo_clinical_evaluation.sysml +11 -0
- package/src/assurance/verification_validation/memo_assurance.sysml +1 -1
- package/src/core/annotations/memo_annotations.sysml +77 -0
- package/src/core/common/memo_common.sysml +20 -3
- package/src/core/consistency_rules/consistency_rules.sysml +7 -0
- package/src/core/dimensions/dimensions.sysml +5 -1
- package/src/core/enumerations/memo_enumerations.sysml +41 -6
- package/src/core/methodology_scope/methodology_scope.sysml +7 -15
- package/src/core/relationships/memo_relationships.sysml +4 -2
- package/src/memo_namespaces.sysml +97 -67
- package/src/methodology/core/memo_core.sysml +45 -2
- package/src/methodology/profiles/memo_profiles.sysml +30 -40
- package/src/methodology/workflow/memo_workflow.sysml +7 -2
- package/src/rules/closure/closure_rules.sysml +104 -31
- package/src/rules/coverage/coverage_rules.sysml +4 -256
- package/src/rules/crosslayer/cross_layer_rules.sysml +6 -15
- package/src/rules/lifecycle/lifecycle_rules.sysml +4 -39
- package/src/rules/ontology/ontology_invariants.sysml +38 -68
- package/src/rules/quantitative/quantitative_rules.sysml +8 -8
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +7 -0
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +3 -1
- package/src/viewpoints/clinical/{clinical_evidence_view → views/clinical_evidence_view}/clinical_evidence_view.sysml +2 -2
- package/src/viewpoints/context/context_viewpoint.sysml +3 -1
- package/src/viewpoints/context/{system_context_view → views/system_context_view}/system_context_view.sysml +2 -2
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +3 -1
- package/src/viewpoints/cybersecurity/{cybersecurity_assessment_view → views/cybersecurity_assessment_view}/cybersecurity_assessment_view.sysml +2 -2
- package/src/viewpoints/cybersecurity/{threat_model_view → views/threat_model_view}/threat_model_view.sysml +2 -2
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +6 -0
- package/src/viewpoints/functional/functional_viewpoint.sysml +3 -1
- package/src/viewpoints/functional/{function_allocation_view → views/function_allocation_view}/function_allocation_view.sysml +2 -2
- package/src/viewpoints/functional/{system_functional_tree_view → views/system_functional_tree_view}/system_functional_tree_view.sysml +2 -2
- package/src/viewpoints/logical/logical_viewpoint.sysml +3 -1
- package/src/viewpoints/logical/{logical_architecture_view → views/logical_architecture_view}/logical_architecture_view.sysml +2 -2
- package/src/viewpoints/operational/operational_viewpoint.sysml +3 -1
- package/src/viewpoints/operational/{use_case_view → views/use_case_view}/use_case_view.sysml +2 -2
- package/src/viewpoints/physical/physical_viewpoint.sysml +3 -1
- package/src/viewpoints/physical/{network_topology_view → views/network_topology_view}/network_topology_view.sysml +2 -2
- package/src/viewpoints/physical/{physical_bom_view → views/physical_bom_view}/physical_bom_view.sysml +2 -2
- package/src/viewpoints/rendering/memo_rendering.sysml +354 -0
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +3 -1
- package/src/viewpoints/requirements/{requirements_traceability_view → views/requirements_traceability_view}/requirements_traceability_view.sysml +2 -2
- package/src/viewpoints/risk/risk_viewpoint.sysml +3 -1
- package/src/viewpoints/risk/{risk_chain_view → views/risk_chain_view}/risk_chain_view.sysml +2 -2
- package/src/viewpoints/software/software_viewpoint.sysml +3 -1
- package/src/viewpoints/software/{software_architecture_view → views/software_architecture_view}/software_architecture_view.sysml +2 -2
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +28 -0
- package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +23 -0
- package/src/viewpoints/usability/usability_viewpoint.sysml +3 -1
- package/src/viewpoints/usability/{usability_engineering_view → views/usability_engineering_view}/usability_engineering_view.sysml +2 -2
- package/src/viewpoints/verification/verification_viewpoint.sysml +3 -1
- package/src/viewpoints/verification/{verification_coverage_view → views/verification_coverage_view}/verification_coverage_view.sysml +2 -2
- package/templates/connected-device/memo.package.yaml +11 -5
- package/templates/connected-device/model/catalog/project.sysml +28 -0
- package/templates/connected-device/syside.toml +1 -1
- package/templates/default/memo.package.yaml +11 -5
- package/templates/default/model/catalog/project.sysml +28 -0
- package/templates/default/syside.toml +1 -1
- package/templates/infusion-pump/memo.package.yaml +11 -5
- package/templates/infusion-pump/model/catalog/project.sysml +28 -0
- package/templates/infusion-pump/syside.toml +1 -1
- package/templates/monitoring-device/memo.package.yaml +11 -5
- package/templates/monitoring-device/model/catalog/project.sysml +28 -0
- package/templates/monitoring-device/syside.toml +1 -1
- package/templates/samd/memo.package.yaml +11 -5
- package/templates/samd/model/catalog/project.sysml +28 -0
- package/templates/samd/syside.toml +1 -1
- package/examples/connected-patient-monitor/model/connected_patient_monitor.sysml +0 -3
- package/examples/embedded-infusion-pump/model/embedded_infusion_pump.sysml +0 -3
- package/examples/functional-logical-physical/model/functional_logical_physical.sysml +0 -3
- package/examples/gpca-pump/memo.config.yaml +0 -9
- package/examples/gpca-pump/methodology/gpca_scope.sysml +0 -25
- package/examples/ivd-laboratory-system/model/ivd_laboratory_system.sysml +0 -3
- package/examples/manual-surgical-instrument/model/manual_surgical_instrument.sysml +0 -3
- package/examples/multidimensional-layers/model/multidimensional_layers.sysml +0 -4
- package/examples/reusable-instrument/model/reusable_instrument.sysml +0 -4
- package/examples/software-only-medical-device/model/software_only_medical_device.sysml +0 -4
- package/examples/surgical-closure-workflow/model/surgical_closure_workflow.sysml +0 -4
- package/examples/surgical-robot/model/surgical_robot.sysml +0 -4
- package/examples/temperature-alarm/model/temperature_alarm.sysml +0 -4
- package/ontology/memo.rendering.yaml +0 -84
- package/src/compliance/artifacts/memo_artifacts.sysml +0 -12
- package/src/compliance/document_views/memo_document_views.sysml +0 -7
- package/src/compliance/iso14971/risk_management_file.sysml +0 -16
- package/src/compliance/postmarket/memo_postmarket.sysml +0 -16
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/change-record.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-input.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-output.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-review.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-validation.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-verification.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/dhf-index.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/transfer-plan.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/user-needs.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-plan.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-report.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/incident-response.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/postmarket-surveillance.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/security-arch.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/threat-model.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/vuln-assessment.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/change-control.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/detailed-design.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/integration-test.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sad.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sbom.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sdp.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/soup.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/srs.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sw-traceability.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/system-test.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/formative-eval.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/summative-eval.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/task-analysis.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ue-plan.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ui-spec.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/urra.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/use-spec.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/fmea.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/fta.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/har.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-benefit.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-matrix.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmp.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmr.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/approval-block.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/document-control-header.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/references-section.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/revision-history-table.md +0 -0
- /package/templates/connected-device/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/connected-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/connected-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/default/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/default/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/default/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/infusion-pump/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/infusion-pump/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/infusion-pump/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/monitoring-device/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/monitoring-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/monitoring-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/samd/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/samd/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/samd/{src → model/catalog}/assurance/requirements.sysml +0 -0
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_gpca_trace {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_core_relationships::*;
|
|
@@ -7,28 +7,32 @@ package memo_examples_gpca_pump_model_catalog_gpca_trace {
|
|
|
7
7
|
private import memo_architecture_operational_activities::*;
|
|
8
8
|
private import memo_architecture_operational_structure::*;
|
|
9
9
|
private import memo_architecture_functional_functions::*;
|
|
10
|
-
private import
|
|
11
|
-
private import
|
|
12
|
-
private import
|
|
13
|
-
private import
|
|
14
|
-
private import
|
|
15
|
-
private import
|
|
16
|
-
private import
|
|
17
|
-
private import
|
|
18
|
-
private import
|
|
19
|
-
private import
|
|
20
|
-
private import
|
|
21
|
-
private import
|
|
22
|
-
private import
|
|
23
|
-
private import
|
|
24
|
-
private import
|
|
25
|
-
private import
|
|
26
|
-
private import
|
|
27
|
-
private import
|
|
28
|
-
private import
|
|
29
|
-
private import
|
|
30
|
-
private import
|
|
31
|
-
private import
|
|
10
|
+
private import memo_examples_gpca_pump_gpca_context::*;
|
|
11
|
+
private import memo_examples_gpca_pump_gpca_operational::*;
|
|
12
|
+
private import memo_examples_gpca_pump_gpca_system::*;
|
|
13
|
+
private import memo_examples_gpca_pump_gpca_requirements::*;
|
|
14
|
+
private import memo_examples_gpca_pump_gpca_architecture::*;
|
|
15
|
+
private import memo_examples_gpca_pump_gpca_physical::*;
|
|
16
|
+
private import memo_examples_gpca_pump_gpca_behavior_subsystems::*;
|
|
17
|
+
private import memo_examples_gpca_pump_gpca_behavior_modes::*;
|
|
18
|
+
private import memo_examples_gpca_pump_gpca_interfaces::*;
|
|
19
|
+
private import memo_examples_gpca_pump_gpca_risk::*;
|
|
20
|
+
private import memo_examples_gpca_pump_gpca_analysis::*;
|
|
21
|
+
private import memo_examples_gpca_pump_gpca_verification::*;
|
|
22
|
+
private import memo_examples_gpca_pump_viewpoints_logical_views_document_architecture_description_view::*;
|
|
23
|
+
private import memo_examples_gpca_pump_viewpoints_cybersecurity_views_document_cyber_assessment_view::*;
|
|
24
|
+
private import memo_examples_gpca_pump_viewpoints_requirements_views_document_dhf_index_view::*;
|
|
25
|
+
private import memo_examples_gpca_pump_viewpoints_risk_views_document_hazard_analysis_view::*;
|
|
26
|
+
private import memo_examples_gpca_pump_viewpoints_risk_views_document_rmf_view::*;
|
|
27
|
+
private import memo_examples_gpca_pump_viewpoints_software_views_document_sdd_view::*;
|
|
28
|
+
private import memo_examples_gpca_pump_viewpoints_cybersecurity_views_document_threat_model_view::*;
|
|
29
|
+
private import memo_examples_gpca_pump_viewpoints_usability_views_document_usability_view::*;
|
|
30
|
+
private import memo_examples_gpca_pump_viewpoints_verification_views_document_vv_view::*;
|
|
31
|
+
private import memo_examples_gpca_pump_gpca_formal_behavior::*;
|
|
32
|
+
private import memo_architecture_operational_context_stakeholders::*;
|
|
33
|
+
private import memo_architecture_operational_use_cases::*;
|
|
34
|
+
private import memo_architecture_operational_workflows::*;
|
|
35
|
+
private import memo_architecture_realization_deployment::*;
|
|
32
36
|
|
|
33
37
|
// ── System context interactions (context view) ──────────────
|
|
34
38
|
connection : InteractsWith connect contextParticipant ::> actorPatient to target ::> entityGpcaPump;
|
|
@@ -435,14 +439,38 @@ package memo_examples_gpca_pump_model_catalog_gpca_trace {
|
|
|
435
439
|
connection : Composes connect parent ::> gpcaSoftware to child ::> portDbIn;
|
|
436
440
|
connection : Composes connect parent ::> gpcaSoftware to child ::> portGpcaSwOut;
|
|
437
441
|
|
|
438
|
-
// ── Device
|
|
439
|
-
|
|
440
|
-
connection :
|
|
441
|
-
connection :
|
|
442
|
-
connection :
|
|
443
|
-
connection :
|
|
444
|
-
connection :
|
|
445
|
-
connection :
|
|
442
|
+
// ── Device/subsystem feature ownership (published AADL, 1:1) ──
|
|
443
|
+
connection : Composes connect parent ::> gpcaDevice to child ::> devOpCmdIn;
|
|
444
|
+
connection : Composes connect parent ::> gpcaDevice to child ::> devDbIn;
|
|
445
|
+
connection : Composes connect parent ::> gpcaDevice to child ::> devPresIn;
|
|
446
|
+
connection : Composes connect parent ::> gpcaDevice to child ::> devPatientIn;
|
|
447
|
+
connection : Composes connect parent ::> gpcaDevice to child ::> devGpcaOut;
|
|
448
|
+
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsOpCmdIn;
|
|
449
|
+
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsDbIn;
|
|
450
|
+
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsPresIn;
|
|
451
|
+
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsPatientIn;
|
|
452
|
+
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsOpCmdOut;
|
|
453
|
+
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsPresOut;
|
|
454
|
+
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsPatientOut;
|
|
455
|
+
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsSensorOut;
|
|
456
|
+
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsConstOut;
|
|
457
|
+
connection : Composes connect parent ::> gpcaDeviceSensors to child ::> snsDbOut;
|
|
458
|
+
connection : Composes connect parent ::> gpcaActuators to child ::> actGpcaSwIn;
|
|
459
|
+
connection : Composes connect parent ::> gpcaActuators to child ::> actGpcaOut;
|
|
460
|
+
|
|
461
|
+
// ── GPCA_Device.Impl connections (GPCA_Device.aadl, 1:1) ──
|
|
462
|
+
connection : ExchangesWith connect source ::> devOpCmdIn to target ::> snsOpCmdIn;
|
|
463
|
+
connection : ExchangesWith connect source ::> devDbIn to target ::> snsDbIn;
|
|
464
|
+
connection : ExchangesWith connect source ::> devPresIn to target ::> snsPresIn;
|
|
465
|
+
connection : ExchangesWith connect source ::> devPatientIn to target ::> snsPatientIn;
|
|
466
|
+
connection : ExchangesWith connect source ::> snsOpCmdOut to target ::> portOpCmdIn;
|
|
467
|
+
connection : ExchangesWith connect source ::> snsPresOut to target ::> portPresIn;
|
|
468
|
+
connection : ExchangesWith connect source ::> snsPatientOut to target ::> portPatientIn;
|
|
469
|
+
connection : ExchangesWith connect source ::> snsSensorOut to target ::> portSensorIn;
|
|
470
|
+
connection : ExchangesWith connect source ::> snsConstOut to target ::> portConstIn;
|
|
471
|
+
connection : ExchangesWith connect source ::> snsDbOut to target ::> portDbIn;
|
|
472
|
+
connection : ExchangesWith connect source ::> portGpcaSwOut to target ::> actGpcaSwIn;
|
|
473
|
+
connection : ExchangesWith connect source ::> actGpcaOut to target ::> devGpcaOut;
|
|
446
474
|
|
|
447
475
|
// ── Risk chains (ISO 14971, GIIP causal-tree structure) ─────
|
|
448
476
|
// Categorized causes converge on each hazard (GIIP Tables 2-9
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
// GPCA project identity and method binding.
|
|
2
|
+
//
|
|
3
|
+
// This file is the project's native entrypoint. It imports the methodology it
|
|
4
|
+
// selects and states the selection as a typed SysML reference — no YAML field
|
|
5
|
+
// participates in the choice.
|
|
6
|
+
package memo_examples_gpca_pump_project {
|
|
7
|
+
private import ScalarValues::*;
|
|
8
|
+
|
|
9
|
+
private import memo_methodology_core::*;
|
|
10
|
+
private import memo_core_enumerations::*;
|
|
11
|
+
private import memo_examples_gpca_pump_methodology_gpca_profiles::*;
|
|
12
|
+
|
|
13
|
+
part gpcaProjectBinding : ProjectMethodBinding {
|
|
14
|
+
attribute :>> id = "PMB-GPCA-001";
|
|
15
|
+
attribute :>> name = "GPCAProjectMethodBinding";
|
|
16
|
+
attribute :>> projectName = "GPCA Infusion Pump";
|
|
17
|
+
ref :>> selectedMethodology = gpcaMethodDefinition;
|
|
18
|
+
// The project adds nothing to the methodology's selection.
|
|
19
|
+
attribute :>> scopeMode = ScopeModeKind::explicit;
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// context viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_context {
|
|
7
|
+
public import memo_viewpoints_context_context_viewpoint::*;
|
|
8
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_context_views_context_system_context_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_context_system_context_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaSystemContextView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_context_views_context_system_context_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-CTX-101";
|
|
20
20
|
attribute :>> name = "GPCA_SystemContextView";
|
|
21
21
|
attribute :>> title = "GPCA System Context View";
|
|
22
22
|
attribute :>> shortDescription = "Actors, use contexts, and external entities at the GPCA system boundary.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "Shows the CriSys Fig 2.1 boundary: patient, clinician, prescription, drug reservoir, needle, hospital pharmacy database, and hospital environment around the pump, with directional data flows, physical drug-path connections, and the intended use anchoring the boundary.";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// cybersecurity viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_cybersecurity {
|
|
7
|
+
public import memo_viewpoints_cybersecurity_cybersecurity_viewpoint::*;
|
|
8
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_cybersecurity_views_cybersecurity_cybersecurity_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -15,13 +15,13 @@ package memo_examples_gpca_pump_model_views_cybersecurity_cybersecurity_view {
|
|
|
15
15
|
private import memo_core_enumerations::*;
|
|
16
16
|
|
|
17
17
|
view gpcaCybersecurityView : MemoDiagramView {
|
|
18
|
-
expose
|
|
18
|
+
expose memo_examples_gpca_pump_viewpoints_cybersecurity_views_cybersecurity_cybersecurity_view::*;
|
|
19
19
|
attribute depth = 2;
|
|
20
20
|
attribute :>> id = "VIEW-CYB-001";
|
|
21
21
|
attribute :>> name = "GPCA_CybersecurityView";
|
|
22
22
|
attribute :>> title = "GPCA Cybersecurity View";
|
|
23
23
|
attribute :>> shortDescription = "Shows GPCA assets, trust boundaries, threats, vulnerabilities, and mitigations.";
|
|
24
|
-
attribute :>>
|
|
24
|
+
attribute :>> description = "Product-specific cybersecurity view intended for secure product development and cross-reference into cybersecurity risk documentation.";
|
|
25
25
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
26
26
|
attribute :>> presentationKind = (PresentationKind::custom);
|
|
27
27
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_cybersecurity_views_document_cyber_assessment_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
5
|
-
private import
|
|
5
|
+
private import memo_viewpoints_cybersecurity_views_cybersecurity_assessment_view::*;
|
|
6
6
|
private import memo_viewpoints_cybersecurity_cybersecurity_viewpoint::*;
|
|
7
7
|
private import memo_core_enumerations::*;
|
|
8
8
|
|
|
9
9
|
view cyberAssessmentView : MemoCybersecurityAssessmentView {
|
|
10
|
-
expose
|
|
10
|
+
expose memo_examples_gpca_pump_viewpoints_cybersecurity_views_document_cyber_assessment_view::*;
|
|
11
11
|
attribute :>> id = "DOC-003";
|
|
12
12
|
attribute :>> name = "GPCAMemoCybersecurityAssessmentView";
|
|
13
13
|
attribute :>> title = "GPCA Cybersecurity Assessment View";
|
|
14
14
|
attribute :>> shortDescription = "Cybersecurity risk-assessment-oriented document view for GPCA.";
|
|
15
|
-
attribute :>>
|
|
15
|
+
attribute :>> description = "Captures GPCA cyber risks, mitigations, security requirements, verification, and safety/privacy traceability for cybersecurity assessment records.";
|
|
16
16
|
attribute :>> version = "0.1";
|
|
17
17
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
18
18
|
attribute :>> marketScope = "generic";
|
|
@@ -1,18 +1,18 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_cybersecurity_views_document_threat_model_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
5
|
-
private import
|
|
5
|
+
private import memo_viewpoints_cybersecurity_views_threat_model_view::*;
|
|
6
6
|
private import memo_viewpoints_cybersecurity_cybersecurity_viewpoint::*;
|
|
7
7
|
private import memo_core_enumerations::*;
|
|
8
8
|
|
|
9
9
|
view threatModelView : MemoCybersecurityThreatModelView {
|
|
10
|
-
expose
|
|
10
|
+
expose memo_examples_gpca_pump_viewpoints_cybersecurity_views_document_threat_model_view::*;
|
|
11
11
|
attribute :>> id = "DOC-002";
|
|
12
12
|
attribute :>> name = "GPCACyberThreatModelView";
|
|
13
13
|
attribute :>> title = "GPCA Cybersecurity Threat Model View";
|
|
14
14
|
attribute :>> shortDescription = "Threat-model-oriented document view for GPCA.";
|
|
15
|
-
attribute :>>
|
|
15
|
+
attribute :>> description = "Captures GPCA cyber assets, trust boundaries, threats, threat scenarios, vulnerabilities, and mitigations for secure product development records.";
|
|
16
16
|
attribute :>> version = "0.1";
|
|
17
17
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
18
18
|
attribute :>> marketScope = "generic";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// functional viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_functional {
|
|
7
|
+
public import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_functional_views_functional_function_allocation_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,7 +14,7 @@ package memo_examples_gpca_pump_model_views_functional_function_allocation_view
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaFunctionAllocationView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_functional_views_functional_function_allocation_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-FUN-102";
|
|
20
20
|
attribute :>> name = "GPCA_FunctionAllocationView";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_functional_views_functional_function_browser_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_functional_function_browser_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaFunctionBrowserView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_functional_views_functional_function_browser_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-FUN-103";
|
|
20
20
|
attribute :>> name = "GPCA_FunctionBrowserView";
|
|
21
21
|
attribute :>> title = "GPCA Function Browser";
|
|
22
22
|
attribute :>> shortDescription = "Membership tree over the functions layer: logical functions, flows, and the exchange item definitions, grouped by kind.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "Browser view (SysML v2 browser view kind) exposing the functions-layer membership hierarchy as a first-class view: the eleven logical functions, the logical flows connecting them, and the data/control definitions they exchange — with kind icons, expand/collapse, and filtering.";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::browser;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// logical viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_logical {
|
|
7
|
+
public import memo_viewpoints_logical_logical_viewpoint::*;
|
|
8
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_logical_views_behavior_action_flow_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_behavior_action_flow_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaActionFlowView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_logical_views_behavior_action_flow_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-BHV-003";
|
|
20
20
|
attribute :>> name = "GPCA_InfusionDeliveryActionFlowView";
|
|
21
21
|
attribute :>> title = "GPCA Infusion Delivery Action Flow";
|
|
22
22
|
attribute :>> shortDescription = "The 20 ms execution-step pipeline from sensor acquisition through alarm evaluation and dose limiting to pump actuation and event logging.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "Action flow over the infusionDeliveryFlow composite action: typed action steps with in/out parameters, item flows carrying the DD/CD exchange items, succession ordering from start to done, and swimlane allocation onto the logical architecture (sensors, alarm, infusion manager, pump motor, logging).";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::activityDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::actionflow;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_logical_views_document_architecture_description_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -8,22 +8,22 @@ package memo_examples_gpca_pump_model_views_document_architecture_description_vi
|
|
|
8
8
|
private import memo_core_enumerations::*;
|
|
9
9
|
|
|
10
10
|
view architectureDescriptionView : MemoDocumentView {
|
|
11
|
-
expose
|
|
11
|
+
expose memo_examples_gpca_pump_viewpoints_logical_views_document_architecture_description_view::*;
|
|
12
12
|
attribute :>> id = "DOC-005";
|
|
13
13
|
attribute :>> name = "ArchitectureDescriptionView";
|
|
14
14
|
attribute :>> title = "GPCA System Architecture Description View";
|
|
15
15
|
attribute :>> shortDescription = "ISO/IEC/IEEE 42010 architecture description across all layers.";
|
|
16
|
-
attribute :>>
|
|
16
|
+
attribute :>> description = "Aggregates context, operational, functional, logical, software, and physical layers with their views and correspondences for the system architecture description.";
|
|
17
17
|
attribute :>> version = "0.1";
|
|
18
18
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
19
|
-
attribute :>> viewKind = DocumentViewKind::
|
|
19
|
+
attribute :>> viewKind = DocumentViewKind::architectureDescription;
|
|
20
20
|
attribute :>> generationRule = "Include all architecture layers, functional chains, interfaces, and the physical BOM with cross-layer allocations";
|
|
21
21
|
attribute :>> marketScope = "generic";
|
|
22
22
|
attribute :>> documentUsage = ("Architecture Description", "DHF");
|
|
23
23
|
attribute :>> sectionIdentifier = "AD";
|
|
24
|
-
part
|
|
25
|
-
part
|
|
26
|
-
part
|
|
24
|
+
part vpLogicalArchitecture :> viewpointDefinition = logicalArchitectureViewpoint;
|
|
25
|
+
part vpSoftware :> viewpointDefinition = softwareViewpoint;
|
|
26
|
+
part vpPhysical :> viewpointDefinition = physicalViewpoint;
|
|
27
27
|
part :>> selectionQuery {
|
|
28
28
|
attribute :>> id = "QRY-DOC-005";
|
|
29
29
|
attribute :>> name = "architectureDescriptionViewQuery";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_logical_views_logical_device_interconnect_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_logical_device_interconnect_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaDeviceInterconnectView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_logical_views_logical_device_interconnect_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-LOG-003";
|
|
20
20
|
attribute :>> name = "GPCA_DeviceInterconnectView";
|
|
21
21
|
attribute :>> title = "GPCA Device Interconnect View";
|
|
22
|
-
attribute :>> shortDescription = "
|
|
23
|
-
attribute :>>
|
|
22
|
+
attribute :>> shortDescription = "AADL device-level interconnection: GPCA_HW_Sensors, GPCA_SW, and GPCA_HW_Actuators with their declared boundary features.";
|
|
23
|
+
attribute :>> description = "Source-faithful interconnection view of GPCA_Device.Impl: exactly the three AADL subcomponents (GPCA_HW_Sensors, GPCA_SW, GPCA_HW_Actuators), the device and subsystem boundary ports, and the twelve declared port connections. MEMO physical-design additions such as the controller board, power sources, enclosure, and individual sensors/actuators are intentionally excluded because the published AADL v2.0 model does not declare them as GPCA_Device.Impl subcomponents. Drill into GPCA_SW to inspect its eight subcomponents and 42 internal connections; use the connection-density control to switch between bundled summary and full fidelity.";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::internalDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::interconnection;
|
|
@@ -32,7 +32,7 @@ package memo_examples_gpca_pump_model_views_logical_device_interconnect_view {
|
|
|
32
32
|
part :>> selectionQuery {
|
|
33
33
|
attribute :>> id = "QRY-LOG-003";
|
|
34
34
|
attribute :>> name = "GPCA_DeviceInterconnectQuery";
|
|
35
|
-
attribute :>>
|
|
35
|
+
attribute :>> includeElementIds = ("gpcaDevice", "gpcaDeviceSensors", "gpcaSoftware", "gpcaActuators", "devOpCmdIn", "devDbIn", "devPresIn", "devPatientIn", "devGpcaOut", "snsOpCmdIn", "snsDbIn", "snsPresIn", "snsPatientIn", "snsOpCmdOut", "snsPresOut", "snsPatientOut", "snsSensorOut", "snsConstOut", "snsDbOut", "portOpCmdIn", "portPresIn", "portPatientIn", "portSensorIn", "portConstIn", "portDbIn", "portGpcaSwOut", "actGpcaSwIn", "actGpcaOut", "tlm", "systemStatus", "alarm", "config", "infusionMgr", "systemMonitor", "logging", "outputBus");
|
|
36
36
|
attribute :>> includeRelationshipKinds = ("ExchangesWith", "Composes");
|
|
37
37
|
attribute :>> includeLayers = ("logical_structure", "software_structure", "interfaces");
|
|
38
38
|
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_logical_views_logical_logical_architecture_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_logical_logical_architecture_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaLogicalArchitectureView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_logical_views_logical_logical_architecture_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-LOG-001";
|
|
20
20
|
attribute :>> name = "GPCA_LogicalArchitectureView";
|
|
21
21
|
attribute :>> title = "GPCA Logical Architecture View";
|
|
22
22
|
attribute :>> shortDescription = "Logical decomposition of the GPCA system.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "Product-specific logical architecture view that references the default logical architecture viewpoint and is intended for design description and architecture communication.";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_logical_views_logical_mode_state_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_logical_mode_state_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaModeStateView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_logical_views_logical_mode_state_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-BHV-001";
|
|
20
20
|
attribute :>> name = "GPCA_ModeStateView";
|
|
21
21
|
attribute :>> title = "GPCA Top-Level Mode State View";
|
|
22
22
|
attribute :>> shortDescription = "The CriSys Fig 4.1 mode hierarchy (OFF, ON, IDLE, THERAPY, PAUSED, ACTIVE, BASAL, SQUARE_BOLUS, PATIENT_BOLUS) and all guarded transitions.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "Hierarchical state diagram per CriSys §4.1 Fig 4.1: OFF and ON at top level, IDLE and THERAPY under ON, PAUSED (KVO delivery) and ACTIVE under THERAPY, and BASAL / SQUARE_BOLUS (auto-scheduled) / PATIENT_BOLUS under ACTIVE — with the REQ 4-47 transitions, Inhibited_* macro guards, and same-step-critical markings.";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::stateDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::statetransition;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_logical_views_logical_system_decomposition_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_logical_system_decomposition_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaSystemDecompositionView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_logical_views_logical_system_decomposition_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-LOG-002";
|
|
20
20
|
attribute :>> name = "GPCA_SystemDecompositionView";
|
|
21
21
|
attribute :>> title = "GPCA System Decomposition View";
|
|
22
22
|
attribute :>> shortDescription = "Nested containment of the GPCA device: hardware assemblies and the software system.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "General-kind membership structure of the GPCA device per the AADL GPCA_Device.Impl decomposition: sensor and actuator assemblies with their subcomponents, supporting hardware, and the GPCA software system with its eight AADL subcomponents. Rendered through the KK-2 General view template in containment mode (nested blocks with expand/collapse; the tree mode shows the same hierarchy as a decomposition tree).";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// operational viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_operational {
|
|
7
|
+
public import memo_viewpoints_operational_operational_viewpoint::*;
|
|
8
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_operational_views_operational_scenario_sequence_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,7 +14,7 @@ package memo_examples_gpca_pump_model_views_operational_scenario_sequence_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaScenarioSequenceView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_operational_views_operational_scenario_sequence_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-BHV-002";
|
|
20
20
|
attribute :>> name = "GPCA_ScenarioSequenceView";
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_operational_views_operational_use_case_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,13 +14,13 @@ package memo_examples_gpca_pump_model_views_operational_use_case_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaUseCaseView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_operational_views_operational_use_case_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-OPS-101";
|
|
20
20
|
attribute :>> name = "GPCA_UseCaseView";
|
|
21
21
|
attribute :>> title = "GPCA Use Case View";
|
|
22
22
|
attribute :>> shortDescription = "Actors connected to the patient-controlled analgesia use case.";
|
|
23
|
-
attribute :>>
|
|
23
|
+
attribute :>> description = "Connects the nurse, patient, prescriber, and pharmacist to the patient-controlled analgesia use case.";
|
|
24
24
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
25
|
attribute :>> presentationKind = (PresentationKind::custom);
|
|
26
26
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// physical viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_physical {
|
|
7
|
+
public import memo_viewpoints_physical_physical_viewpoint::*;
|
|
8
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_physical_views_physical_physical_bom_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -14,7 +14,7 @@ package memo_examples_gpca_pump_model_views_physical_physical_bom_view {
|
|
|
14
14
|
private import memo_core_enumerations::*;
|
|
15
15
|
|
|
16
16
|
view gpcaPhysicalBomView : MemoDiagramView {
|
|
17
|
-
expose
|
|
17
|
+
expose memo_examples_gpca_pump_viewpoints_physical_views_physical_physical_bom_view::*;
|
|
18
18
|
attribute depth = 2;
|
|
19
19
|
attribute :>> id = "VIEW-PHY-101";
|
|
20
20
|
attribute :>> name = "GPCA_PhysicalBomView";
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// requirements viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_gpca_pump_viewpoints_requirements {
|
|
7
|
+
public import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
8
|
+
}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_gpca_pump_viewpoints_requirements_views_document_dhf_index_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_viewpoints_definitions::*;
|
|
@@ -8,12 +8,12 @@ package memo_examples_gpca_pump_model_views_document_dhf_index_view {
|
|
|
8
8
|
private import memo_core_enumerations::*;
|
|
9
9
|
|
|
10
10
|
view dhfIndexView : MemoDocumentView {
|
|
11
|
-
expose
|
|
11
|
+
expose memo_examples_gpca_pump_viewpoints_requirements_views_document_dhf_index_view::*;
|
|
12
12
|
attribute :>> id = "DOC-007";
|
|
13
13
|
attribute :>> name = "DesignHistoryFileIndexView";
|
|
14
14
|
attribute :>> title = "GPCA Design History File Index View";
|
|
15
15
|
attribute :>> shortDescription = "Index of design inputs, outputs, reviews, and V&V records for the DHF.";
|
|
16
|
-
attribute :>>
|
|
16
|
+
attribute :>> description = "Collects the document-backed views (requirements, architecture, SDD, RMF, VV, usability, cybersecurity) into the design history file index required by 21 CFR 820.30(j).";
|
|
17
17
|
attribute :>> version = "0.1";
|
|
18
18
|
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
19
19
|
attribute :>> viewKind = DocumentViewKind::DHF;
|
|
@@ -21,9 +21,9 @@ package memo_examples_gpca_pump_model_views_document_dhf_index_view {
|
|
|
21
21
|
attribute :>> marketScope = "generic";
|
|
22
22
|
attribute :>> documentUsage = ("DHF");
|
|
23
23
|
attribute :>> sectionIdentifier = "DHF";
|
|
24
|
-
part
|
|
25
|
-
part
|
|
26
|
-
part
|
|
24
|
+
part vpRequirements :> viewpointDefinition = requirementsViewpoint;
|
|
25
|
+
part vpRisk :> viewpointDefinition = riskViewpoint;
|
|
26
|
+
part vpVerification :> viewpointDefinition = verificationViewpoint;
|
|
27
27
|
part :>> selectionQuery {
|
|
28
28
|
attribute :>> id = "QRY-DOC-007";
|
|
29
29
|
attribute :>> name = "dhfIndexViewQuery";
|