memo_architecture_logical_structure
SysML API
Namespace hierarchy
memo → memo::architecture → memo::architecture::logical → memo::architecture::logical::structure
Packages
| Package |
memo_architecture_logical_structure |
Imports
| Visibility |
Target |
| private |
Metaobjects::SemanticMetadata |
| private |
ScalarValues::* |
| private |
memo_core_common::* |
| private |
memo_core_enumerations::* |
| private |
memo_core_relationships::* |
Declarations
| Name |
SysML kind |
Description |
Specializes |
FlowContentKind |
enum def |
What a logical connection carries: information and control, but also energy, material, fluid, and mechanical force (§10). |
— |
ChannelRoleKind |
enum def |
Controlled values for channel role: primary, secondary, redundant, diverse, monitor, watchdog, interlock, independentProtection. |
— |
ComponentRoleKind |
enum def |
Controlled values for component role: channel, dataStore, controlElement, userInterface, externalSystem, generic. |
— |
SystemTypeKind |
enum def |
The discipline a logical block is realized in. Orthogonal to componentRole: a subsystem may be software, a system may be hardware, and a block whose realization is not yet decided stays logical. This does NOT relocate the element.… |
— |
SystemOfSystems |
part def |
Three types rather than three role values, because they differ in what they may CONTAIN — and containment legality cannot live on an attribute. The allowed children are declared as typed part features, which is how SysML v2 already states "what may be contained".… |
LogicalComponent |
System |
part def |
System definition specializing LogicalComponent. |
LogicalComponent |
Subsystem |
part def |
Subsystem definition specializing LogicalComponent. |
LogicalComponent |
LogicalComponent |
part def |
Logical component definition specializing MemoPart. |
MemoPart |
LogicalPort |
port def |
Boundary features and contracts. |
MemoPort |
LogicalInterface |
interface def |
Logical interface definition specializing MemoInterface. |
MemoInterface |
LogicalExchangeItem |
item def |
Logical exchange item definition specializing MemoItem. |
MemoItem |
LogicalConnector |
connection def |
A typed logical connection between two components' ports. |
MemoRelationship |
LogicalExchange |
part def |
A transfer of a typed item across a connector. |
MemoPart |
LogicalBehavior |
part def |
States and modes of the logical solution (kept distinct from UI state and from physical device configuration). |
MemoPart |
IsolationBoundary |
part def |
Isolation, fault containment, and trust boundaries (§10). |
MemoPart |
FaultContainmentRegion |
part def |
Fault containment region definition specializing MemoPart. |
MemoPart |
IndependentOf |
connection def |
Claimed independence between channels (common-cause defense). |
MemoRelationship |
FlowContentKind
| Property |
Value |
| Description |
What a logical connection carries: information and control, but also energy, material, fluid, and mechanical force (§10). |
| Kind |
enum def |
| Abstract |
No |
| Specializes |
— |
| Owning package |
memo_architecture_logical_structure |
ChannelRoleKind
| Property |
Value |
| Description |
Controlled values for channel role: primary, secondary, redundant, diverse, monitor, watchdog, interlock, independentProtection. |
| Kind |
enum def |
| Abstract |
No |
| Specializes |
— |
| Owning package |
memo_architecture_logical_structure |
ComponentRoleKind
enum def ComponentRoleKind
| Property |
Value |
| Description |
Controlled values for component role: channel, dataStore, controlElement, userInterface, externalSystem, generic. |
| Kind |
enum def |
| Abstract |
No |
| Specializes |
— |
| Owning package |
memo_architecture_logical_structure |
SystemTypeKind
| Property |
Value |
| Description |
The discipline a logical block is realized in. Orthogonal to componentRole: a subsystem may be software, a system may be hardware, and a block whose realization is not yet decided stays logical. This does NOT relocate the element.… |
| Kind |
enum def |
| Abstract |
No |
| Specializes |
— |
| Owning package |
memo_architecture_logical_structure |
SystemOfSystems
part def SystemOfSystems specializes LogicalComponent
| Property |
Value |
| Description |
Three types rather than three role values, because they differ in what they may CONTAIN — and containment legality cannot live on an attribute. The allowed children are declared as typed part features, which is how SysML v2 already states "what may be contained".… |
| Kind |
part def |
| Abstract |
No |
| Specializes |
LogicalComponent |
| Owning package |
memo_architecture_logical_structure |
System
part def System specializes LogicalComponent
| Property |
Value |
| Description |
System definition specializing LogicalComponent. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
LogicalComponent |
| Owning package |
memo_architecture_logical_structure |
Subsystem
part def Subsystem specializes LogicalComponent
| Property |
Value |
| Description |
Subsystem definition specializing LogicalComponent. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
LogicalComponent |
| Owning package |
memo_architecture_logical_structure |
LogicalComponent
part def LogicalComponent specializes MemoPart
| Property |
Value |
| Description |
Logical component definition specializing MemoPart. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoPart |
| Owning package |
memo_architecture_logical_structure |
LogicalPort
port def LogicalPort specializes MemoPort
| Property |
Value |
| Description |
Boundary features and contracts. |
| Kind |
port def |
| Abstract |
No |
| Specializes |
MemoPort |
| Owning package |
memo_architecture_logical_structure |
LogicalInterface
interface def LogicalInterface specializes MemoInterface
| Property |
Value |
| Description |
Logical interface definition specializing MemoInterface. |
| Kind |
interface def |
| Abstract |
No |
| Specializes |
MemoInterface |
| Owning package |
memo_architecture_logical_structure |
LogicalExchangeItem
item def LogicalExchangeItem specializes MemoItem
| Property |
Value |
| Description |
Logical exchange item definition specializing MemoItem. |
| Kind |
item def |
| Abstract |
No |
| Specializes |
MemoItem |
| Owning package |
memo_architecture_logical_structure |
LogicalConnector
connection def LogicalConnector :> MemoRelationship
| Property |
Value |
| Description |
A typed logical connection between two components' ports. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_architecture_logical_structure |
LogicalExchange
part def LogicalExchange specializes MemoPart
| Property |
Value |
| Description |
A transfer of a typed item across a connector. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoPart |
| Owning package |
memo_architecture_logical_structure |
LogicalBehavior
part def LogicalBehavior specializes MemoPart
| Property |
Value |
| Description |
States and modes of the logical solution (kept distinct from UI state and from physical device configuration). |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoPart |
| Owning package |
memo_architecture_logical_structure |
IsolationBoundary
part def IsolationBoundary specializes MemoPart
| Property |
Value |
| Description |
Isolation, fault containment, and trust boundaries (§10). |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoPart |
| Owning package |
memo_architecture_logical_structure |
FaultContainmentRegion
part def FaultContainmentRegion specializes MemoPart
| Property |
Value |
| Description |
Fault containment region definition specializing MemoPart. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoPart |
| Owning package |
memo_architecture_logical_structure |
IndependentOf
connection def IndependentOf :> MemoRelationship
| Property |
Value |
| Description |
Claimed independence between channels (common-cause defense). |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_architecture_logical_structure |
Source
architecture/logical/structure/memo_logical_structure.sysml
package memo_architecture_logical_structure {
private import Metaobjects::SemanticMetadata;
private import ScalarValues::*;
private import memo_core_common::*;
private import memo_core_enumerations::*;
private import memo_core_relationships::*;
enum def FlowContentKind {
enum information;
enum command;
enum status;
enum measurement;
enum alarm;
enum configuration;
enum energy;
enum material;
enum fluid;
enum mechanicalForce;
}
enum def ChannelRoleKind {
enum primary;
enum secondary;
enum redundant;
enum diverse;
enum monitor;
enum watchdog;
enum interlock;
enum independentProtection;
}
enum def ComponentRoleKind {
enum channel;
enum dataStore;
enum controlElement;
enum userInterface;
enum externalSystem;
enum generic;
}
enum def SystemTypeKind {
enum logical;
enum software;
enum hardware;
}
part def SystemOfSystems specializes LogicalComponent {
attribute systemBoundaryDescription : String;
attribute constituentOwnership : String;
part constituentSystemOfSystems : SystemOfSystems[0..*];
part constituentSystem : System[0..*];
}
part def System specializes LogicalComponent {
attribute systemBoundaryDescription : String;
part system : System[0..*];
part subsystem : Subsystem[0..*];
part component : LogicalComponent[0..*];
}
part def Subsystem specializes LogicalComponent {
attribute systemBoundaryDescription : String;
part subsystem : Subsystem[0..*];
part component : LogicalComponent[0..*];
}
part def LogicalComponent specializes MemoPart {
attribute componentRole : ComponentRoleKind;
attribute systemType : SystemTypeKind[0..1];
attribute responsibility : String;
attribute decompositionLevel : String;
attribute safetyPartition : String;
attribute channelRole : ChannelRoleKind[0..1];
attribute diversityBasis : String;
attribute persistenceRequirement : String;
attribute integrityRequirement : String;
attribute controlLaw : String;
attribute controlledVariable : String;
attribute interactionSummary : String;
attribute externalOwner : String;
}
port def LogicalPort specializes MemoPort;
interface def LogicalInterface specializes MemoInterface {
attribute contentKind : FlowContentKind;
attribute interactionPattern : String;
end providerPort : LogicalPort;
end consumerPort : ~LogicalPort;
}
item def LogicalExchangeItem specializes MemoItem {
attribute contentKind : FlowContentKind;
}
connection def LogicalConnector :> MemoRelationship {
attribute contentKind : FlowContentKind;
attribute direction : DirectionKind;
end sourceComponent : LogicalComponent :>> source;
end targetComponent : LogicalComponent :>> target;
}
abstract connection logicalConnectorLinks : LogicalConnector[*];
metadata def <logicalConnector> LogicalConnectorMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = logicalConnectorLinks meta SysML::Usage;
}
part def LogicalExchange specializes MemoPart {
attribute contentKind : FlowContentKind;
attribute direction : DirectionKind;
attribute latencyRequirement : String;
ref exchangedItem : LogicalExchangeItem[0..1];
ref sourcePort : LogicalPort[0..1];
ref targetPort : LogicalPort[0..1];
}
part def LogicalBehavior specializes MemoPart {
attribute behaviorSummary : String;
attribute executionSemantics : String;
}
part def IsolationBoundary specializes MemoPart {
attribute boundaryKind : String;
attribute isolationMechanism : String;
}
part def FaultContainmentRegion specializes MemoPart {
attribute containmentRationale : String;
}
connection def IndependentOf :> MemoRelationship {
attribute independenceBasis : String;
end channel : LogicalComponent :>> source;
end otherChannel : LogicalComponent :>> target;
}
abstract connection independentOfLinks : IndependentOf[*];
metadata def <independentOf> IndependentOfMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = independentOfLinks meta SysML::Usage;
}
}