memo_core_relationships
SysML API
Namespace hierarchy
memo → memo::core → memo::core::relationships
Packages
| Package |
memo_core_relationships |
Imports
| Visibility |
Target |
| private |
Metaobjects::SemanticMetadata |
| private |
ScalarValues::* |
| private |
Connections::BinaryConnection |
| private |
memo_core_common::* |
| private |
memo_core_enumerations::* |
Declarations
| Name |
SysML kind |
Description |
Specializes |
MemoRelationship |
connection def |
Typed relationship for memo relationship. |
Connections::BinaryConnection |
MemoLink |
connection def |
An end is left UNTYPED (:>> source / :>> target) wherever its legitimate endpoints do not share a MEMO base, and a rule in memo_rules_ontology states the constraint the type used to state. The reason is structural, not stylistic.… |
MemoRelationship |
DerivesFrom |
connection def |
Typed relationship for derives from. |
MemoRelationship |
ProducesEvidence |
connection def |
Realizes (realizing/concrete element → realized/abstract element) is native #refinement dependency (R10-S6): write #refinement dependency <realizing> to <realized>; instead.… |
MemoRelationship |
ThreatenedBy |
connection def |
Precedes is native succession (first a then b;), R10-S6. sameStepRequired/precedenceRationale had zero usages anywhere in the tree (same free-deletion shape R10-S5 found for rationale), so there was no content to carry forward. |
MemoRelationship |
DerivesCyberRequirement |
connection def |
Typed relationship for derives cyber requirement. |
MemoRelationship |
CrossesTrustBoundary |
connection def |
Typed relationship for crosses trust boundary. |
MemoRelationship |
Validates |
connection def |
Typed relationship for validates. |
MemoRelationship |
Enables |
connection def |
Typed relationship for enables. |
MemoRelationship |
HostedBy |
connection def |
Typed relationship for hosted by. |
MemoRelationship |
Composes |
connection def |
Typed relationship for composes. |
MemoRelationship |
AnalyzedBy |
connection def |
Typed relationship for analyzed by. |
MemoRelationship |
BindsToInterface |
connection def |
Typed relationship for binds to interface. |
MemoRelationship |
MemoRelationship
abstract connection def MemoRelationship :> Connections::BinaryConnection
| Property |
Value |
| Description |
Typed relationship for memo relationship. |
| Kind |
connection def |
| Abstract |
Yes |
| Specializes |
Connections::BinaryConnection |
| Owning package |
memo_core_relationships |
MemoLink
connection def MemoLink :> MemoRelationship
| Property |
Value |
| Description |
An end is left UNTYPED (:>> source / :>> target) wherever its legitimate endpoints do not share a MEMO base, and a rule in memo_rules_ontology states the constraint the type used to state. The reason is structural, not stylistic.… |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_core_relationships |
DerivesFrom
connection def DerivesFrom :> MemoRelationship
| Property |
Value |
| Description |
Typed relationship for derives from. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_core_relationships |
ProducesEvidence
connection def ProducesEvidence :> MemoRelationship
| Property |
Value |
| Description |
Realizes (realizing/concrete element → realized/abstract element) is native #refinement dependency (R10-S6): write #refinement dependency <realizing> to <realized>; instead.… |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_core_relationships |
ThreatenedBy
connection def ThreatenedBy :> MemoRelationship
| Property |
Value |
| Description |
Precedes is native succession (first a then b;), R10-S6. sameStepRequired/precedenceRationale had zero usages anywhere in the tree (same free-deletion shape R10-S5 found for rationale), so there was no content to carry forward. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_core_relationships |
DerivesCyberRequirement
connection def DerivesCyberRequirement :> MemoRelationship
| Property |
Value |
| Description |
Typed relationship for derives cyber requirement. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_core_relationships |
CrossesTrustBoundary
connection def CrossesTrustBoundary :> MemoRelationship
| Property |
Value |
| Description |
Typed relationship for crosses trust boundary. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_core_relationships |
Validates
connection def Validates :> MemoRelationship
| Property |
Value |
| Description |
Typed relationship for validates. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_core_relationships |
Enables
connection def Enables :> MemoRelationship
| Property |
Value |
| Description |
Typed relationship for enables. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_core_relationships |
HostedBy
connection def HostedBy :> MemoRelationship
| Property |
Value |
| Description |
Typed relationship for hosted by. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_core_relationships |
Composes
connection def Composes :> MemoRelationship
| Property |
Value |
| Description |
Typed relationship for composes. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_core_relationships |
AnalyzedBy
connection def AnalyzedBy :> MemoRelationship
| Property |
Value |
| Description |
Typed relationship for analyzed by. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_core_relationships |
BindsToInterface
connection def BindsToInterface :> MemoRelationship
| Property |
Value |
| Description |
Typed relationship for binds to interface. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_core_relationships |
Source
core/relationships/memo_relationships.sysml
package memo_core_relationships {
private import Metaobjects::SemanticMetadata;
private import ScalarValues::*;
private import Connections::BinaryConnection;
private import memo_core_common::*;
private import memo_core_enumerations::*;
abstract connection def MemoRelationship :> Connections::BinaryConnection {
attribute id : String;
attribute uuid : String;
attribute shortDescription : String;
attribute sourceReference : String;
doc /* True when an element may be related to itself by this relation.
* Unset is read as false. */
attribute isReflexive : Boolean;
doc /* True when at most one link of this type may join the same ordered
* pair of elements — KerML Feature::isUnique over the relation.
* Unset is read as true. */
attribute isUnique : Boolean;
}
connection def MemoLink :> MemoRelationship {
doc /* Generic association between any two model elements. */
end linkSource :>> source;
end linkTarget :>> target;
}
abstract connection memoLinkLinks : MemoLink[*];
metadata def <memoLink> MemoLinkMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = memoLinkLinks meta SysML::Usage;
}
connection def DerivesFrom :> MemoRelationship {
end sourceDriver :>> source;
end targetRequirement : MemoRequirementElement :>> target;
}
abstract connection derivesFromLinks : DerivesFrom[*];
metadata def <derivesFrom> DerivesFromMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = derivesFromLinks meta SysML::Usage;
}
connection def ProducesEvidence :> MemoRelationship {
end producer : MemoVerificationCase :>> source;
end producedEvidence : MemoEvidence :>> target;
}
abstract connection producesEvidenceLinks : ProducesEvidence[*];
metadata def <producesEvidence> ProducesEvidenceMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = producesEvidenceLinks meta SysML::Usage;
}
connection def ThreatenedBy :> MemoRelationship {
attribute threatRole : String;
end protectedAsset : MemoPart :>> source;
end realizedThreat : RequirementDriver :>> target;
}
abstract connection threatenedByLinks : ThreatenedBy[*];
metadata def <threatenedBy> ThreatenedByMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = threatenedByLinks meta SysML::Usage;
}
connection def DerivesCyberRequirement :> MemoRelationship {
end sourceThreatOrRisk : RequirementDriver :>> source;
end targetRequirement : MemoRequirementElement :>> target;
}
abstract connection derivesCyberRequirementLinks : DerivesCyberRequirement[*];
metadata def <derivesCyberRequirement> DerivesCyberRequirementMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = derivesCyberRequirementLinks meta SysML::Usage;
}
connection def CrossesTrustBoundary :> MemoRelationship {
attribute crossingKind : InterfaceKind;
end boundary :>> source;
end crossingItem :>> target;
}
abstract connection crossesTrustBoundaryLinks : CrossesTrustBoundary[*];
metadata def <crossesTrustBoundary> CrossesTrustBoundaryMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = crossesTrustBoundaryLinks meta SysML::Usage;
}
connection def Validates :> MemoRelationship {
end validationTarget :>> source;
end validationCase : MemoVerificationCase :>> target;
}
abstract connection validatesLinks : Validates[*];
metadata def <validates> ValidatesMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = validatesLinks meta SysML::Usage;
}
connection def Enables :> MemoRelationship {
end enabling :>> source;
end enabled : MemoAction :>> target;
}
abstract connection enablesLinks : Enables[*];
metadata def <enables> EnablesMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = enablesLinks meta SysML::Usage;
}
connection def HostedBy :> MemoRelationship {
end processingNode : MemoPart :>> source;
end hostAssembly : MemoPart :>> target;
}
abstract connection hostedByLinks : HostedBy[*];
metadata def <hostedBy> HostedByMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = hostedByLinks meta SysML::Usage;
}
connection def Composes :> MemoRelationship {
end parent :>> source;
end child :>> target;
}
abstract connection composesLinks : Composes[*];
metadata def <composes> ComposesMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = composesLinks meta SysML::Usage;
}
connection def AnalyzedBy :> MemoRelationship {
end element : MemoPart :>> source;
end analysisArtifact : AnalysisArtifact :>> target;
}
abstract connection analyzedByLinks : AnalyzedBy[*];
metadata def <analyzedBy> AnalyzedByMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = analyzedByLinks meta SysML::Usage;
}
connection def BindsToInterface :> MemoRelationship {
end portElement :>> source;
end boundInterface :>> target;
}
abstract connection bindsToInterfaceLinks : BindsToInterface[*];
metadata def <bindsToInterface> BindsToInterfaceMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = bindsToInterfaceLinks meta SysML::Usage;
}
}