Relationships¶
SysML connection def, interface def, flow def and allocation def declarations in src/.
memo::architecture::decisions¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
Decides |
connection def |
Typed relationship from DesignDecision to MemoPart. |
architecture/decisions/memo_decisions.sysml |
DecisionRecordedInADR |
connection def |
Typed relationship from DesignDecision to ADRArtifact. |
architecture/decisions/memo_decisions.sysml |
memo::architecture::functional::functions¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
FunctionalExchange |
flow def |
Typed relationship for functional exchange. | architecture/functional/functions/memo_functions.sysml |
FunctionalTransfer |
flow def |
The concrete exchange. A concrete flow def must declare its two ends, so this is the member of the family a model types its flows by; the ends are left untyped, as an exchange runs from an out parameter of one function to an in parameter of another (or between ports). |
architecture/functional/functions/memo_functions.sysml |
memo::architecture::implementation::software::structure¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
DependsOnSoup |
connection def |
Typed relationship from MemoPart to SoftwareElement. |
architecture/implementation/software/structure/memo_software_structure.sysml |
memo::architecture::implementation::ui¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
CapturesScreen |
connection def |
Which modelled screen an image is a rendering of. | architecture/implementation/ui/memo_ui.sysml |
ControlImplementedBy |
connection def |
A risk control implemented by a UI element or by task design (confirmation dialog, lockout, guarded control). | architecture/implementation/ui/memo_ui.sysml |
ElementTriggersAction |
connection def |
Typed relationship from MemoPart to UIAction. |
architecture/implementation/ui/memo_ui.sysml |
ErrorAtElement |
connection def |
Typed relationship from UseError to MemoPart. |
architecture/implementation/ui/memo_ui.sysml |
FlowServesUseCase |
connection def |
Typed relationship from InteractionFlow to UseCase. |
architecture/implementation/ui/memo_ui.sysml |
NavigatesTo |
connection def |
Typed relationship from UIElement to UIElement. |
architecture/implementation/ui/memo_ui.sysml |
memo::architecture::logical::interfaces¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
ComponentExchange |
interface def |
Typed relationship for component exchange. | architecture/logical/interfaces/memo_interfaces.sysml |
DataInterface |
interface def |
Typed relationship for data interface. | architecture/logical/interfaces/memo_interfaces.sysml |
Interface |
interface def |
Typed relationship for interface. | architecture/logical/interfaces/memo_interfaces.sysml |
SoftwareInterface |
interface def |
Software interaction contracts. Concrete technologies add their protocol roles and message flows; ports remain the endpoints that components actually own. | architecture/logical/interfaces/memo_interfaces.sysml |
memo::architecture::logical::structure¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
IndependentOf |
connection def |
Claimed independence between channels (common-cause defense). | architecture/logical/structure/memo_logical_structure.sysml |
LogicalConnector |
connection def |
A typed logical connection between two components' ports. | architecture/logical/structure/memo_logical_structure.sysml |
LogicalExchange |
flow def |
Typed relationship for logical exchange. | architecture/logical/structure/memo_logical_structure.sysml |
LogicalInterface |
interface def |
Typed relationship from LogicalPort to any element. |
architecture/logical/structure/memo_logical_structure.sysml |
LogicalTransfer |
flow def |
The concrete exchange a model types its logical flows by; the ends stay untyped for the reason above. | architecture/logical/structure/memo_logical_structure.sysml |
memo::architecture::operational::activities¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
AssessesDifficulty |
connection def |
Typed relationship from TaskDifficultyAssessment to OperativeAction. |
architecture/operational/activities/memo_activities.sysml |
memo::architecture::operational::context::stakeholders¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
Governs |
connection def |
Typed relationship from any element to MemoPart. |
architecture/operational/context/stakeholders/memo_stakeholders.sysml |
memo::architecture::operational::context::use_context¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
AppliesInContext |
connection def |
Typed relationship from UseContext to MemoPart. |
architecture/operational/context/use_context/memo_use_context.sysml |
InteractsInContext |
connection def |
The single relation a system context view draws. A context diagram labels its edges with open-ended verbs — "directs procedure", "electrical power", "fluid supply", "environmental conditions".… | architecture/operational/context/use_context/memo_use_context.sysml |
SituatedIn |
connection def |
Typed relationship from UseContext to UseEnvironment. |
architecture/operational/context/use_context/memo_use_context.sysml |
memo::architecture::operational::structure¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
EnablesUseCase |
connection def |
An operational capability enables a use case (the ability the actor draws on to accomplish the goal). Capability is tied to the use case, not to individual activities. | architecture/operational/structure/memo_operational.sysml |
RequiresCapability |
connection def |
The intended use requires these operational capabilities (ARCADIA: Mission Requires Capability). | architecture/operational/structure/memo_operational.sysml |
memo::architecture::operational::use_cases¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
Motivates |
connection def |
Typed relationship from Need to UseCase. |
architecture/operational/use_cases/memo_use_cases.sysml |
memo::architecture::operational::workflows¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
RealizesUseCase |
connection def |
The use case a workflow realizes. Many workflows may trace to one use case; the use case does not own its workflows (the trace points upward, workflow → use case). | architecture/operational/workflows/memo_workflows.sysml |
Transforms |
connection def |
Typed relationship from MemoAction to MemoAction. |
architecture/operational/workflows/memo_workflows.sysml |
memo::architecture::realization::deployment¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
BuildsInto |
allocation def |
Typed relationship from SoftwareModule to SoftwareDeploymentUnit. |
architecture/realization/deployment/memo_deployment.sysml |
ConnectionBinding |
allocation def |
AADL actual_connection_binding. Which physical thing carries an interface: a network medium under a component exchange, a cable or harness under a hardware Interface, a connector, a tube.… |
architecture/realization/deployment/memo_deployment.sysml |
DeploysTo |
allocation def |
Typed relationship from SoftwareDeploymentUnit to ProcessingNode. |
architecture/realization/deployment/memo_deployment.sysml |
FlowComprisesSpec |
connection def |
The end-to-end flow is realized by an ordered flow specification, one segment per traversed component boundary (AADL flow-spec → end-to-end). | architecture/realization/deployment/memo_deployment.sysml |
FlowTraversesBinding |
allocation def |
Typed relationship from EndToEndFlow to SoftwareDeploymentUnit. |
architecture/realization/deployment/memo_deployment.sysml |
MemoryBinding |
allocation def |
AADL actual_memory_binding. Which memory a software component's code and data occupy — what makes a memory budget a claim about a device rather than a string. |
architecture/realization/deployment/memo_deployment.sysml |
ProvidesEnvironment |
connection def |
Typed relationship from ProcessingNode to RuntimeEnvironment. |
architecture/realization/deployment/memo_deployment.sysml |
RealizedBy |
allocation def |
Typed relationship from LogicalComponent to MemoPart. |
architecture/realization/deployment/memo_deployment.sysml |
memo::architecture::realization::physical¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
PhysicalFlow |
flow def |
What crosses a physical interface, as a quantity: a voltage, a current, a pressure, a force, a flow of fluid. | architecture/realization/physical/memo_physical_architecture.sysml |
PhysicalInterface |
interface def |
Typed relationship from PhysicalPort to PhysicalPort. |
architecture/realization/physical/memo_physical_architecture.sysml |
PhysicalTransfer |
flow def |
The concrete flow a model types its physical flows by; a concrete flow def declares its two ends. |
architecture/realization/physical/memo_physical_architecture.sysml |
memo::architecture::variability¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
ExcludesFeature |
connection def |
The two features cannot be selected together. Symmetric: either end may be written first. | architecture/variability/memo_variability.sysml |
RequiresFeature |
connection def |
Selecting the source feature needs the target feature selected too. | architecture/variability/memo_variability.sysml |
memo::artifacts::configuration_management¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
Changes |
connection def |
Typed relationship from ChangeRequest to MemoPart. |
artifacts/configuration_management/memo_configuration_management.sysml |
memo::artifacts::standards¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
ConformsTo |
connection def |
Any model element claims conformance to a standard clause. This is the edge the standards traceability matrix and the clause coverage report are computed over. | artifacts/standards/memo_artifacts_standards_traceability.sysml |
TracesToDocument |
connection def |
Where the evidence for a clause claim is written down. The target is the existing controlled-artifact type — MEMO does not model a separate Document/DocumentSection family, because ControlledArtifact / ModelOwnedArtifact / MarkdownDocumentSource already carry version, owner an… | artifacts/standards/memo_artifacts_standards_traceability.sysml |
memo::assurance::cybersecurity¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
AffectsSBOMEntry |
connection def |
Typed relationship from Vulnerability to SBOMEntry. |
assurance/cybersecurity/memo_cybersecurity.sysml |
AssessesCyberRisk |
connection def |
Typed relationship from CyberRiskAssessment to CyberRisk. |
assurance/cybersecurity/memo_cybersecurity.sysml |
AttributedToThreatActor |
connection def |
Typed relationship from Threat to ThreatActor. |
assurance/cybersecurity/memo_cybersecurity.sysml |
ConditionsCyberElement |
connection def |
Typed relationship from CybersecurityAssumption to any element. |
assurance/cybersecurity/memo_cybersecurity.sysml |
DemonstratesAttackPath |
connection def |
Typed relationship from SecurityFinding to AttackPath. |
assurance/cybersecurity/memo_cybersecurity.sysml |
Exploits |
connection def |
Typed relationship from Threat to Vulnerability. |
assurance/cybersecurity/memo_cybersecurity.sysml |
ExposesAsset |
connection def |
Typed relationship from AttackSurface to CybersecurityAsset. |
assurance/cybersecurity/memo_cybersecurity.sysml |
HasSecurityProperty |
connection def |
Typed relationship from CybersecurityAsset to SecurityProperty. |
assurance/cybersecurity/memo_cybersecurity.sysml |
IdentifiesVulnerability |
connection def |
Typed relationship from SecurityFinding to Vulnerability. |
assurance/cybersecurity/memo_cybersecurity.sysml |
ImpactsSafety |
connection def |
Typed relationship from MemoPart to RiskItem. |
assurance/cybersecurity/memo_cybersecurity.sysml |
IncludesAttackTechnique |
connection def |
Typed relationship from AttackPath to AttackTechnique. |
assurance/cybersecurity/memo_cybersecurity.sysml |
MonitorsSBOMEntry |
connection def |
Typed relationship from PostmarketProcess to SBOMEntry. |
assurance/cybersecurity/memo_cybersecurity.sysml |
RealizedByScenario |
connection def |
Typed relationship from RequirementDriver to OperativeScenario. |
assurance/cybersecurity/memo_cybersecurity.sysml |
RealizesCyberHazard |
connection def |
Typed relationship from Threat to CyberHazard. |
assurance/cybersecurity/memo_cybersecurity.sysml |
SupportsMitigationEffectiveness |
connection def |
Typed relationship from MemoEvidence to CyberMitigation. |
assurance/cybersecurity/memo_cybersecurity.sysml |
ThreatenedBy |
connection def |
Typed relationship from CybersecurityAsset to Threat. |
assurance/cybersecurity/memo_cybersecurity.sysml |
UsesAttackTechnique |
connection def |
Typed relationship from Threat to AttackTechnique. |
assurance/cybersecurity/memo_cybersecurity.sysml |
memo::assurance::human_factors¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
CommitsUseError |
connection def |
Typed relationship from OperativeAction to UseError. |
assurance/human_factors/memo_human_factors.sysml |
EvaluatesTask |
connection def |
Typed relationship from MemoEvidence to OperativeAction. |
assurance/human_factors/memo_human_factors.sysml |
TestedByUsability |
connection def |
Typed relationship from any element to MemoVerificationCase. |
assurance/human_factors/memo_human_factors.sysml |
memo::assurance::requirements::needs¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
HeldBy |
connection def |
Whose need this is. The holder is a modelled participant — a User, with the profile IEC 62366-1 asks for, or another operational participant — so "which users does this need serve" is a question the model answers rather than a sentence a reader interprets. | assurance/requirements/needs/memo_needs.sysml |
memo::assurance::safety_risk¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
AssessedAgainst |
connection def |
Typed relationship from Risk to RiskMatrix. |
assurance/safety_risk/memo_risk.sysml |
EstimatedFor |
connection def |
Typed relationship from Risk to RiskItem. |
assurance/safety_risk/memo_risk.sysml |
EvaluatedIn |
connection def |
Typed relationship from ResidualRisk to OverallResidualRiskEvaluation. |
assurance/safety_risk/memo_risk.sysml |
HazardRelatedScenario |
connection def |
Typed relationship from RiskItem to OperativeScenario. |
assurance/safety_risk/memo_risk.sysml |
LeadsToHarm |
connection def |
The final ISO 14971 chain edge. P2 is the conditional probability that the hazardous situation results in the harm. | assurance/safety_risk/memo_risk.sysml |
Mitigates |
connection def |
Typed relationship from any element to RiskItem. |
assurance/safety_risk/memo_risk.sysml |
ReducedBy |
connection def |
Typed relationship from ResidualRisk to RiskControlMeasure. |
assurance/safety_risk/memo_risk.sysml |
TracesRisk |
connection def |
Typed relationship from RiskItem to RiskItem. |
assurance/safety_risk/memo_risk.sysml |
WeighedAgainst |
connection def |
Typed relationship from Benefit to Risk. |
assurance/safety_risk/memo_risk.sysml |
memo::assurance::safety_risk::analysis¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
Causes |
connection def |
Typed relationship from any element to any element. |
assurance/safety_risk/analysis/memo_fmea.sysml |
ContainsEvent |
connection def |
Typed relationship from MinimalCutSet to FaultTreeNode. |
assurance/safety_risk/analysis/memo_fmea.sysml |
DetectedBy |
connection def |
Typed relationship from FailureMode to DetectionMethod. |
assurance/safety_risk/analysis/memo_fmea.sysml |
HasFailureMode |
connection def |
Typed relationship from MemoPart to FailureMode. |
assurance/safety_risk/analysis/memo_fmea.sysml |
IdentifiesHazard |
connection def |
Typed relationship from HAZOPDeviation to Hazard. |
assurance/safety_risk/analysis/memo_fmea.sysml |
InputToGate |
connection def |
Typed relationship from FaultTreeNode to FaultTreeNode. |
assurance/safety_risk/analysis/memo_fmea.sysml |
ProducesEvent |
connection def |
Typed relationship from FaultTreeNode to FaultTreeNode. |
assurance/safety_risk/analysis/memo_fmea.sysml |
memo::assurance::safety_risk::postmarket_surveillance¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
FeedsBackTo |
connection def |
Typed relationship from PostMarketSurveillance to MemoPart. |
assurance/safety_risk/postmarket_surveillance/memo_postmarket_surveillance.sysml |
memo::assurance::verification_validation¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
PerformsStep |
connection def |
Typed relationship from MemoVerificationCase to TestStep. |
assurance/verification_validation/memo_assurance.sysml |
memo::core::annotations¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
CommentsOn |
connection def |
Replies form a thread through the ordinary Composes relation (parent comment → reply), so CR-ONT-001's acyclicity invariant already covers comment threads and no thread-specific relation is needed.… | core/annotations/memo_annotations.sysml |
NotesOn |
connection def |
Typed relationship from ModelNote to any element. |
core/annotations/memo_annotations.sysml |
RationaleFor |
connection def |
Typed relationship from ModelRationale to any element. |
core/annotations/memo_annotations.sysml |
memo::core::common¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
MemoInterface |
interface def |
Interaction-contract foundation for interface definitions between ports. | core/common/memo_common.sysml |
memo::core::relationships¶
| Name | SysML kind | Description | Source |
|---|---|---|---|
BindsToInterface |
connection def |
Typed relationship from any element to any element. |
core/relationships/memo_relationships.sysml |
CrossesTrustBoundary |
connection def |
Typed relationship from any element to any element. |
core/relationships/memo_relationships.sysml |
DerivesCyberRequirement |
connection def |
Typed relationship from RequirementDriver to MemoRequirementElement. |
core/relationships/memo_relationships.sysml |
DerivesFrom |
connection def |
Typed relationship from any element to MemoRequirementElement. |
core/relationships/memo_relationships.sysml |
HostedBy |
allocation def |
A processing node hosted by an assembly is allocated to it. The end NAMES were already right; two of the three usages wrote them in reverse order, and the builder binds by position, so those two edges pointed the wrong way. See the reversed-end-name lint in memo-tools. | core/relationships/memo_relationships.sysml |
MemoRelationship |
connection def |
Typed relationship for memo relationship. | core/relationships/memo_relationships.sysml |
ProducesEvidence |
connection def |
Typed relationship from MemoVerificationCase to MemoEvidence. |
core/relationships/memo_relationships.sysml |
ScopedTo |
connection def |
Typed relationship from any element to MemoPart. |
core/relationships/memo_relationships.sysml |
Validates |
connection def |
Typed relationship from any element to MemoVerificationCase. |
core/relationships/memo_relationships.sysml |