memo_architecture_logical_interfaces
SysML API
Namespace hierarchy
memo → memo::architecture → memo::architecture::logical → memo::architecture::logical::interfaces
Packages
| Package |
memo_architecture_logical_interfaces |
Imports
| Visibility |
Target |
| private |
ScalarValues::* |
| private |
memo_core_common::* |
| private |
memo_core_enumerations::* |
| private |
memo_architecture_functional_functions::* |
Declarations
| Name |
SysML kind |
Description |
Specializes |
Interface |
interface def |
Realization domain (hardware vs software), signaling family (digital / analog / synchronous / asynchronous) and concrete protocol (SPI, CAN, Ethernet, 4-20mA, REST, gRPC, message-queue …) are captured by interfaceKind + protocol, NOT by a class branch.… |
MemoInterface |
SoftwareInterface |
interface def |
Software interaction contracts specialize the native MEMO interface family. Concrete technologies add their protocol roles and message flows; ports remain the endpoints that components actually own. |
Interface |
InterfaceItem |
item def |
A typed thing exchanged at a boundary. Concrete items such as AlarmSignal and FlowCommand specialize this type; they are neither functions nor generic action-flow notation.… |
MemoItem |
DataInterface |
interface def |
Data interface definition specializing MemoInterface. |
MemoInterface |
DataPort |
port def |
Data port definition specializing MemoPort. |
MemoPort |
SensorPort |
port def |
Sensor port definition specializing DataPort. |
DataPort |
CommandPort |
port def |
Command port definition specializing DataPort. |
DataPort |
ComponentExchange |
part def |
Component exchange definition specializing MemoPart. |
MemoPart |
SoftwarePort |
port def |
Boundary data port of a software system (e.g. an AADL top-level data port), modeled as a first-class element so exchanges can reference it and views can render the system boundary.… |
MemoPort |
Interface
interface def Interface specializes MemoInterface
| Property |
Value |
| Description |
Realization domain (hardware vs software), signaling family (digital / analog / synchronous / asynchronous) and concrete protocol (SPI, CAN, Ethernet, 4-20mA, REST, gRPC, message-queue …) are captured by interfaceKind + protocol, NOT by a class branch.… |
| Kind |
interface def |
| Abstract |
No |
| Specializes |
MemoInterface |
| Owning package |
memo_architecture_logical_interfaces |
SoftwareInterface
abstract interface def SoftwareInterface specializes Interface
| Property |
Value |
| Description |
Software interaction contracts specialize the native MEMO interface family. Concrete technologies add their protocol roles and message flows; ports remain the endpoints that components actually own. |
| Kind |
interface def |
| Abstract |
Yes |
| Specializes |
Interface |
| Owning package |
memo_architecture_logical_interfaces |
InterfaceItem
item def InterfaceItem specializes MemoItem
| Property |
Value |
| Description |
A typed thing exchanged at a boundary. Concrete items such as AlarmSignal and FlowCommand specialize this type; they are neither functions nor generic action-flow notation.… |
| Kind |
item def |
| Abstract |
No |
| Specializes |
MemoItem |
| Owning package |
memo_architecture_logical_interfaces |
DataInterface
abstract interface def DataInterface specializes MemoInterface
| Property |
Value |
| Description |
Data interface definition specializing MemoInterface. |
| Kind |
interface def |
| Abstract |
Yes |
| Specializes |
MemoInterface |
| Owning package |
memo_architecture_logical_interfaces |
DataPort
port def DataPort specializes MemoPort
| Property |
Value |
| Description |
Data port definition specializing MemoPort. |
| Kind |
port def |
| Abstract |
No |
| Specializes |
MemoPort |
| Owning package |
memo_architecture_logical_interfaces |
SensorPort
port def SensorPort specializes DataPort
| Property |
Value |
| Description |
Sensor port definition specializing DataPort. |
| Kind |
port def |
| Abstract |
No |
| Specializes |
DataPort |
| Owning package |
memo_architecture_logical_interfaces |
CommandPort
port def CommandPort specializes DataPort
| Property |
Value |
| Description |
Command port definition specializing DataPort. |
| Kind |
port def |
| Abstract |
No |
| Specializes |
DataPort |
| Owning package |
memo_architecture_logical_interfaces |
ComponentExchange
part def ComponentExchange specializes MemoPart
| Property |
Value |
| Description |
Component exchange definition specializing MemoPart. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoPart |
| Owning package |
memo_architecture_logical_interfaces |
SoftwarePort
port def SoftwarePort specializes MemoPort
| Property |
Value |
| Description |
Boundary data port of a software system (e.g. an AADL top-level data port), modeled as a first-class element so exchanges can reference it and views can render the system boundary.… |
| Kind |
port def |
| Abstract |
No |
| Specializes |
MemoPort |
| Owning package |
memo_architecture_logical_interfaces |
Source
architecture/logical/interfaces/memo_interfaces.sysml
package memo_architecture_logical_interfaces {
private import ScalarValues::*;
private import memo_core_common::*;
private import memo_core_enumerations::*;
private import memo_architecture_functional_functions::*;
interface def Interface specializes MemoInterface {
attribute interfaceKind : InterfaceKind;
attribute direction : DirectionKind;
attribute protocol : String;
attribute protocolSemantics : String;
attribute interactionPattern : String;
attribute signalKind : String;
attribute timingSummary : String;
attribute timingConstraint : String;
attribute bandwidth : String;
attribute schemaReference : String;
attribute compatibilitySummary : String;
attribute isolationRequirement : String;
attribute safetyRelevant : Boolean;
attribute securityCriticality : CriticalityKind;
attribute patientContactInterface : Boolean;
attribute directionality : DirectionKind[0..1];
attribute electricalStandard : String;
attribute nominalVoltageV : Real[0..1];
attribute nominalCurrentA : Real[0..1];
attribute bitRateBps : String;
attribute signaling : String;
attribute signalRange : String;
attribute apiStyle : String;
}
abstract interface def SoftwareInterface specializes Interface {
attribute :>> direction default DirectionKind::inputOutput;
}
item def InterfaceItem specializes MemoItem {
attribute itemKind : InterfaceItemKind;
attribute confidentialityClass : String;
attribute integrityClass : String;
attribute availabilityClass : String;
attribute controlType : String[0..1];
attribute timeoutMs : Real[0..1];
attribute retryPolicy : String[0..1];
}
abstract interface def DataInterface specializes MemoInterface {
attribute interfaceKind : InterfaceKind;
attribute protocolSemantics : String;
}
port def DataPort specializes MemoPort {
attribute interfaceType : String;
}
port def SensorPort specializes DataPort { attribute sensorDomain : String; }
port def CommandPort specializes DataPort { attribute commandDomain : String; }
part def ComponentExchange specializes MemoPart {
attribute exchangeKind : FlowKind;
ref sourceEndpoint : Base::Anything[0..1];
ref targetEndpoint : Base::Anything[0..1];
ref allocatedExchanges : FunctionalExchange[0..*];
attribute direction : DirectionKind;
attribute timingSemantics : String;
}
port def SoftwarePort specializes MemoPort {
attribute portKind : InterfaceKind;
attribute portCategory : PortCategoryKind;
attribute dataTypeName : String;
}
}