memo_architecture_implementation_software_structure
SysML API
Namespace hierarchy
memo → memo::architecture → memo::architecture::implementation → memo::architecture::implementation::software → memo::architecture::implementation::software::structure
Packages
| Package |
memo_architecture_implementation_software_structure |
Imports
| Visibility |
Target |
| private |
Metaobjects::SemanticMetadata |
| private |
ScalarValues::* |
| private |
memo_core_common::* |
| private |
memo_core_enumerations::* |
| private |
memo_core_relationships::* |
| private |
memo_architecture_logical_structure::* |
Declarations
| Name |
SysML kind |
Description |
Specializes |
SoftwareElement |
part def |
Software element definition specializing MemoPart. |
MemoPart |
SoftwareSystem |
part def |
Software system definition specializing SoftwareElement. |
SoftwareElement |
ModuleKind |
enum def |
Module-view element (design responsibility). Runtime properties (period, WCET, scheduling) moved to SoftwareComponent. item / unit / package / library / code / firmware / soup (IEC 62304). |
— |
SoftwareModule |
part def |
Software module definition specializing SoftwareElement. |
SoftwareElement |
Algorithm |
part def |
Algorithm definition specializing MemoPart. |
MemoPart |
DataModel |
part def |
Data model definition specializing MemoPart. |
MemoPart |
ConfigurationArtifact |
part def |
Configuration artifact definition specializing MemoPart. |
MemoPart |
SoftwareItem |
item def |
Software data/content that may be stored or exchanged through ports. |
MemoItem |
SBOMEntry |
item def |
Sbomentry definition specializing SoftwareItem. |
SoftwareItem |
DependsOnSoup |
connection def |
Moved out of memo_core_relationships: their ends are typed against types declared here, and core must not depend on a domain package. |
MemoRelationship |
SoftwareElement
abstract part def SoftwareElement specializes MemoPart
| Property |
Value |
| Description |
Software element definition specializing MemoPart. |
| Kind |
part def |
| Abstract |
Yes |
| Specializes |
MemoPart |
| Owning package |
memo_architecture_implementation_software_structure |
SoftwareSystem
part def SoftwareSystem specializes SoftwareElement
| Property |
Value |
| Description |
Software system definition specializing SoftwareElement. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
SoftwareElement |
| Owning package |
memo_architecture_implementation_software_structure |
ModuleKind
| Property |
Value |
| Description |
Module-view element (design responsibility). Runtime properties (period, WCET, scheduling) moved to SoftwareComponent. item / unit / package / library / code / firmware / soup (IEC 62304). |
| Kind |
enum def |
| Abstract |
No |
| Specializes |
— |
| Owning package |
memo_architecture_implementation_software_structure |
SoftwareModule
part def SoftwareModule specializes SoftwareElement
| Property |
Value |
| Description |
Software module definition specializing SoftwareElement. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
SoftwareElement |
| Owning package |
memo_architecture_implementation_software_structure |
Algorithm
part def Algorithm specializes MemoPart
| Property |
Value |
| Description |
Algorithm definition specializing MemoPart. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoPart |
| Owning package |
memo_architecture_implementation_software_structure |
DataModel
part def DataModel specializes MemoPart
| Property |
Value |
| Description |
Data model definition specializing MemoPart. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoPart |
| Owning package |
memo_architecture_implementation_software_structure |
ConfigurationArtifact
part def ConfigurationArtifact specializes MemoPart
| Property |
Value |
| Description |
Configuration artifact definition specializing MemoPart. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoPart |
| Owning package |
memo_architecture_implementation_software_structure |
SoftwareItem
abstract item def SoftwareItem specializes MemoItem
| Property |
Value |
| Description |
Software data/content that may be stored or exchanged through ports. |
| Kind |
item def |
| Abstract |
Yes |
| Specializes |
MemoItem |
| Owning package |
memo_architecture_implementation_software_structure |
SBOMEntry
item def SBOMEntry specializes SoftwareItem
| Property |
Value |
| Description |
Sbomentry definition specializing SoftwareItem. |
| Kind |
item def |
| Abstract |
No |
| Specializes |
SoftwareItem |
| Owning package |
memo_architecture_implementation_software_structure |
DependsOnSoup
connection def DependsOnSoup :> MemoRelationship
| Property |
Value |
| Description |
Moved out of memo_core_relationships: their ends are typed against types declared here, and core must not depend on a domain package. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_architecture_implementation_software_structure |
Source
architecture/implementation/software/structure/memo_software_structure.sysml
package memo_architecture_implementation_software_structure {
private import Metaobjects::SemanticMetadata;
private import ScalarValues::*;
private import memo_core_common::*;
private import memo_core_enumerations::*;
private import memo_core_relationships::*;
private import memo_architecture_logical_structure::*;
abstract part def SoftwareElement specializes MemoPart {
attribute safetyClass : SafetyClassKind;
attribute complexity : ComplexityKind;
}
part def SoftwareSystem specializes SoftwareElement {
attribute version : String;
attribute operatingSystem : String;
}
enum def ModuleKind {
enum 'item';
enum unit;
enum 'package';
enum 'library';
enum code;
enum firmware;
enum soup;
}
part def SoftwareModule specializes SoftwareElement {
attribute moduleKind : ModuleKind;
attribute responsibility : String;
attribute iec62304Role : String[0..1];
attribute implementationLanguage : String[0..1];
attribute namespacePath : String[0..1];
attribute libraryVersion : String[0..1];
attribute internallyDeveloped : Boolean[0..1];
attribute firmwareTarget : String[0..1];
attribute updateMechanism : String[0..1];
attribute soupVersion : String[0..1];
attribute soupVendor : String[0..1];
attribute knownAnomalies : String[0..1];
attribute riskAcceptance : String[0..1];
attribute soupClassification : SOUPClassificationKind[0..1];
}
part def Algorithm specializes MemoPart {
attribute algorithmKind : String;
attribute inputSummary : String;
attribute outputSummary : String;
attribute clinicalPerformanceClaim : String;
}
part def DataModel specializes MemoPart {
attribute schemaReference : String;
attribute persistenceScope : String;
}
part def ConfigurationArtifact specializes MemoPart {
attribute configurationScope : String;
attribute version : String;
}
abstract item def SoftwareItem specializes MemoItem {
attribute schemaIdentifier : String;
attribute schemaVersion : String;
attribute encoding : String;
attribute timestampRequired : Boolean;
}
item def SBOMEntry specializes SoftwareItem {
attribute componentName : String;
attribute version : String;
attribute supplier : String;
attribute license : String;
attribute hash : String;
}
connection def DependsOnSoup :> MemoRelationship {
end component : MemoPart :>> source;
end soupItem : SoftwareElement :>> target;
}
abstract connection dependsOnSoupLinks : DependsOnSoup[*];
metadata def <dependsOnSoup> DependsOnSoupMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = dependsOnSoupLinks meta SysML::Usage;
}
}