@memoarchitect/ontology 0.6.5 → 0.7.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/examples/connected-patient-monitor/model/catalog/project.sysml +24 -0
- package/examples/connected-patient-monitor/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/connected-patient-monitor/model/{viewpoints → catalog/viewpoints/unassigned/views}/connected_patient_monitor_overview.sysml +1 -1
- package/examples/embedded-infusion-pump/model/catalog/project.sysml +24 -0
- package/examples/embedded-infusion-pump/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/embedded-infusion-pump/model/{viewpoints → catalog/viewpoints/unassigned/views}/embedded_infusion_pump_overview.sysml +1 -1
- package/examples/extensions/clinical/memo.package.yaml +18 -9
- package/examples/extensions/clinical/src/methodology/clinical_methodology.sysml +10 -2
- package/examples/extensions/template/memo.package.yaml +17 -9
- package/examples/functional-logical-physical/model/catalog/project.sysml +24 -0
- package/examples/functional-logical-physical/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/functional-logical-physical/model/{viewpoints → catalog/viewpoints/unassigned/views}/functional_logical_physical_overview.sysml +1 -1
- package/examples/gpca-pump/gpca-pump.kpar +0 -0
- package/examples/gpca-pump/methodology/gpca_methodology.sysml +7 -8
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +89 -11
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +2 -2
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +5 -5
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +3 -8
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +6 -6
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +1 -15
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +7 -6
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +19 -8
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +2 -2
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +1 -1
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +34 -30
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +27 -23
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +1 -1
- package/examples/gpca-pump/model/catalog/project.sysml +21 -0
- package/examples/gpca-pump/model/catalog/viewpoints/context/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/context/views}/context_system_context_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/cybersecurity/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/cybersecurity_cybersecurity_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_cyber_assessment_view.sysml +4 -4
- package/examples/gpca-pump/model/{views → catalog/viewpoints/cybersecurity/views}/document_threat_model_view.sysml +4 -4
- package/examples/gpca-pump/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_allocation_view.sysml +2 -2
- package/examples/gpca-pump/model/{views → catalog/viewpoints/functional/views}/functional_function_browser_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/logical/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/behavior_action_flow_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/document_architecture_description_view.sysml +7 -7
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_device_interconnect_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_logical_architecture_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_mode_state_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/logical/views}/logical_system_decomposition_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/operational/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_scenario_sequence_view.sysml +2 -2
- package/examples/gpca-pump/model/{views → catalog/viewpoints/operational/views}/operational_use_case_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/physical/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/physical/views}/physical_physical_bom_view.sysml +2 -2
- package/examples/gpca-pump/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/document_dhf_index_view.sysml +6 -6
- package/examples/gpca-pump/model/{views → catalog/viewpoints/requirements/views}/requirements_requirements_trace_view.sysml +2 -2
- package/examples/gpca-pump/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_hazard_analysis_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/document_rmf_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_fmea_view.sysml +2 -2
- package/examples/gpca-pump/model/{views → catalog/viewpoints/risk/views}/risk_risk_chain_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/software/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/document_sdd_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/software/views}/software_software_architecture_view.sysml +3 -3
- package/examples/gpca-pump/model/catalog/viewpoints/usability/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/usability/views}/document_usability_view.sysml +4 -4
- package/examples/gpca-pump/model/catalog/viewpoints/verification/viewpoint.sysml +8 -0
- package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/document_vv_view.sysml +3 -3
- package/examples/gpca-pump/model/{views → catalog/viewpoints/verification/views}/verification_verification_coverage_view.sysml +2 -2
- package/examples/ivd-laboratory-system/model/catalog/project.sysml +24 -0
- package/examples/ivd-laboratory-system/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/ivd-laboratory-system/model/{viewpoints → catalog/viewpoints/unassigned/views}/ivd_laboratory_system_overview.sysml +1 -1
- package/examples/manual-surgical-instrument/model/catalog/manual_surgical_instrument.sysml +1 -0
- package/examples/manual-surgical-instrument/model/catalog/project.sysml +24 -0
- package/examples/manual-surgical-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/manual-surgical-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/manual_surgical_instrument_overview.sysml +1 -1
- package/examples/multidimensional-layers/model/catalog/project.sysml +24 -0
- package/examples/multidimensional-layers/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/multidimensional-layers/model/{viewpoints → catalog/viewpoints/unassigned/views}/multidimensional_layers_overview.sysml +1 -1
- package/examples/nested-architecture-dsm/README.md +49 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/functional/functions.sysml +174 -0
- package/examples/nested-architecture-dsm/model/catalog/architecture/logical/structure.sysml +183 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/needs.sysml +53 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/requirements/requirements.sysml +89 -0
- package/examples/nested-architecture-dsm/model/catalog/assurance/verification_validation/verification_validation.sysml +90 -0
- package/examples/nested-architecture-dsm/model/catalog/project.sysml +28 -0
- package/examples/nested-architecture-dsm/model/catalog/traces.sysml +49 -0
- package/examples/reusable-instrument/model/catalog/project.sysml +24 -0
- package/examples/reusable-instrument/model/catalog/reusable_instrument.sysml +7 -6
- package/examples/reusable-instrument/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/reusable-instrument/model/{viewpoints → catalog/viewpoints/unassigned/views}/reusable_instrument_overview.sysml +1 -1
- package/examples/software-only-medical-device/model/catalog/project.sysml +24 -0
- package/examples/software-only-medical-device/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/software-only-medical-device/model/{viewpoints → catalog/viewpoints/unassigned/views}/software_only_medical_device_overview.sysml +1 -1
- package/examples/surgical-closure-workflow/model/catalog/project.sysml +24 -0
- package/examples/surgical-closure-workflow/model/catalog/surgical_closure_workflow.sysml +23 -19
- package/examples/surgical-closure-workflow/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/surgical-closure-workflow/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_closure_workflow_overview.sysml +1 -1
- package/examples/surgical-robot/model/catalog/project.sysml +24 -0
- package/examples/surgical-robot/model/catalog/surgical_robot.sysml +5 -3
- package/examples/surgical-robot/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/surgical-robot/model/{viewpoints → catalog/viewpoints/unassigned/views}/surgical_robot_overview.sysml +1 -1
- package/examples/sysml-diagram-samples/README.md +7 -0
- package/examples/sysml-diagram-samples/dhf/documents/DOC-HAR-001.md +11 -0
- package/examples/sysml-diagram-samples/memo.package.yaml +11 -5
- package/examples/sysml-diagram-samples/model/catalog/project.sysml +33 -0
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/action_flow_view.sysml +18 -10
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/context_view.sysml +4 -2
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/context_view.viewlayout +47 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/functional_flow_view.sysml +23 -20
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/interconnection_view.sysml +17 -14
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/interconnection_view.viewlayout +94 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/operational_behaviour_view.sysml +23 -20
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/operational_behaviour_view.viewlayout +13 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/requirements_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/catalog/viewpoints/unassigned/views/standard_activity_view.sysml +51 -0
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/state_transition_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/tree_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/{samples → catalog/viewpoints/unassigned/views}/use_case_view.sysml +3 -1
- package/examples/sysml-diagram-samples/model/sysml_v2_activity_example.sysml +93 -0
- package/examples/temperature-alarm/model/catalog/project.sysml +24 -0
- package/examples/temperature-alarm/model/catalog/temperature_alarm.sysml +2 -1
- package/examples/temperature-alarm/model/catalog/viewpoints/unassigned/viewpoint.sysml +9 -0
- package/examples/temperature-alarm/model/{viewpoints → catalog/viewpoints/unassigned/views}/temperature_alarm_overview.sysml +1 -1
- package/examples/ui-screen-regions/README.md +117 -0
- package/examples/ui-screen-regions/model/catalog/architecture/functional/functions.sysml +60 -0
- package/examples/ui-screen-regions/model/catalog/architecture/implementation/ui.sysml +189 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/catalog.sysml +61 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/drugSelectorRegion/drug-selector-expanded-2.4.1.png +0 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/mainScreenLayout/main-screen-2.4.1.png +0 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/assets/screen-captures/settingsScreenLayout/settings-screen-2.4.1.png +0 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/comments.sysml +51 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/notes.sysml +27 -0
- package/examples/ui-screen-regions/model/catalog/artifacts/reviews/rationales.sysml +27 -0
- package/examples/ui-screen-regions/model/catalog/assurance/human_factors/human_factors.sysml +59 -0
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/needs.sysml +25 -0
- package/examples/ui-screen-regions/model/catalog/assurance/requirements/requirements.sysml +178 -0
- package/examples/ui-screen-regions/model/catalog/assurance/safety_risk/risk.sysml +93 -0
- package/examples/ui-screen-regions/model/catalog/assurance/verification_validation/verification_validation.sysml +60 -0
- package/examples/ui-screen-regions/model/catalog/project.sysml +45 -0
- package/examples/ui-screen-regions/model/catalog/traces.sysml +276 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/functional/views/ui_functional_tree.sysml +62 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/requirements/views/ui_requirements_trace.sysml +62 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/risk/views/ui_risk_chain.sysml +62 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/viewpoint.sysml +8 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/main_screen_layout.sysml +57 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/settings_screen_layout.sysml +52 -0
- package/examples/ui-screen-regions/model/catalog/viewpoints/ui_layout/views/ui_region_trace.sysml +54 -0
- package/memo.manifest.yaml +2 -0
- package/methodologies/default/memo.package.yaml +19 -9
- package/methodologies/gpca/memo.package.yaml +18 -9
- package/ontology/memo.package.yaml +23 -8
- package/package.json +2 -4
- package/profile/memo.package.yaml +18 -9
- package/src/architecture/decisions/memo_decisions.sysml +7 -0
- package/src/architecture/functional/behavior/memo_behavior.sysml +1 -1
- package/src/architecture/functional/functions/memo_functions.sysml +5 -12
- package/src/architecture/implementation/software/runtime/memo_software_runtime.sysml +1 -3
- package/src/architecture/implementation/software/structure/memo_software_structure.sysml +18 -5
- package/src/architecture/implementation/ui/memo_ui.sysml +210 -27
- package/src/architecture/logical/interfaces/memo_interfaces.sysml +1 -2
- package/src/architecture/logical/structure/memo_logical_structure.sysml +71 -15
- package/src/architecture/operational/activities/memo_activities.sysml +0 -1
- package/src/architecture/operational/scenarios/memo_scenarios.sysml +2 -2
- package/src/architecture/operational/workflows/memo_workflows.sysml +0 -6
- package/src/{compliance/change/memo_change.sysml → artifacts/configuration_management/memo_configuration_management.sysml} +5 -3
- package/src/artifacts/core/memo_controlled_artifacts.sysml +33 -0
- package/src/artifacts/documents/risk_management/memo_risk_management.sysml +12 -0
- package/src/assurance/cybersecurity/memo_cybersecurity.sysml +1 -1
- package/src/assurance/human_factors/memo_human_factors.sysml +1 -1
- package/src/assurance/safety_risk/postmarket_surveillance/memo_postmarket_surveillance.sysml +11 -0
- package/src/assurance/verification_validation/clinical_evaluation/memo_clinical_evaluation.sysml +11 -0
- package/src/assurance/verification_validation/memo_assurance.sysml +1 -1
- package/src/core/annotations/memo_annotations.sysml +77 -0
- package/src/core/common/memo_common.sysml +20 -3
- package/src/core/consistency_rules/consistency_rules.sysml +7 -0
- package/src/core/dimensions/dimensions.sysml +5 -1
- package/src/core/enumerations/memo_enumerations.sysml +41 -6
- package/src/core/methodology_scope/methodology_scope.sysml +7 -15
- package/src/core/relationships/memo_relationships.sysml +4 -2
- package/src/memo_namespaces.sysml +97 -67
- package/src/methodology/core/memo_core.sysml +45 -2
- package/src/methodology/profiles/memo_profiles.sysml +30 -40
- package/src/methodology/workflow/memo_workflow.sysml +7 -2
- package/src/rules/closure/closure_rules.sysml +104 -31
- package/src/rules/coverage/coverage_rules.sysml +4 -256
- package/src/rules/crosslayer/cross_layer_rules.sysml +6 -15
- package/src/rules/lifecycle/lifecycle_rules.sysml +4 -39
- package/src/rules/ontology/ontology_invariants.sysml +30 -73
- package/src/rules/quantitative/quantitative_rules.sysml +8 -8
- package/src/viewpoints/catalog/memo_viewpoint_catalog.sysml +7 -0
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +3 -1
- package/src/viewpoints/clinical/{clinical_evidence_view → views/clinical_evidence_view}/clinical_evidence_view.sysml +2 -2
- package/src/viewpoints/context/context_viewpoint.sysml +3 -1
- package/src/viewpoints/context/{system_context_view → views/system_context_view}/system_context_view.sysml +2 -2
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +3 -1
- package/src/viewpoints/cybersecurity/{cybersecurity_assessment_view → views/cybersecurity_assessment_view}/cybersecurity_assessment_view.sysml +2 -2
- package/src/viewpoints/cybersecurity/{threat_model_view → views/threat_model_view}/threat_model_view.sysml +2 -2
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +4 -0
- package/src/viewpoints/functional/functional_viewpoint.sysml +3 -1
- package/src/viewpoints/functional/{function_allocation_view → views/function_allocation_view}/function_allocation_view.sysml +2 -2
- package/src/viewpoints/functional/{system_functional_tree_view → views/system_functional_tree_view}/system_functional_tree_view.sysml +2 -2
- package/src/viewpoints/logical/logical_viewpoint.sysml +3 -1
- package/src/viewpoints/logical/{logical_architecture_view → views/logical_architecture_view}/logical_architecture_view.sysml +2 -2
- package/src/viewpoints/operational/operational_viewpoint.sysml +3 -1
- package/src/viewpoints/operational/{use_case_view → views/use_case_view}/use_case_view.sysml +2 -2
- package/src/viewpoints/physical/physical_viewpoint.sysml +3 -1
- package/src/viewpoints/physical/{network_topology_view → views/network_topology_view}/network_topology_view.sysml +2 -2
- package/src/viewpoints/physical/{physical_bom_view → views/physical_bom_view}/physical_bom_view.sysml +2 -2
- package/src/viewpoints/rendering/memo_rendering.sysml +354 -0
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +3 -1
- package/src/viewpoints/requirements/{requirements_traceability_view → views/requirements_traceability_view}/requirements_traceability_view.sysml +2 -2
- package/src/viewpoints/risk/risk_viewpoint.sysml +3 -1
- package/src/viewpoints/risk/{risk_chain_view → views/risk_chain_view}/risk_chain_view.sysml +2 -2
- package/src/viewpoints/software/software_viewpoint.sysml +3 -1
- package/src/viewpoints/software/{software_architecture_view → views/software_architecture_view}/software_architecture_view.sysml +2 -2
- package/src/viewpoints/ui_layout/ui_layout_viewpoint.sysml +28 -0
- package/src/viewpoints/ui_layout/views/screen_layout_view/screen_layout_view.sysml +23 -0
- package/src/viewpoints/usability/usability_viewpoint.sysml +3 -1
- package/src/viewpoints/usability/{usability_engineering_view → views/usability_engineering_view}/usability_engineering_view.sysml +2 -2
- package/src/viewpoints/verification/verification_viewpoint.sysml +3 -1
- package/src/viewpoints/verification/{verification_coverage_view → views/verification_coverage_view}/verification_coverage_view.sysml +2 -2
- package/templates/connected-device/memo.package.yaml +11 -5
- package/templates/connected-device/model/catalog/project.sysml +28 -0
- package/templates/connected-device/syside.toml +1 -1
- package/templates/default/memo.package.yaml +11 -5
- package/templates/default/model/catalog/project.sysml +28 -0
- package/templates/default/syside.toml +1 -1
- package/templates/infusion-pump/memo.package.yaml +11 -5
- package/templates/infusion-pump/model/catalog/project.sysml +28 -0
- package/templates/infusion-pump/syside.toml +1 -1
- package/templates/monitoring-device/memo.package.yaml +11 -5
- package/templates/monitoring-device/model/catalog/project.sysml +28 -0
- package/templates/monitoring-device/syside.toml +1 -1
- package/templates/samd/memo.package.yaml +11 -5
- package/templates/samd/model/catalog/project.sysml +28 -0
- package/templates/samd/syside.toml +1 -1
- package/examples/connected-patient-monitor/model/connected_patient_monitor.sysml +0 -3
- package/examples/embedded-infusion-pump/model/embedded_infusion_pump.sysml +0 -3
- package/examples/functional-logical-physical/model/functional_logical_physical.sysml +0 -3
- package/examples/gpca-pump/memo.config.yaml +0 -9
- package/examples/gpca-pump/methodology/gpca_scope.sysml +0 -25
- package/examples/ivd-laboratory-system/model/ivd_laboratory_system.sysml +0 -3
- package/examples/manual-surgical-instrument/model/manual_surgical_instrument.sysml +0 -3
- package/examples/multidimensional-layers/model/multidimensional_layers.sysml +0 -4
- package/examples/reusable-instrument/model/reusable_instrument.sysml +0 -4
- package/examples/software-only-medical-device/model/software_only_medical_device.sysml +0 -4
- package/examples/surgical-closure-workflow/model/surgical_closure_workflow.sysml +0 -4
- package/examples/surgical-robot/model/surgical_robot.sysml +0 -4
- package/examples/temperature-alarm/model/temperature_alarm.sysml +0 -4
- package/ontology/memo.rendering.yaml +0 -84
- package/src/compliance/artifacts/memo_artifacts.sysml +0 -12
- package/src/compliance/document_views/memo_document_views.sysml +0 -7
- package/src/compliance/iso14971/risk_management_file.sysml +0 -16
- package/src/compliance/postmarket/memo_postmarket.sysml +0 -16
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/change-record.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-input.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-output.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-review.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-validation.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/design-verification.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/dhf-index.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/transfer-plan.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/user-needs.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-plan.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/21cfr820/vv-report.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/incident-response.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/postmarket-surveillance.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/security-arch.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/threat-model.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/fda-cybersecurity/vuln-assessment.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/change-control.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/detailed-design.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/integration-test.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sad.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sbom.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sdp.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/soup.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/srs.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/sw-traceability.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62304/system-test.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/formative-eval.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/summative-eval.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/task-analysis.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ue-plan.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/ui-spec.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/urra.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iec-62366/use-spec.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/fmea.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/fta.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/har.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-benefit.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/risk-matrix.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmp.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/iso-14971/rmr.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/approval-block.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/document-control-header.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/references-section.md +0 -0
- /package/src/{compliance/dhf-templates → artifacts/templates/dhf}/shared/snippets/revision-history-table.md +0 -0
- /package/templates/connected-device/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/connected-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/connected-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/default/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/default/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/default/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/infusion-pump/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/infusion-pump/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/infusion-pump/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/monitoring-device/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/monitoring-device/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/monitoring-device/{src → model/catalog}/assurance/requirements.sysml +0 -0
- /package/templates/samd/{src → model/catalog}/architecture/system.sysml +0 -0
- /package/templates/samd/{src/artifacts/artifacts.sysml → model/catalog/artifacts/catalog.sysml} +0 -0
- /package/templates/samd/{src → model/catalog}/assurance/requirements.sysml +0 -0
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
// Sysml Diagram Samples — project identity and method binding.
|
|
2
|
+
//
|
|
3
|
+
// The native entrypoint. The imports name what this project contains and the
|
|
4
|
+
// binding names the methodology it is governed by. No YAML file participates.
|
|
5
|
+
package memo_examples_sysml_diagram_samples_project {
|
|
6
|
+
private import ScalarValues::*;
|
|
7
|
+
|
|
8
|
+
private import memo_core_enumerations::*;
|
|
9
|
+
private import memo_methodology_core::*;
|
|
10
|
+
private import memo_methodology_profiles::*;
|
|
11
|
+
|
|
12
|
+
// The project's own content, imported so the catalog is one reachable
|
|
13
|
+
// closure from a single entrypoint.
|
|
14
|
+
private import memo_examples_sysml_diagram_samples_viewpoints_unassigned::*;
|
|
15
|
+
private import memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_action_flow_view::*;
|
|
16
|
+
private import memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_context_view::*;
|
|
17
|
+
private import memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_functional_flow_view::*;
|
|
18
|
+
private import memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_interconnection_view::*;
|
|
19
|
+
private import memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_operational_behaviour_view::*;
|
|
20
|
+
private import memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_requirements_view::*;
|
|
21
|
+
private import memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_standard_activity_view::*;
|
|
22
|
+
private import memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_state_transition_view::*;
|
|
23
|
+
private import memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_tree_view::*;
|
|
24
|
+
private import memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_use_case_view::*;
|
|
25
|
+
|
|
26
|
+
part projectBinding : ProjectMethodBinding {
|
|
27
|
+
attribute :>> id = "PMB-DIAGRAM-SAMPLES-001";
|
|
28
|
+
attribute :>> name = "SysmlDiagramSamplesProjectMethodBinding";
|
|
29
|
+
attribute :>> projectName = "Sysml Diagram Samples";
|
|
30
|
+
ref :>> selectedMethodology = mdDefaultDefinition;
|
|
31
|
+
attribute :>> scopeMode = ScopeModeKind::explicit;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// unassigned viewpoint.
|
|
2
|
+
//
|
|
3
|
+
// This project does not define its own viewpoint here; it binds the reusable
|
|
4
|
+
// MEMO viewpoint that frames these concerns. The views it governs sit beneath
|
|
5
|
+
// `views/`.
|
|
6
|
+
package memo_examples_sysml_diagram_samples_viewpoints_unassigned {
|
|
7
|
+
// The reusable package declaring unassigned could not be resolved during
|
|
8
|
+
// conversion. Import it here so the views beneath this viewpoint resolve.
|
|
9
|
+
}
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_action_flow_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
private import memo_core_relationships::*;
|
|
4
4
|
|
|
5
5
|
private import memo_architecture_logical_structure::*;
|
|
6
6
|
private import memo_architecture_logical_interfaces::*;
|
|
7
|
+
private import memo_architecture_functional_functions::*;
|
|
7
8
|
private import memo_viewpoints_definitions::*;
|
|
9
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
10
|
private import memo_core_enumerations::*;
|
|
9
11
|
|
|
10
12
|
item def DataPacket specializes InterfaceItem {
|
|
@@ -17,15 +19,15 @@ package memo_examples_sysml_diagram_samples_model_samples_action_flow_view {
|
|
|
17
19
|
attribute :>> itemKind = InterfaceItemKind::material;
|
|
18
20
|
}
|
|
19
21
|
|
|
20
|
-
action def ReceiveInput { out received : DataPacket; }
|
|
21
|
-
action def ValidateInput { in received : DataPacket; out validated : EnergyToken; }
|
|
22
|
-
action def ProcessInput { in validated : EnergyToken; out result : MaterialBatch; }
|
|
23
|
-
action def RecordResult { in result : MaterialBatch; }
|
|
22
|
+
action def ReceiveInput specializes SystemAction { out item received : DataPacket; }
|
|
23
|
+
action def ValidateInput specializes SystemAction { in item received : DataPacket; out item validated : EnergyToken; }
|
|
24
|
+
action def ProcessInput specializes SystemAction { in item validated : EnergyToken; out item result : MaterialBatch; }
|
|
25
|
+
action def RecordResult specializes SystemAction { in item result : MaterialBatch; }
|
|
24
26
|
|
|
25
27
|
part laneA : LogicalComponent { attribute :>> name = "Lane A"; }
|
|
26
28
|
part laneB : LogicalComponent { attribute :>> name = "Lane B"; }
|
|
27
29
|
|
|
28
|
-
action sampleActionFlow {
|
|
30
|
+
action sampleActionFlow : SystemAction {
|
|
29
31
|
action receive : ReceiveInput;
|
|
30
32
|
action validate : ValidateInput;
|
|
31
33
|
action process : ProcessInput {
|
|
@@ -60,11 +62,16 @@ package memo_examples_sysml_diagram_samples_model_samples_action_flow_view {
|
|
|
60
62
|
|
|
61
63
|
// MemoLink sample — the universal relation, exercised where nothing else
|
|
62
64
|
// reaches. laneB is a `part` (LogicalComponent :> ArchitectureElement) and
|
|
63
|
-
//
|
|
64
|
-
// no supertype, so every typed relation in the ontology
|
|
65
|
-
// here: legalRelationshipTypes returns MemoLink and nothing
|
|
65
|
+
// `sampleActionFlow.process` is an action usage (:> MemoAction). Those
|
|
66
|
+
// foundations share no supertype, so every typed relation in the ontology
|
|
67
|
+
// is unavailable here: legalRelationshipTypes returns MemoLink and nothing
|
|
68
|
+
// else.
|
|
69
|
+
//
|
|
70
|
+
// The target is the action *usage*, not the `ProcessInput` definition.
|
|
71
|
+
// Binding a value to a definition is not portable — SysIDE rejects it,
|
|
72
|
+
// because a value must be a feature and a definition is not.
|
|
66
73
|
connection linkLaneBProcessesInput : MemoLink
|
|
67
|
-
connect linkSource ::> laneB to linkTarget ::>
|
|
74
|
+
connect linkSource ::> laneB to linkTarget ::> sampleActionFlow.process {
|
|
68
75
|
attribute :>> linkRationale =
|
|
69
76
|
"Lane B is the swimlane that carries the ProcessInput behaviour. The association crosses the part/action metaclass boundary, so no typed relation can express it.";
|
|
70
77
|
}
|
|
@@ -78,6 +85,7 @@ package memo_examples_sysml_diagram_samples_model_samples_action_flow_view {
|
|
|
78
85
|
attribute :>> shortDescription = "Dummy actions, typed item flows, successions, and a composite action for renderer development.";
|
|
79
86
|
attribute :>> viewKind = DiagramViewKind::actionflow;
|
|
80
87
|
attribute :>> diagramType = "afd";
|
|
88
|
+
part :>> viewpointDefinition = functionalViewpoint;
|
|
81
89
|
}
|
|
82
90
|
|
|
83
91
|
connection : IncludedIn connect sourceElement ::> sampleActionFlow.receive to targetView ::> sampleActionFlowView;
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
// System context sample (general view kind, `context` diagram type). The system
|
|
2
2
|
// under consideration is one block; every other element is an external actor,
|
|
3
3
|
// neighbouring system, or use context it interacts with across its boundary.
|
|
4
|
-
package
|
|
4
|
+
package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_context_view {
|
|
5
5
|
private import ScalarValues::*;
|
|
6
6
|
|
|
7
7
|
private import memo_architecture_operational_context_actors::*;
|
|
@@ -9,6 +9,7 @@ package memo_examples_sysml_diagram_samples_model_samples_context_view {
|
|
|
9
9
|
private import memo_architecture_operational_structure::*;
|
|
10
10
|
private import memo_core_relationships::*;
|
|
11
11
|
private import memo_viewpoints_definitions::*;
|
|
12
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
12
13
|
private import memo_core_enumerations::*;
|
|
13
14
|
|
|
14
15
|
// The operational system of interest is intentionally represented as one
|
|
@@ -17,7 +18,7 @@ package memo_examples_sysml_diagram_samples_model_samples_context_view {
|
|
|
17
18
|
part infusionSystem : OperationalEntity {
|
|
18
19
|
attribute :>> name = "Infusion Pump System";
|
|
19
20
|
attribute :>> entityKind = OperationalEntityKind::device;
|
|
20
|
-
attribute :>>
|
|
21
|
+
attribute :>> responsibility = "System of interest for this context view.";
|
|
21
22
|
}
|
|
22
23
|
part clinician : User { attribute :>> name = "Clinician"; }
|
|
23
24
|
part patient : User { attribute :>> name = "Patient"; }
|
|
@@ -41,6 +42,7 @@ package memo_examples_sysml_diagram_samples_model_samples_context_view {
|
|
|
41
42
|
attribute :>> shortDescription = "Operational system context: one black-box system boundary, its external people, peer systems, operating environment, and named boundary-crossing interactions.";
|
|
42
43
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
43
44
|
attribute :>> diagramType = "context";
|
|
45
|
+
part :>> viewpointDefinition = contextViewpoint;
|
|
44
46
|
part :>> selectionQuery {
|
|
45
47
|
attribute :>> includeRelationshipKinds = ("InteractsWith", "ExchangesWith", "AppliesInContext");
|
|
46
48
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
format: memo.viewlayout/v1
|
|
2
|
+
viewSource: model/catalog/viewpoints/unassigned/views/context_view.sysml
|
|
3
|
+
layouts:
|
|
4
|
+
diag-sample-sampleContextView:
|
|
5
|
+
nodes:
|
|
6
|
+
__context_boundary__:
|
|
7
|
+
x: 327.4
|
|
8
|
+
y: 109
|
|
9
|
+
ports: {}
|
|
10
|
+
infusionSystem:
|
|
11
|
+
x: 92
|
|
12
|
+
y: 74
|
|
13
|
+
ports: {}
|
|
14
|
+
biomedTech:
|
|
15
|
+
x: 40
|
|
16
|
+
y: 40
|
|
17
|
+
ports: {}
|
|
18
|
+
clinician:
|
|
19
|
+
x: 53.400000000000006
|
|
20
|
+
y: 146
|
|
21
|
+
ports: {}
|
|
22
|
+
patient:
|
|
23
|
+
x: 53.400000000000006
|
|
24
|
+
y: 252
|
|
25
|
+
ports: {}
|
|
26
|
+
homeContext:
|
|
27
|
+
x: 440
|
|
28
|
+
y: 600
|
|
29
|
+
ports: {}
|
|
30
|
+
pharmacySystem:
|
|
31
|
+
x: 855.4
|
|
32
|
+
y: 199
|
|
33
|
+
ports: {}
|
|
34
|
+
edges:
|
|
35
|
+
rel-8: {}
|
|
36
|
+
rel-9: {}
|
|
37
|
+
rel-10: {}
|
|
38
|
+
rel-11: {}
|
|
39
|
+
rel-12: {}
|
|
40
|
+
annotations: {}
|
|
41
|
+
canvas:
|
|
42
|
+
autoLayout: false
|
|
43
|
+
zoom: 0.7154088050314465
|
|
44
|
+
pan:
|
|
45
|
+
x: 50.15487421383642
|
|
46
|
+
y: -9.616352201257882
|
|
47
|
+
coordinateSpace: context-child-v1
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_functional_flow_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
|
|
4
4
|
private import memo_architecture_logical_structure::*;
|
|
5
5
|
private import memo_architecture_logical_interfaces::*;
|
|
6
|
+
private import memo_architecture_functional_functions::*;
|
|
6
7
|
private import memo_core_relationships::*;
|
|
7
8
|
private import memo_viewpoints_definitions::*;
|
|
9
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
10
|
private import memo_core_enumerations::*;
|
|
9
11
|
|
|
10
12
|
// ─────────────────────────────────────────────────────────────────────────
|
|
@@ -37,13 +39,13 @@ package memo_examples_sysml_diagram_samples_model_samples_functional_flow_view {
|
|
|
37
39
|
}
|
|
38
40
|
|
|
39
41
|
// Functions with typed in/out pins
|
|
40
|
-
action def FxAcquire { out reading : FxSensorReading; }
|
|
41
|
-
action def FxCompute { in reading : FxSensorReading; out command : FxRateCommand; }
|
|
42
|
-
action def FxEnforce { in command : FxRateCommand; out safeCommand : FxRateCommand; }
|
|
43
|
-
action def FxDrive { in command : FxRateCommand; out energy : FxMotorEnergy; }
|
|
44
|
-
action def FxDeliverMedication { in energy : FxMotorEnergy; out fluid : FxMedicationFluid; }
|
|
45
|
-
action def FxMonitor { out signal : FxOcclusionSignal; }
|
|
46
|
-
action def FxDetect { in signal : FxOcclusionSignal; }
|
|
42
|
+
action def FxAcquire specializes SystemAction { out item reading : FxSensorReading; }
|
|
43
|
+
action def FxCompute specializes SystemAction { in item reading : FxSensorReading; out item command : FxRateCommand; }
|
|
44
|
+
action def FxEnforce specializes SystemAction { in item command : FxRateCommand; out item safeCommand : FxRateCommand; }
|
|
45
|
+
action def FxDrive specializes SystemAction { in item command : FxRateCommand; out item energy : FxMotorEnergy; }
|
|
46
|
+
action def FxDeliverMedication specializes SystemAction { in item energy : FxMotorEnergy; out item fluid : FxMedicationFluid; }
|
|
47
|
+
action def FxMonitor specializes SystemAction { out item signal : FxOcclusionSignal; }
|
|
48
|
+
action def FxDetect specializes SystemAction { in item signal : FxOcclusionSignal; }
|
|
47
49
|
|
|
48
50
|
// Component hierarchy used by the Level control:
|
|
49
51
|
// L1 system → L2 subsystems → L3 allocated components.
|
|
@@ -68,24 +70,24 @@ package memo_examples_sysml_diagram_samples_model_samples_functional_flow_view {
|
|
|
68
70
|
connection : Composes connect parent ::> fxDeliverySubsystem to child ::> fxActuator;
|
|
69
71
|
connection : Composes connect parent ::> fxSafetySubsystem to child ::> fxSafety;
|
|
70
72
|
|
|
71
|
-
action fxDeliveryFlow {
|
|
72
|
-
action fxAcquire : FxAcquire { attribute name = "Acquire Sensor Data"; }
|
|
73
|
-
action fxCompute : FxCompute { attribute name = "Compute Infusion Rate"; }
|
|
73
|
+
action fxDeliveryFlow : SystemAction {
|
|
74
|
+
action fxAcquire : FxAcquire { attribute :>> name = "Acquire Sensor Data"; }
|
|
75
|
+
action fxCompute : FxCompute { attribute :>> name = "Compute Infusion Rate"; }
|
|
74
76
|
|
|
75
77
|
// Split: enforce/drive/deliver runs concurrently with occlusion monitoring
|
|
76
78
|
fork fxForkDeliver;
|
|
77
|
-
action fxEnforce : FxEnforce { attribute name = "Enforce Dose Limits"; }
|
|
78
|
-
action fxDrive : FxDrive { attribute name = "Drive Pump Motor"; }
|
|
79
|
-
action fxMonitor : FxMonitor { attribute name = "Monitor Occlusion"; }
|
|
80
|
-
action fxDetect : FxDetect { attribute name = "Detect Occlusion"; }
|
|
79
|
+
action fxEnforce : FxEnforce { attribute :>> name = "Enforce Dose Limits"; }
|
|
80
|
+
action fxDrive : FxDrive { attribute :>> name = "Drive Pump Motor"; }
|
|
81
|
+
action fxMonitor : FxMonitor { attribute :>> name = "Monitor Occlusion"; }
|
|
82
|
+
action fxDetect : FxDetect { attribute :>> name = "Detect Occlusion"; }
|
|
81
83
|
join fxJoinDeliver;
|
|
82
84
|
|
|
83
85
|
// Composite function — valve sub-flow (drill-in)
|
|
84
86
|
action fxDeliver : FxDeliverMedication {
|
|
85
|
-
attribute name = "Deliver Medication";
|
|
86
|
-
action fxOpenValve { attribute name = "Open Valve"; }
|
|
87
|
-
action fxHoldDose { attribute name = "Hold Metered Dose"; }
|
|
88
|
-
action fxCloseValve { attribute name = "Close Valve"; }
|
|
87
|
+
attribute :>> name = "Deliver Medication";
|
|
88
|
+
action fxOpenValve : SystemAction { attribute :>> name = "Open Valve"; }
|
|
89
|
+
action fxHoldDose : SystemAction { attribute :>> name = "Hold Metered Dose"; }
|
|
90
|
+
action fxCloseValve : SystemAction { attribute :>> name = "Close Valve"; }
|
|
89
91
|
|
|
90
92
|
flow of FxMedicationFluid from fxDeliveryFlow.fxDeliver.fxHoldDose to fxCloseValve;
|
|
91
93
|
|
|
@@ -95,7 +97,7 @@ package memo_examples_sysml_diagram_samples_model_samples_functional_flow_view {
|
|
|
95
97
|
first fxCloseValve then done;
|
|
96
98
|
}
|
|
97
99
|
|
|
98
|
-
action fxLog { attribute name = "Log Delivery"; }
|
|
100
|
+
action fxLog : SystemAction { attribute :>> name = "Log Delivery"; }
|
|
99
101
|
|
|
100
102
|
flow of FxSensorReading from fxAcquire.reading to fxCompute.reading;
|
|
101
103
|
flow of FxRateCommand from fxEnforce.safeCommand to fxDrive.command;
|
|
@@ -137,6 +139,7 @@ package memo_examples_sysml_diagram_samples_model_samples_functional_flow_view {
|
|
|
137
139
|
attribute :>> shortDescription = "Component behaviour: functions in swimlanes per realising component, typed data/energy/material flows, a fork/join for concurrent occlusion monitoring, and a composite 'Deliver Medication' valve sub-flow (double-click to drill in).";
|
|
138
140
|
attribute :>> viewKind = DiagramViewKind::actionflow;
|
|
139
141
|
attribute :>> diagramType = "ffd";
|
|
142
|
+
part :>> viewpointDefinition = functionalViewpoint;
|
|
140
143
|
}
|
|
141
144
|
|
|
142
145
|
connection : IncludedIn connect sourceElement ::> fxDeliveryFlow.fxAcquire to targetView ::> fxDeliveryView;
|
|
@@ -1,12 +1,14 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_interconnection_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
private import memo_architecture_operational_context_actors::*;
|
|
4
4
|
private import memo_architecture_operational_context_use_context::*;
|
|
5
5
|
|
|
6
6
|
private import memo_architecture_logical_interfaces::*;
|
|
7
7
|
private import memo_architecture_logical_structure::*;
|
|
8
|
+
private import memo_core_common::*;
|
|
8
9
|
private import memo_core_relationships::*;
|
|
9
10
|
private import memo_viewpoints_definitions::*;
|
|
11
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
10
12
|
private import memo_core_enumerations::*;
|
|
11
13
|
|
|
12
14
|
part coffeeMachine : LogicalComponent { attribute :>> name = "Coffee Machine"; }
|
|
@@ -17,19 +19,19 @@ package memo_examples_sysml_diagram_samples_model_samples_interconnection_view {
|
|
|
17
19
|
part brewGroup : LogicalComponent { attribute :>> name = "Brew Group"; }
|
|
18
20
|
part cup : LogicalComponent { attribute :>> name = "Cup"; }
|
|
19
21
|
|
|
20
|
-
port mainsWaterIn : DataPort {
|
|
21
|
-
port beverageOut : DataPort {
|
|
22
|
-
port supplyWaterOut : DataPort {
|
|
23
|
-
port cupBeverageIn : DataPort {
|
|
24
|
-
port serviceInterface : DataPort {
|
|
25
|
-
port diagnostics : DataPort {
|
|
26
|
-
port tankWaterOut : DataPort {
|
|
27
|
-
port tankWaterIn : DataPort {
|
|
28
|
-
port heaterWaterIn : DataPort {
|
|
29
|
-
port heatedWaterOut : DataPort {
|
|
30
|
-
port brewWaterIn : DataPort {
|
|
31
|
-
port brewedCoffeeOut : DataPort {
|
|
32
|
-
port heaterStatusOut : DataPort {
|
|
22
|
+
in port mainsWaterIn : DataPort { in item payload : MemoExchangeItem; }
|
|
23
|
+
out port beverageOut : DataPort { out item payload : MemoExchangeItem; }
|
|
24
|
+
out port supplyWaterOut : DataPort { out item payload : MemoExchangeItem; }
|
|
25
|
+
in port cupBeverageIn : DataPort { in item payload : MemoExchangeItem; }
|
|
26
|
+
inout port serviceInterface : DataPort { inout item payload : MemoExchangeItem; }
|
|
27
|
+
out port diagnostics : DataPort { out item payload : MemoExchangeItem; }
|
|
28
|
+
out port tankWaterOut : DataPort { out item payload : MemoExchangeItem; }
|
|
29
|
+
in port tankWaterIn : DataPort { in item payload : MemoExchangeItem; }
|
|
30
|
+
in port heaterWaterIn : DataPort { in item payload : MemoExchangeItem; }
|
|
31
|
+
out port heatedWaterOut : DataPort { out item payload : MemoExchangeItem; }
|
|
32
|
+
in port brewWaterIn : DataPort { in item payload : MemoExchangeItem; }
|
|
33
|
+
out port brewedCoffeeOut : DataPort { out item payload : MemoExchangeItem; }
|
|
34
|
+
out port heaterStatusOut : DataPort { out item payload : MemoExchangeItem; }
|
|
33
35
|
|
|
34
36
|
connection : Composes connect parent ::> coffeeMachine to child ::> waterTank;
|
|
35
37
|
connection : Composes connect parent ::> coffeeMachine to child ::> heaterAssembly;
|
|
@@ -66,6 +68,7 @@ package memo_examples_sysml_diagram_samples_model_samples_interconnection_view {
|
|
|
66
68
|
attribute :>> shortDescription = "Balanced internal architecture with readable boundary ports, nested service diagnostics, and external water and beverage interfaces.";
|
|
67
69
|
attribute :>> viewKind = DiagramViewKind::interconnection;
|
|
68
70
|
attribute :>> diagramType = "ibd";
|
|
71
|
+
part :>> viewpointDefinition = logicalArchitectureViewpoint;
|
|
69
72
|
part :>> selectionQuery {
|
|
70
73
|
attribute :>> includeRelationshipKinds = ("Composes", "ExchangesWith");
|
|
71
74
|
}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
format: memo.viewlayout/v1
|
|
2
|
+
viewSource: model/catalog/viewpoints/unassigned/views/interconnection_view.sysml
|
|
3
|
+
layouts:
|
|
4
|
+
diag-sample-sampleInterconnectionView:
|
|
5
|
+
nodes:
|
|
6
|
+
coffeeMachine:
|
|
7
|
+
x: 301.2
|
|
8
|
+
y: 0
|
|
9
|
+
ports:
|
|
10
|
+
mainsWaterIn:
|
|
11
|
+
x: -12
|
|
12
|
+
y: 95
|
|
13
|
+
side: left
|
|
14
|
+
beverageOut:
|
|
15
|
+
x: 536
|
|
16
|
+
y: 375
|
|
17
|
+
side: right
|
|
18
|
+
serviceInterface:
|
|
19
|
+
x: 536
|
|
20
|
+
y: 217
|
|
21
|
+
side: right
|
|
22
|
+
diagnostics:
|
|
23
|
+
x: 536
|
|
24
|
+
y: 247
|
|
25
|
+
side: right
|
|
26
|
+
width: 768
|
|
27
|
+
height: 422
|
|
28
|
+
waterTank:
|
|
29
|
+
x: 118.75
|
|
30
|
+
y: 48
|
|
31
|
+
ports:
|
|
32
|
+
tankWaterOut:
|
|
33
|
+
x: 299.5
|
|
34
|
+
y: 47
|
|
35
|
+
side: right
|
|
36
|
+
tankWaterIn:
|
|
37
|
+
x: -12
|
|
38
|
+
y: 47
|
|
39
|
+
side: left
|
|
40
|
+
heaterAssembly:
|
|
41
|
+
x: 78.80000000000001
|
|
42
|
+
y: 220
|
|
43
|
+
ports:
|
|
44
|
+
heaterWaterIn:
|
|
45
|
+
x: -12
|
|
46
|
+
y: 47
|
|
47
|
+
side: left
|
|
48
|
+
heatedWaterOut:
|
|
49
|
+
x: 352
|
|
50
|
+
y: 47
|
|
51
|
+
side: right
|
|
52
|
+
brewGroup:
|
|
53
|
+
x: 134
|
|
54
|
+
y: 328
|
|
55
|
+
ports:
|
|
56
|
+
brewWaterIn:
|
|
57
|
+
x: -12
|
|
58
|
+
y: 47
|
|
59
|
+
side: left
|
|
60
|
+
brewedCoffeeOut:
|
|
61
|
+
x: 268
|
|
62
|
+
y: 47
|
|
63
|
+
side: right
|
|
64
|
+
waterSupply:
|
|
65
|
+
x: 0
|
|
66
|
+
y: 170
|
|
67
|
+
ports:
|
|
68
|
+
supplyWaterOut:
|
|
69
|
+
x: 198.8
|
|
70
|
+
y: 47
|
|
71
|
+
side: right
|
|
72
|
+
cup:
|
|
73
|
+
x: 1000
|
|
74
|
+
y: 320
|
|
75
|
+
ports:
|
|
76
|
+
cupBeverageIn:
|
|
77
|
+
x: -12
|
|
78
|
+
y: 50
|
|
79
|
+
side: left
|
|
80
|
+
edges:
|
|
81
|
+
rel-66: {}
|
|
82
|
+
rel-67: {}
|
|
83
|
+
rel-68: {}
|
|
84
|
+
rel-69: {}
|
|
85
|
+
rel-70: {}
|
|
86
|
+
rel-71: {}
|
|
87
|
+
annotations: {}
|
|
88
|
+
canvas:
|
|
89
|
+
autoLayout: false
|
|
90
|
+
zoom: 0.83251321227496
|
|
91
|
+
pan:
|
|
92
|
+
x: -129.43112026011397
|
|
93
|
+
y: -3.900376690780462
|
|
94
|
+
coordinateSpace: context-child-v1
|
|
@@ -1,10 +1,12 @@
|
|
|
1
|
-
package
|
|
1
|
+
package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_operational_behaviour_view {
|
|
2
2
|
private import ScalarValues::*;
|
|
3
3
|
private import memo_architecture_operational_context_actors::*;
|
|
4
4
|
private import memo_core_relationships::*;
|
|
5
5
|
private import memo_architecture_logical_interfaces::*;
|
|
6
6
|
private import memo_architecture_operational_structure::*;
|
|
7
|
+
private import memo_architecture_operational_activities::*;
|
|
7
8
|
private import memo_viewpoints_definitions::*;
|
|
9
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
8
10
|
private import memo_core_enumerations::*;
|
|
9
11
|
|
|
10
12
|
// Operational activity across clinical roles. The fixture is intentionally
|
|
@@ -16,17 +18,17 @@ package memo_examples_sysml_diagram_samples_model_samples_operational_behaviour_
|
|
|
16
18
|
attribute :>> itemKind = InterfaceItemKind::signal;
|
|
17
19
|
}
|
|
18
20
|
|
|
19
|
-
action def OpPrescribeTherapy { out prescription : OpPrescription; }
|
|
20
|
-
action def OpVerifyPrescription { in prescription : OpPrescription; }
|
|
21
|
-
action def OpRequestBolus { out bolusRequest : OpBolusRequest; }
|
|
22
|
-
action def OpCheckLockout { in bolusRequest : OpBolusRequest; }
|
|
21
|
+
action def OpPrescribeTherapy specializes OperationalActivity { out item prescription : OpPrescription; }
|
|
22
|
+
action def OpVerifyPrescription specializes OperationalActivity { in item prescription : OpPrescription; }
|
|
23
|
+
action def OpRequestBolus specializes OperationalActivity { out item bolusRequest : OpBolusRequest; }
|
|
24
|
+
action def OpCheckLockout specializes OperationalActivity { in item bolusRequest : OpBolusRequest; }
|
|
23
25
|
|
|
24
26
|
// Use the canonical MEMO operational system type—never a sample-local
|
|
25
27
|
// placeholder—so ontology-driven Explorer grouping remains authoritative.
|
|
26
28
|
part opCareSystem : OperationalEntity {
|
|
27
29
|
attribute :>> name = "PCA Care System";
|
|
28
30
|
attribute :>> entityKind = OperationalEntityKind::device;
|
|
29
|
-
attribute :>>
|
|
31
|
+
attribute :>> responsibility = "System of interest for this context view.";
|
|
30
32
|
}
|
|
31
33
|
part opClinicalTeam : User {
|
|
32
34
|
attribute :>> actorKind = ActorKind::clinician; attribute :>> name = "Clinical Team"; }
|
|
@@ -48,22 +50,22 @@ package memo_examples_sysml_diagram_samples_model_samples_operational_behaviour_
|
|
|
48
50
|
connection : Composes connect parent ::> opClinicalTeam to child ::> opRoleBiomed;
|
|
49
51
|
connection : Composes connect parent ::> opPatientGroup to child ::> opRolePatient;
|
|
50
52
|
|
|
51
|
-
action opSetupFlow {
|
|
52
|
-
action opPrescribe : OpPrescribeTherapy { attribute name = "Prescribe Therapy"; }
|
|
53
|
-
action opVerify : OpVerifyPrescription { attribute name = "Verify Prescription"; }
|
|
53
|
+
action opSetupFlow : OperationalActivity {
|
|
54
|
+
action opPrescribe : OpPrescribeTherapy { attribute :>> name = "Prescribe Therapy"; }
|
|
55
|
+
action opVerify : OpVerifyPrescription { attribute :>> name = "Verify Prescription"; }
|
|
54
56
|
fork opForkPrep;
|
|
55
|
-
action opPrime { attribute name = "Prime Pump & Load Reservoir"; }
|
|
56
|
-
action opSelfTest { attribute name = "Run Device Self-Test"; }
|
|
57
|
+
action opPrime : OperationalActivity { attribute :>> name = "Prime Pump & Load Reservoir"; }
|
|
58
|
+
action opSelfTest : OperationalActivity { attribute :>> name = "Run Device Self-Test"; }
|
|
57
59
|
join opJoinPrep;
|
|
58
|
-
action opProgram { attribute name = "Program Pump Parameters"; }
|
|
59
|
-
action opConnect { attribute name = "Connect to Patient"; }
|
|
60
|
-
action opStart { attribute name = "Start Infusion"; }
|
|
61
|
-
action opAdminister {
|
|
62
|
-
attribute name = "Administer PCA Therapy";
|
|
63
|
-
action opRequestBolus : OpRequestBolus { attribute name = "Request Bolus"; }
|
|
64
|
-
action opCheckLockout : OpCheckLockout { attribute name = "Check Lockout"; }
|
|
65
|
-
action opDeliverDose { attribute name = "Deliver Dose"; }
|
|
66
|
-
action opLogEvent { attribute name = "Log Dose Event"; }
|
|
60
|
+
action opProgram : OperationalActivity { attribute :>> name = "Program Pump Parameters"; }
|
|
61
|
+
action opConnect : OperationalActivity { attribute :>> name = "Connect to Patient"; }
|
|
62
|
+
action opStart : OperationalActivity { attribute :>> name = "Start Infusion"; }
|
|
63
|
+
action opAdminister : OperationalActivity {
|
|
64
|
+
attribute :>> name = "Administer PCA Therapy";
|
|
65
|
+
action opRequestBolus : OpRequestBolus { attribute :>> name = "Request Bolus"; }
|
|
66
|
+
action opCheckLockout : OpCheckLockout { attribute :>> name = "Check Lockout"; }
|
|
67
|
+
action opDeliverDose : OperationalActivity { attribute :>> name = "Deliver Dose"; }
|
|
68
|
+
action opLogEvent : OperationalActivity { attribute :>> name = "Log Dose Event"; }
|
|
67
69
|
flow of OpBolusRequest from opRequestBolus.bolusRequest to opCheckLockout.bolusRequest;
|
|
68
70
|
first start then opRequestBolus;
|
|
69
71
|
first opRequestBolus then opCheckLockout;
|
|
@@ -109,6 +111,7 @@ package memo_examples_sysml_diagram_samples_model_samples_operational_behaviour_
|
|
|
109
111
|
attribute :>> shortDescription = "Operational activity across clinical roles with concurrent preparation and a composite therapy step.";
|
|
110
112
|
attribute :>> viewKind = DiagramViewKind::actionflow;
|
|
111
113
|
attribute :>> diagramType = "ofd";
|
|
114
|
+
part :>> viewpointDefinition = operationalViewpoint;
|
|
112
115
|
}
|
|
113
116
|
|
|
114
117
|
connection : IncludedIn connect sourceElement ::> opSetupFlow.opPrescribe to targetView ::> opSetupView;
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
format: memo.viewlayout/v1
|
|
2
|
+
viewSource: model/catalog/viewpoints/unassigned/views/operational_behaviour_view.sysml
|
|
3
|
+
layouts:
|
|
4
|
+
diag-sample-opSetupView:
|
|
5
|
+
nodes: {}
|
|
6
|
+
edges: {}
|
|
7
|
+
canvas:
|
|
8
|
+
autoLayout: true
|
|
9
|
+
zoom: 0.3666153460391409
|
|
10
|
+
pan:
|
|
11
|
+
x: 359.78478424853927
|
|
12
|
+
y: 41.19938625300375
|
|
13
|
+
coordinateSpace: context-child-v1
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
// Requirements sample (general view kind, `req` diagram type). Stakeholder needs
|
|
2
2
|
// on the left derive into system requirements; `DerivesFrom` edges render as the
|
|
3
3
|
// requirements-diagram trace lines.
|
|
4
|
-
package
|
|
4
|
+
package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_requirements_view {
|
|
5
5
|
private import ScalarValues::*;
|
|
6
6
|
|
|
7
7
|
private import memo_assurance_requirements_needs::*;
|
|
8
8
|
private import memo_assurance_requirements::*;
|
|
9
9
|
private import memo_core_relationships::*;
|
|
10
10
|
private import memo_viewpoints_definitions::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
11
12
|
private import memo_core_enumerations::*;
|
|
12
13
|
|
|
13
14
|
requirement needSafeTherapy : Need {
|
|
@@ -50,6 +51,7 @@ package memo_examples_sysml_diagram_samples_model_samples_requirements_view {
|
|
|
50
51
|
attribute :>> shortDescription = "Stakeholder needs deriving into system requirements, wired by DerivesFrom trace edges.";
|
|
51
52
|
attribute :>> viewKind = DiagramViewKind::general;
|
|
52
53
|
attribute :>> diagramType = "req";
|
|
54
|
+
part :>> viewpointDefinition = requirementsViewpoint;
|
|
53
55
|
part :>> selectionQuery {
|
|
54
56
|
attribute :>> includeRelationshipKinds = ("DerivesFrom");
|
|
55
57
|
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
// Standard SysML v2 activity sample (actionflow view kind, `afd` diagram type).
|
|
2
|
+
//
|
|
3
|
+
// The view over `activity_example::CustomerProcess`, the standard-SysML activity
|
|
4
|
+
// fixture in `model/sysml_v2_activity_example.sysml`. It exists because the
|
|
5
|
+
// fixture's whole point is the node types `action_flow_view.sysml` does not
|
|
6
|
+
// have — decision, merge, fork, join, accept, send, terminate, and guarded
|
|
7
|
+
// successions. Without a view exposing it the fixture parses into the model and
|
|
8
|
+
// is never drawn, which is indistinguishable from a renderer that cannot draw
|
|
9
|
+
// decisions.
|
|
10
|
+
//
|
|
11
|
+
// Nothing here specializes a MEMO kind: the fixture is plain standard SysML,
|
|
12
|
+
// and that is the property under test. The renderer classifies its nodes from
|
|
13
|
+
// the metamodel (`activity-notation.ts`), not from an ontology kind.
|
|
14
|
+
package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_standard_activity_view {
|
|
15
|
+
private import ScalarValues::*;
|
|
16
|
+
|
|
17
|
+
private import memo_core_relationships::*;
|
|
18
|
+
private import memo_viewpoints_definitions::*;
|
|
19
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
20
|
+
private import memo_core_enumerations::*;
|
|
21
|
+
|
|
22
|
+
private import activity_example::*;
|
|
23
|
+
|
|
24
|
+
view standardActivityView : MemoDiagramView {
|
|
25
|
+
expose CustomerProcess::**;
|
|
26
|
+
attribute depth = 2;
|
|
27
|
+
attribute :>> title = "Sample · Customer Purchase Process";
|
|
28
|
+
attribute :>> shortDescription = "Customer login, guarded validation, shopping loop, checkout, credit approval, and explicit completion outcomes.";
|
|
29
|
+
attribute :>> viewKind = DiagramViewKind::actionflow;
|
|
30
|
+
attribute :>> diagramType = "afd";
|
|
31
|
+
part :>> viewpointDefinition = functionalViewpoint;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::customerLogsIn to targetView ::> standardActivityView;
|
|
35
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::validUserDecision to targetView ::> standardActivityView;
|
|
36
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::rejected to targetView ::> standardActivityView;
|
|
37
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::browseCatalog to targetView ::> standardActivityView;
|
|
38
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::viewBookStore to targetView ::> standardActivityView;
|
|
39
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::selectBookForPurchase to targetView ::> standardActivityView;
|
|
40
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::addToShoppingBasket to targetView ::> standardActivityView;
|
|
41
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::viewShoppingBasket to targetView ::> standardActivityView;
|
|
42
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::shoppingDecision to targetView ::> standardActivityView;
|
|
43
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::commitOrder to targetView ::> standardActivityView;
|
|
44
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::supplyCreditCardDetails to targetView ::> standardActivityView;
|
|
45
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::creditDecision to targetView ::> standardActivityView;
|
|
46
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::rejectCreditCard to targetView ::> standardActivityView;
|
|
47
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::closeOrder to targetView ::> standardActivityView;
|
|
48
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::confirmPurchase to targetView ::> standardActivityView;
|
|
49
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::itemsDelivered to targetView ::> standardActivityView;
|
|
50
|
+
connection : IncludedIn connect sourceElement ::> CustomerProcess::orderComplete to targetView ::> standardActivityView;
|
|
51
|
+
}
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
// State transition sample (statetransition view kind, `stm` diagram type). A
|
|
2
2
|
// behaviour machine owns its mode states; each Transition carries `sourceState`
|
|
3
3
|
// / `targetState` naming the states it connects, and renders as a labelled edge.
|
|
4
|
-
package
|
|
4
|
+
package memo_examples_sysml_diagram_samples_viewpoints_unassigned_views_state_transition_view {
|
|
5
5
|
private import ScalarValues::*;
|
|
6
6
|
|
|
7
7
|
private import memo_architecture_functional_behavior::*;
|
|
8
8
|
private import memo_core_relationships::*;
|
|
9
9
|
private import memo_viewpoints_definitions::*;
|
|
10
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
10
11
|
private import memo_core_enumerations::*;
|
|
11
12
|
|
|
12
13
|
state pumpModes : StateMachine { attribute :>> name = "Pump Operating Modes"; }
|
|
@@ -84,6 +85,7 @@ package memo_examples_sysml_diagram_samples_model_samples_state_transition_view
|
|
|
84
85
|
attribute :>> shortDescription = "A pump-mode state machine — Idle, Infusing, Paused, Alarm — where Infusing is a composite state nesting Priming, Delivering and Holding.";
|
|
85
86
|
attribute :>> viewKind = DiagramViewKind::statetransition;
|
|
86
87
|
attribute :>> diagramType = "stm";
|
|
88
|
+
part :>> viewpointDefinition = functionalViewpoint;
|
|
87
89
|
part :>> selectionQuery {
|
|
88
90
|
attribute :>> includeElementKinds = ("StateMachine", "ModeState", "Transition");
|
|
89
91
|
}
|