@memoarchitect/ontology 0.13.2 → 0.15.1
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 +61 -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
|
@@ -15,138 +15,138 @@ package memo_viewpoints_catalog {
|
|
|
15
15
|
|
|
16
16
|
// ── Content and context ─────────────────────────────────────
|
|
17
17
|
viewpoint vpModelContent : MemoViewpoint {
|
|
18
|
-
@MemoIdentity { :>> providedId = "VP-CAT-001";
|
|
18
|
+
@MemoIdentity { :>> providedId = "VP-CAT-001"; :>> label = "ModelContentViewpoint"; }
|
|
19
19
|
attribute :>> purpose = "Browse the model tree and package structure.";
|
|
20
20
|
attribute :>> defaultViewKind = DiagramViewKind::browser;
|
|
21
21
|
}
|
|
22
22
|
viewpoint vpSystemContext : MemoViewpoint {
|
|
23
|
-
@MemoIdentity { :>> providedId = "VP-CAT-002";
|
|
23
|
+
@MemoIdentity { :>> providedId = "VP-CAT-002"; :>> label = "SystemContextViewpoint"; }
|
|
24
24
|
attribute :>> purpose = "System of interest, actors, external systems, and context exchanges.";
|
|
25
25
|
attribute :>> defaultViewKind = DiagramViewKind::general;
|
|
26
26
|
}
|
|
27
27
|
// ── Operational world ───────────────────────────────────────
|
|
28
28
|
viewpoint vpUseCase : MemoViewpoint {
|
|
29
|
-
@MemoIdentity { :>> providedId = "VP-CAT-003";
|
|
29
|
+
@MemoIdentity { :>> providedId = "VP-CAT-003"; :>> label = "UseCaseViewpoint"; }
|
|
30
30
|
attribute :>> purpose = "Use cases, initiating users, supporting actors, and motivating needs.";
|
|
31
31
|
attribute :>> defaultViewKind = DiagramViewKind::general;
|
|
32
32
|
}
|
|
33
33
|
viewpoint vpClinicalWorkflow : MemoViewpoint {
|
|
34
|
-
@MemoIdentity { :>> providedId = "VP-CAT-004";
|
|
34
|
+
@MemoIdentity { :>> providedId = "VP-CAT-004"; :>> label = "ClinicalWorkflowViewpoint"; }
|
|
35
35
|
attribute :>> purpose = "Workflow steps, decisions, parallel work, handoffs, and roles.";
|
|
36
36
|
attribute :>> defaultViewKind = DiagramViewKind::actionflow;
|
|
37
37
|
}
|
|
38
38
|
viewpoint vpScenario : MemoViewpoint {
|
|
39
|
-
@MemoIdentity { :>> providedId = "VP-CAT-005";
|
|
39
|
+
@MemoIdentity { :>> providedId = "VP-CAT-005"; :>> label = "ScenarioViewpoint"; }
|
|
40
40
|
attribute :>> purpose = "Selected paths through workflows: variants, conditions, variation points.";
|
|
41
41
|
attribute :>> defaultViewKind = DiagramViewKind::actionflow;
|
|
42
42
|
}
|
|
43
43
|
// ── Functional ──────────────────────────────────────────────
|
|
44
44
|
viewpoint vpFunctionalArchitecture : MemoViewpoint {
|
|
45
|
-
@MemoIdentity { :>> providedId = "VP-CAT-006";
|
|
45
|
+
@MemoIdentity { :>> providedId = "VP-CAT-006"; :>> label = "FunctionalArchitectureViewpoint"; }
|
|
46
46
|
attribute :>> purpose = "System functions, capabilities, and functional exchanges.";
|
|
47
47
|
attribute :>> defaultViewKind = DiagramViewKind::general;
|
|
48
48
|
}
|
|
49
49
|
viewpoint vpFunctionalFlow : MemoViewpoint {
|
|
50
|
-
@MemoIdentity { :>> providedId = "VP-CAT-007";
|
|
50
|
+
@MemoIdentity { :>> providedId = "VP-CAT-007"; :>> label = "FunctionalFlowViewpoint"; }
|
|
51
51
|
attribute :>> purpose = "Ordered functional flows and their steps.";
|
|
52
52
|
attribute :>> defaultViewKind = DiagramViewKind::actionflow;
|
|
53
53
|
}
|
|
54
54
|
// ── Logical ─────────────────────────────────────────────────
|
|
55
55
|
viewpoint vpLogicalArchitecture : MemoViewpoint {
|
|
56
|
-
@MemoIdentity { :>> providedId = "VP-CAT-008";
|
|
56
|
+
@MemoIdentity { :>> providedId = "VP-CAT-008"; :>> label = "LogicalArchitectureViewpoint"; }
|
|
57
57
|
attribute :>> purpose = "Logical components, channels, and allocations.";
|
|
58
58
|
attribute :>> defaultViewKind = DiagramViewKind::general;
|
|
59
59
|
}
|
|
60
60
|
viewpoint vpSystemDecomposition : MemoViewpoint {
|
|
61
|
-
@MemoIdentity { :>> providedId = "VP-CAT-009";
|
|
61
|
+
@MemoIdentity { :>> providedId = "VP-CAT-009"; :>> label = "SystemDecompositionViewpoint"; }
|
|
62
62
|
attribute :>> purpose = "Composition hierarchy of the system of interest.";
|
|
63
63
|
attribute :>> defaultViewKind = DiagramViewKind::browser;
|
|
64
64
|
}
|
|
65
65
|
viewpoint vpInternalInterconnection : MemoViewpoint {
|
|
66
|
-
@MemoIdentity { :>> providedId = "VP-CAT-010";
|
|
66
|
+
@MemoIdentity { :>> providedId = "VP-CAT-010"; :>> label = "InternalInterconnectionViewpoint"; }
|
|
67
67
|
attribute :>> purpose = "Ports, connectors, and exchanges inside a component boundary.";
|
|
68
68
|
attribute :>> defaultViewKind = DiagramViewKind::interconnection;
|
|
69
69
|
}
|
|
70
70
|
// ── Implementation ──────────────────────────────────────────
|
|
71
71
|
viewpoint vpSoftwareModule : MemoViewpoint {
|
|
72
|
-
@MemoIdentity { :>> providedId = "VP-CAT-011";
|
|
72
|
+
@MemoIdentity { :>> providedId = "VP-CAT-011"; :>> label = "SoftwareModuleViewpoint"; }
|
|
73
73
|
attribute :>> purpose = "IEC 62304 module structure: systems, items, units, SOUP.";
|
|
74
74
|
attribute :>> defaultViewKind = DiagramViewKind::general;
|
|
75
75
|
}
|
|
76
76
|
viewpoint vpSoftwareComponents : MemoViewpoint {
|
|
77
|
-
@MemoIdentity { :>> providedId = "VP-CAT-012";
|
|
77
|
+
@MemoIdentity { :>> providedId = "VP-CAT-012"; :>> label = "SoftwareComponentViewpoint"; }
|
|
78
78
|
attribute :>> purpose = "Runtime component-and-connector structure with concurrency and scheduling.";
|
|
79
79
|
attribute :>> defaultViewKind = DiagramViewKind::interconnection;
|
|
80
80
|
}
|
|
81
81
|
viewpoint vpHardwareArchitecture : MemoViewpoint {
|
|
82
|
-
@MemoIdentity { :>> providedId = "VP-CAT-013";
|
|
82
|
+
@MemoIdentity { :>> providedId = "VP-CAT-013"; :>> label = "HardwareArchitectureViewpoint"; }
|
|
83
83
|
attribute :>> purpose = "Electronic/electrical structure and processing platform.";
|
|
84
84
|
attribute :>> defaultViewKind = DiagramViewKind::general;
|
|
85
85
|
}
|
|
86
86
|
viewpoint vpPhysicalArchitecture : MemoViewpoint {
|
|
87
|
-
@MemoIdentity { :>> providedId = "VP-CAT-014";
|
|
87
|
+
@MemoIdentity { :>> providedId = "VP-CAT-014"; :>> label = "PhysicalArchitectureViewpoint"; }
|
|
88
88
|
attribute :>> purpose = "Mechanical, fluidic, optical, and other physical realization.";
|
|
89
89
|
attribute :>> defaultViewKind = DiagramViewKind::general;
|
|
90
90
|
}
|
|
91
91
|
viewpoint vpDeviceComposition : MemoViewpoint {
|
|
92
|
-
@MemoIdentity { :>> providedId = "VP-CAT-015";
|
|
92
|
+
@MemoIdentity { :>> providedId = "VP-CAT-015"; :>> label = "DeviceCompositionViewpoint"; }
|
|
93
93
|
attribute :>> purpose = "Device definitions, instances, accessories, and consumables.";
|
|
94
94
|
attribute :>> defaultViewKind = DiagramViewKind::browser;
|
|
95
95
|
}
|
|
96
96
|
viewpoint vpNetworkDeployment : MemoViewpoint {
|
|
97
|
-
@MemoIdentity { :>> providedId = "VP-CAT-016";
|
|
97
|
+
@MemoIdentity { :>> providedId = "VP-CAT-016"; :>> label = "NetworkDeploymentViewpoint"; }
|
|
98
98
|
attribute :>> purpose = "Deployment units on processing nodes and network topology.";
|
|
99
99
|
attribute :>> defaultViewKind = DiagramViewKind::interconnection;
|
|
100
100
|
}
|
|
101
101
|
// ── Interaction and behavior ────────────────────────────────
|
|
102
102
|
viewpoint vpUiFlow : MemoViewpoint {
|
|
103
|
-
@MemoIdentity { :>> providedId = "VP-CAT-017";
|
|
103
|
+
@MemoIdentity { :>> providedId = "VP-CAT-017"; :>> label = "UiFlowViewpoint"; }
|
|
104
104
|
attribute :>> purpose = "Interaction flows, UI states, and transitions.";
|
|
105
105
|
attribute :>> defaultViewKind = DiagramViewKind::statetransition;
|
|
106
106
|
}
|
|
107
107
|
viewpoint vpStateMode : MemoViewpoint {
|
|
108
|
-
@MemoIdentity { :>> providedId = "VP-CAT-018";
|
|
108
|
+
@MemoIdentity { :>> providedId = "VP-CAT-018"; :>> label = "StateModeViewpoint"; }
|
|
109
109
|
attribute :>> purpose = "System states, device modes, and transitions.";
|
|
110
110
|
attribute :>> defaultViewKind = DiagramViewKind::statetransition;
|
|
111
111
|
}
|
|
112
112
|
viewpoint vpSequenceInteraction : MemoViewpoint {
|
|
113
|
-
@MemoIdentity { :>> providedId = "VP-CAT-019";
|
|
113
|
+
@MemoIdentity { :>> providedId = "VP-CAT-019"; :>> label = "SequenceInteractionViewpoint"; }
|
|
114
114
|
attribute :>> purpose = "Ordered message exchanges between participants in a scenario.";
|
|
115
115
|
attribute :>> defaultViewKind = DiagramViewKind::sequence;
|
|
116
116
|
}
|
|
117
117
|
// ── Assurance ───────────────────────────────────────────────
|
|
118
118
|
viewpoint vpRequirementsTraceability : MemoViewpoint {
|
|
119
|
-
@MemoIdentity { :>> providedId = "VP-CAT-020";
|
|
119
|
+
@MemoIdentity { :>> providedId = "VP-CAT-020"; :>> label = "RequirementsTraceabilityViewpoint"; }
|
|
120
120
|
attribute :>> purpose = "Needs → requirements → architecture → verification trace matrix.";
|
|
121
121
|
attribute :>> defaultViewKind = DiagramViewKind::grid;
|
|
122
122
|
}
|
|
123
123
|
viewpoint vpRiskChain : MemoViewpoint {
|
|
124
|
-
@MemoIdentity { :>> providedId = "VP-CAT-021";
|
|
124
|
+
@MemoIdentity { :>> providedId = "VP-CAT-021"; :>> label = "RiskChainViewpoint"; }
|
|
125
125
|
attribute :>> purpose = "ISO 14971 chain: hazard → hazardous situation → harm with controls.";
|
|
126
126
|
attribute :>> defaultViewKind = DiagramViewKind::general;
|
|
127
127
|
}
|
|
128
128
|
viewpoint vpCybersecurity : MemoViewpoint {
|
|
129
|
-
@MemoIdentity { :>> providedId = "VP-CAT-022";
|
|
129
|
+
@MemoIdentity { :>> providedId = "VP-CAT-022"; :>> label = "CybersecurityViewpoint"; }
|
|
130
130
|
attribute :>> purpose = "Assets, threats, trust boundaries, and security controls.";
|
|
131
131
|
attribute :>> defaultViewKind = DiagramViewKind::general;
|
|
132
132
|
}
|
|
133
133
|
viewpoint vpHumanFactors : MemoViewpoint {
|
|
134
|
-
@MemoIdentity { :>> providedId = "VP-CAT-023";
|
|
134
|
+
@MemoIdentity { :>> providedId = "VP-CAT-023"; :>> label = "HumanFactorsViewpoint"; }
|
|
135
135
|
attribute :>> purpose = "Users, tasks, use errors, and hazard-related use scenarios.";
|
|
136
136
|
attribute :>> defaultViewKind = DiagramViewKind::grid;
|
|
137
137
|
}
|
|
138
138
|
viewpoint vpVerificationCoverage : MemoViewpoint {
|
|
139
|
-
@MemoIdentity { :>> providedId = "VP-CAT-024";
|
|
139
|
+
@MemoIdentity { :>> providedId = "VP-CAT-024"; :>> label = "VerificationCoverageViewpoint"; }
|
|
140
140
|
attribute :>> purpose = "Verification cases against requirements and functions.";
|
|
141
141
|
attribute :>> defaultViewKind = DiagramViewKind::grid;
|
|
142
142
|
}
|
|
143
143
|
viewpoint vpValidationCoverage : MemoViewpoint {
|
|
144
|
-
@MemoIdentity { :>> providedId = "VP-CAT-025";
|
|
144
|
+
@MemoIdentity { :>> providedId = "VP-CAT-025"; :>> label = "ValidationCoverageViewpoint"; }
|
|
145
145
|
attribute :>> purpose = "Validation cases against use cases and critical tasks.";
|
|
146
146
|
attribute :>> defaultViewKind = DiagramViewKind::grid;
|
|
147
147
|
}
|
|
148
148
|
viewpoint vpEvidenceTraceability : MemoViewpoint {
|
|
149
|
-
@MemoIdentity { :>> providedId = "VP-CAT-026";
|
|
149
|
+
@MemoIdentity { :>> providedId = "VP-CAT-026"; :>> label = "EvidenceTraceabilityViewpoint"; }
|
|
150
150
|
attribute :>> purpose = "Evidence records back to the cases and elements they support.";
|
|
151
151
|
attribute :>> defaultViewKind = DiagramViewKind::grid;
|
|
152
152
|
}
|
|
@@ -155,14 +155,14 @@ package memo_viewpoints_catalog {
|
|
|
155
155
|
// SoftwareComponents realizing a functional OperativeScenario. The viewpoint is the
|
|
156
156
|
// reusable spec; the diagram of a specific model is the view.
|
|
157
157
|
viewpoint vpSoftwareSequence : MemoViewpoint {
|
|
158
|
-
@MemoIdentity { :>> providedId = "VP-CAT-027";
|
|
158
|
+
@MemoIdentity { :>> providedId = "VP-CAT-027"; :>> label = "SoftwareSequenceViewpoint"; }
|
|
159
159
|
attribute :>> purpose = "Runtime message ordering between software components along a functional scenario.";
|
|
160
160
|
attribute :>> defaultViewKind = DiagramViewKind::sequence;
|
|
161
161
|
}
|
|
162
162
|
// The first cataloged viewpoint to resolve to `geometry`: screen regions
|
|
163
163
|
// carry authored RegionBounds, so a geometry view draws modelled facts.
|
|
164
164
|
viewpoint vpUILayout : MemoViewpoint {
|
|
165
|
-
@MemoIdentity { :>> providedId = "VP-CAT-028";
|
|
165
|
+
@MemoIdentity { :>> providedId = "VP-CAT-028"; :>> label = "UILayoutViewpoint"; }
|
|
166
166
|
attribute :>> purpose = "Captured screens with their marked regions and the UI elements those regions present.";
|
|
167
167
|
attribute :>> defaultViewKind = DiagramViewKind::geometry;
|
|
168
168
|
}
|
|
@@ -8,10 +8,9 @@ package memo_viewpoints_clinical_clinical_viewpoint {
|
|
|
8
8
|
private import memo_core_common::*;
|
|
9
9
|
private import memo_core_common::MemoIdentity;
|
|
10
10
|
viewpoint clinicalViewpoint : MemoViewpoint {
|
|
11
|
-
@MemoIdentity { :>> providedId = "VP-CLIN"; }
|
|
12
|
-
attribute :>> name = "ClinicalViewpoint";
|
|
11
|
+
@MemoIdentity { :>> providedId = "VP-CLIN"; :>> label = "ClinicalViewpoint"; }
|
|
13
12
|
@MemoIdentity { :>> shortDescription = "Shows clinical context, users, use environment, and clinical evidence."; }
|
|
14
|
-
|
|
13
|
+
doc /* Default viewpoint derived from the context and assurance layers for clinical stakeholders — intended use, patient/clinician interaction, clinical evidence, and clinical safety claims. */
|
|
15
14
|
attribute :>> purpose = "Communicate clinical use context and clinical evidence for the device.";
|
|
16
15
|
ref :>> stakeholders = (clinicalEngineer, regulatoryEngineer);
|
|
17
16
|
attribute :>> stage = WorkflowStageKind::context;
|
|
@@ -8,10 +8,9 @@ package memo_viewpoints_context_context_viewpoint {
|
|
|
8
8
|
private import memo_core_common::*;
|
|
9
9
|
private import memo_core_common::MemoIdentity;
|
|
10
10
|
viewpoint contextViewpoint : MemoViewpoint {
|
|
11
|
-
@MemoIdentity { :>> providedId = "VP-CTX"; }
|
|
12
|
-
attribute :>> name = "ContextViewpoint";
|
|
11
|
+
@MemoIdentity { :>> providedId = "VP-CTX"; :>> label = "ContextViewpoint"; }
|
|
13
12
|
@MemoIdentity { :>> shortDescription = "Shows actors, use context, and system boundary."; }
|
|
14
|
-
|
|
13
|
+
doc /* Default viewpoint derived from the context layer to communicate who interacts with the device, under which use conditions, and where trust or safety boundaries exist. */
|
|
15
14
|
attribute :>> purpose = "Communicate operational context and boundaries.";
|
|
16
15
|
ref :>> stakeholders = (systemArchitect);
|
|
17
16
|
attribute :>> stage = WorkflowStageKind::context;
|
|
@@ -10,8 +10,7 @@ package memo_viewpoints_context_views_system_context_view {
|
|
|
10
10
|
view systemContextView : MemoDiagramView {
|
|
11
11
|
expose memo_viewpoints_context_views_system_context_view::*;
|
|
12
12
|
attribute depth = 2;
|
|
13
|
-
@MemoIdentity { :>> providedId = "VIEW-CTX-001"; }
|
|
14
|
-
attribute :>> name = "SystemContextView";
|
|
13
|
+
@MemoIdentity { :>> providedId = "VIEW-CTX-001"; :>> label = "SystemContextView"; }
|
|
15
14
|
@MemoIdentity { :>> shortDescription = "Actors, use context, and system boundary."; }
|
|
16
15
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
17
16
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
@@ -19,9 +18,8 @@ package memo_viewpoints_context_views_system_context_view {
|
|
|
19
18
|
attribute :>> autoPopulate = true;
|
|
20
19
|
attribute :>> queryDescription = "Include actors, use contexts, and trust boundaries at the system boundary.";
|
|
21
20
|
part :>> selectionQuery {
|
|
22
|
-
@MemoIdentity { :>> providedId = "QRY-CTX-001"; }
|
|
23
|
-
attribute :>>
|
|
24
|
-
attribute :>> includeElementKinds = ("Actor", "UseContext", "TrustBoundary");
|
|
21
|
+
@MemoIdentity { :>> providedId = "QRY-CTX-001"; :>> label = "SystemContextQuery"; }
|
|
22
|
+
attribute :>> includeElementKinds = ("OperationalParticipant", "UseContext", "TrustBoundary");
|
|
25
23
|
attribute :>> includeLayers = ("context");
|
|
26
24
|
attribute :>> rationaleText = "Auto-populate the system context view from the context layer.";
|
|
27
25
|
}
|
|
@@ -8,10 +8,9 @@ package memo_viewpoints_cybersecurity_cybersecurity_viewpoint {
|
|
|
8
8
|
private import memo_core_common::*;
|
|
9
9
|
private import memo_core_common::MemoIdentity;
|
|
10
10
|
viewpoint cybersecurityViewpoint : MemoViewpoint {
|
|
11
|
-
@MemoIdentity { :>> providedId = "VP-CYB"; }
|
|
12
|
-
attribute :>> name = "CybersecurityViewpoint";
|
|
11
|
+
@MemoIdentity { :>> providedId = "VP-CYB"; :>> label = "CybersecurityViewpoint"; }
|
|
13
12
|
@MemoIdentity { :>> shortDescription = "Shows assets, trust boundaries, threats, vulnerabilities, cyber hazards, cyber risks, and mitigations."; }
|
|
14
|
-
|
|
13
|
+
doc /* Default viewpoint derived from the cybersecurity layer, using STRIDE-style threat categories by default while allowing safety and privacy impacts to be traced into the broader model. */
|
|
15
14
|
attribute :>> purpose = "Communicate cybersecurity design, threat analysis, and cyber risk posture.";
|
|
16
15
|
ref :>> stakeholders = (securityEngineer);
|
|
17
16
|
attribute :>> stage = WorkflowStageKind::risk;
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
// Where a view's boxes sit. A drawing's layout is presentation, and it is
|
|
2
|
+
// written in the view that owns it: `@MemoLayout` and its `@MemoLayout*`
|
|
3
|
+
// siblings annotate a `view` usage (their `annotatedElement` is never anything
|
|
4
|
+
// else), inside the view's own body. It used to live in a `.viewlayout`
|
|
5
|
+
// companion beside the file, which the compiler, review and the pinned build
|
|
6
|
+
// could not see.
|
|
7
|
+
//
|
|
8
|
+
// Flat on purpose. Each box, port, connector route and note is one metadata
|
|
9
|
+
// usage with primitive values, because a metadata body can redefine an
|
|
10
|
+
// attribute with a literal (MetadataBodyUsage, SysML-textual-bnf.kebnf:1694)
|
|
11
|
+
// but cannot construct a nested record, and a repeated record needs one usage
|
|
12
|
+
// per instance. Elements are named by their qualified id as a STRING, not a
|
|
13
|
+
// reference: a layout is not a model fact, so it must not become a
|
|
14
|
+
// relationship, and a reference to a renamed element would break the compile
|
|
15
|
+
// where a stale string only returns that box to automatic placement.
|
|
16
|
+
//
|
|
17
|
+
// The camera (zoom and pan) is not stored. It is one person's window onto the
|
|
18
|
+
// drawing, not the drawing, and recording it would put a diff in the model
|
|
19
|
+
// every time someone scrolled.
|
|
20
|
+
package memo_viewpoints_definitions_layout {
|
|
21
|
+
private import ScalarValues::*;
|
|
22
|
+
|
|
23
|
+
enum def MemoLayoutSide {
|
|
24
|
+
enum top;
|
|
25
|
+
enum bottom;
|
|
26
|
+
enum left;
|
|
27
|
+
enum right;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
enum def MemoLayoutLineStyle {
|
|
31
|
+
enum solid;
|
|
32
|
+
enum dashed;
|
|
33
|
+
enum dotted;
|
|
34
|
+
}
|
|
35
|
+
|
|
36
|
+
enum def MemoLayoutAlign {
|
|
37
|
+
enum left;
|
|
38
|
+
enum center;
|
|
39
|
+
enum right;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
enum def MemoLayoutVerticalAlign {
|
|
43
|
+
enum top;
|
|
44
|
+
enum middle;
|
|
45
|
+
enum bottom;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** The view-wide choices. One per view, absent when the view keeps every default. */
|
|
49
|
+
metadata def MemoLayout {
|
|
50
|
+
:> annotatedElement : SysML::ViewUsage;
|
|
51
|
+
/** False once a person has placed a box by hand. */
|
|
52
|
+
attribute autoLayout : Boolean[0..1];
|
|
53
|
+
attribute grid : Real[0..1];
|
|
54
|
+
attribute snap : Boolean[0..1];
|
|
55
|
+
/**
|
|
56
|
+
* The positions were written in a coordinate frame that differs from the
|
|
57
|
+
* current one; `context-child-v1` says a nested box's position is
|
|
58
|
+
* relative to its parent, as the canvas stores it now.
|
|
59
|
+
*/
|
|
60
|
+
attribute coordinateSpace : String[0..1];
|
|
61
|
+
/** The automatic-layout provider the person chose for this view, and the version of it that placed the boxes. */
|
|
62
|
+
attribute layoutProvider : String[0..1];
|
|
63
|
+
attribute layoutProviderVersion : String[0..1];
|
|
64
|
+
attribute layoutContractVersion : String[0..1];
|
|
65
|
+
attribute layoutPreset : String[0..1];
|
|
66
|
+
attribute layoutSeed : Real[0..1];
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* One box. `x` and `y` are in the frame of `parentElement` (the box it is
|
|
71
|
+
* nested in), or on the board when there is none; the frame is recorded
|
|
72
|
+
* because a box that changes nesting would otherwise be read in the wrong
|
|
73
|
+
* one and jump.
|
|
74
|
+
*/
|
|
75
|
+
metadata def MemoLayoutNode {
|
|
76
|
+
:> annotatedElement : SysML::ViewUsage;
|
|
77
|
+
attribute element : String;
|
|
78
|
+
attribute parentElement : String[0..1];
|
|
79
|
+
attribute x : Real;
|
|
80
|
+
attribute y : Real;
|
|
81
|
+
attribute width : Real[0..1];
|
|
82
|
+
attribute height : Real[0..1];
|
|
83
|
+
attribute fillColor : String[0..1];
|
|
84
|
+
attribute borderColor : String[0..1];
|
|
85
|
+
attribute textColor : String[0..1];
|
|
86
|
+
attribute fontSize : Real[0..1];
|
|
87
|
+
attribute fontWeight : Real[0..1];
|
|
88
|
+
attribute textAlign : MemoLayoutAlign[0..1];
|
|
89
|
+
attribute verticalAlign : MemoLayoutVerticalAlign[0..1];
|
|
90
|
+
attribute opacity : Real[0..1];
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
/** Where a boundary port sits on its owner's box, relative to that box. */
|
|
94
|
+
metadata def MemoLayoutPort {
|
|
95
|
+
:> annotatedElement : SysML::ViewUsage;
|
|
96
|
+
attribute element : String;
|
|
97
|
+
attribute portName : String;
|
|
98
|
+
attribute x : Real;
|
|
99
|
+
attribute y : Real;
|
|
100
|
+
attribute side : MemoLayoutSide[0..1];
|
|
101
|
+
attribute size : Real[0..1];
|
|
102
|
+
}
|
|
103
|
+
|
|
104
|
+
/**
|
|
105
|
+
* Which wall a boundary port straddles. A constraint rather than a
|
|
106
|
+
* position: automatic layout still places the port, on that wall.
|
|
107
|
+
*/
|
|
108
|
+
metadata def MemoLayoutPortWall {
|
|
109
|
+
:> annotatedElement : SysML::ViewUsage;
|
|
110
|
+
attribute portId : String;
|
|
111
|
+
attribute wall : MemoLayoutSide;
|
|
112
|
+
}
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* A connector's presentation. `route` is the hand-drawn bend points as
|
|
116
|
+
* x, y, x, y, … in board coordinates; the landings say where each end meets
|
|
117
|
+
* its box, as a wall and a fraction along it, and survive the box moving.
|
|
118
|
+
*/
|
|
119
|
+
metadata def MemoLayoutEdge {
|
|
120
|
+
:> annotatedElement : SysML::ViewUsage;
|
|
121
|
+
attribute edge : String;
|
|
122
|
+
attribute color : String[0..1];
|
|
123
|
+
attribute strokeWidth : Real[0..1];
|
|
124
|
+
attribute labelVisible : Boolean[0..1];
|
|
125
|
+
attribute lineStyle : MemoLayoutLineStyle[0..1];
|
|
126
|
+
attribute route : Real[0..*] ordered;
|
|
127
|
+
attribute sourceElement : String[0..1];
|
|
128
|
+
attribute targetElement : String[0..1];
|
|
129
|
+
attribute sourcePortId : String[0..1];
|
|
130
|
+
attribute targetPortId : String[0..1];
|
|
131
|
+
attribute manualLanding : Boolean[0..1];
|
|
132
|
+
attribute sourceSide : MemoLayoutSide[0..1];
|
|
133
|
+
attribute sourceT : Real[0..1];
|
|
134
|
+
attribute targetSide : MemoLayoutSide[0..1];
|
|
135
|
+
attribute targetT : Real[0..1];
|
|
136
|
+
}
|
|
137
|
+
|
|
138
|
+
/** A note, text label or constraint box that belongs to the drawing and not to the model. */
|
|
139
|
+
metadata def MemoLayoutNote {
|
|
140
|
+
:> annotatedElement : SysML::ViewUsage;
|
|
141
|
+
attribute noteId : String;
|
|
142
|
+
attribute noteKind : String;
|
|
143
|
+
attribute x : Real;
|
|
144
|
+
attribute y : Real;
|
|
145
|
+
attribute width : Real[0..1];
|
|
146
|
+
attribute height : Real[0..1];
|
|
147
|
+
attribute text : String;
|
|
148
|
+
attribute fillColor : String[0..1];
|
|
149
|
+
}
|
|
150
|
+
}
|
|
@@ -20,8 +20,6 @@ package memo_viewpoints_definitions {
|
|
|
20
20
|
// rather than a re-declared core: a viewpoint is native requirement-family,
|
|
21
21
|
// not a MemoPart, and metadata crosses metaclasses where inheritance cannot.
|
|
22
22
|
viewpoint def MemoViewpoint :> Views::ViewpointCheck {
|
|
23
|
-
attribute name : String;
|
|
24
|
-
attribute description : String;
|
|
25
23
|
attribute status : ElementStatusKind;
|
|
26
24
|
attribute lifecycleState : LifecycleStateKind;
|
|
27
25
|
attribute realizationStage : RealizationStageKind[0..1];
|
|
@@ -134,8 +132,6 @@ package memo_viewpoints_definitions {
|
|
|
134
132
|
// Identity comes from the `@MemoIdentity` metadata carrier, which
|
|
135
133
|
// annotates any metaclass — so a view stays native SysML without
|
|
136
134
|
// re-declaring the identification core the other bases used to copy.
|
|
137
|
-
attribute name : String;
|
|
138
|
-
attribute description : String;
|
|
139
135
|
attribute status : ElementStatusKind;
|
|
140
136
|
attribute lifecycleState : LifecycleStateKind;
|
|
141
137
|
attribute realizationStage : RealizationStageKind[0..1];
|
|
@@ -8,10 +8,9 @@ package memo_viewpoints_functional_functional_viewpoint {
|
|
|
8
8
|
private import memo_core_common::*;
|
|
9
9
|
private import memo_core_common::MemoIdentity;
|
|
10
10
|
viewpoint functionalViewpoint : MemoViewpoint {
|
|
11
|
-
@MemoIdentity { :>> providedId = "VP-FUNC"; }
|
|
12
|
-
attribute :>> name = "FunctionalViewpoint";
|
|
11
|
+
@MemoIdentity { :>> providedId = "VP-FUNC"; :>> label = "FunctionalViewpoint"; }
|
|
13
12
|
@MemoIdentity { :>> shortDescription = "Shows system functions, their decomposition, and allocation."; }
|
|
14
|
-
|
|
13
|
+
doc /* Default viewpoint derived from the functions layer for what the system does, independent of how it is structured — function trees, function allocation, and behavior triggers. */
|
|
15
14
|
attribute :>> purpose = "Describe the system's functional decomposition and behavior.";
|
|
16
15
|
ref :>> stakeholders = (systemArchitect);
|
|
17
16
|
attribute :>> stage = WorkflowStageKind::architecture;
|
package/src/viewpoints/functional/views/function_allocation_view/function_allocation_view.sysml
CHANGED
|
@@ -10,8 +10,7 @@ package memo_viewpoints_functional_views_function_allocation_view {
|
|
|
10
10
|
view functionAllocationView : MemoDiagramView {
|
|
11
11
|
expose memo_viewpoints_functional_views_function_allocation_view::*;
|
|
12
12
|
attribute depth = 2;
|
|
13
|
-
@MemoIdentity { :>> providedId = "VIEW-FUNC-002"; }
|
|
14
|
-
attribute :>> name = "FunctionAllocationView";
|
|
13
|
+
@MemoIdentity { :>> providedId = "VIEW-FUNC-002"; :>> label = "FunctionAllocationView"; }
|
|
15
14
|
@MemoIdentity { :>> shortDescription = "Functions allocated to logical components."; }
|
|
16
15
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
17
16
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
@@ -19,8 +18,7 @@ package memo_viewpoints_functional_views_function_allocation_view {
|
|
|
19
18
|
attribute :>> autoPopulate = true;
|
|
20
19
|
attribute :>> queryDescription = "Include functions and the logical components they are allocated to.";
|
|
21
20
|
part :>> selectionQuery {
|
|
22
|
-
@MemoIdentity { :>> providedId = "QRY-FUNC-002"; }
|
|
23
|
-
attribute :>> name = "FunctionAllocationQuery";
|
|
21
|
+
@MemoIdentity { :>> providedId = "QRY-FUNC-002"; :>> label = "FunctionAllocationQuery"; }
|
|
24
22
|
attribute :>> includeElementKinds = ("SystemFunction", "ComponentFunction", "LogicalComponent");
|
|
25
23
|
attribute :>> includeLayers = ("functions", "logical_structure");
|
|
26
24
|
attribute :>> rationaleText = "Auto-populate function-to-component allocation from the functions and logical structure layers.";
|
|
@@ -10,8 +10,7 @@ package memo_viewpoints_functional_views_system_functional_tree_view {
|
|
|
10
10
|
view systemFunctionalTreeView : MemoDiagramView {
|
|
11
11
|
expose memo_viewpoints_functional_views_system_functional_tree_view::*;
|
|
12
12
|
attribute depth = 2;
|
|
13
|
-
@MemoIdentity { :>> providedId = "VIEW-FUNC-001"; }
|
|
14
|
-
attribute :>> name = "SystemFunctionalTreeView";
|
|
13
|
+
@MemoIdentity { :>> providedId = "VIEW-FUNC-001"; :>> label = "SystemFunctionalTreeView"; }
|
|
15
14
|
@MemoIdentity { :>> shortDescription = "Hierarchical decomposition of system functions."; }
|
|
16
15
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
17
16
|
attribute :>> presentationKind = (PresentationKind::activityDiagram);
|
|
@@ -19,8 +18,7 @@ package memo_viewpoints_functional_views_system_functional_tree_view {
|
|
|
19
18
|
attribute :>> autoPopulate = true;
|
|
20
19
|
attribute :>> queryDescription = "Include functions and their decomposition into subfunctions.";
|
|
21
20
|
part :>> selectionQuery {
|
|
22
|
-
@MemoIdentity { :>> providedId = "QRY-FUNC-001"; }
|
|
23
|
-
attribute :>> name = "SystemFunctionalTreeQuery";
|
|
21
|
+
@MemoIdentity { :>> providedId = "QRY-FUNC-001"; :>> label = "SystemFunctionalTreeQuery"; }
|
|
24
22
|
attribute :>> includeElementKinds = ("SystemFunction", "ComponentFunction");
|
|
25
23
|
attribute :>> includeLayers = ("functions");
|
|
26
24
|
attribute :>> rationaleText = "Auto-populate the functional tree from the functions layer.";
|
|
@@ -8,10 +8,9 @@ package memo_viewpoints_logical_logical_viewpoint {
|
|
|
8
8
|
private import memo_core_common::*;
|
|
9
9
|
private import memo_core_common::MemoIdentity;
|
|
10
10
|
viewpoint logicalArchitectureViewpoint : MemoViewpoint {
|
|
11
|
-
@MemoIdentity { :>> providedId = "VP-LOG"; }
|
|
12
|
-
attribute :>> name = "LogicalArchitectureViewpoint";
|
|
11
|
+
@MemoIdentity { :>> providedId = "VP-LOG"; :>> label = "LogicalArchitectureViewpoint"; }
|
|
13
12
|
@MemoIdentity { :>> shortDescription = "Shows logical decomposition and interfaces."; }
|
|
14
|
-
|
|
13
|
+
doc /* Default viewpoint derived from the logical architecture layer for subsystem structure, responsibilities, and major interactions, independent of physical realization. */
|
|
15
14
|
attribute :>> purpose = "Describe the system's logical decomposition.";
|
|
16
15
|
ref :>> stakeholders = (systemArchitect);
|
|
17
16
|
attribute :>> stage = WorkflowStageKind::architecture;
|
package/src/viewpoints/logical/views/logical_architecture_view/logical_architecture_view.sysml
CHANGED
|
@@ -10,8 +10,7 @@ package memo_viewpoints_logical_views_logical_architecture_view {
|
|
|
10
10
|
view logicalArchitectureView : MemoDiagramView {
|
|
11
11
|
expose memo_viewpoints_logical_views_logical_architecture_view::*;
|
|
12
12
|
attribute depth = 2;
|
|
13
|
-
@MemoIdentity { :>> providedId = "VIEW-LOG-001"; }
|
|
14
|
-
attribute :>> name = "LogicalArchitectureView";
|
|
13
|
+
@MemoIdentity { :>> providedId = "VIEW-LOG-001"; :>> label = "LogicalArchitectureView"; }
|
|
15
14
|
@MemoIdentity { :>> shortDescription = "Logical components and their interfaces."; }
|
|
16
15
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
17
16
|
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
@@ -19,8 +18,7 @@ package memo_viewpoints_logical_views_logical_architecture_view {
|
|
|
19
18
|
attribute :>> autoPopulate = true;
|
|
20
19
|
attribute :>> queryDescription = "Include logical components and the interfaces that connect them.";
|
|
21
20
|
part :>> selectionQuery {
|
|
22
|
-
@MemoIdentity { :>> providedId = "QRY-LOG-001"; }
|
|
23
|
-
attribute :>> name = "LogicalArchitectureQuery";
|
|
21
|
+
@MemoIdentity { :>> providedId = "QRY-LOG-001"; :>> label = "LogicalArchitectureQuery"; }
|
|
24
22
|
attribute :>> includeElementKinds = ("LogicalComponent", "Interface");
|
|
25
23
|
attribute :>> includeLayers = ("logical_structure", "interfaces");
|
|
26
24
|
attribute :>> rationaleText = "Auto-populate the logical architecture view from the logical structure and interfaces layers.";
|
|
@@ -8,10 +8,9 @@ package memo_viewpoints_operational_operational_viewpoint {
|
|
|
8
8
|
private import memo_core_common::*;
|
|
9
9
|
private import memo_core_common::MemoIdentity;
|
|
10
10
|
viewpoint operationalViewpoint : MemoViewpoint {
|
|
11
|
-
@MemoIdentity { :>> providedId = "VP-OPS"; }
|
|
12
|
-
attribute :>> name = "OperationalViewpoint";
|
|
11
|
+
@MemoIdentity { :>> providedId = "VP-OPS"; :>> label = "OperationalViewpoint"; }
|
|
13
12
|
@MemoIdentity { :>> shortDescription = "Shows actors, use contexts, operational scenarios, and system capabilities."; }
|
|
14
|
-
|
|
13
|
+
doc /* Default viewpoint derived from the context, operational, and system layers for how actors use the device — operational scenarios, capabilities, and the functional chains that realize them. */
|
|
15
14
|
attribute :>> purpose = "Communicate how actors interact with the system and which capabilities they invoke.";
|
|
16
15
|
ref :>> stakeholders = (projectLead, systemArchitect);
|
|
17
16
|
attribute :>> stage = WorkflowStageKind::context;
|
|
@@ -10,8 +10,7 @@ package memo_viewpoints_operational_views_use_case_view {
|
|
|
10
10
|
view useCaseView : MemoDiagramView {
|
|
11
11
|
expose memo_viewpoints_operational_views_use_case_view::*;
|
|
12
12
|
attribute depth = 2;
|
|
13
|
-
@MemoIdentity { :>> providedId = "VIEW-OPS-001"; }
|
|
14
|
-
attribute :>> name = "UseCaseView";
|
|
13
|
+
@MemoIdentity { :>> providedId = "VIEW-OPS-001"; :>> label = "UseCaseView"; }
|
|
15
14
|
@MemoIdentity { :>> shortDescription = "Actors connected to the operational scenarios and capabilities they invoke."; }
|
|
16
15
|
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
17
16
|
attribute :>> presentationKind = (PresentationKind::custom);
|
|
@@ -19,9 +18,8 @@ package memo_viewpoints_operational_views_use_case_view {
|
|
|
19
18
|
attribute :>> autoPopulate = true;
|
|
20
19
|
attribute :>> queryDescription = "Include actors, use contexts, and the operational scenarios they participate in.";
|
|
21
20
|
part :>> selectionQuery {
|
|
22
|
-
@MemoIdentity { :>> providedId = "QRY-OPS-001"; }
|
|
23
|
-
attribute :>>
|
|
24
|
-
attribute :>> includeElementKinds = ("Actor", "UseContext", "OperativeScenario[scenarioKind=operative]");
|
|
21
|
+
@MemoIdentity { :>> providedId = "QRY-OPS-001"; :>> label = "UseCaseQuery"; }
|
|
22
|
+
attribute :>> includeElementKinds = ("OperationalParticipant", "UseContext", "OperativeScenario");
|
|
25
23
|
attribute :>> includeLayers = ("context", "operational");
|
|
26
24
|
attribute :>> rationaleText = "Auto-populate the use case view from the context and operational layers.";
|
|
27
25
|
}
|
|
@@ -8,10 +8,9 @@ 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
15
|
ref :>> stakeholders = (hardwareEngineer);
|
|
17
16
|
attribute :>> stage = WorkflowStageKind::architecture;
|
|
@@ -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.";
|