@memoarchitect/ontology 0.13.2 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/examples/connected-patient-monitor/memo.identity.yaml +34 -0
- package/examples/connected-patient-monitor/memo.package.yaml +3 -1
- package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +17 -12
- package/examples/connected-patient-monitor/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/embedded-infusion-pump/memo.package.yaml +3 -1
- package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +6 -6
- package/examples/embedded-infusion-pump/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/functional-logical-physical/memo.identity.yaml +28 -0
- package/examples/functional-logical-physical/memo.package.yaml +3 -1
- package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +5 -5
- package/examples/functional-logical-physical/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/gpca-pump/analysis/Samples/01-model-overview.ipynb +40 -139
- package/examples/gpca-pump/analysis/Samples/02-architecture-hotspots.ipynb +38 -290
- package/examples/gpca-pump/analysis/Samples/03-model-quality.ipynb +47 -217
- package/examples/gpca-pump/analysis/Samples/04-change-impact-explorer.ipynb +50 -191
- package/examples/gpca-pump/analysis/Samples/05-model-charts.ipynb +42 -181
- package/examples/gpca-pump/analysis/Samples/06-ownership-graph.ipynb +40 -164
- package/examples/gpca-pump/analysis/Samples/07-model-inventory-table.ipynb +51 -172
- package/examples/gpca-pump/analysis/Samples/README.md +15 -9
- package/examples/gpca-pump/analysis/memo_model.py +243 -0
- package/examples/gpca-pump/memo.identity.yaml +521 -26
- package/examples/gpca-pump/memo.package.yaml +3 -1
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +56 -47
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +51 -78
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +359 -357
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +9 -9
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +56 -69
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +44 -59
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +23 -35
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +33 -40
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +62 -63
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +362 -483
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +45 -70
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +6 -12
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +173 -169
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +139 -225
- package/examples/gpca-pump/model/catalog/gpca_standards.sysml +43 -47
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +68 -65
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +147 -116
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +65 -90
- package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +7 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_logical_architecture_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_risk_chain_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +2 -4
- package/examples/gpca-pump/model/{catalog → methodology}/project.sysml +8 -6
- package/examples/ivd-laboratory-system/memo.package.yaml +3 -1
- package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +12 -9
- package/examples/ivd-laboratory-system/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/manual-surgical-instrument/memo.package.yaml +3 -1
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +2 -6
- package/examples/manual-surgical-instrument/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/multidimensional-layers/memo.package.yaml +3 -1
- package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +2 -4
- package/examples/multidimensional-layers/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/nested-architecture-dsm/memo.identity.yaml +93 -0
- package/examples/nested-architecture-dsm/memo.package.yaml +3 -1
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +30 -30
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +28 -28
- package/examples/nested-architecture-dsm/model/catalog/architecture/operational/context.sysml +2 -4
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +4 -4
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +7 -7
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +8 -8
- package/examples/nested-architecture-dsm/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/reusable-instrument/memo.package.yaml +3 -1
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +7 -7
- package/examples/reusable-instrument/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/robot-cell-family/README.md +34 -0
- package/examples/robot-cell-family/memo.identity.yaml +142 -0
- package/examples/robot-cell-family/memo.package.yaml +7 -0
- package/examples/robot-cell-family/model/methodology/project.sysml +30 -0
- package/examples/robot-cell-family/model/shared/shared.sysml +53 -0
- package/examples/robot-cell-family/model/sos/chains.sysml +36 -0
- package/examples/robot-cell-family/model/sos/icds.sysml +29 -0
- package/examples/robot-cell-family/model/sos/sos.sysml +31 -0
- package/examples/robot-cell-family/model/sos/use_cases.sysml +25 -0
- package/examples/robot-cell-family/model/systems/manipulation/manipulation_system.sysml +35 -0
- package/examples/robot-cell-family/model/systems/navigation/navigation_system.sysml +46 -0
- package/examples/robot-cell-family/model/systems/perception/perception_system.sysml +37 -0
- package/examples/robot-platform/memo.package.yaml +3 -0
- package/examples/robot-platform/model/platform.sysml +15 -0
- package/examples/ros-mobile-robot/README.md +5 -4
- package/examples/ros-mobile-robot/memo.identity.yaml +94 -0
- package/examples/ros-mobile-robot/memo.package.yaml +3 -1
- package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +26 -29
- package/examples/ros-mobile-robot/model/{catalog → methodology}/project.sysml +8 -14
- package/examples/software-only-medical-device/memo.package.yaml +3 -1
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +9 -10
- package/examples/software-only-medical-device/model/{catalog → methodology}/project.sysml +8 -9
- package/examples/surgical-closure-workflow/memo.package.yaml +3 -1
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +23 -26
- package/examples/surgical-closure-workflow/model/{catalog → methodology}/project.sysml +7 -5
- package/examples/surgical-robot/memo.package.yaml +3 -1
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +14 -12
- package/examples/surgical-robot/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/sysml-diagram-samples/README.md +1 -0
- package/examples/sysml-diagram-samples/memo.identity.yaml +459 -0
- package/examples/sysml-diagram-samples/memo.package.yaml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +10 -20
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +5 -5
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/browser_view.sysml +10 -13
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +11 -7
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/diagram_samples.sysml +63 -8
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/drill_down_view.sysml +88 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +25 -25
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/grid_view.sysml +6 -6
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +15 -17
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +21 -21
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/package_view.sysml +7 -7
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +5 -5
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/sequence_view.sysml +14 -14
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +16 -17
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +9 -9
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +7 -14
- package/examples/sysml-diagram-samples/model/{catalog → methodology}/project.sysml +5 -5
- package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +1 -1
- package/examples/temperature-alarm/memo.identity.yaml +6 -0
- package/examples/temperature-alarm/memo.package.yaml +3 -1
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +43 -21
- package/examples/temperature-alarm/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/ui-screen-regions/memo.identity.yaml +33 -0
- package/examples/ui-screen-regions/memo.package.yaml +3 -1
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +12 -12
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +18 -18
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +6 -6
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +3 -3
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +1 -1
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +1 -1
- package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +10 -10
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +1 -1
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +12 -12
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +15 -15
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +6 -6
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +1 -2
- package/examples/ui-screen-regions/model/{catalog → methodology}/project.sysml +4 -5
- package/extensions/README.md +65 -16
- package/extensions/aadl/memo.package.yaml +1 -1
- package/extensions/aadl/src/aadl_extension.sysml +5 -2
- package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +29 -50
- package/extensions/clinical/memo.package.yaml +1 -1
- package/extensions/clinical/src/clinical_extension.sysml +2 -0
- package/extensions/cloud/memo.package.yaml +1 -1
- package/extensions/container/memo.package.yaml +1 -1
- package/extensions/messaging/memo.package.yaml +1 -1
- package/extensions/messaging/src/messaging_extension.sysml +2 -2
- package/extensions/ros/memo.package.yaml +1 -1
- package/extensions/ros/src/ros_extension.sysml +25 -24
- package/extensions/template/memo.package.yaml +1 -1
- package/extensions/template/model/extension.sysml +25 -0
- package/memo.manifest.yaml +1 -7
- package/methodologies/default/memo.package.yaml +1 -1
- package/methodologies/gpca/memo.package.yaml +1 -1
- package/ontology/memo.package.yaml +1 -1
- package/package.json +6 -4
- package/profile/memo.package.yaml +1 -1
- package/src/architecture/decisions/memo_decisions.sysml +9 -2
- package/src/architecture/functional/behavior/memo_behavior.sysml +27 -7
- package/src/architecture/functional/functions/memo_functions.sysml +45 -31
- package/src/architecture/functional/memo_architecture_functional.sysml +14 -0
- package/src/architecture/implementation/memo_architecture_implementation.sysml +21 -0
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +7 -0
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +58 -17
- package/src/architecture/implementation/ui/memo_ui.sysml +1 -1
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +67 -58
- package/src/architecture/logical/memo_architecture_logical.sysml +13 -0
- package/src/architecture/logical/structure/memo_logical_structure.sysml +27 -8
- package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +4 -1
- package/src/architecture/operational/memo_architecture_operational.sysml +19 -0
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +9 -8
- package/src/architecture/operational/structure/memo_operational.sysml +5 -2
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +16 -8
- package/src/architecture/realization/deployment/memo_deployment.sysml +30 -10
- package/src/architecture/realization/memo_architecture_realization.sysml +13 -0
- package/src/architecture/realization/physical/memo_physical_architecture.sysml +61 -0
- package/src/architecture/variability/memo_variability.sysml +87 -0
- package/src/artifacts/configuration_management/memo_configuration_management.sysml +95 -3
- package/src/artifacts/core/memo_controlled_artifacts.sysml +4 -2
- package/src/artifacts/standards/cfr_21_820.sysml +12 -24
- package/src/artifacts/standards/fda_cybersecurity_2023.sysml +13 -20
- package/src/artifacts/standards/iec_60601_1.sysml +16 -32
- package/src/artifacts/standards/iec_60601_1_2.sysml +5 -10
- package/src/artifacts/standards/iec_60812.sysml +4 -8
- package/src/artifacts/standards/iec_62304.sysml +607 -47
- package/src/artifacts/standards/iec_62366_1.sysml +12 -24
- package/src/artifacts/standards/iec_81001_5_1.sysml +8 -16
- package/src/artifacts/standards/iso_13485.sysml +12 -24
- package/src/artifacts/standards/iso_14971.sysml +118 -20
- package/src/artifacts/standards/iso_iec_ieee_42010.sysml +3 -6
- package/src/artifacts/standards/memo_artifacts_standards_traceability.sysml +14 -4
- package/src/artifacts/templates/dhf/fda-cybersecurity/postmarket-surveillance.md +1 -2
- package/src/artifacts/templates/dhf/fda-cybersecurity/vuln-assessment.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/sad.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/sbom.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/sdp.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/soup.md +3 -5
- package/src/artifacts/templates/dhf/system/sad.md +1 -1
- package/src/artifacts/templates/dhf/system/standards-checklist.md +2 -2
- package/src/artifacts/templates/dhf/system/standards-traceability.md +1 -1
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +339 -13
- package/src/assurance/human_factors/memo_human_factors.sysml +6 -2
- package/src/assurance/safety_risk/analysis/memo_fmea.sysml +7 -3
- package/src/assurance/safety_risk/memo_risk.sysml +39 -1
- package/src/core/common/memo_common.sysml +51 -68
- package/src/core/enumerations/memo_enumerations.sysml +93 -9
- package/src/core/relationships/memo_relationships.sysml +17 -11
- package/src/core/relationships/memo_workspace_membership.sysml +284 -0
- package/src/core/semantics/semantics.sysml +58 -0
- package/src/core/terminology/terminology.sysml +7 -0
- package/src/memo_namespaces.sysml +6 -0
- package/src/methodology/archetypes/memo_archetypes.sysml +8 -16
- package/src/methodology/core/memo_core.sysml +85 -29
- package/src/methodology/profiles/memo_profiles.sysml +217 -61
- package/src/methodology/workflow/memo_workflow.sysml +28 -0
- package/src/rules/closure/closure_rules.sysml +250 -4
- package/src/rules/crosslayer/cross_layer_rules.sysml +11 -0
- package/src/rules/ontology/ontology_invariants.sysml +288 -48
- package/src/rules/quantitative/quantitative_rules.sysml +4 -0
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +28 -28
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +2 -3
- package/src/viewpoints/context/context_viewpoint.sysml +2 -3
- package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +3 -5
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +2 -3
- package/src/viewpoints/definitions/memo_view_layout.sysml +150 -0
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +0 -4
- package/src/viewpoints/functional/functional_viewpoint.sysml +2 -3
- package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +2 -4
- package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +2 -4
- package/src/viewpoints/logical/logical_viewpoint.sysml +2 -3
- package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +2 -4
- package/src/viewpoints/operational/operational_viewpoint.sysml +2 -3
- package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +3 -5
- package/src/viewpoints/physical/physical_viewpoint.sysml +2 -3
- package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +2 -4
- package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +2 -4
- package/src/viewpoints/rendering/memo_rendering.sysml +50 -98
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +2 -3
- package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +2 -4
- package/src/viewpoints/risk/risk_viewpoint.sysml +2 -3
- package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +2 -4
- package/src/viewpoints/software/software_viewpoint.sysml +2 -3
- package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +3 -5
- package/src/viewpoints/stakeholders_concerns/memo_stakeholders_concerns.sysml +11 -29
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +2 -3
- package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +1 -1
- package/src/viewpoints/usability/usability_viewpoint.sysml +2 -3
- package/src/viewpoints/verification/verification_viewpoint.sysml +2 -3
- package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +2 -4
- package/stage1/syside-67f92dc96ba75cd05b5c8d13.ids.gz +0 -0
- package/stage1/syside-67f92dc96ba75cd05b5c8d13.json.gz +0 -0
- package/templates/default/memo.package.yaml +6 -1
- package/templates/default/model/catalog/architecture/system.sysml +7 -3
- package/templates/default/model/{catalog → methodology}/project.sysml +3 -4
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +0 -47
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +0 -94
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +0 -13
- package/examples/ui-screen-regions/model/catalog/relationships.sysml +0 -8
- package/extensions/aadl/src/methodology/aadl_methodology.sysml +0 -19
- package/extensions/clinical/src/methodology/clinical_methodology.sysml +0 -24
- package/extensions/cloud/src/methodology/cloud_methodology.sysml +0 -19
- package/extensions/container/src/methodology/container_methodology.sysml +0 -19
- package/extensions/messaging/src/methodology/messaging_methodology.sysml +0 -19
- package/extensions/ros/src/methodology/ros_methodology.sysml +0 -27
- package/extensions/template/src/extension.sysml +0 -39
- package/templates/connected-device/memo.package.yaml +0 -13
- package/templates/connected-device/model/catalog/architecture/system.sysml +0 -5
- package/templates/connected-device/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/connected-device/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/connected-device/model/catalog/project.sysml +0 -30
- package/templates/connected-device/package.json +0 -8
- package/templates/connected-device/syside.toml +0 -13
- package/templates/infusion-pump/memo.package.yaml +0 -13
- package/templates/infusion-pump/model/catalog/architecture/system.sysml +0 -5
- package/templates/infusion-pump/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/infusion-pump/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/infusion-pump/model/catalog/project.sysml +0 -30
- package/templates/infusion-pump/package.json +0 -8
- package/templates/infusion-pump/syside.toml +0 -13
- package/templates/monitoring-device/memo.package.yaml +0 -13
- package/templates/monitoring-device/model/catalog/architecture/system.sysml +0 -5
- package/templates/monitoring-device/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/monitoring-device/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/monitoring-device/model/catalog/project.sysml +0 -30
- package/templates/monitoring-device/package.json +0 -8
- package/templates/monitoring-device/syside.toml +0 -13
- package/templates/samd/memo.package.yaml +0 -13
- package/templates/samd/model/catalog/architecture/system.sysml +0 -5
- package/templates/samd/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/samd/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/samd/model/catalog/project.sysml +0 -30
- package/templates/samd/package.json +0 -8
- package/templates/samd/syside.toml +0 -13
|
@@ -10,15 +10,107 @@ package memo_artifacts_configuration_management {
|
|
|
10
10
|
attribute changeType : ChangeTypeKind;
|
|
11
11
|
attribute impactAssessment : String;
|
|
12
12
|
attribute approvalStatus : String;
|
|
13
|
-
|
|
13
|
+
// The release a change affects is `#AffectsRelease dependency from <request> to <record>;`
|
|
14
|
+
// (below), not a string naming a baseline.
|
|
14
15
|
}
|
|
15
16
|
|
|
16
17
|
part def ConfigurationItem :> MemoPart {
|
|
17
|
-
|
|
18
|
-
|
|
18
|
+
// No version and no baseline: both belong to a release of the item, not to the item
|
|
19
|
+
// (plan O2). A `ReleaseRecord` whose `#ReleaseOf` is this item carries them.
|
|
19
20
|
attribute controlLevel : String;
|
|
20
21
|
}
|
|
21
22
|
|
|
23
|
+
// A release record is one release of one item: rev D and rev E of a part, or its EU and its US
|
|
24
|
+
// release, are separate records, each with its own part number and revision (plan O2). The
|
|
25
|
+
// definition of the item is held once and carries no revision. The record is an element with a
|
|
26
|
+
// status (inherited from MemoPart: proposed, draft, ... released), so a release moves through
|
|
27
|
+
// the lifecycle the way any element does.
|
|
28
|
+
//
|
|
29
|
+
// part relPumpD : ReleaseRecord {
|
|
30
|
+
// :>> partNumber = "PN-1001"; :>> revision = "D"; :>> modelCommit = "9f2c...";
|
|
31
|
+
// }
|
|
32
|
+
// #ReleaseOf dependency from relPumpD to PumpSystem;
|
|
33
|
+
//
|
|
34
|
+
// `softwareVersion` and `codeTag` are for an item that is software; a record of anything else
|
|
35
|
+
// leaves them out. The links are typed dependencies, because a record's item is a definition and
|
|
36
|
+
// a `ref` cannot point at one: a Dependency's client and supplier are any element
|
|
37
|
+
// (SysML-textual-bnf.kebnf:51-59), and the metadata prefix names the kind (`:52`).
|
|
38
|
+
//
|
|
39
|
+
// A release of a system of systems is the same record with a system of systems for its item. It
|
|
40
|
+
// `#Contains` the records of the system releases it pins, and is the validated configuration:
|
|
41
|
+
// `#VerifiedByCase` names the verification cases that validated it.
|
|
42
|
+
part def ReleaseRecord :> MemoPart {
|
|
43
|
+
attribute partNumber : String[1];
|
|
44
|
+
attribute revision : String[1];
|
|
45
|
+
attribute softwareVersion : String[0..1];
|
|
46
|
+
attribute codeTag : String[0..1];
|
|
47
|
+
// The commit of the model this release was built from. A record cannot hold the hash of the
|
|
48
|
+
// commit that adds it, so it is written after the commit it pins and is always found in a
|
|
49
|
+
// folder that is not itself pinned (`sos/`).
|
|
50
|
+
attribute modelCommit : String[1];
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
metadata def ReleaseOf :> MemoTypedDependency {
|
|
54
|
+
doc /* `#ReleaseOf dependency from <record> to <item definition>;` The record is a release of this item. One record, one item. */
|
|
55
|
+
}
|
|
56
|
+
metadata def Contains :> MemoTypedDependency {
|
|
57
|
+
doc /* `#Contains dependency from <record> to <record>, <record>;` The release pins these releases: a system of systems version its systems, a system release its components. */
|
|
58
|
+
}
|
|
59
|
+
metadata def Implements :> MemoTypedDependency {
|
|
60
|
+
doc /* `#Implements dependency from <record> to <interface record>;` The release implements this revision of an interface. */
|
|
61
|
+
}
|
|
62
|
+
metadata def VerifiedByCase :> MemoTypedDependency {
|
|
63
|
+
doc /* `#VerifiedByCase dependency from <record> to <verification case>;` The case that verified, or for a system of systems version validated, this release. `verifiedBy` is taken by the native relation from a requirement to its case. */
|
|
64
|
+
}
|
|
65
|
+
metadata def AffectsRelease :> MemoTypedDependency {
|
|
66
|
+
doc /* `#AffectsRelease dependency from <change request> to <record>;` The release a change request is raised against. */
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// A regulated device is one approval in one jurisdiction (plan O6): the thing a regulator is asked to
|
|
70
|
+
// clear. It is not an item and not a release: it COVERS the system releases the approval names, so two
|
|
71
|
+
// markets can ship different releases of one system, each with its own design history and risk file.
|
|
72
|
+
//
|
|
73
|
+
// part deviceFda : RegulatedDevice {
|
|
74
|
+
// attribute :>> jurisdiction = RegulatoryRegimeKind::FDA_510k;
|
|
75
|
+
// attribute :>> submissionId = "K123456";
|
|
76
|
+
// }
|
|
77
|
+
// #Covers dependency from deviceFda to relPumpD;
|
|
78
|
+
//
|
|
79
|
+
// The jurisdiction is a `RegulatoryRegimeKind`, the same enum the standards library and the document
|
|
80
|
+
// templates (`required_for`) are written against, so a device selects the standards it must meet and the
|
|
81
|
+
// documents it must have. It replaces `ModelMethodBinding.regulatoryRegime`, which stated one regime set
|
|
82
|
+
// for a whole model and is read only when the model declares no device.
|
|
83
|
+
//
|
|
84
|
+
// `IntendedUseOf` and `UsedWith` (plan O6) are not declared: the plan names no end for either, and an end
|
|
85
|
+
// is not invented to fill a name. `Covers` is the link every part of M5 needs.
|
|
86
|
+
part def RegulatedDevice :> MemoPart {
|
|
87
|
+
attribute jurisdiction : RegulatoryRegimeKind[1];
|
|
88
|
+
attribute submissionId : String[0..1];
|
|
89
|
+
}
|
|
90
|
+
|
|
91
|
+
metadata def Covers :> MemoTypedDependency {
|
|
92
|
+
doc /* `#Covers dependency from <device>, to <record>, <record>;` The approval covers these system releases. */
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
// A project is a change set in an iteration (plan O7): the work that produces releases. It holds a link to
|
|
96
|
+
// where the work is tracked and nothing else; the merge request is the approval. It FEEDS the release records
|
|
97
|
+
// it contributes to, and a variant records the project that introduced it, so "which work gave us this
|
|
98
|
+
// option, and which releases did it reach" is two links.
|
|
99
|
+
//
|
|
100
|
+
// part prjIrrigatedTip : Project { attribute :>> trackerLink = "https://tracker.example/PRJ-12"; }
|
|
101
|
+
// #Feeds dependency from prjIrrigatedTip to relGeneratorEu, relGeneratorUs;
|
|
102
|
+
// #IntroducedBy dependency from outputStage::usOutput to prjIrrigatedTip;
|
|
103
|
+
part def Project :> MemoPart {
|
|
104
|
+
attribute trackerLink : String[0..1];
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
metadata def Feeds :> MemoTypedDependency {
|
|
108
|
+
doc /* `#Feeds dependency from <project> to <record>, <record>;` The project's work is in these releases. */
|
|
109
|
+
}
|
|
110
|
+
metadata def IntroducedBy :> MemoTypedDependency {
|
|
111
|
+
doc /* `#IntroducedBy dependency from <variant> to <project>;` The project that introduced this variant. */
|
|
112
|
+
}
|
|
113
|
+
|
|
22
114
|
// ── Relations owned by this package ─────────────────────────────
|
|
23
115
|
// Moved out of memo_core_relationships: their ends are typed against
|
|
24
116
|
// types declared here, and core must not depend on a domain package.
|
|
@@ -4,9 +4,11 @@ package memo_artifacts_core {
|
|
|
4
4
|
private import memo_core_common::*;
|
|
5
5
|
private import memo_core_enumerations::*;
|
|
6
6
|
|
|
7
|
-
|
|
7
|
+
// An artifact is a part: a document, a standard, a clause of one. A
|
|
8
|
+
// relationship end typed MemoArtifact (TracesToDocument) takes all of them.
|
|
9
|
+
abstract part def MemoArtifact :> MemoPart;
|
|
8
10
|
|
|
9
|
-
|
|
11
|
+
part def ControlledArtifact :> MemoArtifact {
|
|
10
12
|
attribute version : String;
|
|
11
13
|
attribute artifactKind : ArtifactKind;
|
|
12
14
|
attribute owner : String;
|
|
@@ -17,84 +17,72 @@ package memo_artifacts_standards_cfr_21_820 {
|
|
|
17
17
|
|
|
18
18
|
private import memo_core_common::*;
|
|
19
19
|
private import memo_core_common::MemoIdentity;
|
|
20
|
-
|
|
20
|
+
part cfr21Part820 : RegulatoryStandard {
|
|
21
21
|
@MemoIdentity { :>> providedId = "STD-21-CFR-820"; }
|
|
22
|
-
attribute :>> name = "CFR21Part820";
|
|
23
22
|
attribute :>> designation = "21 CFR Part 820";
|
|
24
23
|
attribute :>> issuer = "FDA";
|
|
25
24
|
attribute :>> appliesToRegime = (RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
|
|
26
|
-
|
|
25
|
+
part cfr820_30 : StandardClause {
|
|
27
26
|
@MemoIdentity { :>> providedId = "STD-21-CFR-820-30"; }
|
|
28
|
-
attribute :>> name = "CFR820_30";
|
|
29
27
|
attribute :>> clauseNumber = "820.30";
|
|
30
28
|
attribute :>> title = "design controls";
|
|
31
29
|
attribute :>> normativeStrength = "shall";
|
|
32
|
-
|
|
30
|
+
part cfr820_30a : StandardClause {
|
|
33
31
|
@MemoIdentity { :>> providedId = "STD-21-CFR-820-30-A"; }
|
|
34
|
-
attribute :>> name = "CFR820_30a";
|
|
35
32
|
attribute :>> clauseNumber = "820.30(a)";
|
|
36
33
|
attribute :>> title = "general design control applicability";
|
|
37
34
|
attribute :>> normativeStrength = "shall";
|
|
38
35
|
}
|
|
39
|
-
|
|
36
|
+
part cfr820_30b : StandardClause {
|
|
40
37
|
@MemoIdentity { :>> providedId = "STD-21-CFR-820-30-B"; }
|
|
41
|
-
attribute :>> name = "CFR820_30b";
|
|
42
38
|
attribute :>> clauseNumber = "820.30(b)";
|
|
43
39
|
attribute :>> title = "design and development planning";
|
|
44
40
|
attribute :>> normativeStrength = "shall";
|
|
45
41
|
}
|
|
46
|
-
|
|
42
|
+
part cfr820_30c : StandardClause {
|
|
47
43
|
@MemoIdentity { :>> providedId = "STD-21-CFR-820-30-C"; }
|
|
48
|
-
attribute :>> name = "CFR820_30c";
|
|
49
44
|
attribute :>> clauseNumber = "820.30(c)";
|
|
50
45
|
attribute :>> title = "design input";
|
|
51
46
|
attribute :>> normativeStrength = "shall";
|
|
52
47
|
}
|
|
53
|
-
|
|
48
|
+
part cfr820_30d : StandardClause {
|
|
54
49
|
@MemoIdentity { :>> providedId = "STD-21-CFR-820-30-D"; }
|
|
55
|
-
attribute :>> name = "CFR820_30d";
|
|
56
50
|
attribute :>> clauseNumber = "820.30(d)";
|
|
57
51
|
attribute :>> title = "design output";
|
|
58
52
|
attribute :>> normativeStrength = "shall";
|
|
59
53
|
}
|
|
60
|
-
|
|
54
|
+
part cfr820_30e : StandardClause {
|
|
61
55
|
@MemoIdentity { :>> providedId = "STD-21-CFR-820-30-E"; }
|
|
62
|
-
attribute :>> name = "CFR820_30e";
|
|
63
56
|
attribute :>> clauseNumber = "820.30(e)";
|
|
64
57
|
attribute :>> title = "design review";
|
|
65
58
|
attribute :>> normativeStrength = "shall";
|
|
66
59
|
}
|
|
67
|
-
|
|
60
|
+
part cfr820_30f : StandardClause {
|
|
68
61
|
@MemoIdentity { :>> providedId = "STD-21-CFR-820-30-F"; }
|
|
69
|
-
attribute :>> name = "CFR820_30f";
|
|
70
62
|
attribute :>> clauseNumber = "820.30(f)";
|
|
71
63
|
attribute :>> title = "design verification";
|
|
72
64
|
attribute :>> normativeStrength = "shall";
|
|
73
65
|
}
|
|
74
|
-
|
|
66
|
+
part cfr820_30g : StandardClause {
|
|
75
67
|
@MemoIdentity { :>> providedId = "STD-21-CFR-820-30-G"; }
|
|
76
|
-
attribute :>> name = "CFR820_30g";
|
|
77
68
|
attribute :>> clauseNumber = "820.30(g)";
|
|
78
69
|
attribute :>> title = "design validation";
|
|
79
70
|
attribute :>> normativeStrength = "shall";
|
|
80
71
|
}
|
|
81
|
-
|
|
72
|
+
part cfr820_30h : StandardClause {
|
|
82
73
|
@MemoIdentity { :>> providedId = "STD-21-CFR-820-30-H"; }
|
|
83
|
-
attribute :>> name = "CFR820_30h";
|
|
84
74
|
attribute :>> clauseNumber = "820.30(h)";
|
|
85
75
|
attribute :>> title = "design transfer";
|
|
86
76
|
attribute :>> normativeStrength = "shall";
|
|
87
77
|
}
|
|
88
|
-
|
|
78
|
+
part cfr820_30i : StandardClause {
|
|
89
79
|
@MemoIdentity { :>> providedId = "STD-21-CFR-820-30-I"; }
|
|
90
|
-
attribute :>> name = "CFR820_30i";
|
|
91
80
|
attribute :>> clauseNumber = "820.30(i)";
|
|
92
81
|
attribute :>> title = "design changes";
|
|
93
82
|
attribute :>> normativeStrength = "shall";
|
|
94
83
|
}
|
|
95
|
-
|
|
84
|
+
part cfr820_30j : StandardClause {
|
|
96
85
|
@MemoIdentity { :>> providedId = "STD-21-CFR-820-30-J"; }
|
|
97
|
-
attribute :>> name = "CFR820_30j";
|
|
98
86
|
attribute :>> clauseNumber = "820.30(j)";
|
|
99
87
|
attribute :>> title = "design history file";
|
|
100
88
|
attribute :>> normativeStrength = "shall";
|
|
@@ -20,51 +20,44 @@ package memo_artifacts_standards_fda_cybersecurity_2023 {
|
|
|
20
20
|
|
|
21
21
|
private import memo_core_common::*;
|
|
22
22
|
private import memo_core_common::MemoIdentity;
|
|
23
|
-
|
|
23
|
+
part fdaCybersecurity2023 : RegulatoryStandard {
|
|
24
24
|
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023"; }
|
|
25
|
-
attribute :>> name = "FDACybersecurity2023";
|
|
26
25
|
attribute :>> designation = "FDA Cybersecurity Guidance 2023";
|
|
27
26
|
attribute :>> edition = "2023-09";
|
|
28
27
|
attribute :>> issuer = "FDA";
|
|
29
28
|
attribute :>> appliesToRegime = (RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
|
|
30
|
-
|
|
31
|
-
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023-IV"; }
|
|
32
|
-
attribute :>> name = "FDACyberSectionIV";
|
|
29
|
+
part fdaCyberSection4 : StandardClause {
|
|
30
|
+
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023-IV"; :>> label = "FDACyberSectionIV"; }
|
|
33
31
|
attribute :>> clauseNumber = "IV";
|
|
34
32
|
attribute :>> title = "general cybersecurity principles";
|
|
35
33
|
attribute :>> normativeStrength = "informative";
|
|
36
34
|
}
|
|
37
|
-
|
|
38
|
-
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023-V"; }
|
|
39
|
-
attribute :>> name = "FDACyberSectionV";
|
|
35
|
+
part fdaCyberSection5 : StandardClause {
|
|
36
|
+
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023-V"; :>> label = "FDACyberSectionV"; }
|
|
40
37
|
attribute :>> clauseNumber = "V";
|
|
41
38
|
attribute :>> title = "secure product development framework";
|
|
42
39
|
attribute :>> normativeStrength = "informative";
|
|
43
|
-
|
|
44
|
-
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023-V-A"; }
|
|
45
|
-
attribute :>> name = "FDACyberSectionVA";
|
|
40
|
+
part fdaCyberSection5A : StandardClause {
|
|
41
|
+
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023-V-A"; :>> label = "FDACyberSectionVA"; }
|
|
46
42
|
attribute :>> clauseNumber = "V.A";
|
|
47
43
|
attribute :>> title = "security risk management";
|
|
48
44
|
attribute :>> normativeStrength = "informative";
|
|
49
45
|
}
|
|
50
|
-
|
|
51
|
-
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023-V-B"; }
|
|
52
|
-
attribute :>> name = "FDACyberSectionVB";
|
|
46
|
+
part fdaCyberSection5B : StandardClause {
|
|
47
|
+
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023-V-B"; :>> label = "FDACyberSectionVB"; }
|
|
53
48
|
attribute :>> clauseNumber = "V.B";
|
|
54
49
|
attribute :>> title = "security architecture";
|
|
55
50
|
attribute :>> normativeStrength = "informative";
|
|
56
51
|
}
|
|
57
|
-
|
|
58
|
-
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023-V-C"; }
|
|
59
|
-
attribute :>> name = "FDACyberSectionVC";
|
|
52
|
+
part fdaCyberSection5C : StandardClause {
|
|
53
|
+
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023-V-C"; :>> label = "FDACyberSectionVC"; }
|
|
60
54
|
attribute :>> clauseNumber = "V.C";
|
|
61
55
|
attribute :>> title = "cybersecurity testing";
|
|
62
56
|
attribute :>> normativeStrength = "informative";
|
|
63
57
|
}
|
|
64
58
|
}
|
|
65
|
-
|
|
66
|
-
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023-VI"; }
|
|
67
|
-
attribute :>> name = "FDACyberSectionVI";
|
|
59
|
+
part fdaCyberSection6 : StandardClause {
|
|
60
|
+
@MemoIdentity { :>> providedId = "STD-FDA-CYBER-2023-VI"; :>> label = "FDACyberSectionVI"; }
|
|
68
61
|
attribute :>> clauseNumber = "VI";
|
|
69
62
|
attribute :>> title = "cybersecurity transparency and vulnerability management";
|
|
70
63
|
attribute :>> normativeStrength = "informative";
|
|
@@ -17,114 +17,98 @@ package memo_artifacts_standards_iec_60601_1 {
|
|
|
17
17
|
|
|
18
18
|
private import memo_core_common::*;
|
|
19
19
|
private import memo_core_common::MemoIdentity;
|
|
20
|
-
|
|
20
|
+
part iec60601_1 : RegulatoryStandard {
|
|
21
21
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1"; }
|
|
22
|
-
attribute :>> name = "IEC60601_1";
|
|
23
22
|
attribute :>> designation = "IEC 60601-1:2005+AMD1:2012+AMD2:2020";
|
|
24
23
|
attribute :>> edition = "3.2";
|
|
25
24
|
attribute :>> issuer = "IEC";
|
|
26
25
|
attribute :>> appliesToRegime = (RegulatoryRegimeKind::CE, RegulatoryRegimeKind::MDR, RegulatoryRegimeKind::UKCA, RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
|
|
27
|
-
|
|
26
|
+
part iec60601_1Clause4 : StandardClause {
|
|
28
27
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-4"; }
|
|
29
|
-
attribute :>> name = "IEC60601_1Clause4";
|
|
30
28
|
attribute :>> clauseNumber = "4";
|
|
31
29
|
attribute :>> title = "general requirements for basic safety and essential performance";
|
|
32
30
|
attribute :>> normativeStrength = "shall";
|
|
33
|
-
|
|
31
|
+
part iec60601_1Clause4_2 : StandardClause {
|
|
34
32
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-4-2"; }
|
|
35
|
-
attribute :>> name = "IEC60601_1Clause4_2";
|
|
36
33
|
attribute :>> clauseNumber = "4.2";
|
|
37
34
|
attribute :>> title = "risk management process for medical electrical equipment";
|
|
38
35
|
attribute :>> normativeStrength = "shall";
|
|
39
36
|
}
|
|
40
|
-
|
|
37
|
+
part iec60601_1Clause4_3 : StandardClause {
|
|
41
38
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-4-3"; }
|
|
42
|
-
attribute :>> name = "IEC60601_1Clause4_3";
|
|
43
39
|
attribute :>> clauseNumber = "4.3";
|
|
44
40
|
attribute :>> title = "essential performance identification";
|
|
45
41
|
attribute :>> normativeStrength = "shall";
|
|
46
42
|
}
|
|
47
43
|
}
|
|
48
|
-
|
|
44
|
+
part iec60601_1Clause5 : StandardClause {
|
|
49
45
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-5"; }
|
|
50
|
-
attribute :>> name = "IEC60601_1Clause5";
|
|
51
46
|
attribute :>> clauseNumber = "5";
|
|
52
47
|
attribute :>> title = "general requirements for testing";
|
|
53
48
|
attribute :>> normativeStrength = "shall";
|
|
54
49
|
}
|
|
55
|
-
|
|
50
|
+
part iec60601_1Clause7 : StandardClause {
|
|
56
51
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-7"; }
|
|
57
|
-
attribute :>> name = "IEC60601_1Clause7";
|
|
58
52
|
attribute :>> clauseNumber = "7";
|
|
59
53
|
attribute :>> title = "equipment identification, marking and accompanying documents";
|
|
60
54
|
attribute :>> normativeStrength = "shall";
|
|
61
55
|
}
|
|
62
|
-
|
|
56
|
+
part iec60601_1Clause8 : StandardClause {
|
|
63
57
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-8"; }
|
|
64
|
-
attribute :>> name = "IEC60601_1Clause8";
|
|
65
58
|
attribute :>> clauseNumber = "8";
|
|
66
59
|
attribute :>> title = "protection against electrical hazards";
|
|
67
60
|
attribute :>> normativeStrength = "shall";
|
|
68
61
|
}
|
|
69
|
-
|
|
62
|
+
part iec60601_1Clause9 : StandardClause {
|
|
70
63
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-9"; }
|
|
71
|
-
attribute :>> name = "IEC60601_1Clause9";
|
|
72
64
|
attribute :>> clauseNumber = "9";
|
|
73
65
|
attribute :>> title = "protection against mechanical hazards";
|
|
74
66
|
attribute :>> normativeStrength = "shall";
|
|
75
67
|
}
|
|
76
|
-
|
|
68
|
+
part iec60601_1Clause10 : StandardClause {
|
|
77
69
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-10"; }
|
|
78
|
-
attribute :>> name = "IEC60601_1Clause10";
|
|
79
70
|
attribute :>> clauseNumber = "10";
|
|
80
71
|
attribute :>> title = "protection against unwanted and excessive radiation";
|
|
81
72
|
attribute :>> normativeStrength = "shall";
|
|
82
73
|
}
|
|
83
|
-
|
|
74
|
+
part iec60601_1Clause11 : StandardClause {
|
|
84
75
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-11"; }
|
|
85
|
-
attribute :>> name = "IEC60601_1Clause11";
|
|
86
76
|
attribute :>> clauseNumber = "11";
|
|
87
77
|
attribute :>> title = "protection against excessive temperatures and related hazards";
|
|
88
78
|
attribute :>> normativeStrength = "shall";
|
|
89
79
|
}
|
|
90
|
-
|
|
80
|
+
part iec60601_1Clause12 : StandardClause {
|
|
91
81
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-12"; }
|
|
92
|
-
attribute :>> name = "IEC60601_1Clause12";
|
|
93
82
|
attribute :>> clauseNumber = "12";
|
|
94
83
|
attribute :>> title = "accuracy of controls and protection against hazardous output";
|
|
95
84
|
attribute :>> normativeStrength = "shall";
|
|
96
85
|
}
|
|
97
|
-
|
|
86
|
+
part iec60601_1Clause13 : StandardClause {
|
|
98
87
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-13"; }
|
|
99
|
-
attribute :>> name = "IEC60601_1Clause13";
|
|
100
88
|
attribute :>> clauseNumber = "13";
|
|
101
89
|
attribute :>> title = "hazardous situations and fault conditions";
|
|
102
90
|
attribute :>> normativeStrength = "shall";
|
|
103
91
|
}
|
|
104
|
-
|
|
92
|
+
part iec60601_1Clause14 : StandardClause {
|
|
105
93
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-14"; }
|
|
106
|
-
attribute :>> name = "IEC60601_1Clause14";
|
|
107
94
|
attribute :>> clauseNumber = "14";
|
|
108
95
|
attribute :>> title = "programmable electrical medical systems";
|
|
109
96
|
attribute :>> normativeStrength = "shall";
|
|
110
97
|
}
|
|
111
|
-
|
|
98
|
+
part iec60601_1Clause15 : StandardClause {
|
|
112
99
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-15"; }
|
|
113
|
-
attribute :>> name = "IEC60601_1Clause15";
|
|
114
100
|
attribute :>> clauseNumber = "15";
|
|
115
101
|
attribute :>> title = "construction of medical electrical equipment";
|
|
116
102
|
attribute :>> normativeStrength = "shall";
|
|
117
103
|
}
|
|
118
|
-
|
|
104
|
+
part iec60601_1Clause16 : StandardClause {
|
|
119
105
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-16"; }
|
|
120
|
-
attribute :>> name = "IEC60601_1Clause16";
|
|
121
106
|
attribute :>> clauseNumber = "16";
|
|
122
107
|
attribute :>> title = "medical electrical systems";
|
|
123
108
|
attribute :>> normativeStrength = "shall";
|
|
124
109
|
}
|
|
125
|
-
|
|
110
|
+
part iec60601_1Clause17 : StandardClause {
|
|
126
111
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-17"; }
|
|
127
|
-
attribute :>> name = "IEC60601_1Clause17";
|
|
128
112
|
attribute :>> clauseNumber = "17";
|
|
129
113
|
attribute :>> title = "electromagnetic compatibility";
|
|
130
114
|
attribute :>> normativeStrength = "shall";
|
|
@@ -12,38 +12,33 @@ package memo_artifacts_standards_iec_60601_1_2 {
|
|
|
12
12
|
|
|
13
13
|
private import memo_core_common::*;
|
|
14
14
|
private import memo_core_common::MemoIdentity;
|
|
15
|
-
|
|
15
|
+
part iec60601_1_2 : RegulatoryStandard {
|
|
16
16
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-2-COLLATERAL"; }
|
|
17
|
-
attribute :>> name = "IEC60601_1_2";
|
|
18
17
|
attribute :>> designation = "IEC 60601-1-2:2014+AMD1:2020";
|
|
19
18
|
attribute :>> edition = "4.1";
|
|
20
19
|
attribute :>> issuer = "IEC";
|
|
21
20
|
attribute :>> amendments = "AMD1:2020";
|
|
22
21
|
attribute :>> appliesToRegime = (RegulatoryRegimeKind::CE, RegulatoryRegimeKind::MDR, RegulatoryRegimeKind::UKCA, RegulatoryRegimeKind::FDA_510k, RegulatoryRegimeKind::FDA_PMA);
|
|
23
|
-
|
|
22
|
+
part iec60601_1_2Clause4 : StandardClause {
|
|
24
23
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-2-4"; }
|
|
25
|
-
attribute :>> name = "IEC60601_1_2Clause4";
|
|
26
24
|
attribute :>> clauseNumber = "4";
|
|
27
25
|
attribute :>> title = "general requirements for electromagnetic disturbances";
|
|
28
26
|
attribute :>> normativeStrength = "shall";
|
|
29
27
|
}
|
|
30
|
-
|
|
28
|
+
part iec60601_1_2Clause5 : StandardClause {
|
|
31
29
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-2-5"; }
|
|
32
|
-
attribute :>> name = "IEC60601_1_2Clause5";
|
|
33
30
|
attribute :>> clauseNumber = "5";
|
|
34
31
|
attribute :>> title = "electromagnetic compatibility information in accompanying documents";
|
|
35
32
|
attribute :>> normativeStrength = "shall";
|
|
36
33
|
}
|
|
37
|
-
|
|
34
|
+
part iec60601_1_2Clause7 : StandardClause {
|
|
38
35
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-2-7"; }
|
|
39
|
-
attribute :>> name = "IEC60601_1_2Clause7";
|
|
40
36
|
attribute :>> clauseNumber = "7";
|
|
41
37
|
attribute :>> title = "electromagnetic emissions";
|
|
42
38
|
attribute :>> normativeStrength = "shall";
|
|
43
39
|
}
|
|
44
|
-
|
|
40
|
+
part iec60601_1_2Clause8 : StandardClause {
|
|
45
41
|
@MemoIdentity { :>> providedId = "STD-IEC-60601-1-2-8"; }
|
|
46
|
-
attribute :>> name = "IEC60601_1_2Clause8";
|
|
47
42
|
attribute :>> clauseNumber = "8";
|
|
48
43
|
attribute :>> title = "electromagnetic immunity";
|
|
49
44
|
attribute :>> normativeStrength = "shall";
|
|
@@ -16,9 +16,8 @@ package memo_artifacts_standards_iec_60812 {
|
|
|
16
16
|
|
|
17
17
|
private import memo_core_common::*;
|
|
18
18
|
private import memo_core_common::MemoIdentity;
|
|
19
|
-
|
|
19
|
+
part iec60812 : RegulatoryStandard {
|
|
20
20
|
@MemoIdentity { :>> providedId = "STD-IEC-60812"; }
|
|
21
|
-
attribute :>> name = "IEC60812";
|
|
22
21
|
attribute :>> designation = "IEC 60812:2018";
|
|
23
22
|
attribute :>> edition = "2018";
|
|
24
23
|
attribute :>> issuer = "IEC";
|
|
@@ -26,21 +25,18 @@ package memo_artifacts_standards_iec_60812 {
|
|
|
26
25
|
// reference standard, cited by documents rather than required by a
|
|
27
26
|
// market. Empty is the authored value, not an omission — see
|
|
28
27
|
// appliesToRegime in memo_artifacts_standards_traceability.
|
|
29
|
-
|
|
28
|
+
part iec60812Clause5 : StandardClause {
|
|
30
29
|
@MemoIdentity { :>> providedId = "STD-IEC-60812-5"; }
|
|
31
|
-
attribute :>> name = "IEC60812Clause5";
|
|
32
30
|
attribute :>> clauseNumber = "5";
|
|
33
31
|
attribute :>> normativeStrength = "shall";
|
|
34
32
|
}
|
|
35
|
-
|
|
33
|
+
part iec60812Clause6 : StandardClause {
|
|
36
34
|
@MemoIdentity { :>> providedId = "STD-IEC-60812-6"; }
|
|
37
|
-
attribute :>> name = "IEC60812Clause6";
|
|
38
35
|
attribute :>> clauseNumber = "6";
|
|
39
36
|
attribute :>> normativeStrength = "shall";
|
|
40
37
|
}
|
|
41
|
-
|
|
38
|
+
part iec60812Clause7 : StandardClause {
|
|
42
39
|
@MemoIdentity { :>> providedId = "STD-IEC-60812-7"; }
|
|
43
|
-
attribute :>> name = "IEC60812Clause7";
|
|
44
40
|
attribute :>> clauseNumber = "7";
|
|
45
41
|
attribute :>> normativeStrength = "shall";
|
|
46
42
|
}
|