@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,230 @@
|
|
|
1
|
+
package memo_core_relationships {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
private import memo_core_common::*;
|
|
5
|
+
private import memo_core_enumerations::*;
|
|
6
|
+
|
|
7
|
+
// All MEMO relations are native SysML v2 `connection def`s (each is a
|
|
8
|
+
// Connection/Association), specializing the SemanticLink base. The
|
|
9
|
+
// relationship name is the verb; the RelationshipRegistry derives the
|
|
10
|
+
// navigable type as camelCase(name) and navigation is bidirectional.
|
|
11
|
+
abstract connection def SemanticLink { attribute linkStatus : LinkStatusKind; }
|
|
12
|
+
|
|
13
|
+
connection def DerivesFrom :> SemanticLink {
|
|
14
|
+
// Drivers include needs and hazards (ISO 14971: hazards drive
|
|
15
|
+
// requirements), so the source stays at TraceableElement
|
|
16
|
+
end sourceDriver : TraceableElement;
|
|
17
|
+
end targetRequirement : VerifiableElement;
|
|
18
|
+
}
|
|
19
|
+
connection def SatisfiedBy :> SemanticLink {
|
|
20
|
+
end requiredElement : VerifiableElement;
|
|
21
|
+
end satisfyingElement : ArchitectureElement;
|
|
22
|
+
}
|
|
23
|
+
connection def MitigatesHazard :> SemanticLink {
|
|
24
|
+
end riskControl : VerifiableElement;
|
|
25
|
+
end mitigatedHazard : TraceableElement;
|
|
26
|
+
}
|
|
27
|
+
connection def AllocatedTo :> SemanticLink {
|
|
28
|
+
end function : ArchitectureElement;
|
|
29
|
+
end allocatedElement : ArchitectureElement;
|
|
30
|
+
}
|
|
31
|
+
connection def RealizesInterface :> SemanticLink {
|
|
32
|
+
end logicalInterface : InterfaceElement;
|
|
33
|
+
end physicalInterface : InterfaceElement;
|
|
34
|
+
}
|
|
35
|
+
connection def VerifiedBy :> SemanticLink {
|
|
36
|
+
// Requirements, risk controls, and architecture components are
|
|
37
|
+
// all legitimate verification targets
|
|
38
|
+
end verificationTarget : TraceableElement;
|
|
39
|
+
end verificationCase : VerifiableElement;
|
|
40
|
+
}
|
|
41
|
+
connection def ProducesEvidence :> SemanticLink {
|
|
42
|
+
end producer : VerifiableElement;
|
|
43
|
+
end producedEvidence : EvidenceElement;
|
|
44
|
+
}
|
|
45
|
+
connection def IncludedIn :> SemanticLink {
|
|
46
|
+
end sourceElement : TraceableElement;
|
|
47
|
+
end targetView : TraceableElement;
|
|
48
|
+
}
|
|
49
|
+
connection def Precedes :> SemanticLink {
|
|
50
|
+
attribute sameStepRequired : Boolean;
|
|
51
|
+
attribute precedenceRationale : String;
|
|
52
|
+
end predecessor : ArchitectureElement;
|
|
53
|
+
end successor : ArchitectureElement;
|
|
54
|
+
}
|
|
55
|
+
connection def ResolvesToMethodology :> SemanticLink {
|
|
56
|
+
end boundModelElement : TraceableElement;
|
|
57
|
+
end resolvedMethodology : TraceableElement;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
// ISO 14971 risk chain — distinct sequence-of-events relations over risk elements.
|
|
61
|
+
connection def TracesRisk :> SemanticLink {
|
|
62
|
+
end sourceRiskElement : TraceableElement;
|
|
63
|
+
end targetRiskElement : TraceableElement;
|
|
64
|
+
}
|
|
65
|
+
connection def AssessedAgainst :> SemanticLink {
|
|
66
|
+
end risk : TraceableElement;
|
|
67
|
+
end riskMatrix : TraceableElement;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
connection def ThreatenedBy :> SemanticLink {
|
|
71
|
+
attribute threatRole : String;
|
|
72
|
+
end protectedAsset : ArchitectureElement;
|
|
73
|
+
end realizedThreat : RequirementDriver;
|
|
74
|
+
}
|
|
75
|
+
connection def Exploits :> SemanticLink {
|
|
76
|
+
end realizedThreat : RequirementDriver;
|
|
77
|
+
end enablingVulnerability : TraceableElement;
|
|
78
|
+
}
|
|
79
|
+
connection def RealizedByScenario :> SemanticLink {
|
|
80
|
+
end realizedThreat : RequirementDriver;
|
|
81
|
+
end scenario : TraceableElement;
|
|
82
|
+
}
|
|
83
|
+
connection def MitigatesVulnerability :> SemanticLink {
|
|
84
|
+
end enablingVulnerability : TraceableElement;
|
|
85
|
+
end mitigation : VerifiableElement;
|
|
86
|
+
}
|
|
87
|
+
connection def DerivesCyberRequirement :> SemanticLink {
|
|
88
|
+
end sourceThreatOrRisk : RequirementDriver;
|
|
89
|
+
end targetRequirement : VerifiableElement;
|
|
90
|
+
}
|
|
91
|
+
connection def ImpactsSafety :> SemanticLink {
|
|
92
|
+
attribute tracePurpose : String;
|
|
93
|
+
end cyberElement : TraceableElement;
|
|
94
|
+
end safetyElement : TraceableElement;
|
|
95
|
+
}
|
|
96
|
+
connection def CrossesTrustBoundary :> SemanticLink {
|
|
97
|
+
attribute crossingKind : InterfaceKind;
|
|
98
|
+
end boundary : InterfaceElement;
|
|
99
|
+
end crossingItem : TraceableElement;
|
|
100
|
+
}
|
|
101
|
+
|
|
102
|
+
connection def DerivesInto :> SemanticLink {
|
|
103
|
+
end parentRequirement : VerifiableElement;
|
|
104
|
+
end childRequirement : VerifiableElement;
|
|
105
|
+
}
|
|
106
|
+
connection def DeploysOnto :> SemanticLink {
|
|
107
|
+
attribute deploymentKind : DeploymentKind;
|
|
108
|
+
end softwareComponent : ArchitectureElement;
|
|
109
|
+
end hostAssembly : ArchitectureElement;
|
|
110
|
+
}
|
|
111
|
+
connection def Validates :> SemanticLink {
|
|
112
|
+
end validationTarget : VerifiableElement;
|
|
113
|
+
end validationCase : VerifiableElement;
|
|
114
|
+
}
|
|
115
|
+
connection def DependsOnSoup :> SemanticLink {
|
|
116
|
+
end component : ArchitectureElement;
|
|
117
|
+
end soupItem : TraceableElement;
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
// Performs, ContributesToCapability, SequencesStep, DerivesSystemNeed
|
|
121
|
+
// (operational-entity ends) and RealizesCapability, InvolvesFunction,
|
|
122
|
+
// RealizesScenario (functional-chain ends) live in their owning
|
|
123
|
+
// architecture layer packages — memo::architecture::operational and
|
|
124
|
+
// memo::architecture::system respectively — because core must not
|
|
125
|
+
// depend on architecture-layer types. See memo_operational.sysml and
|
|
126
|
+
// memo_system_analysis.sysml.
|
|
127
|
+
|
|
128
|
+
connection def HostedBy :> SemanticLink {
|
|
129
|
+
end processingNode : ArchitectureElement;
|
|
130
|
+
end hostAssembly : ArchitectureElement;
|
|
131
|
+
}
|
|
132
|
+
connection def RealizesComponentExchange :> SemanticLink {
|
|
133
|
+
end physicalLink : ArchitectureElement;
|
|
134
|
+
end componentExchange : ArchitectureElement;
|
|
135
|
+
}
|
|
136
|
+
|
|
137
|
+
connection def HasFailureMode :> SemanticLink {
|
|
138
|
+
end element : ArchitectureElement;
|
|
139
|
+
end failureMode : TraceableElement;
|
|
140
|
+
}
|
|
141
|
+
connection def CausesEffect :> SemanticLink {
|
|
142
|
+
end failureMode : TraceableElement;
|
|
143
|
+
end failureEffect : TraceableElement;
|
|
144
|
+
}
|
|
145
|
+
connection def CausedBy :> SemanticLink {
|
|
146
|
+
end failureMode : TraceableElement;
|
|
147
|
+
end failureCause : TraceableElement;
|
|
148
|
+
}
|
|
149
|
+
connection def DetectedBy :> SemanticLink {
|
|
150
|
+
end failureMode : TraceableElement;
|
|
151
|
+
end detectionMethod : TraceableElement;
|
|
152
|
+
}
|
|
153
|
+
connection def AddressedByAction :> SemanticLink {
|
|
154
|
+
end failureMode : TraceableElement;
|
|
155
|
+
end fmeaAction : VerifiableElement;
|
|
156
|
+
}
|
|
157
|
+
|
|
158
|
+
connection def InputToGate :> SemanticLink {
|
|
159
|
+
end input : TraceableElement;
|
|
160
|
+
end gate : TraceableElement;
|
|
161
|
+
}
|
|
162
|
+
connection def ProducesEvent :> SemanticLink {
|
|
163
|
+
end gate : TraceableElement;
|
|
164
|
+
end eventElement : TraceableElement;
|
|
165
|
+
}
|
|
166
|
+
connection def OriginatesFrom :> SemanticLink {
|
|
167
|
+
end eventElement : TraceableElement;
|
|
168
|
+
end origin : ArchitectureElement;
|
|
169
|
+
}
|
|
170
|
+
connection def ContainsEvent :> SemanticLink {
|
|
171
|
+
end cutSet : TraceableElement;
|
|
172
|
+
end eventElement : TraceableElement;
|
|
173
|
+
}
|
|
174
|
+
|
|
175
|
+
connection def Decides :> SemanticLink {
|
|
176
|
+
end decision : TraceableElement;
|
|
177
|
+
end affectedElement : TraceableElement;
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
connection def Composes :> SemanticLink {
|
|
181
|
+
end parent : ArchitectureElement;
|
|
182
|
+
end child : ArchitectureElement;
|
|
183
|
+
}
|
|
184
|
+
connection def AllocatesExchange :> SemanticLink {
|
|
185
|
+
end functionalFlow : ArchitectureElement;
|
|
186
|
+
end componentExchange : ArchitectureElement;
|
|
187
|
+
}
|
|
188
|
+
|
|
189
|
+
connection def ContributesToHazard :> SemanticLink {
|
|
190
|
+
end failureMode : TraceableElement;
|
|
191
|
+
end hazard : TraceableElement;
|
|
192
|
+
}
|
|
193
|
+
connection def LeadsToHazard :> SemanticLink {
|
|
194
|
+
end topEvent : TraceableElement;
|
|
195
|
+
end hazard : TraceableElement;
|
|
196
|
+
}
|
|
197
|
+
connection def IdentifiesHazard :> SemanticLink {
|
|
198
|
+
end deviation : TraceableElement;
|
|
199
|
+
end hazard : TraceableElement;
|
|
200
|
+
}
|
|
201
|
+
connection def AnalyzedBy :> SemanticLink {
|
|
202
|
+
end element : ArchitectureElement;
|
|
203
|
+
end analysisArtifact : TraceableElement;
|
|
204
|
+
}
|
|
205
|
+
connection def MitigatedByControl :> SemanticLink {
|
|
206
|
+
end failureMode : TraceableElement;
|
|
207
|
+
end riskControl : VerifiableElement;
|
|
208
|
+
}
|
|
209
|
+
connection def BrokenByControl :> SemanticLink {
|
|
210
|
+
end cutSet : TraceableElement;
|
|
211
|
+
end riskControl : VerifiableElement;
|
|
212
|
+
}
|
|
213
|
+
|
|
214
|
+
connection def Changes :> SemanticLink {
|
|
215
|
+
end changeRequest : TraceableElement;
|
|
216
|
+
end changedElement : TraceableElement;
|
|
217
|
+
}
|
|
218
|
+
connection def TestedByUsability :> SemanticLink {
|
|
219
|
+
end uiElementOrTask : TraceableElement;
|
|
220
|
+
end usabilityTest : VerifiableElement;
|
|
221
|
+
}
|
|
222
|
+
connection def FeedsBackTo :> SemanticLink {
|
|
223
|
+
end feedbackItem : TraceableElement;
|
|
224
|
+
end designElement : TraceableElement;
|
|
225
|
+
}
|
|
226
|
+
connection def BindsToInterface :> SemanticLink {
|
|
227
|
+
end portElement : InterfaceElement;
|
|
228
|
+
end boundInterface : InterfaceElement;
|
|
229
|
+
}
|
|
230
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
// Semantic-metadata definitions (SysML v2 `metadata def`) — the standard, portable
|
|
2
|
+
// mechanism for extending the MEMO ontology with domain semantics. Downstream models
|
|
3
|
+
// extend MEMO by importing the ontology library and either specializing its kinds or
|
|
4
|
+
// applying these metadata defs with `@Name` — never by adding new grammar.
|
|
5
|
+
package memo_core_semantics {
|
|
6
|
+
private import ScalarValues::*;
|
|
7
|
+
|
|
8
|
+
// Tags an element with the regulatory standard it derives from
|
|
9
|
+
// (e.g. ISO 14971, IEC 62304, ISO/IEC/IEEE 42010).
|
|
10
|
+
metadata def StandardReference {
|
|
11
|
+
attribute standardReference : String;
|
|
12
|
+
attribute clause : String;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
// Marks an element as the rationale/provenance carrier for a decision.
|
|
16
|
+
metadata def Provenance {
|
|
17
|
+
attribute source : String;
|
|
18
|
+
attribute rationale : String;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
package memo_medical_device_library {
|
|
2
|
+
private import ScalarValues::*;
|
|
3
|
+
|
|
4
|
+
public import memo_core_enumerations::*;
|
|
5
|
+
public import memo_core_common::*;
|
|
6
|
+
public import memo_core_relationships::*;
|
|
7
|
+
|
|
8
|
+
public import memo_architecture_context::*;
|
|
9
|
+
public import memo_architecture_operational::*;
|
|
10
|
+
public import memo_architecture_system::*;
|
|
11
|
+
public import memo_architecture_requirements::*;
|
|
12
|
+
public import memo_architecture_functions::*;
|
|
13
|
+
public import memo_architecture_logical_structure::*;
|
|
14
|
+
public import memo_architecture_interfaces::*;
|
|
15
|
+
public import memo_architecture_behavior::*;
|
|
16
|
+
public import memo_architecture_software_structure::*;
|
|
17
|
+
public import memo_architecture_hardware_structure::*;
|
|
18
|
+
public import memo_architecture_constraints::*;
|
|
19
|
+
public import memo_architecture_risk_risk::*;
|
|
20
|
+
public import memo_architecture_cybersecurity::*;
|
|
21
|
+
public import memo_architecture_assurance::*;
|
|
22
|
+
public import memo_architecture_physical::*;
|
|
23
|
+
public import memo_architecture_analysis::*;
|
|
24
|
+
public import memo_architecture_decisions::*;
|
|
25
|
+
|
|
26
|
+
public import memo_viewpoints_definitions::*;
|
|
27
|
+
|
|
28
|
+
public import memo_viewpoints_context_context_viewpoint::*;
|
|
29
|
+
public import memo_viewpoints_context_system_context_view::*;
|
|
30
|
+
|
|
31
|
+
public import memo_viewpoints_operational_operational_viewpoint::*;
|
|
32
|
+
public import memo_viewpoints_operational_use_case_view::*;
|
|
33
|
+
|
|
34
|
+
public import memo_viewpoints_requirements_requirements_viewpoint::*;
|
|
35
|
+
public import memo_viewpoints_requirements_requirements_traceability_view::*;
|
|
36
|
+
|
|
37
|
+
public import memo_viewpoints_functional_functional_viewpoint::*;
|
|
38
|
+
public import memo_viewpoints_functional_system_functional_tree_view::*;
|
|
39
|
+
public import memo_viewpoints_functional_function_allocation_view::*;
|
|
40
|
+
|
|
41
|
+
public import memo_viewpoints_logical_logical_viewpoint::*;
|
|
42
|
+
public import memo_viewpoints_logical_logical_architecture_view::*;
|
|
43
|
+
|
|
44
|
+
public import memo_viewpoints_software_software_viewpoint::*;
|
|
45
|
+
public import memo_viewpoints_software_software_architecture_view::*;
|
|
46
|
+
|
|
47
|
+
public import memo_viewpoints_physical_physical_viewpoint::*;
|
|
48
|
+
public import memo_viewpoints_physical_physical_bom_view::*;
|
|
49
|
+
public import memo_viewpoints_physical_network_topology_view::*;
|
|
50
|
+
|
|
51
|
+
public import memo_viewpoints_risk_risk_viewpoint::*;
|
|
52
|
+
public import memo_viewpoints_risk_risk_chain_view::*;
|
|
53
|
+
|
|
54
|
+
public import memo_viewpoints_verification_verification_viewpoint::*;
|
|
55
|
+
public import memo_viewpoints_verification_verification_coverage_view::*;
|
|
56
|
+
|
|
57
|
+
public import memo_viewpoints_cybersecurity_cybersecurity_viewpoint::*;
|
|
58
|
+
public import memo_viewpoints_cybersecurity_threat_model_view::*;
|
|
59
|
+
public import memo_viewpoints_cybersecurity_cybersecurity_assessment_view::*;
|
|
60
|
+
|
|
61
|
+
public import memo_viewpoints_clinical_clinical_viewpoint::*;
|
|
62
|
+
public import memo_viewpoints_clinical_clinical_evidence_view::*;
|
|
63
|
+
|
|
64
|
+
public import memo_viewpoints_usability_usability_viewpoint::*;
|
|
65
|
+
public import memo_viewpoints_usability_usability_engineering_view::*;
|
|
66
|
+
|
|
67
|
+
public import memo_artifacts_definitions::*;
|
|
68
|
+
public import memo_artifacts_risk_management_plan::*;
|
|
69
|
+
public import memo_artifacts_requirements_specification::*;
|
|
70
|
+
public import memo_artifacts_system_architecture_description::*;
|
|
71
|
+
public import memo_artifacts_software_design_description::*;
|
|
72
|
+
public import memo_artifacts_hazard_analysis_report::*;
|
|
73
|
+
public import memo_artifacts_requirements_traceability_matrix::*;
|
|
74
|
+
public import memo_artifacts_test_protocol::*;
|
|
75
|
+
public import memo_artifacts_test_report::*;
|
|
76
|
+
public import memo_artifacts_evidence_record::*;
|
|
77
|
+
public import memo_artifacts_cybersecurity_assessment_report::*;
|
|
78
|
+
public import memo_artifacts_threat_model_report::*;
|
|
79
|
+
public import memo_artifacts_usability_engineering_report::*;
|
|
80
|
+
public import memo_artifacts_clinical_safety_report::*;
|
|
81
|
+
public import memo_artifacts_failure_mode_effects_analysis::*;
|
|
82
|
+
public import memo_artifacts_soup_list::*;
|
|
83
|
+
public import memo_artifacts_design_input_plan::*;
|
|
84
|
+
public import memo_artifacts_design_output_plan::*;
|
|
85
|
+
public import memo_artifacts_software_development_plan::*;
|
|
86
|
+
public import memo_artifacts_labeling_specification::*;
|
|
87
|
+
public import memo_artifacts_design_history_file_index::*;
|
|
88
|
+
public import memo_artifacts_design_change_log::*;
|
|
89
|
+
public import memo_compliance_artifacts::*;
|
|
90
|
+
public import memo_compliance_change::*;
|
|
91
|
+
public import memo_compliance_postmarket::*;
|
|
92
|
+
|
|
93
|
+
public import memo_methodology_core::*;
|
|
94
|
+
public import memo_methodology_viewpoints::*;
|
|
95
|
+
public import memo_methodology_rules::*;
|
|
96
|
+
public import memo_methodology_patterns::*;
|
|
97
|
+
public import memo_methodology_workflow::*;
|
|
98
|
+
public import memo_methodology_gates::*;
|
|
99
|
+
public import memo_methodology_profiles::*;
|
|
100
|
+
}
|