@memoarchitect/ontology 0.12.1 → 0.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +5 -3
- package/examples/connected-patient-monitor/memo.identity.yaml +34 -0
- package/examples/connected-patient-monitor/memo.package.yaml +3 -1
- package/examples/connected-patient-monitor/model/catalog/connected_patient_monitor.sysml +17 -12
- package/examples/connected-patient-monitor/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/embedded-infusion-pump/memo.package.yaml +3 -1
- package/examples/embedded-infusion-pump/model/catalog/embedded_infusion_pump.sysml +6 -6
- package/examples/embedded-infusion-pump/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/functional-logical-physical/memo.identity.yaml +28 -0
- package/examples/functional-logical-physical/memo.package.yaml +3 -1
- package/examples/functional-logical-physical/model/catalog/functional_logical_physical.sysml +5 -5
- package/examples/functional-logical-physical/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/gpca-pump/analysis/Samples/01-model-overview.ipynb +40 -139
- package/examples/gpca-pump/analysis/Samples/02-architecture-hotspots.ipynb +38 -290
- package/examples/gpca-pump/analysis/Samples/03-model-quality.ipynb +47 -217
- package/examples/gpca-pump/analysis/Samples/04-change-impact-explorer.ipynb +50 -191
- package/examples/gpca-pump/analysis/Samples/05-model-charts.ipynb +42 -181
- package/examples/gpca-pump/analysis/Samples/06-ownership-graph.ipynb +40 -164
- package/examples/gpca-pump/analysis/Samples/07-model-inventory-table.ipynb +51 -172
- package/examples/gpca-pump/analysis/Samples/README.md +15 -9
- package/examples/gpca-pump/analysis/memo_model.py +243 -0
- package/examples/gpca-pump/memo.identity.yaml +521 -26
- package/examples/gpca-pump/memo.package.yaml +3 -1
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +56 -47
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +51 -78
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +359 -358
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +9 -9
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +56 -69
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +44 -59
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +23 -35
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +33 -40
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +62 -63
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +362 -483
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +45 -70
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +6 -12
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +173 -169
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +139 -225
- package/examples/gpca-pump/model/catalog/gpca_standards.sysml +43 -47
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +68 -65
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +147 -116
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +65 -91
- package/examples/gpca-pump/model/catalog/viewpoints/context/views/context_system_context_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/cybersecurity_cybersecurity_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_cyber_assessment_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/views/document_threat_model_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_allocation_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/functional/views/functional_function_browser_view.sysml +7 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/behavior_action_flow_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/document_architecture_description_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_device_interconnect_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_logical_architecture_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_mode_state_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/logical/views/logical_system_decomposition_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_scenario_sequence_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/operational/views/operational_use_case_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/physical/views/physical_physical_bom_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/document_dhf_index_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/views/requirements_requirements_trace_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_hazard_analysis_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/document_rmf_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_fmea_view.sysml +2 -4
- package/examples/gpca-pump/model/catalog/viewpoints/risk/views/risk_risk_chain_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/document_sdd_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/software/views/software_software_architecture_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/usability/views/document_usability_view.sysml +4 -6
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/document_vv_view.sysml +3 -5
- package/examples/gpca-pump/model/catalog/viewpoints/verification/views/verification_verification_coverage_view.sysml +2 -4
- package/examples/gpca-pump/model/{catalog → methodology}/project.sysml +8 -6
- package/examples/ivd-laboratory-system/memo.package.yaml +3 -1
- package/examples/ivd-laboratory-system/model/catalog/ivd_laboratory_system.sysml +12 -9
- package/examples/ivd-laboratory-system/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/manual-surgical-instrument/memo.package.yaml +3 -1
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +2 -6
- package/examples/manual-surgical-instrument/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/multidimensional-layers/memo.package.yaml +3 -1
- package/examples/multidimensional-layers/model/catalog/multidimensional_layers.sysml +2 -4
- package/examples/multidimensional-layers/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/nested-architecture-dsm/memo.identity.yaml +93 -0
- package/examples/nested-architecture-dsm/memo.package.yaml +3 -1
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +30 -30
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +28 -28
- package/examples/nested-architecture-dsm/model/catalog/architecture/operational/context.sysml +2 -4
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +4 -4
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +7 -7
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +8 -8
- package/examples/nested-architecture-dsm/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/reusable-instrument/memo.package.yaml +3 -1
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +7 -7
- package/examples/reusable-instrument/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/robot-cell-family/README.md +34 -0
- package/examples/robot-cell-family/memo.identity.yaml +142 -0
- package/examples/robot-cell-family/memo.package.yaml +7 -0
- package/examples/robot-cell-family/model/methodology/project.sysml +30 -0
- package/examples/robot-cell-family/model/shared/shared.sysml +53 -0
- package/examples/robot-cell-family/model/sos/chains.sysml +36 -0
- package/examples/robot-cell-family/model/sos/icds.sysml +29 -0
- package/examples/robot-cell-family/model/sos/sos.sysml +31 -0
- package/examples/robot-cell-family/model/sos/use_cases.sysml +25 -0
- package/examples/robot-cell-family/model/systems/manipulation/manipulation_system.sysml +35 -0
- package/examples/robot-cell-family/model/systems/navigation/navigation_system.sysml +46 -0
- package/examples/robot-cell-family/model/systems/perception/perception_system.sysml +37 -0
- package/examples/robot-platform/memo.package.yaml +3 -0
- package/examples/robot-platform/model/platform.sysml +15 -0
- package/examples/ros-mobile-robot/README.md +5 -4
- package/examples/ros-mobile-robot/memo.identity.yaml +94 -0
- package/examples/ros-mobile-robot/memo.package.yaml +3 -1
- package/examples/ros-mobile-robot/model/catalog/ros_mobile_robot.sysml +26 -29
- package/examples/ros-mobile-robot/model/{catalog → methodology}/project.sysml +8 -14
- package/examples/software-only-medical-device/memo.package.yaml +3 -1
- package/examples/software-only-medical-device/model/catalog/software_only_medical_device.sysml +9 -10
- package/examples/software-only-medical-device/model/{catalog → methodology}/project.sysml +8 -9
- package/examples/surgical-closure-workflow/memo.package.yaml +3 -1
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +23 -26
- package/examples/surgical-closure-workflow/model/{catalog → methodology}/project.sysml +7 -5
- package/examples/surgical-robot/memo.package.yaml +3 -1
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +14 -12
- package/examples/surgical-robot/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/sysml-diagram-samples/README.md +1 -0
- package/examples/sysml-diagram-samples/memo.identity.yaml +675 -0
- package/examples/sysml-diagram-samples/memo.package.yaml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +10 -20
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/action_flow_view.sysml +7 -29
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/browser_view.sysml +12 -36
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.sysml +13 -25
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/diagram_samples.sysml +388 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/drill_down_view.sysml +88 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/functional_flow_view.sysml +27 -36
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/grid_view.sysml +8 -21
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.sysml +17 -65
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml +23 -32
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/package_view.sysml +9 -22
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/requirements_view.sysml +7 -22
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/sequence_view.sysml +18 -34
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +2 -9
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/state_transition_view.sysml +18 -42
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/tree_view.sysml +11 -24
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/use_case_view.sysml +9 -36
- package/examples/sysml-diagram-samples/model/methodology/project.sysml +40 -0
- package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +1 -1
- package/examples/temperature-alarm/memo.identity.yaml +6 -0
- package/examples/temperature-alarm/memo.package.yaml +3 -1
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +43 -21
- package/examples/temperature-alarm/model/{catalog → methodology}/project.sysml +4 -5
- package/examples/ui-screen-regions/memo.identity.yaml +33 -0
- package/examples/ui-screen-regions/memo.package.yaml +3 -1
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +12 -12
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +18 -18
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +6 -6
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +3 -3
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +1 -1
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +1 -1
- package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +10 -10
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +1 -1
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +12 -12
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +15 -15
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +6 -6
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +1 -2
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +1 -2
- package/examples/ui-screen-regions/model/{catalog → methodology}/project.sysml +4 -5
- package/extensions/README.md +65 -16
- package/extensions/aadl/memo.package.yaml +1 -1
- package/extensions/aadl/src/aadl_extension.sysml +5 -2
- package/extensions/aadl/src/correspondence/memo_aadl_correspondence.sysml +29 -50
- package/extensions/clinical/memo.package.yaml +1 -1
- package/extensions/clinical/src/clinical_extension.sysml +2 -0
- package/extensions/cloud/memo.package.yaml +1 -1
- package/extensions/container/memo.package.yaml +1 -1
- package/extensions/messaging/memo.package.yaml +1 -1
- package/extensions/messaging/src/messaging_extension.sysml +2 -2
- package/extensions/ros/memo.package.yaml +1 -1
- package/extensions/ros/src/ros_extension.sysml +25 -24
- package/extensions/template/memo.package.yaml +1 -1
- package/extensions/template/model/extension.sysml +25 -0
- package/memo.manifest.yaml +1 -7
- package/methodologies/default/memo.package.yaml +1 -1
- package/methodologies/gpca/memo.package.yaml +1 -1
- package/ontology/memo.package.yaml +1 -1
- package/package.json +6 -4
- package/profile/memo.package.yaml +1 -1
- package/src/architecture/decisions/memo_decisions.sysml +9 -2
- package/src/architecture/functional/behavior/memo_behavior.sysml +27 -7
- package/src/architecture/functional/functions/memo_functions.sysml +45 -31
- package/src/architecture/functional/memo_architecture_functional.sysml +14 -0
- package/src/architecture/implementation/memo_architecture_implementation.sysml +21 -0
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +7 -0
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +58 -17
- package/src/architecture/implementation/ui/memo_ui.sysml +1 -1
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +67 -58
- package/src/architecture/logical/memo_architecture_logical.sysml +13 -0
- package/src/architecture/logical/structure/memo_logical_structure.sysml +27 -8
- package/src/architecture/operational/context/stakeholders/memo_stakeholders.sysml +4 -1
- package/src/architecture/operational/memo_architecture_operational.sysml +19 -0
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +9 -8
- package/src/architecture/operational/structure/memo_operational.sysml +5 -2
- package/src/architecture/operational/use_cases/memo_use_cases.sysml +16 -8
- package/src/architecture/realization/deployment/memo_deployment.sysml +30 -10
- package/src/architecture/realization/memo_architecture_realization.sysml +13 -0
- package/src/architecture/realization/physical/memo_physical_architecture.sysml +61 -0
- package/src/architecture/variability/memo_variability.sysml +87 -0
- package/src/artifacts/configuration_management/memo_configuration_management.sysml +95 -3
- package/src/artifacts/core/memo_controlled_artifacts.sysml +4 -2
- package/src/artifacts/standards/cfr_21_820.sysml +12 -24
- package/src/artifacts/standards/fda_cybersecurity_2023.sysml +13 -20
- package/src/artifacts/standards/iec_60601_1.sysml +16 -32
- package/src/artifacts/standards/iec_60601_1_2.sysml +5 -10
- package/src/artifacts/standards/iec_60812.sysml +4 -8
- package/src/artifacts/standards/iec_62304.sysml +607 -47
- package/src/artifacts/standards/iec_62366_1.sysml +12 -24
- package/src/artifacts/standards/iec_81001_5_1.sysml +8 -16
- package/src/artifacts/standards/iso_13485.sysml +12 -24
- package/src/artifacts/standards/iso_14971.sysml +118 -20
- package/src/artifacts/standards/iso_iec_ieee_42010.sysml +3 -6
- package/src/artifacts/standards/memo_artifacts_standards_traceability.sysml +14 -4
- package/src/artifacts/templates/dhf/fda-cybersecurity/postmarket-surveillance.md +1 -2
- package/src/artifacts/templates/dhf/fda-cybersecurity/vuln-assessment.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/sad.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/sbom.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/sdp.md +1 -2
- package/src/artifacts/templates/dhf/iec-62304/soup.md +3 -5
- package/src/artifacts/templates/dhf/system/sad.md +1 -1
- package/src/artifacts/templates/dhf/system/standards-checklist.md +2 -2
- package/src/artifacts/templates/dhf/system/standards-traceability.md +1 -1
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +339 -13
- package/src/assurance/human_factors/memo_human_factors.sysml +6 -2
- package/src/assurance/safety_risk/analysis/memo_fmea.sysml +7 -3
- package/src/assurance/safety_risk/memo_risk.sysml +39 -1
- package/src/core/common/memo_common.sysml +51 -68
- package/src/core/enumerations/memo_enumerations.sysml +93 -9
- package/src/core/relationships/memo_relationships.sysml +17 -11
- package/src/core/relationships/memo_workspace_membership.sysml +284 -0
- package/src/core/semantics/semantics.sysml +58 -0
- package/src/core/terminology/terminology.sysml +7 -0
- package/src/memo_namespaces.sysml +6 -0
- package/src/methodology/archetypes/memo_archetypes.sysml +8 -16
- package/src/methodology/core/memo_core.sysml +85 -29
- package/src/methodology/profiles/memo_profiles.sysml +217 -61
- package/src/methodology/workflow/memo_workflow.sysml +28 -0
- package/src/rules/closure/closure_rules.sysml +250 -4
- package/src/rules/crosslayer/cross_layer_rules.sysml +11 -0
- package/src/rules/ontology/ontology_invariants.sysml +288 -48
- package/src/rules/quantitative/quantitative_rules.sysml +4 -0
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +28 -28
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +4 -5
- package/src/viewpoints/context/context_viewpoint.sysml +4 -5
- package/src/viewpoints/context/views/system_context_view/system_context_view.sysml +3 -5
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +4 -5
- package/src/viewpoints/definitions/memo_view_layout.sysml +150 -0
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +3 -5
- package/src/viewpoints/functional/functional_viewpoint.sysml +4 -5
- package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml +2 -4
- package/src/viewpoints/functional/views/system_functional_tree_view/system_functional_tree_view.sysml +2 -4
- package/src/viewpoints/logical/logical_viewpoint.sysml +4 -5
- package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml +2 -4
- package/src/viewpoints/operational/operational_viewpoint.sysml +4 -5
- package/src/viewpoints/operational/views/use_case_view/use_case_view.sysml +3 -5
- package/src/viewpoints/physical/physical_viewpoint.sysml +4 -5
- package/src/viewpoints/physical/views/network_topology_view/network_topology_view.sysml +2 -4
- package/src/viewpoints/physical/views/physical_bom_view/physical_bom_view.sysml +2 -4
- package/src/viewpoints/rendering/memo_rendering.sysml +50 -98
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +4 -5
- package/src/viewpoints/requirements/views/requirements_traceability_view/requirements_traceability_view.sysml +2 -4
- package/src/viewpoints/risk/risk_viewpoint.sysml +4 -5
- package/src/viewpoints/risk/views/risk_chain_view/risk_chain_view.sysml +2 -4
- package/src/viewpoints/software/software_viewpoint.sysml +4 -5
- package/src/viewpoints/software/views/software_architecture_view/software_architecture_view.sysml +3 -5
- package/src/viewpoints/{definitions → stakeholders_concerns}/memo_stakeholders_concerns.sysml +45 -36
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +4 -5
- package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +1 -1
- package/src/viewpoints/usability/usability_viewpoint.sysml +4 -5
- package/src/viewpoints/verification/verification_viewpoint.sysml +4 -5
- package/src/viewpoints/verification/views/verification_coverage_view/verification_coverage_view.sysml +2 -4
- package/stage1/syside-67f92dc96ba75cd05b5c8d13.ids.gz +0 -0
- package/stage1/syside-67f92dc96ba75cd05b5c8d13.json.gz +0 -0
- package/templates/default/memo.package.yaml +6 -1
- package/templates/default/model/catalog/architecture/system.sysml +7 -3
- package/templates/default/model/{catalog → methodology}/project.sysml +3 -4
- package/examples/sysml-diagram-samples/model/catalog/project.sysml +0 -26
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +0 -47
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +0 -94
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +0 -13
- package/examples/ui-screen-regions/model/catalog/relationships.sysml +0 -8
- package/extensions/aadl/src/methodology/aadl_methodology.sysml +0 -19
- package/extensions/clinical/src/methodology/clinical_methodology.sysml +0 -24
- package/extensions/cloud/src/methodology/cloud_methodology.sysml +0 -19
- package/extensions/container/src/methodology/container_methodology.sysml +0 -19
- package/extensions/messaging/src/methodology/messaging_methodology.sysml +0 -19
- package/extensions/ros/src/methodology/ros_methodology.sysml +0 -27
- package/extensions/template/src/extension.sysml +0 -39
- package/templates/connected-device/memo.package.yaml +0 -13
- package/templates/connected-device/model/catalog/architecture/system.sysml +0 -5
- package/templates/connected-device/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/connected-device/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/connected-device/model/catalog/project.sysml +0 -30
- package/templates/connected-device/package.json +0 -8
- package/templates/connected-device/syside.toml +0 -13
- package/templates/infusion-pump/memo.package.yaml +0 -13
- package/templates/infusion-pump/model/catalog/architecture/system.sysml +0 -5
- package/templates/infusion-pump/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/infusion-pump/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/infusion-pump/model/catalog/project.sysml +0 -30
- package/templates/infusion-pump/package.json +0 -8
- package/templates/infusion-pump/syside.toml +0 -13
- package/templates/monitoring-device/memo.package.yaml +0 -13
- package/templates/monitoring-device/model/catalog/architecture/system.sysml +0 -5
- package/templates/monitoring-device/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/monitoring-device/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/monitoring-device/model/catalog/project.sysml +0 -30
- package/templates/monitoring-device/package.json +0 -8
- package/templates/monitoring-device/syside.toml +0 -13
- package/templates/samd/memo.package.yaml +0 -13
- package/templates/samd/model/catalog/architecture/system.sysml +0 -5
- package/templates/samd/model/catalog/artifacts/catalog.sysml +0 -5
- package/templates/samd/model/catalog/assurance/requirements.sysml +0 -7
- package/templates/samd/model/catalog/project.sysml +0 -30
- package/templates/samd/package.json +0 -8
- package/templates/samd/syside.toml +0 -13
|
@@ -8,17 +8,16 @@ package memo_viewpoints_physical_physical_viewpoint {
|
|
|
8
8
|
private import memo_core_common::*;
|
|
9
9
|
private import memo_core_common::MemoIdentity;
|
|
10
10
|
viewpoint physicalViewpoint : MemoViewpoint {
|
|
11
|
-
@MemoIdentity { :>> providedId = "VP-PHY"; }
|
|
12
|
-
attribute :>> name = "PhysicalViewpoint";
|
|
11
|
+
@MemoIdentity { :>> providedId = "VP-PHY"; :>> label = "PhysicalViewpoint"; }
|
|
13
12
|
@MemoIdentity { :>> shortDescription = "Shows physical components, hardware structure, and their interconnections."; }
|
|
14
|
-
|
|
13
|
+
doc /* Default viewpoint derived from the physical and hardware structure layers for bill-of-materials, hardware decomposition, physical interfaces, and network/connectivity topology. */
|
|
15
14
|
attribute :>> purpose = "Describe the system's physical realization and interconnections.";
|
|
16
|
-
ref :>> stakeholders = (
|
|
15
|
+
ref :>> stakeholders = (hardwareEngineer);
|
|
17
16
|
attribute :>> stage = WorkflowStageKind::architecture;
|
|
18
17
|
attribute :>> abstractionLevel = "physical";
|
|
19
18
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
20
19
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
21
|
-
ref :>> framedConcerns = (
|
|
20
|
+
ref :>> framedConcerns = (reliabilityConcern, interoperabilityConcern);
|
|
22
21
|
attribute :>> explorerLane = "architecture";
|
|
23
22
|
attribute :>> explorerOrder = 5;
|
|
24
23
|
attribute :>> userExtensible = true;
|
|
@@ -10,8 +10,7 @@ package memo_viewpoints_physical_views_network_topology_view {
|
|
|
10
10
|
view networkTopologyView : MemoDiagramView {
|
|
11
11
|
expose memo_viewpoints_physical_views_network_topology_view::*;
|
|
12
12
|
attribute depth = 2;
|
|
13
|
-
@MemoIdentity { :>> providedId = "VIEW-PHY-002"; }
|
|
14
|
-
attribute :>> name = "NetworkTopologyView";
|
|
13
|
+
@MemoIdentity { :>> providedId = "VIEW-PHY-002"; :>> label = "NetworkTopologyView"; }
|
|
15
14
|
@MemoIdentity { :>> shortDescription = "Physical interconnections and network ports between components."; }
|
|
16
15
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
17
16
|
attribute :>> presentationKind = (PresentationKind::internalDiagram);
|
|
@@ -19,8 +18,7 @@ package memo_viewpoints_physical_views_network_topology_view {
|
|
|
19
18
|
attribute :>> autoPopulate = true;
|
|
20
19
|
attribute :>> queryDescription = "Include physical ports and connections that make up the device's network topology.";
|
|
21
20
|
part :>> selectionQuery {
|
|
22
|
-
@MemoIdentity { :>> providedId = "QRY-PHY-002"; }
|
|
23
|
-
attribute :>> name = "NetworkTopologyQuery";
|
|
21
|
+
@MemoIdentity { :>> providedId = "QRY-PHY-002"; :>> label = "NetworkTopologyQuery"; }
|
|
24
22
|
attribute :>> includeElementKinds = ("PhysicalPort", "ProcessingNode");
|
|
25
23
|
attribute :>> includeLayers = ("physical");
|
|
26
24
|
attribute :>> rationaleText = "Auto-populate the network topology view from the physical interfaces layer.";
|
|
@@ -10,8 +10,7 @@ package memo_viewpoints_physical_views_physical_bom_view {
|
|
|
10
10
|
view physicalBOMView : MemoDiagramView {
|
|
11
11
|
expose memo_viewpoints_physical_views_physical_bom_view::*;
|
|
12
12
|
attribute depth = 2;
|
|
13
|
-
@MemoIdentity { :>> providedId = "VIEW-PHY-001"; }
|
|
14
|
-
attribute :>> name = "PhysicalBOMView";
|
|
13
|
+
@MemoIdentity { :>> providedId = "VIEW-PHY-001"; :>> label = "PhysicalBOMView"; }
|
|
15
14
|
@MemoIdentity { :>> shortDescription = "Physical and hardware components with their decomposition."; }
|
|
16
15
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
17
16
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
@@ -19,8 +18,7 @@ package memo_viewpoints_physical_views_physical_bom_view {
|
|
|
19
18
|
attribute :>> autoPopulate = true;
|
|
20
19
|
attribute :>> queryDescription = "Include physical and hardware components and their assembly structure.";
|
|
21
20
|
part :>> selectionQuery {
|
|
22
|
-
@MemoIdentity { :>> providedId = "QRY-PHY-001"; }
|
|
23
|
-
attribute :>> name = "PhysicalBOMQuery";
|
|
21
|
+
@MemoIdentity { :>> providedId = "QRY-PHY-001"; :>> label = "PhysicalBOMQuery"; }
|
|
24
22
|
attribute :>> includeElementKinds = ("ProcessingNode", "HardwareAssembly");
|
|
25
23
|
attribute :>> includeLayers = ("hardware_structure", "physical");
|
|
26
24
|
attribute :>> rationaleText = "Auto-populate the physical BOM view from the hardware and physical layers.";
|
|
@@ -53,325 +53,295 @@ package memo_viewpoints_rendering {
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
part layerOperationalRendering : LayerRendering {
|
|
56
|
-
@MemoIdentity { :>> providedId = "LAYER-OPERATIONAL"; }
|
|
57
|
-
attribute :>> name = "OperationalLayerRendering";
|
|
56
|
+
@MemoIdentity { :>> providedId = "LAYER-OPERATIONAL"; :>> label = "OperationalLayerRendering"; }
|
|
58
57
|
attribute :>> layerId = "operational";
|
|
59
58
|
attribute :>> layerLabel = "Operational";
|
|
60
59
|
attribute :>> layerColor = "#C0392B";
|
|
61
60
|
}
|
|
62
61
|
|
|
63
62
|
part layerBehavioralRendering : LayerRendering {
|
|
64
|
-
@MemoIdentity { :>> providedId = "LAYER-BEHAVIORAL"; }
|
|
65
|
-
attribute :>> name = "BehavioralLayerRendering";
|
|
63
|
+
@MemoIdentity { :>> providedId = "LAYER-BEHAVIORAL"; :>> label = "BehavioralLayerRendering"; }
|
|
66
64
|
attribute :>> layerId = "behavioral";
|
|
67
65
|
attribute :>> layerLabel = "Behavioral";
|
|
68
66
|
attribute :>> layerColor = "#E74C3C";
|
|
69
67
|
}
|
|
70
68
|
|
|
71
69
|
part layerFunctionalRendering : LayerRendering {
|
|
72
|
-
@MemoIdentity { :>> providedId = "LAYER-FUNCTIONAL"; }
|
|
73
|
-
attribute :>> name = "FunctionalLayerRendering";
|
|
70
|
+
@MemoIdentity { :>> providedId = "LAYER-FUNCTIONAL"; :>> label = "FunctionalLayerRendering"; }
|
|
74
71
|
attribute :>> layerId = "functional";
|
|
75
72
|
attribute :>> layerLabel = "Functional";
|
|
76
73
|
attribute :>> layerColor = "#E67E22";
|
|
77
74
|
}
|
|
78
75
|
|
|
79
76
|
part layerLogicalRendering : LayerRendering {
|
|
80
|
-
@MemoIdentity { :>> providedId = "LAYER-LOGICAL"; }
|
|
81
|
-
attribute :>> name = "LogicalLayerRendering";
|
|
77
|
+
@MemoIdentity { :>> providedId = "LAYER-LOGICAL"; :>> label = "LogicalLayerRendering"; }
|
|
82
78
|
attribute :>> layerId = "logical";
|
|
83
79
|
attribute :>> layerLabel = "Logical";
|
|
84
80
|
attribute :>> layerColor = "#7B68EE";
|
|
85
81
|
}
|
|
86
82
|
|
|
87
83
|
part layerSoftwareRendering : LayerRendering {
|
|
88
|
-
@MemoIdentity { :>> providedId = "LAYER-SOFTWARE"; }
|
|
89
|
-
attribute :>> name = "SoftwareLayerRendering";
|
|
84
|
+
@MemoIdentity { :>> providedId = "LAYER-SOFTWARE"; :>> label = "SoftwareLayerRendering"; }
|
|
90
85
|
attribute :>> layerId = "software";
|
|
91
86
|
attribute :>> layerLabel = "Software";
|
|
92
87
|
attribute :>> layerColor = "#F39C12";
|
|
93
88
|
}
|
|
94
89
|
|
|
95
90
|
part layerSoftwareExtensionRendering : LayerRendering {
|
|
96
|
-
@MemoIdentity { :>> providedId = "LAYER-SOFTWARE-EXTENSION"; }
|
|
97
|
-
attribute :>> name = "Software Extension (ROS)LayerRendering";
|
|
91
|
+
@MemoIdentity { :>> providedId = "LAYER-SOFTWARE-EXTENSION"; :>> label = "Software Extension (ROS)LayerRendering"; }
|
|
98
92
|
attribute :>> layerId = "software-extension";
|
|
99
93
|
attribute :>> layerLabel = "Software Extension (ROS)";
|
|
100
94
|
attribute :>> layerColor = "#D4AC0D";
|
|
101
95
|
}
|
|
102
96
|
|
|
103
97
|
part layerHardwareRendering : LayerRendering {
|
|
104
|
-
@MemoIdentity { :>> providedId = "LAYER-HARDWARE"; }
|
|
105
|
-
attribute :>> name = "HardwareLayerRendering";
|
|
98
|
+
@MemoIdentity { :>> providedId = "LAYER-HARDWARE"; :>> label = "HardwareLayerRendering"; }
|
|
106
99
|
attribute :>> layerId = "hardware";
|
|
107
100
|
attribute :>> layerLabel = "Hardware";
|
|
108
101
|
attribute :>> layerColor = "#95A5A6";
|
|
109
102
|
}
|
|
110
103
|
|
|
111
104
|
part layerSafetyRendering : LayerRendering {
|
|
112
|
-
@MemoIdentity { :>> providedId = "LAYER-SAFETY"; }
|
|
113
|
-
attribute :>> name = "SafetyLayerRendering";
|
|
105
|
+
@MemoIdentity { :>> providedId = "LAYER-SAFETY"; :>> label = "SafetyLayerRendering"; }
|
|
114
106
|
attribute :>> layerId = "safety";
|
|
115
107
|
attribute :>> layerLabel = "Safety";
|
|
116
108
|
attribute :>> layerColor = "#E74C3C";
|
|
117
109
|
}
|
|
118
110
|
|
|
119
111
|
part layerSecurityRendering : LayerRendering {
|
|
120
|
-
@MemoIdentity { :>> providedId = "LAYER-SECURITY"; }
|
|
121
|
-
attribute :>> name = "SecurityLayerRendering";
|
|
112
|
+
@MemoIdentity { :>> providedId = "LAYER-SECURITY"; :>> label = "SecurityLayerRendering"; }
|
|
122
113
|
attribute :>> layerId = "security";
|
|
123
114
|
attribute :>> layerLabel = "Security";
|
|
124
115
|
attribute :>> layerColor = "#2C3E50";
|
|
125
116
|
}
|
|
126
117
|
|
|
127
118
|
part layerPrivacyRendering : LayerRendering {
|
|
128
|
-
@MemoIdentity { :>> providedId = "LAYER-PRIVACY"; }
|
|
129
|
-
attribute :>> name = "PrivacyLayerRendering";
|
|
119
|
+
@MemoIdentity { :>> providedId = "LAYER-PRIVACY"; :>> label = "PrivacyLayerRendering"; }
|
|
130
120
|
attribute :>> layerId = "privacy";
|
|
131
121
|
attribute :>> layerLabel = "Privacy";
|
|
132
122
|
attribute :>> layerColor = "#8E44AD";
|
|
133
123
|
}
|
|
134
124
|
|
|
135
125
|
part layerVerificationRendering : LayerRendering {
|
|
136
|
-
@MemoIdentity { :>> providedId = "LAYER-VERIFICATION"; }
|
|
137
|
-
attribute :>> name = "VerificationLayerRendering";
|
|
126
|
+
@MemoIdentity { :>> providedId = "LAYER-VERIFICATION"; :>> label = "VerificationLayerRendering"; }
|
|
138
127
|
attribute :>> layerId = "verification";
|
|
139
128
|
attribute :>> layerLabel = "Verification";
|
|
140
129
|
attribute :>> layerColor = "#2ECC71";
|
|
141
130
|
}
|
|
142
131
|
|
|
143
132
|
part explorerActivitiesClassification : ExplorerClassification {
|
|
144
|
-
@MemoIdentity { :>> providedId = "EXPL-001"; }
|
|
145
|
-
attribute :>> name = "activitiesExplorerClassification";
|
|
133
|
+
@MemoIdentity { :>> providedId = "EXPL-001"; :>> label = "activitiesExplorerClassification"; }
|
|
146
134
|
attribute :>> sourceNamespace = "activities";
|
|
147
135
|
attribute :>> explorerDomain = "architecture";
|
|
148
136
|
attribute :>> explorerGroup = "operational";
|
|
149
137
|
}
|
|
150
138
|
|
|
151
139
|
part explorerContextClassification : ExplorerClassification {
|
|
152
|
-
@MemoIdentity { :>> providedId = "EXPL-002"; }
|
|
153
|
-
attribute :>> name = "contextExplorerClassification";
|
|
140
|
+
@MemoIdentity { :>> providedId = "EXPL-002"; :>> label = "contextExplorerClassification"; }
|
|
154
141
|
attribute :>> sourceNamespace = "context";
|
|
155
142
|
attribute :>> explorerDomain = "architecture";
|
|
156
143
|
attribute :>> explorerGroup = "operational";
|
|
157
144
|
}
|
|
158
145
|
|
|
159
146
|
part explorerActorsClassification : ExplorerClassification {
|
|
160
|
-
@MemoIdentity { :>> providedId = "EXPL-003"; }
|
|
161
|
-
attribute :>> name = "actorsExplorerClassification";
|
|
147
|
+
@MemoIdentity { :>> providedId = "EXPL-003"; :>> label = "actorsExplorerClassification"; }
|
|
162
148
|
attribute :>> sourceNamespace = "actors";
|
|
163
149
|
attribute :>> explorerDomain = "architecture";
|
|
164
150
|
attribute :>> explorerGroup = "operational";
|
|
165
151
|
}
|
|
166
152
|
|
|
167
153
|
part explorerUseContextClassification : ExplorerClassification {
|
|
168
|
-
@MemoIdentity { :>> providedId = "EXPL-004"; }
|
|
169
|
-
attribute :>> name = "use_contextExplorerClassification";
|
|
154
|
+
@MemoIdentity { :>> providedId = "EXPL-004"; :>> label = "use_contextExplorerClassification"; }
|
|
170
155
|
attribute :>> sourceNamespace = "use_context";
|
|
171
156
|
attribute :>> explorerDomain = "architecture";
|
|
172
157
|
attribute :>> explorerGroup = "operational";
|
|
173
158
|
}
|
|
174
159
|
|
|
175
160
|
part explorerWorkflowsClassification : ExplorerClassification {
|
|
176
|
-
@MemoIdentity { :>> providedId = "EXPL-005"; }
|
|
177
|
-
attribute :>> name = "workflowsExplorerClassification";
|
|
161
|
+
@MemoIdentity { :>> providedId = "EXPL-005"; :>> label = "workflowsExplorerClassification"; }
|
|
178
162
|
attribute :>> sourceNamespace = "workflows";
|
|
179
163
|
attribute :>> explorerDomain = "architecture";
|
|
180
164
|
attribute :>> explorerGroup = "operational";
|
|
181
165
|
}
|
|
182
166
|
|
|
183
167
|
part explorerScenariosClassification : ExplorerClassification {
|
|
184
|
-
@MemoIdentity { :>> providedId = "EXPL-006"; }
|
|
185
|
-
attribute :>> name = "scenariosExplorerClassification";
|
|
168
|
+
@MemoIdentity { :>> providedId = "EXPL-006"; :>> label = "scenariosExplorerClassification"; }
|
|
186
169
|
attribute :>> sourceNamespace = "scenarios";
|
|
187
170
|
attribute :>> explorerDomain = "architecture";
|
|
188
171
|
attribute :>> explorerGroup = "operational";
|
|
189
172
|
}
|
|
190
173
|
|
|
191
174
|
part explorerUseCasesClassification : ExplorerClassification {
|
|
192
|
-
@MemoIdentity { :>> providedId = "EXPL-007"; }
|
|
193
|
-
attribute :>> name = "use_casesExplorerClassification";
|
|
175
|
+
@MemoIdentity { :>> providedId = "EXPL-007"; :>> label = "use_casesExplorerClassification"; }
|
|
194
176
|
attribute :>> sourceNamespace = "use_cases";
|
|
195
177
|
attribute :>> explorerDomain = "architecture";
|
|
196
178
|
attribute :>> explorerGroup = "operational";
|
|
197
179
|
}
|
|
198
180
|
|
|
199
181
|
part explorerInteractionClassification : ExplorerClassification {
|
|
200
|
-
@MemoIdentity { :>> providedId = "EXPL-008"; }
|
|
201
|
-
attribute :>> name = "interactionExplorerClassification";
|
|
182
|
+
@MemoIdentity { :>> providedId = "EXPL-008"; :>> label = "interactionExplorerClassification"; }
|
|
202
183
|
attribute :>> sourceNamespace = "interaction";
|
|
203
184
|
attribute :>> explorerDomain = "architecture";
|
|
204
185
|
attribute :>> explorerGroup = "operational";
|
|
205
186
|
}
|
|
206
187
|
|
|
207
188
|
part explorerOperationalClassification : ExplorerClassification {
|
|
208
|
-
@MemoIdentity { :>> providedId = "EXPL-009"; }
|
|
209
|
-
attribute :>> name = "operationalExplorerClassification";
|
|
189
|
+
@MemoIdentity { :>> providedId = "EXPL-009"; :>> label = "operationalExplorerClassification"; }
|
|
210
190
|
attribute :>> sourceNamespace = "operational";
|
|
211
191
|
attribute :>> explorerDomain = "architecture";
|
|
212
192
|
attribute :>> explorerGroup = "operational";
|
|
213
193
|
}
|
|
214
194
|
|
|
215
195
|
part explorerFunctionsClassification : ExplorerClassification {
|
|
216
|
-
@MemoIdentity { :>> providedId = "EXPL-010"; }
|
|
217
|
-
attribute :>> name = "functionsExplorerClassification";
|
|
196
|
+
@MemoIdentity { :>> providedId = "EXPL-010"; :>> label = "functionsExplorerClassification"; }
|
|
218
197
|
attribute :>> sourceNamespace = "functions";
|
|
219
198
|
attribute :>> explorerDomain = "architecture";
|
|
220
199
|
attribute :>> explorerGroup = "functional";
|
|
221
200
|
}
|
|
222
201
|
|
|
223
202
|
part explorerBehaviorClassification : ExplorerClassification {
|
|
224
|
-
@MemoIdentity { :>> providedId = "EXPL-011"; }
|
|
225
|
-
attribute :>> name = "behaviorExplorerClassification";
|
|
203
|
+
@MemoIdentity { :>> providedId = "EXPL-011"; :>> label = "behaviorExplorerClassification"; }
|
|
226
204
|
attribute :>> sourceNamespace = "behavior";
|
|
227
205
|
attribute :>> explorerDomain = "architecture";
|
|
228
206
|
attribute :>> explorerGroup = "functional";
|
|
229
207
|
}
|
|
230
208
|
|
|
231
209
|
part explorerConstraintsClassification : ExplorerClassification {
|
|
232
|
-
@MemoIdentity { :>> providedId = "EXPL-012"; }
|
|
233
|
-
attribute :>> name = "constraintsExplorerClassification";
|
|
210
|
+
@MemoIdentity { :>> providedId = "EXPL-012"; :>> label = "constraintsExplorerClassification"; }
|
|
234
211
|
attribute :>> sourceNamespace = "constraints";
|
|
235
212
|
attribute :>> explorerDomain = "architecture";
|
|
236
213
|
attribute :>> explorerGroup = "functional";
|
|
237
214
|
}
|
|
238
215
|
|
|
239
216
|
part explorerLogicalStructureClassification : ExplorerClassification {
|
|
240
|
-
@MemoIdentity { :>> providedId = "EXPL-013"; }
|
|
241
|
-
attribute :>> name = "logical_structureExplorerClassification";
|
|
217
|
+
@MemoIdentity { :>> providedId = "EXPL-013"; :>> label = "logical_structureExplorerClassification"; }
|
|
242
218
|
attribute :>> sourceNamespace = "logical_structure";
|
|
243
219
|
attribute :>> explorerDomain = "architecture";
|
|
244
220
|
attribute :>> explorerGroup = "logical";
|
|
245
221
|
}
|
|
246
222
|
|
|
247
223
|
part explorerInterfacesClassification : ExplorerClassification {
|
|
248
|
-
@MemoIdentity { :>> providedId = "EXPL-014"; }
|
|
249
|
-
attribute :>> name = "interfacesExplorerClassification";
|
|
224
|
+
@MemoIdentity { :>> providedId = "EXPL-014"; :>> label = "interfacesExplorerClassification"; }
|
|
250
225
|
attribute :>> sourceNamespace = "interfaces";
|
|
251
226
|
attribute :>> explorerDomain = "architecture";
|
|
252
227
|
attribute :>> explorerGroup = "logical";
|
|
253
228
|
}
|
|
254
229
|
|
|
255
230
|
part explorerHardwareStructureClassification : ExplorerClassification {
|
|
256
|
-
@MemoIdentity { :>> providedId = "EXPL-015"; }
|
|
257
|
-
attribute :>> name = "hardware_structureExplorerClassification";
|
|
231
|
+
@MemoIdentity { :>> providedId = "EXPL-015"; :>> label = "hardware_structureExplorerClassification"; }
|
|
258
232
|
attribute :>> sourceNamespace = "hardware_structure";
|
|
259
233
|
attribute :>> explorerDomain = "architecture";
|
|
260
234
|
attribute :>> explorerGroup = "implementation";
|
|
261
235
|
}
|
|
262
236
|
|
|
263
237
|
part explorerImplementationClassification : ExplorerClassification {
|
|
264
|
-
@MemoIdentity { :>> providedId = "EXPL-016"; }
|
|
265
|
-
attribute :>> name = "implementationExplorerClassification";
|
|
238
|
+
@MemoIdentity { :>> providedId = "EXPL-016"; :>> label = "implementationExplorerClassification"; }
|
|
266
239
|
attribute :>> sourceNamespace = "implementation";
|
|
267
240
|
attribute :>> explorerDomain = "architecture";
|
|
268
241
|
attribute :>> explorerGroup = "implementation";
|
|
269
242
|
}
|
|
270
243
|
|
|
271
244
|
part explorerSoftwareStructureClassification : ExplorerClassification {
|
|
272
|
-
@MemoIdentity { :>> providedId = "EXPL-017"; }
|
|
273
|
-
attribute :>> name = "software_structureExplorerClassification";
|
|
245
|
+
@MemoIdentity { :>> providedId = "EXPL-017"; :>> label = "software_structureExplorerClassification"; }
|
|
274
246
|
attribute :>> sourceNamespace = "software_structure";
|
|
275
247
|
attribute :>> explorerDomain = "architecture";
|
|
276
248
|
attribute :>> explorerGroup = "implementation";
|
|
277
249
|
}
|
|
278
250
|
|
|
279
251
|
part explorerSoftwareRuntimeClassification : ExplorerClassification {
|
|
280
|
-
@MemoIdentity { :>> providedId = "EXPL-018"; }
|
|
281
|
-
attribute :>> name = "software_runtimeExplorerClassification";
|
|
252
|
+
@MemoIdentity { :>> providedId = "EXPL-018"; :>> label = "software_runtimeExplorerClassification"; }
|
|
282
253
|
attribute :>> sourceNamespace = "software_runtime";
|
|
283
254
|
attribute :>> explorerDomain = "architecture";
|
|
284
255
|
attribute :>> explorerGroup = "implementation";
|
|
285
256
|
}
|
|
286
257
|
|
|
287
258
|
part explorerPhysicalClassification : ExplorerClassification {
|
|
288
|
-
@MemoIdentity { :>> providedId = "EXPL-019"; }
|
|
289
|
-
attribute :>> name = "physicalExplorerClassification";
|
|
259
|
+
@MemoIdentity { :>> providedId = "EXPL-019"; :>> label = "physicalExplorerClassification"; }
|
|
290
260
|
attribute :>> sourceNamespace = "physical";
|
|
291
261
|
attribute :>> explorerDomain = "architecture";
|
|
292
262
|
attribute :>> explorerGroup = "realization";
|
|
293
263
|
}
|
|
294
264
|
|
|
295
265
|
part explorerDeploymentClassification : ExplorerClassification {
|
|
296
|
-
@MemoIdentity { :>> providedId = "EXPL-020"; }
|
|
297
|
-
attribute :>> name = "deploymentExplorerClassification";
|
|
266
|
+
@MemoIdentity { :>> providedId = "EXPL-020"; :>> label = "deploymentExplorerClassification"; }
|
|
298
267
|
attribute :>> sourceNamespace = "deployment";
|
|
299
268
|
attribute :>> explorerDomain = "architecture";
|
|
300
269
|
attribute :>> explorerGroup = "realization";
|
|
301
270
|
}
|
|
302
271
|
|
|
303
272
|
part explorerNeedsClassification : ExplorerClassification {
|
|
304
|
-
@MemoIdentity { :>> providedId = "EXPL-021"; }
|
|
305
|
-
attribute :>> name = "needsExplorerClassification";
|
|
273
|
+
@MemoIdentity { :>> providedId = "EXPL-021"; :>> label = "needsExplorerClassification"; }
|
|
306
274
|
attribute :>> sourceNamespace = "needs";
|
|
307
275
|
attribute :>> explorerDomain = "assurance";
|
|
308
276
|
attribute :>> explorerGroup = "requirements";
|
|
309
277
|
}
|
|
310
278
|
|
|
311
279
|
part explorerRequirementsClassification : ExplorerClassification {
|
|
312
|
-
@MemoIdentity { :>> providedId = "EXPL-022"; }
|
|
313
|
-
attribute :>> name = "requirementsExplorerClassification";
|
|
280
|
+
@MemoIdentity { :>> providedId = "EXPL-022"; :>> label = "requirementsExplorerClassification"; }
|
|
314
281
|
attribute :>> sourceNamespace = "requirements";
|
|
315
282
|
attribute :>> explorerDomain = "assurance";
|
|
316
283
|
attribute :>> explorerGroup = "requirements";
|
|
317
284
|
}
|
|
318
285
|
|
|
319
286
|
part explorerSafetyClassification : ExplorerClassification {
|
|
320
|
-
@MemoIdentity { :>> providedId = "EXPL-023"; }
|
|
321
|
-
attribute :>> name = "safetyExplorerClassification";
|
|
287
|
+
@MemoIdentity { :>> providedId = "EXPL-023"; :>> label = "safetyExplorerClassification"; }
|
|
322
288
|
attribute :>> sourceNamespace = "safety";
|
|
323
289
|
attribute :>> explorerDomain = "assurance";
|
|
324
290
|
attribute :>> explorerGroup = "safety-risk";
|
|
325
291
|
}
|
|
326
292
|
|
|
327
293
|
part explorerSafetyAnalysisClassification : ExplorerClassification {
|
|
328
|
-
@MemoIdentity { :>> providedId = "EXPL-024"; }
|
|
329
|
-
attribute :>> name = "safety_analysisExplorerClassification";
|
|
294
|
+
@MemoIdentity { :>> providedId = "EXPL-024"; :>> label = "safety_analysisExplorerClassification"; }
|
|
330
295
|
attribute :>> sourceNamespace = "safety_analysis";
|
|
331
296
|
attribute :>> explorerDomain = "assurance";
|
|
332
297
|
attribute :>> explorerGroup = "safety-risk";
|
|
333
298
|
}
|
|
334
299
|
|
|
335
300
|
part explorerCybersecurityClassification : ExplorerClassification {
|
|
336
|
-
@MemoIdentity { :>> providedId = "EXPL-025"; }
|
|
337
|
-
attribute :>> name = "cybersecurityExplorerClassification";
|
|
301
|
+
@MemoIdentity { :>> providedId = "EXPL-025"; :>> label = "cybersecurityExplorerClassification"; }
|
|
338
302
|
attribute :>> sourceNamespace = "cybersecurity";
|
|
339
303
|
attribute :>> explorerDomain = "assurance";
|
|
340
304
|
attribute :>> explorerGroup = "cybersecurity";
|
|
341
305
|
}
|
|
342
306
|
|
|
343
307
|
part explorerHumanFactorsClassification : ExplorerClassification {
|
|
344
|
-
@MemoIdentity { :>> providedId = "EXPL-026"; }
|
|
345
|
-
attribute :>> name = "human_factorsExplorerClassification";
|
|
308
|
+
@MemoIdentity { :>> providedId = "EXPL-026"; :>> label = "human_factorsExplorerClassification"; }
|
|
346
309
|
attribute :>> sourceNamespace = "human_factors";
|
|
347
310
|
attribute :>> explorerDomain = "assurance";
|
|
348
311
|
attribute :>> explorerGroup = "human-factors";
|
|
349
312
|
}
|
|
350
313
|
|
|
351
314
|
part explorerVerificationClassification : ExplorerClassification {
|
|
352
|
-
@MemoIdentity { :>> providedId = "EXPL-027"; }
|
|
353
|
-
attribute :>> name = "verificationExplorerClassification";
|
|
315
|
+
@MemoIdentity { :>> providedId = "EXPL-027"; :>> label = "verificationExplorerClassification"; }
|
|
354
316
|
attribute :>> sourceNamespace = "verification";
|
|
355
317
|
attribute :>> explorerDomain = "assurance";
|
|
356
318
|
attribute :>> explorerGroup = "verification-validation";
|
|
357
319
|
}
|
|
358
320
|
|
|
359
321
|
part explorerCoreClassification : ExplorerClassification {
|
|
360
|
-
@MemoIdentity { :>> providedId = "EXPL-028"; }
|
|
361
|
-
attribute :>> name = "coreExplorerClassification";
|
|
322
|
+
@MemoIdentity { :>> providedId = "EXPL-028"; :>> label = "coreExplorerClassification"; }
|
|
362
323
|
attribute :>> sourceNamespace = "core";
|
|
363
324
|
attribute :>> explorerDomain = "assurance";
|
|
364
325
|
attribute :>> explorerGroup = "evidence";
|
|
365
326
|
}
|
|
366
327
|
|
|
367
328
|
part explorerMethodologyClassification : ExplorerClassification {
|
|
368
|
-
@MemoIdentity { :>> providedId = "EXPL-029"; }
|
|
369
|
-
attribute :>> name = "methodologyExplorerClassification";
|
|
329
|
+
@MemoIdentity { :>> providedId = "EXPL-029"; :>> label = "methodologyExplorerClassification"; }
|
|
370
330
|
attribute :>> sourceNamespace = "methodology";
|
|
371
331
|
attribute :>> explorerDomain = "methodology";
|
|
372
332
|
attribute :>> explorerGroup = "methodology";
|
|
373
333
|
}
|
|
374
334
|
|
|
335
|
+
// A group name is only unique inside its layer: `core` is the controlled artifacts' evidence
|
|
336
|
+
// under artifacts/ and the method's own definitions (the model binding, a methodology, a rule
|
|
337
|
+
// policy) under methodology/. A source namespace written `layer/group` is that layer's group.
|
|
338
|
+
part explorerMethodologyCoreClassification : ExplorerClassification {
|
|
339
|
+
@MemoIdentity { :>> providedId = "EXPL-030"; :>> label = "methodologyCoreExplorerClassification"; }
|
|
340
|
+
attribute :>> sourceNamespace = "methodology/core";
|
|
341
|
+
attribute :>> explorerDomain = "methodology";
|
|
342
|
+
attribute :>> explorerGroup = "methodology";
|
|
343
|
+
}
|
|
344
|
+
|
|
375
345
|
// ── Enumeration labels ───────────────────────────────────────
|
|
376
346
|
// Seeded with the three status enums. `StatusKind` is the standard
|
|
377
347
|
// ModelingMetadata one and is seeded first because its members are
|
|
@@ -384,7 +354,6 @@ package memo_viewpoints_rendering {
|
|
|
384
354
|
|
|
385
355
|
part enumStatusOpen : EnumRendering {
|
|
386
356
|
@MemoIdentity { :>> providedId = "ENUM-STATUS-001"; }
|
|
387
|
-
attribute :>> name = "EnumStatusOpen";
|
|
388
357
|
attribute :>> enumValue = "StatusKind::open";
|
|
389
358
|
attribute :>> label = "Open";
|
|
390
359
|
attribute :>> shortLabel = "Open";
|
|
@@ -393,7 +362,6 @@ package memo_viewpoints_rendering {
|
|
|
393
362
|
|
|
394
363
|
part enumStatusTbd : EnumRendering {
|
|
395
364
|
@MemoIdentity { :>> providedId = "ENUM-STATUS-002"; }
|
|
396
|
-
attribute :>> name = "EnumStatusTbd";
|
|
397
365
|
attribute :>> enumValue = "StatusKind::tbd";
|
|
398
366
|
attribute :>> label = "To Be Determined";
|
|
399
367
|
attribute :>> shortLabel = "TBD";
|
|
@@ -402,7 +370,6 @@ package memo_viewpoints_rendering {
|
|
|
402
370
|
|
|
403
371
|
part enumStatusTbr : EnumRendering {
|
|
404
372
|
@MemoIdentity { :>> providedId = "ENUM-STATUS-003"; }
|
|
405
|
-
attribute :>> name = "EnumStatusTbr";
|
|
406
373
|
attribute :>> enumValue = "StatusKind::tbr";
|
|
407
374
|
attribute :>> label = "To Be Resolved";
|
|
408
375
|
attribute :>> shortLabel = "TBR";
|
|
@@ -411,7 +378,6 @@ package memo_viewpoints_rendering {
|
|
|
411
378
|
|
|
412
379
|
part enumStatusTbc : EnumRendering {
|
|
413
380
|
@MemoIdentity { :>> providedId = "ENUM-STATUS-004"; }
|
|
414
|
-
attribute :>> name = "EnumStatusTbc";
|
|
415
381
|
attribute :>> enumValue = "StatusKind::tbc";
|
|
416
382
|
attribute :>> label = "To Be Confirmed";
|
|
417
383
|
attribute :>> shortLabel = "TBC";
|
|
@@ -420,7 +386,6 @@ package memo_viewpoints_rendering {
|
|
|
420
386
|
|
|
421
387
|
part enumStatusDone : EnumRendering {
|
|
422
388
|
@MemoIdentity { :>> providedId = "ENUM-STATUS-005"; }
|
|
423
|
-
attribute :>> name = "EnumStatusDone";
|
|
424
389
|
attribute :>> enumValue = "StatusKind::done";
|
|
425
390
|
attribute :>> label = "Done";
|
|
426
391
|
attribute :>> shortLabel = "Done";
|
|
@@ -429,7 +394,6 @@ package memo_viewpoints_rendering {
|
|
|
429
394
|
|
|
430
395
|
part enumStatusClosed : EnumRendering {
|
|
431
396
|
@MemoIdentity { :>> providedId = "ENUM-STATUS-006"; }
|
|
432
|
-
attribute :>> name = "EnumStatusClosed";
|
|
433
397
|
attribute :>> enumValue = "StatusKind::closed";
|
|
434
398
|
attribute :>> label = "Closed";
|
|
435
399
|
attribute :>> shortLabel = "Closed";
|
|
@@ -438,7 +402,6 @@ package memo_viewpoints_rendering {
|
|
|
438
402
|
|
|
439
403
|
part enumElementProposed : EnumRendering {
|
|
440
404
|
@MemoIdentity { :>> providedId = "ENUM-ELEM-001"; }
|
|
441
|
-
attribute :>> name = "EnumElementProposed";
|
|
442
405
|
attribute :>> enumValue = "ElementStatusKind::proposed";
|
|
443
406
|
attribute :>> label = "Proposed";
|
|
444
407
|
attribute :>> enumColor = "#6B7280";
|
|
@@ -446,7 +409,6 @@ package memo_viewpoints_rendering {
|
|
|
446
409
|
|
|
447
410
|
part enumElementDraft : EnumRendering {
|
|
448
411
|
@MemoIdentity { :>> providedId = "ENUM-ELEM-002"; }
|
|
449
|
-
attribute :>> name = "EnumElementDraft";
|
|
450
412
|
attribute :>> enumValue = "ElementStatusKind::draft";
|
|
451
413
|
attribute :>> label = "Draft";
|
|
452
414
|
attribute :>> enumColor = "#6B7280";
|
|
@@ -454,7 +416,6 @@ package memo_viewpoints_rendering {
|
|
|
454
416
|
|
|
455
417
|
part enumElementInReview : EnumRendering {
|
|
456
418
|
@MemoIdentity { :>> providedId = "ENUM-ELEM-003"; }
|
|
457
|
-
attribute :>> name = "EnumElementInReview";
|
|
458
419
|
attribute :>> enumValue = "ElementStatusKind::inReview";
|
|
459
420
|
attribute :>> label = "In Review";
|
|
460
421
|
attribute :>> enumColor = "#D97706";
|
|
@@ -462,7 +423,6 @@ package memo_viewpoints_rendering {
|
|
|
462
423
|
|
|
463
424
|
part enumElementApproved : EnumRendering {
|
|
464
425
|
@MemoIdentity { :>> providedId = "ENUM-ELEM-004"; }
|
|
465
|
-
attribute :>> name = "EnumElementApproved";
|
|
466
426
|
attribute :>> enumValue = "ElementStatusKind::approved";
|
|
467
427
|
attribute :>> label = "Approved";
|
|
468
428
|
attribute :>> enumColor = "#0F766E";
|
|
@@ -470,7 +430,6 @@ package memo_viewpoints_rendering {
|
|
|
470
430
|
|
|
471
431
|
part enumElementReleased : EnumRendering {
|
|
472
432
|
@MemoIdentity { :>> providedId = "ENUM-ELEM-005"; }
|
|
473
|
-
attribute :>> name = "EnumElementReleased";
|
|
474
433
|
attribute :>> enumValue = "ElementStatusKind::released";
|
|
475
434
|
attribute :>> label = "Released";
|
|
476
435
|
attribute :>> enumColor = "#0F766E";
|
|
@@ -478,7 +437,6 @@ package memo_viewpoints_rendering {
|
|
|
478
437
|
|
|
479
438
|
part enumElementDeprecated : EnumRendering {
|
|
480
439
|
@MemoIdentity { :>> providedId = "ENUM-ELEM-006"; }
|
|
481
|
-
attribute :>> name = "EnumElementDeprecated";
|
|
482
440
|
attribute :>> enumValue = "ElementStatusKind::deprecated";
|
|
483
441
|
attribute :>> label = "Deprecated";
|
|
484
442
|
attribute :>> enumColor = "#B45309";
|
|
@@ -486,7 +444,6 @@ package memo_viewpoints_rendering {
|
|
|
486
444
|
|
|
487
445
|
part enumElementRetired : EnumRendering {
|
|
488
446
|
@MemoIdentity { :>> providedId = "ENUM-ELEM-007"; }
|
|
489
|
-
attribute :>> name = "EnumElementRetired";
|
|
490
447
|
attribute :>> enumValue = "ElementStatusKind::retired";
|
|
491
448
|
attribute :>> label = "Retired";
|
|
492
449
|
attribute :>> enumColor = "#991B1B";
|
|
@@ -494,7 +451,6 @@ package memo_viewpoints_rendering {
|
|
|
494
451
|
|
|
495
452
|
part enumCommentOpen : EnumRendering {
|
|
496
453
|
@MemoIdentity { :>> providedId = "ENUM-CMT-001"; }
|
|
497
|
-
attribute :>> name = "EnumCommentOpen";
|
|
498
454
|
attribute :>> enumValue = "CommentStatusKind::open";
|
|
499
455
|
attribute :>> label = "Open";
|
|
500
456
|
attribute :>> enumColor = "#2563EB";
|
|
@@ -502,7 +458,6 @@ package memo_viewpoints_rendering {
|
|
|
502
458
|
|
|
503
459
|
part enumCommentAcknowledged : EnumRendering {
|
|
504
460
|
@MemoIdentity { :>> providedId = "ENUM-CMT-002"; }
|
|
505
|
-
attribute :>> name = "EnumCommentAcknowledged";
|
|
506
461
|
attribute :>> enumValue = "CommentStatusKind::acknowledged";
|
|
507
462
|
attribute :>> label = "Acknowledged";
|
|
508
463
|
attribute :>> enumColor = "#2563EB";
|
|
@@ -510,7 +465,6 @@ package memo_viewpoints_rendering {
|
|
|
510
465
|
|
|
511
466
|
part enumCommentAddressed : EnumRendering {
|
|
512
467
|
@MemoIdentity { :>> providedId = "ENUM-CMT-003"; }
|
|
513
|
-
attribute :>> name = "EnumCommentAddressed";
|
|
514
468
|
attribute :>> enumValue = "CommentStatusKind::addressed";
|
|
515
469
|
attribute :>> label = "Addressed";
|
|
516
470
|
attribute :>> enumColor = "#0F766E";
|
|
@@ -518,7 +472,6 @@ package memo_viewpoints_rendering {
|
|
|
518
472
|
|
|
519
473
|
part enumCommentResolved : EnumRendering {
|
|
520
474
|
@MemoIdentity { :>> providedId = "ENUM-CMT-004"; }
|
|
521
|
-
attribute :>> name = "EnumCommentResolved";
|
|
522
475
|
attribute :>> enumValue = "CommentStatusKind::resolved";
|
|
523
476
|
attribute :>> label = "Resolved";
|
|
524
477
|
attribute :>> enumColor = "#0F766E";
|
|
@@ -526,7 +479,6 @@ package memo_viewpoints_rendering {
|
|
|
526
479
|
|
|
527
480
|
part enumCommentRejected : EnumRendering {
|
|
528
481
|
@MemoIdentity { :>> providedId = "ENUM-CMT-005"; }
|
|
529
|
-
attribute :>> name = "EnumCommentRejected";
|
|
530
482
|
attribute :>> enumValue = "CommentStatusKind::rejected";
|
|
531
483
|
attribute :>> label = "Rejected";
|
|
532
484
|
attribute :>> enumColor = "#991B1B";
|
|
@@ -8,17 +8,16 @@ package memo_viewpoints_requirements_requirements_viewpoint {
|
|
|
8
8
|
private import memo_core_common::*;
|
|
9
9
|
private import memo_core_common::MemoIdentity;
|
|
10
10
|
viewpoint requirementsViewpoint : MemoViewpoint {
|
|
11
|
-
@MemoIdentity { :>> providedId = "VP-REQ"; }
|
|
12
|
-
attribute :>> name = "RequirementsViewpoint";
|
|
11
|
+
@MemoIdentity { :>> providedId = "VP-REQ"; :>> label = "RequirementsViewpoint"; }
|
|
13
12
|
@MemoIdentity { :>> shortDescription = "Shows stakeholder needs and their decomposition into system, software, and hardware requirements."; }
|
|
14
|
-
|
|
13
|
+
doc /* Default viewpoint derived from the requirements layer for requirements traceability — the chain from stakeholder need through system, software, and hardware requirements, supporting IEC 62304 §5.1.1 and ISO 13485 §7.3.3. */
|
|
15
14
|
attribute :>> purpose = "Communicate requirements decomposition and traceability.";
|
|
16
|
-
ref :>> stakeholders = (
|
|
15
|
+
ref :>> stakeholders = (regulatoryEngineer, systemArchitect);
|
|
17
16
|
attribute :>> stage = WorkflowStageKind::requirements;
|
|
18
17
|
attribute :>> abstractionLevel = "requirements";
|
|
19
18
|
attribute :>> outputKind = (ViewOutputKind::diagram, ViewOutputKind::matrix);
|
|
20
19
|
attribute :>> presentationKind = (PresentationKind::traceMatrix);
|
|
21
|
-
ref :>> framedConcerns = (
|
|
20
|
+
ref :>> framedConcerns = (regulatoryConcern, safetyConcern);
|
|
22
21
|
attribute :>> explorerLane = "assurance";
|
|
23
22
|
attribute :>> explorerOrder = 1;
|
|
24
23
|
attribute :>> userExtensible = true;
|
|
@@ -10,8 +10,7 @@ package memo_viewpoints_requirements_views_requirements_traceability_view {
|
|
|
10
10
|
view requirementsTraceabilityView : MemoDiagramView {
|
|
11
11
|
expose memo_viewpoints_requirements_views_requirements_traceability_view::*;
|
|
12
12
|
attribute depth = 2;
|
|
13
|
-
@MemoIdentity { :>> providedId = "VIEW-REQ-001"; }
|
|
14
|
-
attribute :>> name = "RequirementsTraceabilityView";
|
|
13
|
+
@MemoIdentity { :>> providedId = "VIEW-REQ-001"; :>> label = "RequirementsTraceabilityView"; }
|
|
15
14
|
@MemoIdentity { :>> shortDescription = "Stakeholder needs traced through system, software, and hardware requirements."; }
|
|
16
15
|
attribute :>> outputKind = (ViewOutputKind::matrix);
|
|
17
16
|
attribute :>> presentationKind = (PresentationKind::traceMatrix);
|
|
@@ -19,8 +18,7 @@ package memo_viewpoints_requirements_views_requirements_traceability_view {
|
|
|
19
18
|
attribute :>> autoPopulate = true;
|
|
20
19
|
attribute :>> queryDescription = "Include stakeholder needs and requirements with their derivation chain.";
|
|
21
20
|
part :>> selectionQuery {
|
|
22
|
-
@MemoIdentity { :>> providedId = "QRY-REQ-001"; }
|
|
23
|
-
attribute :>> name = "RequirementsTraceabilityQuery";
|
|
21
|
+
@MemoIdentity { :>> providedId = "QRY-REQ-001"; :>> label = "RequirementsTraceabilityQuery"; }
|
|
24
22
|
attribute :>> includeElementKinds = ("Need", "Requirement");
|
|
25
23
|
attribute :>> includeLayers = ("requirements");
|
|
26
24
|
attribute :>> rationaleText = "Auto-populate requirements traceability from the requirements layer.";
|