@memoarchitect/ontology 0.4.4
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/LICENSE +19 -0
- package/README.md +70 -0
- package/examples/gpca-pump/dhf/documents/DOC-RMP-001.md +210 -0
- package/examples/gpca-pump/memo.config.yaml +9 -0
- package/examples/gpca-pump/methodology/gpca_methodology.sysml +11 -0
- package/examples/gpca-pump/methodology/gpca_profiles.sysml +25 -0
- package/examples/gpca-pump/methodology/gpca_scope.sysml +25 -0
- package/examples/gpca-pump/model/catalog/gpca_analysis.sysml +231 -0
- package/examples/gpca-pump/model/catalog/gpca_architecture.sysml +272 -0
- package/examples/gpca-pump/model/catalog/gpca_behavior_actions.sysml +81 -0
- package/examples/gpca-pump/model/catalog/gpca_behavior_modes.sysml +363 -0
- package/examples/gpca-pump/model/catalog/gpca_behavior_subsystems.sysml +205 -0
- package/examples/gpca-pump/model/catalog/gpca_context.sysml +113 -0
- package/examples/gpca-pump/model/catalog/gpca_cybersecurity.sysml +172 -0
- package/examples/gpca-pump/model/catalog/gpca_formal_behavior.sysml +173 -0
- package/examples/gpca-pump/model/catalog/gpca_interfaces.sysml +1062 -0
- package/examples/gpca-pump/model/catalog/gpca_operational.sysml +209 -0
- package/examples/gpca-pump/model/catalog/gpca_physical.sysml +53 -0
- package/examples/gpca-pump/model/catalog/gpca_requirements.sysml +1505 -0
- package/examples/gpca-pump/model/catalog/gpca_risk.sysml +744 -0
- package/examples/gpca-pump/model/catalog/gpca_system.sysml +144 -0
- package/examples/gpca-pump/model/catalog/gpca_trace.sysml +696 -0
- package/examples/gpca-pump/model/catalog/gpca_verification.sysml +285 -0
- package/examples/gpca-pump/model/samples/README.md +24 -0
- package/examples/gpca-pump/model/samples/action_flow_view.sysml +72 -0
- package/examples/gpca-pump/model/samples/action_flow_view.viewlayout +9 -0
- package/examples/gpca-pump/model/samples/functional_flow_view.sysml +153 -0
- package/examples/gpca-pump/model/samples/interconnection_view.sysml +93 -0
- package/examples/gpca-pump/model/samples/interconnection_view.viewlayout +99 -0
- package/examples/gpca-pump/model/samples/operational_behaviour_view.sysml +145 -0
- package/examples/gpca-pump/model/samples/tree_view.sysml +56 -0
- package/examples/gpca-pump/model/views/behavior_action_flow_view.sysml +41 -0
- package/examples/gpca-pump/model/views/context_system_context_view.sysml +43 -0
- package/examples/gpca-pump/model/views/cybersecurity_cybersecurity_view.sysml +44 -0
- package/examples/gpca-pump/model/views/document_architecture_description_view.sysml +29 -0
- package/examples/gpca-pump/model/views/document_cyber_assessment_view.sysml +28 -0
- package/examples/gpca-pump/model/views/document_dhf_index_view.sysml +29 -0
- package/examples/gpca-pump/model/views/document_hazard_analysis_view.sysml +29 -0
- package/examples/gpca-pump/model/views/document_rmf_view.sysml +29 -0
- package/examples/gpca-pump/model/views/document_sdd_view.sysml +29 -0
- package/examples/gpca-pump/model/views/document_threat_model_view.sysml +28 -0
- package/examples/gpca-pump/model/views/document_usability_view.sysml +28 -0
- package/examples/gpca-pump/model/views/document_vv_view.sysml +29 -0
- package/examples/gpca-pump/model/views/functional_function_allocation_view.sysml +42 -0
- package/examples/gpca-pump/model/views/functional_function_browser_view.sysml +41 -0
- package/examples/gpca-pump/model/views/logical_device_interconnect_view.sysml +43 -0
- package/examples/gpca-pump/model/views/logical_logical_architecture_view.sysml +42 -0
- package/examples/gpca-pump/model/views/logical_mode_state_view.sysml +42 -0
- package/examples/gpca-pump/model/views/logical_system_decomposition_view.sysml +44 -0
- package/examples/gpca-pump/model/views/operational_scenario_sequence_view.sysml +41 -0
- package/examples/gpca-pump/model/views/operational_use_case_view.sysml +43 -0
- package/examples/gpca-pump/model/views/physical_physical_bom_view.sysml +41 -0
- package/examples/gpca-pump/model/views/requirements_requirements_trace_view.sysml +42 -0
- package/examples/gpca-pump/model/views/risk_fmea_view.sysml +42 -0
- package/examples/gpca-pump/model/views/risk_risk_chain_view.sysml +44 -0
- package/examples/gpca-pump/model/views/software_software_architecture_view.sysml +43 -0
- package/examples/gpca-pump/model/views/verification_verification_coverage_view.sysml +42 -0
- package/memo.manifest.yaml +13 -0
- package/methodologies/default/memo.package.yaml +9 -0
- package/methodologies/gpca/memo.package.yaml +9 -0
- package/ontology/memo.package.yaml +8 -0
- package/ontology/memo.rendering.yaml +47 -0
- package/package.json +65 -0
- package/profile/archetypes.yaml +36 -0
- package/profile/memo.package.yaml +9 -0
- package/profile/templates/connected-device/starter.sysml +8 -0
- package/profile/templates/infusion-pump/starter.sysml +8 -0
- package/profile/templates/monitoring-device/starter.sysml +8 -0
- package/profile/templates/samd/starter.sysml +8 -0
- package/src/architecture/analysis/memo_fmea.sysml +91 -0
- package/src/architecture/assurance/memo_assurance.sysml +29 -0
- package/src/architecture/behavior/memo_behavior.sysml +65 -0
- package/src/architecture/constraints/memo_constraints.sysml +14 -0
- package/src/architecture/context/memo_context.sysml +58 -0
- package/src/architecture/cybersecurity/memo_cybersecurity.sysml +99 -0
- package/src/architecture/decisions/memo_decisions.sysml +12 -0
- package/src/architecture/functions/memo_functions.sysml +30 -0
- package/src/architecture/hardware_structure/memo_hardware_structure.sysml +15 -0
- package/src/architecture/interfaces/memo_interfaces.sysml +103 -0
- package/src/architecture/logical_structure/memo_logical_structure.sysml +10 -0
- package/src/architecture/operational/memo_operational.sysml +51 -0
- package/src/architecture/physical/memo_physical_architecture.sysml +19 -0
- package/src/architecture/requirements/memo_requirements.sysml +69 -0
- package/src/architecture/risk/memo_arch_risk.sysml +7 -0
- package/src/architecture/risk/memo_risk.sysml +80 -0
- package/src/architecture/software_structure/memo_software_structure.sysml +44 -0
- package/src/architecture/system/memo_system_analysis.sysml +54 -0
- package/src/artifacts/clinical_safety_report.sysml +12 -0
- package/src/artifacts/cybersecurity_assessment_report.sysml +12 -0
- package/src/artifacts/definitions/memo_artifact_definitions.sysml +12 -0
- package/src/artifacts/design_change_log.sysml +12 -0
- package/src/artifacts/design_history_file_index.sysml +12 -0
- package/src/artifacts/design_input_plan.sysml +12 -0
- package/src/artifacts/design_output_plan.sysml +12 -0
- package/src/artifacts/evidence_record.sysml +12 -0
- package/src/artifacts/failure_mode_effects_analysis.sysml +12 -0
- package/src/artifacts/hazard_analysis_report.sysml +12 -0
- package/src/artifacts/labeling_specification.sysml +12 -0
- package/src/artifacts/requirements_specification.sysml +12 -0
- package/src/artifacts/requirements_traceability_matrix.sysml +12 -0
- package/src/artifacts/risk_management_plan.sysml +12 -0
- package/src/artifacts/software_design_description.sysml +12 -0
- package/src/artifacts/software_development_plan.sysml +12 -0
- package/src/artifacts/soup_list.sysml +12 -0
- package/src/artifacts/system_architecture_description.sysml +12 -0
- package/src/artifacts/test_protocol.sysml +12 -0
- package/src/artifacts/test_report.sysml +12 -0
- package/src/artifacts/threat_model_report.sysml +12 -0
- package/src/artifacts/usability_engineering_report.sysml +12 -0
- package/src/compliance/artifacts/memo_artifacts.sysml +13 -0
- package/src/compliance/change/memo_change.sysml +17 -0
- package/src/compliance/dhf-templates/21cfr820/change-record.md +45 -0
- package/src/compliance/dhf-templates/21cfr820/design-input.md +67 -0
- package/src/compliance/dhf-templates/21cfr820/design-output.md +80 -0
- package/src/compliance/dhf-templates/21cfr820/design-review.md +51 -0
- package/src/compliance/dhf-templates/21cfr820/design-validation.md +64 -0
- package/src/compliance/dhf-templates/21cfr820/design-verification.md +57 -0
- package/src/compliance/dhf-templates/21cfr820/dhf-index.md +111 -0
- package/src/compliance/dhf-templates/21cfr820/transfer-plan.md +50 -0
- package/src/compliance/dhf-templates/21cfr820/user-needs.md +81 -0
- package/src/compliance/dhf-templates/21cfr820/vv-plan.md +89 -0
- package/src/compliance/dhf-templates/21cfr820/vv-report.md +85 -0
- package/src/compliance/dhf-templates/fda-cybersecurity/incident-response.md +66 -0
- package/src/compliance/dhf-templates/fda-cybersecurity/postmarket-surveillance.md +63 -0
- package/src/compliance/dhf-templates/fda-cybersecurity/security-arch.md +83 -0
- package/src/compliance/dhf-templates/fda-cybersecurity/threat-model.md +100 -0
- package/src/compliance/dhf-templates/fda-cybersecurity/vuln-assessment.md +77 -0
- package/src/compliance/dhf-templates/iec-62304/change-control.md +40 -0
- package/src/compliance/dhf-templates/iec-62304/detailed-design.md +69 -0
- package/src/compliance/dhf-templates/iec-62304/integration-test.md +68 -0
- package/src/compliance/dhf-templates/iec-62304/sad.md +115 -0
- package/src/compliance/dhf-templates/iec-62304/sbom.md +67 -0
- package/src/compliance/dhf-templates/iec-62304/sdp.md +108 -0
- package/src/compliance/dhf-templates/iec-62304/soup.md +77 -0
- package/src/compliance/dhf-templates/iec-62304/srs.md +138 -0
- package/src/compliance/dhf-templates/iec-62304/sw-traceability.md +111 -0
- package/src/compliance/dhf-templates/iec-62304/system-test.md +67 -0
- package/src/compliance/dhf-templates/iec-62366/formative-eval.md +47 -0
- package/src/compliance/dhf-templates/iec-62366/summative-eval.md +69 -0
- package/src/compliance/dhf-templates/iec-62366/task-analysis.md +57 -0
- package/src/compliance/dhf-templates/iec-62366/ue-plan.md +81 -0
- package/src/compliance/dhf-templates/iec-62366/ui-spec.md +61 -0
- package/src/compliance/dhf-templates/iec-62366/urra.md +74 -0
- package/src/compliance/dhf-templates/iec-62366/use-spec.md +61 -0
- package/src/compliance/dhf-templates/iso-14971/fmea.md +93 -0
- package/src/compliance/dhf-templates/iso-14971/fta.md +70 -0
- package/src/compliance/dhf-templates/iso-14971/har.md +165 -0
- package/src/compliance/dhf-templates/iso-14971/risk-benefit.md +51 -0
- package/src/compliance/dhf-templates/iso-14971/risk-matrix.md +51 -0
- package/src/compliance/dhf-templates/iso-14971/rmp.md +169 -0
- package/src/compliance/dhf-templates/iso-14971/rmr.md +101 -0
- package/src/compliance/dhf-templates/shared/snippets/approval-block.md +16 -0
- package/src/compliance/dhf-templates/shared/snippets/document-control-header.md +15 -0
- package/src/compliance/dhf-templates/shared/snippets/references-section.md +16 -0
- package/src/compliance/dhf-templates/shared/snippets/revision-history-table.md +11 -0
- package/src/compliance/document_views/memo_document_views.sysml +7 -0
- package/src/compliance/iso14971/risk_management_file.sysml +16 -0
- package/src/compliance/postmarket/memo_postmarket.sysml +16 -0
- package/src/core/common/memo_common.sysml +50 -0
- package/src/core/consistency_rules/consistency_rules.sysml +41 -0
- package/src/core/dimensions/dimensions.sysml +37 -0
- package/src/core/enumerations/memo_enumerations.sysml +562 -0
- package/src/core/methodology_scope/methodology_scope.sysml +46 -0
- package/src/core/relationships/memo_relationships.sysml +230 -0
- package/src/core/semantics/semantics.sysml +20 -0
- package/src/core/stdlib/collections.sysml +6 -0
- package/src/core/stdlib/functions.sysml +6 -0
- package/src/core/stdlib/scalars.sysml +6 -0
- package/src/core/stdlib/time.sysml +6 -0
- package/src/medical_device_library.sysml +100 -0
- package/src/memo_namespaces.sysml +668 -0
- package/src/methodology/LICENSES/MIT.txt +19 -0
- package/src/methodology/memo_archetypes.sysml +93 -0
- package/src/methodology/memo_core.sysml +53 -0
- package/src/methodology/memo_gates.sysml +11 -0
- package/src/methodology/memo_patterns.sysml +12 -0
- package/src/methodology/memo_profiles.sysml +218 -0
- package/src/methodology/memo_rules.sysml +15 -0
- package/src/methodology/memo_viewpoints.sysml +5 -0
- package/src/methodology/memo_workflow.sysml +14 -0
- package/src/rules/closure/closure_rules.sysml +180 -0
- package/src/rules/coverage/coverage_rules.sysml +258 -0
- package/src/rules/crosslayer/cross_layer_rules.sysml +38 -0
- package/src/rules/lifecycle/lifecycle_rules.sysml +41 -0
- package/src/rules/quantitative/quantitative_rules.sysml +34 -0
- package/src/viewpoints/clinical/clinical_evidence_view.sysml +13 -0
- package/src/viewpoints/clinical/clinical_viewpoint.sysml +25 -0
- package/src/viewpoints/context/context_viewpoint.sysml +25 -0
- package/src/viewpoints/context/system_context_view.sysml +29 -0
- package/src/viewpoints/cybersecurity/cybersecurity_assessment_view.sysml +13 -0
- package/src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml +27 -0
- package/src/viewpoints/cybersecurity/threat_model_view.sysml +13 -0
- package/src/viewpoints/definitions/memo_viewpoint_definitions.sysml +82 -0
- package/src/viewpoints/functional/function_allocation_view.sysml +29 -0
- package/src/viewpoints/functional/functional_viewpoint.sysml +25 -0
- package/src/viewpoints/functional/system_functional_tree_view.sysml +29 -0
- package/src/viewpoints/logical/logical_architecture_view.sysml +29 -0
- package/src/viewpoints/logical/logical_viewpoint.sysml +25 -0
- package/src/viewpoints/operational/operational_viewpoint.sysml +25 -0
- package/src/viewpoints/operational/use_case_view.sysml +29 -0
- package/src/viewpoints/physical/network_topology_view.sysml +29 -0
- package/src/viewpoints/physical/physical_bom_view.sysml +29 -0
- package/src/viewpoints/physical/physical_viewpoint.sysml +25 -0
- package/src/viewpoints/requirements/requirements_traceability_view.sysml +29 -0
- package/src/viewpoints/requirements/requirements_viewpoint.sysml +25 -0
- package/src/viewpoints/risk/risk_chain_view.sysml +30 -0
- package/src/viewpoints/risk/risk_viewpoint.sysml +25 -0
- package/src/viewpoints/software/software_architecture_view.sysml +29 -0
- package/src/viewpoints/software/software_viewpoint.sysml +25 -0
- package/src/viewpoints/usability/usability_engineering_view.sysml +13 -0
- package/src/viewpoints/usability/usability_viewpoint.sysml +25 -0
- package/src/viewpoints/verification/verification_coverage_view.sysml +29 -0
- package/src/viewpoints/verification/verification_viewpoint.sysml +25 -0
- package/template/memo.package.yaml +5 -0
- package/template/src/catalog/starter.sysml +12 -0
- package/template/src/documents/.gitkeep +1 -0
- package/template/src/views/.gitkeep +1 -0
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_document_usability_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_usability_usability_engineering_view::*;
|
|
6
|
+
private import memo_core_enumerations::*;
|
|
7
|
+
|
|
8
|
+
view usabilityView : MemoUsabilityEngineeringView {
|
|
9
|
+
expose memo_examples_gpca_pump_model_views_document_usability_view::*;
|
|
10
|
+
attribute :>> id = "DOC-008";
|
|
11
|
+
attribute :>> name = "UsabilityEngineeringFileView";
|
|
12
|
+
attribute :>> title = "GPCA Usability Engineering File View";
|
|
13
|
+
attribute :>> shortDescription = "IEC 62366-1 usability engineering file content for GPCA.";
|
|
14
|
+
attribute :>> longDescription = "Aggregates intended use, use contexts, actors, foreseeable use errors, related risk chains, usability requirements, and the summative usability validation case.";
|
|
15
|
+
attribute :>> version = "0.1";
|
|
16
|
+
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
17
|
+
attribute :>> marketScope = "generic";
|
|
18
|
+
attribute :>> documentUsage = ("Usability Engineering File", "DHF");
|
|
19
|
+
attribute :>> sectionIdentifier = "UEF";
|
|
20
|
+
part :>> selectionQuery {
|
|
21
|
+
attribute :>> id = "QRY-DOC-002";
|
|
22
|
+
attribute :>> name = "usabilityViewQuery";
|
|
23
|
+
attribute :>> includeElementKinds = ("UseError", "UseContext", "Actor", "ValidationCase", "OperationalScenario", "IntendedUse");
|
|
24
|
+
attribute :>> includeRelationshipKinds = ("TestedByUsability", "RealizedByScenario", "InteractsWith", "IncludedIn");
|
|
25
|
+
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_document_vv_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_core_enumerations::*;
|
|
6
|
+
|
|
7
|
+
view vvView : MemoDocumentView {
|
|
8
|
+
expose memo_examples_gpca_pump_model_views_document_vv_view::*;
|
|
9
|
+
attribute :>> id = "DOC-006";
|
|
10
|
+
attribute :>> name = "VerificationValidationView";
|
|
11
|
+
attribute :>> title = "GPCA Verification and Validation View";
|
|
12
|
+
attribute :>> shortDescription = "V&V plan and coverage for requirements and risk controls.";
|
|
13
|
+
attribute :>> longDescription = "Aggregates verification cases, validation cases, test artifacts, and evidence with their coverage of requirements, risk controls, behavior properties, and timing constraints.";
|
|
14
|
+
attribute :>> version = "0.1";
|
|
15
|
+
attribute :>> lifecycleState = LifecycleStateKind::development;
|
|
16
|
+
attribute :>> viewKind = DocumentViewKind::VV;
|
|
17
|
+
attribute :>> generationRule = "Include all VerifiedBy, Validates, and ProducesEvidence chains with status";
|
|
18
|
+
attribute :>> marketScope = "generic";
|
|
19
|
+
attribute :>> documentUsage = ("VV", "DHF", "QMSR");
|
|
20
|
+
attribute :>> sectionIdentifier = "VV";
|
|
21
|
+
part :>> selectionQuery {
|
|
22
|
+
attribute :>> id = "QRY-DOC-006";
|
|
23
|
+
attribute :>> name = "vvViewQuery";
|
|
24
|
+
attribute :>> includeElementKinds = ("VerificationCase", "ValidationCase", "TestArtifact", "Evidence", "SystemRequirement", "SoftwareRequirement", "HardwareRequirement", "RiskControl");
|
|
25
|
+
attribute :>> includeRelationshipKinds = ("VerifiedBy", "Validates", "TestedByUsability", "ProducesEvidence", "IncludedIn");
|
|
26
|
+
attribute :>> rationaleText = "Declares what this document-backed view renders; the web renderer is presentation-only.";
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_functional_function_allocation_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaFunctionAllocationView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_functional_function_allocation_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-FUN-102";
|
|
20
|
+
attribute :>> name = "GPCA_FunctionAllocationView";
|
|
21
|
+
attribute :>> title = "GPCA Function Allocation View";
|
|
22
|
+
attribute :>> shortDescription = "Allocation of logical functions to software components and hardware assemblies.";
|
|
23
|
+
attribute :>> outputKind = (ViewOutputKind::matrix);
|
|
24
|
+
attribute :>> presentationKind = (PresentationKind::traceMatrix);
|
|
25
|
+
attribute :>> viewKind = DiagramViewKind::grid;
|
|
26
|
+
attribute :>> diagramType = "alloc";
|
|
27
|
+
attribute :>> dataSourceDescription = "AllocatedTo links between functions and architecture elements";
|
|
28
|
+
attribute :>> autoPopulate = true;
|
|
29
|
+
attribute :>> queryDescription = "Include logical functions with their AllocatedTo targets.";
|
|
30
|
+
attribute :>> documentUsage = ("SDD", "Architecture Description");
|
|
31
|
+
part :>> selectionQuery {
|
|
32
|
+
attribute :>> id = "QRY-FUN-102";
|
|
33
|
+
attribute :>> name = "GPCA_FunctionAllocationQuery";
|
|
34
|
+
attribute :>> includeElementKinds = ("LogicalFunction", "SoftwareComponent", "HardwareAssembly");
|
|
35
|
+
attribute :>> includeRelationshipKinds = ("AllocatedTo");
|
|
36
|
+
attribute :>> includeLayers = ("functions", "software_structure", "hardware_structure");
|
|
37
|
+
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
38
|
+
attribute :>> rationaleText = "Show complete function-to-component allocation coverage.";
|
|
39
|
+
}
|
|
40
|
+
part :>> viewpointDefinition = functionalViewpoint;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_functional_function_browser_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaFunctionBrowserView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_functional_function_browser_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-FUN-103";
|
|
20
|
+
attribute :>> name = "GPCA_FunctionBrowserView";
|
|
21
|
+
attribute :>> title = "GPCA Function Browser";
|
|
22
|
+
attribute :>> shortDescription = "Membership tree over the functions layer: logical functions, flows, and the exchange item definitions, grouped by kind.";
|
|
23
|
+
attribute :>> longDescription = "Browser view (SysML v2 browser view kind) exposing the functions-layer membership hierarchy as a first-class view: the eleven logical functions, the logical flows connecting them, and the data/control definitions they exchange — with kind icons, expand/collapse, and filtering.";
|
|
24
|
+
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
|
+
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
26
|
+
attribute :>> viewKind = DiagramViewKind::browser;
|
|
27
|
+
attribute :>> dataSourceDescription = "GPCA logical functions, flows, and exchange item definitions";
|
|
28
|
+
attribute :>> autoPopulate = true;
|
|
29
|
+
attribute :>> queryDescription = "Include the functions layer's functions, flows, and exchange item definitions.";
|
|
30
|
+
attribute :>> documentUsage = ("SDD");
|
|
31
|
+
part :>> selectionQuery {
|
|
32
|
+
attribute :>> id = "QRY-FUN-103";
|
|
33
|
+
attribute :>> name = "GPCA_FunctionBrowserQuery";
|
|
34
|
+
attribute :>> includeElementKinds = ("LogicalFunction", "LogicalFlow", "DataDefinition", "ControlDefinition");
|
|
35
|
+
attribute :>> includeLayers = ("functions");
|
|
36
|
+
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
37
|
+
attribute :>> rationaleText = "Auto-populate the function browser from the functions layer.";
|
|
38
|
+
}
|
|
39
|
+
part :>> viewpointDefinition = functionalViewpoint;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_logical_device_interconnect_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaDeviceInterconnectView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_logical_device_interconnect_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-LOG-003";
|
|
20
|
+
attribute :>> name = "GPCA_DeviceInterconnectView";
|
|
21
|
+
attribute :>> title = "GPCA Device Interconnect View";
|
|
22
|
+
attribute :>> shortDescription = "Device-level interconnection: hardware assemblies wired to the software system's boundary ports.";
|
|
23
|
+
attribute :>> longDescription = "Interconnection-kind view of the GPCA device per GPCA_Device.aadl: sensor and actuator assemblies, the GPCA software system with its seven AADL boundary ports (OP_CMD_IN, PRES_IN, PATIENT_IN, SENSOR_IN, CONST_IN, DB_IN, GPCA_SW_OUT) pinned on its boundary, the eight software subcomponents nested inside, and the ExchangesWith connection topology (device-boundary CE-001..004 plus the GPCA_SW.Impl internal connections). Rendered through the KK-3 Interconnection view template.";
|
|
24
|
+
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
|
+
attribute :>> presentationKind = (PresentationKind::internalDiagram);
|
|
26
|
+
attribute :>> viewKind = DiagramViewKind::interconnection;
|
|
27
|
+
attribute :>> diagramType = "ibd";
|
|
28
|
+
attribute :>> dataSourceDescription = "GPCA hardware assemblies, software system, software components, boundary ports, and the ExchangesWith/Composes topology";
|
|
29
|
+
attribute :>> autoPopulate = true;
|
|
30
|
+
attribute :>> queryDescription = "Include hardware assemblies, the software system with its components and boundary ports, and the exchange topology between them.";
|
|
31
|
+
attribute :>> documentUsage = ("SDD", "Architecture Description", "QMSR");
|
|
32
|
+
part :>> selectionQuery {
|
|
33
|
+
attribute :>> id = "QRY-LOG-003";
|
|
34
|
+
attribute :>> name = "GPCA_DeviceInterconnectQuery";
|
|
35
|
+
attribute :>> includeElementKinds = ("HardwareAssembly", "SoftwareSystem", "SoftwareComponent", "SoftwarePort");
|
|
36
|
+
attribute :>> includeRelationshipKinds = ("ExchangesWith", "Composes");
|
|
37
|
+
attribute :>> includeLayers = ("logical_structure", "software_structure", "interfaces");
|
|
38
|
+
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
39
|
+
attribute :>> rationaleText = "Render the device interconnect: parts with boundary ports as nodes, AADL connections as typed connectors, composition as nesting.";
|
|
40
|
+
}
|
|
41
|
+
part :>> viewpointDefinition = logicalArchitectureViewpoint;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_logical_logical_architecture_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaLogicalArchitectureView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_logical_logical_architecture_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-LOG-001";
|
|
20
|
+
attribute :>> name = "GPCA_LogicalArchitectureView";
|
|
21
|
+
attribute :>> title = "GPCA Logical Architecture View";
|
|
22
|
+
attribute :>> shortDescription = "Logical decomposition of the GPCA system.";
|
|
23
|
+
attribute :>> longDescription = "Product-specific logical architecture view that references the default logical architecture viewpoint and is intended for design description and architecture communication.";
|
|
24
|
+
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
|
+
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
26
|
+
attribute :>> viewKind = DiagramViewKind::general;
|
|
27
|
+
attribute :>> diagramType = "bdd";
|
|
28
|
+
attribute :>> dataSourceDescription = "GPCA architecture and interface model elements";
|
|
29
|
+
attribute :>> autoPopulate = true;
|
|
30
|
+
attribute :>> queryDescription = "Include GPCA logical components and key interfaces relevant to therapy control.";
|
|
31
|
+
attribute :>> documentUsage = ("SDD", "Architecture Description", "QMSR");
|
|
32
|
+
part :>> selectionQuery {
|
|
33
|
+
attribute :>> id = "QRY-LOG-001";
|
|
34
|
+
attribute :>> name = "GPCA_LogicalArchitectureQuery";
|
|
35
|
+
attribute :>> includeElementKinds = ("LogicalComponent", "Interface", "Function");
|
|
36
|
+
attribute :>> includeLayers = ("functions", "logical_structure", "interfaces");
|
|
37
|
+
attribute :>> selectionExpression = "product == 'GPCA' and concern contains therapy control";
|
|
38
|
+
attribute :>> rationaleText = "Auto-populate the GPCA logical architecture view from the core product model.";
|
|
39
|
+
}
|
|
40
|
+
part :>> viewpointDefinition = logicalArchitectureViewpoint;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_logical_mode_state_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaModeStateView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_logical_mode_state_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-BHV-001";
|
|
20
|
+
attribute :>> name = "GPCA_ModeStateView";
|
|
21
|
+
attribute :>> title = "GPCA Top-Level Mode State View";
|
|
22
|
+
attribute :>> shortDescription = "The CriSys Fig 4.1 mode hierarchy (OFF, ON, IDLE, THERAPY, PAUSED, ACTIVE, BASAL, SQUARE_BOLUS, PATIENT_BOLUS) and all guarded transitions.";
|
|
23
|
+
attribute :>> longDescription = "Hierarchical state diagram per CriSys §4.1 Fig 4.1: OFF and ON at top level, IDLE and THERAPY under ON, PAUSED (KVO delivery) and ACTIVE under THERAPY, and BASAL / SQUARE_BOLUS (auto-scheduled) / PATIENT_BOLUS under ACTIVE — with the REQ 4-47 transitions, Inhibited_* macro guards, and same-step-critical markings.";
|
|
24
|
+
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
|
+
attribute :>> presentationKind = (PresentationKind::stateDiagram);
|
|
26
|
+
attribute :>> viewKind = DiagramViewKind::statetransition;
|
|
27
|
+
attribute :>> diagramType = "stm";
|
|
28
|
+
attribute :>> dataSourceDescription = "GPCA behavior machine, mode states, and transitions";
|
|
29
|
+
attribute :>> autoPopulate = true;
|
|
30
|
+
attribute :>> queryDescription = "Include the mode machine, the Fig 4.1 mode tree (Composes edges), transitions, and safety properties.";
|
|
31
|
+
attribute :>> documentUsage = ("SDD", "RMF");
|
|
32
|
+
part :>> selectionQuery {
|
|
33
|
+
attribute :>> id = "QRY-BHV-101";
|
|
34
|
+
attribute :>> name = "GPCA_ModeStateQuery";
|
|
35
|
+
attribute :>> includeElementKinds = ("BehaviorMachine", "ModeState", "Transition", "BehaviorProperty", "TimingConstraint");
|
|
36
|
+
attribute :>> includeLayers = ("behavior");
|
|
37
|
+
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
38
|
+
attribute :>> rationaleText = "Auto-populate the mode state view from the behavior layer.";
|
|
39
|
+
}
|
|
40
|
+
part :>> viewpointDefinition = logicalArchitectureViewpoint;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_logical_system_decomposition_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaSystemDecompositionView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_logical_system_decomposition_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-LOG-002";
|
|
20
|
+
attribute :>> name = "GPCA_SystemDecompositionView";
|
|
21
|
+
attribute :>> title = "GPCA System Decomposition View";
|
|
22
|
+
attribute :>> shortDescription = "Nested containment of the GPCA device: hardware assemblies and the software system.";
|
|
23
|
+
attribute :>> longDescription = "General-kind membership structure of the GPCA device per the AADL GPCA_Device.Impl decomposition: sensor and actuator assemblies with their subcomponents, supporting hardware, and the GPCA software system with its eight AADL subcomponents. Rendered through the KK-2 General view template in containment mode (nested blocks with expand/collapse; the tree mode shows the same hierarchy as a decomposition tree).";
|
|
24
|
+
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
|
+
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
26
|
+
attribute :>> viewKind = DiagramViewKind::general;
|
|
27
|
+
attribute :>> diagramType = "bdd";
|
|
28
|
+
attribute :>> layoutHint = "containment";
|
|
29
|
+
attribute :>> dataSourceDescription = "GPCA hardware assemblies, software system, and software components with their Composes hierarchy";
|
|
30
|
+
attribute :>> autoPopulate = true;
|
|
31
|
+
attribute :>> queryDescription = "Include hardware assemblies, the software system, and software components; the Composes topology supplies the nesting.";
|
|
32
|
+
attribute :>> documentUsage = ("SDD", "Architecture Description");
|
|
33
|
+
part :>> selectionQuery {
|
|
34
|
+
attribute :>> id = "QRY-LOG-002";
|
|
35
|
+
attribute :>> name = "GPCA_SystemDecompositionQuery";
|
|
36
|
+
attribute :>> includeElementKinds = ("HardwareAssembly", "SoftwareSystem", "SoftwareComponent");
|
|
37
|
+
attribute :>> includeRelationshipKinds = ("Composes");
|
|
38
|
+
attribute :>> includeLayers = ("logical_structure", "software_structure");
|
|
39
|
+
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
40
|
+
attribute :>> rationaleText = "Populate the decomposition from the device structure; composition edges drive the containment nesting.";
|
|
41
|
+
}
|
|
42
|
+
part :>> viewpointDefinition = logicalArchitectureViewpoint;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_operational_scenario_sequence_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaScenarioSequenceView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_operational_scenario_sequence_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-BHV-002";
|
|
20
|
+
attribute :>> name = "GPCA_ScenarioSequenceView";
|
|
21
|
+
attribute :>> title = "GPCA Scenario Sequence View";
|
|
22
|
+
attribute :>> shortDescription = "Key therapy and alarm scenarios rendered as sequences over the functional chains.";
|
|
23
|
+
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
24
|
+
attribute :>> presentationKind = (PresentationKind::activityDiagram);
|
|
25
|
+
attribute :>> viewKind = DiagramViewKind::sequence;
|
|
26
|
+
attribute :>> diagramType = "seq";
|
|
27
|
+
attribute :>> dataSourceDescription = "GPCA system scenarios, functional chains, and chain steps";
|
|
28
|
+
attribute :>> autoPopulate = true;
|
|
29
|
+
attribute :>> queryDescription = "Include system scenarios with the functional chains and steps that realize them.";
|
|
30
|
+
attribute :>> documentUsage = ("SDD", "VV");
|
|
31
|
+
part :>> selectionQuery {
|
|
32
|
+
attribute :>> id = "QRY-BHV-102";
|
|
33
|
+
attribute :>> name = "GPCA_ScenarioSequenceQuery";
|
|
34
|
+
attribute :>> includeElementKinds = ("SystemScenario", "OperationalScenario", "FunctionalChain", "FunctionalChainStep");
|
|
35
|
+
attribute :>> includeLayers = ("operational", "system");
|
|
36
|
+
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
37
|
+
attribute :>> rationaleText = "Auto-populate scenario sequences from the system layer.";
|
|
38
|
+
}
|
|
39
|
+
part :>> viewpointDefinition = operationalViewpoint;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_operational_use_case_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaUseCaseView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_operational_use_case_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-OPS-101";
|
|
20
|
+
attribute :>> name = "GPCA_UseCaseView";
|
|
21
|
+
attribute :>> title = "GPCA Use Case View";
|
|
22
|
+
attribute :>> shortDescription = "Actors connected to the therapy lifecycle activities and scenarios.";
|
|
23
|
+
attribute :>> longDescription = "Connects patient, nurse, prescriber, pharmacist, and technician to the operational activities (prescribe, load, program, start, bolus, alarm response, log review, maintain) and their scenarios.";
|
|
24
|
+
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
|
+
attribute :>> presentationKind = (PresentationKind::custom);
|
|
26
|
+
attribute :>> viewKind = DiagramViewKind::general;
|
|
27
|
+
attribute :>> diagramType = "ucd";
|
|
28
|
+
attribute :>> dataSourceDescription = "GPCA operational activities, scenarios, and context actors";
|
|
29
|
+
attribute :>> autoPopulate = true;
|
|
30
|
+
attribute :>> queryDescription = "Include actors, operational activities, scenarios, and capabilities.";
|
|
31
|
+
attribute :>> documentUsage = ("Usability Engineering File", "Architecture Description");
|
|
32
|
+
part :>> selectionQuery {
|
|
33
|
+
attribute :>> id = "QRY-OPS-101";
|
|
34
|
+
attribute :>> name = "GPCA_UseCaseQuery";
|
|
35
|
+
attribute :>> includeElementKinds = ("Actor", "OperationalActivity", "OperationalScenario", "OperationalCapability");
|
|
36
|
+
attribute :>> includeRelationshipKinds = ("InteractsWith", "SequencesStep", "ContributesToCapability");
|
|
37
|
+
attribute :>> includeLayers = ("context", "operational");
|
|
38
|
+
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
39
|
+
attribute :>> rationaleText = "Auto-populate the GPCA use case view from the operational layer.";
|
|
40
|
+
}
|
|
41
|
+
part :>> viewpointDefinition = operationalViewpoint;
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_physical_physical_bom_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaPhysicalBomView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_physical_physical_bom_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-PHY-101";
|
|
20
|
+
attribute :>> name = "GPCA_PhysicalBomView";
|
|
21
|
+
attribute :>> title = "GPCA Physical Architecture and BOM View";
|
|
22
|
+
attribute :>> shortDescription = "Hardware assemblies, processing node, physical ports, and part numbers.";
|
|
23
|
+
attribute :>> outputKind = (ViewOutputKind::table);
|
|
24
|
+
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
25
|
+
attribute :>> viewKind = DiagramViewKind::grid;
|
|
26
|
+
attribute :>> diagramType = "bdd";
|
|
27
|
+
attribute :>> dataSourceDescription = "GPCA hardware assemblies, processing node, and physical ports";
|
|
28
|
+
attribute :>> autoPopulate = true;
|
|
29
|
+
attribute :>> queryDescription = "Include hardware assemblies with part numbers, the MCU node, and external ports.";
|
|
30
|
+
attribute :>> documentUsage = ("Architecture Description", "DHF");
|
|
31
|
+
part :>> selectionQuery {
|
|
32
|
+
attribute :>> id = "QRY-PHY-101";
|
|
33
|
+
attribute :>> name = "GPCA_PhysicalBomQuery";
|
|
34
|
+
attribute :>> includeElementKinds = ("HardwareAssembly", "ProcessingNode", "PhysicalPort", "HardwareInterface");
|
|
35
|
+
attribute :>> includeLayers = ("hardware_structure", "physical", "interfaces");
|
|
36
|
+
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
37
|
+
attribute :>> rationaleText = "Auto-populate the physical BOM from the hardware and physical layers.";
|
|
38
|
+
}
|
|
39
|
+
part :>> viewpointDefinition = physicalViewpoint;
|
|
40
|
+
}
|
|
41
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_requirements_requirements_trace_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaRequirementsTraceView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_requirements_requirements_trace_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-REQ-101";
|
|
20
|
+
attribute :>> name = "GPCA_RequirementsTraceabilityView";
|
|
21
|
+
attribute :>> title = "GPCA Requirements Traceability View";
|
|
22
|
+
attribute :>> shortDescription = "Needs to system/software/hardware requirements to satisfying components and verification.";
|
|
23
|
+
attribute :>> outputKind = (ViewOutputKind::matrix);
|
|
24
|
+
attribute :>> presentationKind = (PresentationKind::traceMatrix);
|
|
25
|
+
attribute :>> viewKind = DiagramViewKind::grid;
|
|
26
|
+
attribute :>> diagramType = "req";
|
|
27
|
+
attribute :>> dataSourceDescription = "GPCA requirements with DerivesFrom, SatisfiedBy, and VerifiedBy links";
|
|
28
|
+
attribute :>> autoPopulate = true;
|
|
29
|
+
attribute :>> queryDescription = "Include all needs and requirements with derivation, satisfaction, and verification links.";
|
|
30
|
+
attribute :>> documentUsage = ("Requirements Traceability Matrix", "DHF", "QMSR");
|
|
31
|
+
part :>> selectionQuery {
|
|
32
|
+
attribute :>> id = "QRY-REQ-101";
|
|
33
|
+
attribute :>> name = "GPCA_RequirementsTraceQuery";
|
|
34
|
+
attribute :>> includeElementKinds = ("StakeholderNeed", "SystemRequirement", "SoftwareRequirement", "HardwareRequirement", "VerificationCase");
|
|
35
|
+
attribute :>> includeRelationshipKinds = ("DerivesFrom", "SatisfiedBy", "VerifiedBy");
|
|
36
|
+
attribute :>> includeLayers = ("requirements", "assurance");
|
|
37
|
+
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
38
|
+
attribute :>> rationaleText = "Full derivation-to-verification traceability for design reviews.";
|
|
39
|
+
}
|
|
40
|
+
part :>> viewpointDefinition = requirementsViewpoint;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_risk_fmea_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaFmeaView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_risk_fmea_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-RISK-102";
|
|
20
|
+
attribute :>> name = "GPCA_FmeaView";
|
|
21
|
+
attribute :>> title = "GPCA FMEA and Fault Tree View";
|
|
22
|
+
attribute :>> shortDescription = "Failure modes with causes, effects, detection, RPN, and the overdose fault tree.";
|
|
23
|
+
attribute :>> outputKind = (ViewOutputKind::table);
|
|
24
|
+
attribute :>> presentationKind = (PresentationKind::riskTable);
|
|
25
|
+
attribute :>> viewKind = DiagramViewKind::grid;
|
|
26
|
+
attribute :>> diagramType = "fmea";
|
|
27
|
+
attribute :>> dataSourceDescription = "GPCA FMEA worksheet, failure modes, fault tree events, gates, and cut sets";
|
|
28
|
+
attribute :>> autoPopulate = true;
|
|
29
|
+
attribute :>> queryDescription = "Include FMEA worksheet rows and the overdose fault tree structure.";
|
|
30
|
+
attribute :>> documentUsage = ("FMEA", "RMF");
|
|
31
|
+
part :>> selectionQuery {
|
|
32
|
+
attribute :>> id = "QRY-RISK-102";
|
|
33
|
+
attribute :>> name = "GPCA_FmeaQuery";
|
|
34
|
+
attribute :>> includeElementKinds = ("FMEAWorksheet", "FailureMode", "FailureEffect", "FailureCause", "DetectionMethod", "FMEAAction", "FaultTree", "FaultTreeEvent", "FaultTreeGate", "MinimalCutSet");
|
|
35
|
+
attribute :>> includeLayers = ("analysis", "risk");
|
|
36
|
+
attribute :>> includeConcerns = (ConcernKind::safety, ConcernKind::reliability);
|
|
37
|
+
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
38
|
+
attribute :>> rationaleText = "Auto-populate the FMEA/FTA view from the analysis layer.";
|
|
39
|
+
}
|
|
40
|
+
part :>> viewpointDefinition = riskViewpoint;
|
|
41
|
+
}
|
|
42
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_risk_risk_chain_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaRiskChainView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_risk_risk_chain_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-RISK-101";
|
|
20
|
+
attribute :>> name = "GPCA_RiskChainView";
|
|
21
|
+
attribute :>> title = "GPCA Risk Mitigation Chain View";
|
|
22
|
+
attribute :>> shortDescription = "All seven hazard causal trees from categorized cause through harm with controls and residual risk.";
|
|
23
|
+
attribute :>> longDescription = "Opioid over-infusion, under-infusion, air embolism, misprogramming, free-flow, reverse-delivery, and VTBI over-infusion causal trees (GIIP cause-source structure): categorized causes converging on each hazard, sequences of events, hazardous situations, harms, risk estimates, controls, and residual evaluations.";
|
|
24
|
+
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
|
+
attribute :>> presentationKind = (PresentationKind::blockDiagram);
|
|
26
|
+
attribute :>> viewKind = DiagramViewKind::general;
|
|
27
|
+
attribute :>> diagramType = "risk";
|
|
28
|
+
attribute :>> dataSourceDescription = "GPCA risk layer and TracesRisk/MitigatesHazard links";
|
|
29
|
+
attribute :>> autoPopulate = true;
|
|
30
|
+
attribute :>> queryDescription = "Include hazards, sequences, situations, harms, risks before/after, controls, and residual evaluation.";
|
|
31
|
+
attribute :>> documentUsage = ("RMF", "Hazard Analysis Report", "QMSR");
|
|
32
|
+
part :>> selectionQuery {
|
|
33
|
+
attribute :>> id = "QRY-RISK-101";
|
|
34
|
+
attribute :>> name = "GPCA_RiskChainQuery";
|
|
35
|
+
attribute :>> includeElementKinds = ("Hazard", "HazardCause", "SequenceOfEvents", "HazardousSituation", "Harm", "RiskBeforeMitigation", "RiskAfterMitigation", "RiskControl", "OverallResidualRiskEvaluation");
|
|
36
|
+
attribute :>> includeRelationshipKinds = ("TracesRisk", "MitigatesHazard", "CausedBy", "ContributesToHazard", "MitigatedByControl", "LeadsToHazard");
|
|
37
|
+
attribute :>> includeLayers = ("risk", "assurance");
|
|
38
|
+
attribute :>> includeConcerns = (ConcernKind::safety);
|
|
39
|
+
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
40
|
+
attribute :>> rationaleText = "Auto-populate the risk chain diagram from the risk layer.";
|
|
41
|
+
}
|
|
42
|
+
part :>> viewpointDefinition = riskViewpoint;
|
|
43
|
+
}
|
|
44
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
package memo_examples_gpca_pump_model_views_software_software_architecture_view {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_viewpoints_definitions::*;
|
|
5
|
+
private import memo_viewpoints_context_context_viewpoint::*;
|
|
6
|
+
private import memo_viewpoints_operational_operational_viewpoint::*;
|
|
7
|
+
private import memo_viewpoints_functional_functional_viewpoint::*;
|
|
8
|
+
private import memo_viewpoints_logical_logical_viewpoint::*;
|
|
9
|
+
private import memo_viewpoints_software_software_viewpoint::*;
|
|
10
|
+
private import memo_viewpoints_physical_physical_viewpoint::*;
|
|
11
|
+
private import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
12
|
+
private import memo_viewpoints_risk_risk_viewpoint::*;
|
|
13
|
+
private import memo_viewpoints_verification_verification_viewpoint::*;
|
|
14
|
+
private import memo_core_enumerations::*;
|
|
15
|
+
|
|
16
|
+
view gpcaSoftwareArchitectureView : MemoDiagramView {
|
|
17
|
+
expose memo_examples_gpca_pump_model_views_software_software_architecture_view::*;
|
|
18
|
+
attribute depth = 2;
|
|
19
|
+
attribute :>> id = "VIEW-SW-101";
|
|
20
|
+
attribute :>> name = "GPCA_SoftwareArchitectureView";
|
|
21
|
+
attribute :>> title = "GPCA Software Architecture View";
|
|
22
|
+
attribute :>> shortDescription = "The eight AADL GPCA_SW.Impl subcomponents, top-level ports, and the full inter-component connection topology.";
|
|
23
|
+
attribute :>> longDescription = "Top_Level_Mode, System_Status, Alarm, Config, Infusion_Manager, System_Monitor, Logging, and OutputBus inside the GPCA_Software system, wired per GPCA_SW.Impl with the seven top-level ports (OP_CMD_IN, PRES_IN, PATIENT_IN, SENSOR_IN, CONST_IN, DB_IN, GPCA_SW_OUT). Connections are synchronous with AADL immediate port semantics.";
|
|
24
|
+
attribute :>> outputKind = (ViewOutputKind::diagram);
|
|
25
|
+
attribute :>> presentationKind = (PresentationKind::internalDiagram);
|
|
26
|
+
attribute :>> viewKind = DiagramViewKind::interconnection;
|
|
27
|
+
attribute :>> diagramType = "ibd";
|
|
28
|
+
attribute :>> dataSourceDescription = "GPCA software structure, top-level ports, and the GPCA_SW.Impl connection set (CE-101..CE-142)";
|
|
29
|
+
attribute :>> autoPopulate = true;
|
|
30
|
+
attribute :>> queryDescription = "Include the software system, its eight components, its boundary ports, and the ExchangesWith topology between them.";
|
|
31
|
+
attribute :>> documentUsage = ("SDD", "QMSR");
|
|
32
|
+
part :>> selectionQuery {
|
|
33
|
+
attribute :>> id = "QRY-SW-101";
|
|
34
|
+
attribute :>> name = "GPCA_SoftwareArchitectureQuery";
|
|
35
|
+
attribute :>> includeElementKinds = ("SoftwareSystem", "SoftwareComponent", "SoftwarePort");
|
|
36
|
+
attribute :>> includeRelationshipKinds = ("ExchangesWith", "Composes");
|
|
37
|
+
attribute :>> includeLayers = ("software_structure", "interfaces");
|
|
38
|
+
attribute :>> selectionExpression = "product == 'GPCA'";
|
|
39
|
+
attribute :>> rationaleText = "Render the real GPCA_SW.Impl topology: components and boundary ports as nodes, AADL connections as edges.";
|
|
40
|
+
}
|
|
41
|
+
part :>> viewpointDefinition = softwareViewpoint;
|
|
42
|
+
}
|
|
43
|
+
}
|