Skip to content

memo_artifacts_core

SysML API

Public namespace memo::artifacts::core
Declared package memo_artifacts_core
Source src/artifacts/core/memo_controlled_artifacts.sysml

Namespace hierarchy

memo → memo::artifacts → memo::artifacts::core

Packages

Package
memo_artifacts_core

Imports

Visibility Target
private ScalarValues::*
private memo_core_common::*
private memo_core_enumerations::*

Declarations

Name SysML kind Description Specializes
MemoArtifact part def An artifact is a part: a document, a standard, a clause of one. A relationship end typed MemoArtifact (TracesToDocument) takes all of them. MemoPart
ControlledArtifact part def Controlled artifact definition specializing MemoArtifact. MemoArtifact
ModelOwnedArtifact part def Model owned artifact definition specializing ControlledArtifact. ControlledArtifact
ADRArtifact part def Adrartifact definition specializing ModelOwnedArtifact. ModelOwnedArtifact
MarkdownDocumentSource part def Markdown document source definition specializing ModelOwnedArtifact. ModelOwnedArtifact
ModelQueryScript part def Model query script definition specializing ModelOwnedArtifact. ModelOwnedArtifact
AnalysisNotebook part def Analysis notebook definition specializing ModelOwnedArtifact. ModelOwnedArtifact
ModelDataset part def Model dataset definition specializing ModelOwnedArtifact. ModelOwnedArtifact
GeneratedReport part def Generated report definition specializing ModelOwnedArtifact. ModelOwnedArtifact

MemoArtifact

abstract part def MemoArtifact :> MemoPart
Property Value
Description An artifact is a part: a document, a standard, a clause of one. A relationship end typed MemoArtifact (TracesToDocument) takes all of them.
Kind part def
Abstract Yes
Specializes MemoPart
Owning package memo_artifacts_core

ControlledArtifact

part def ControlledArtifact :> MemoArtifact
Property Value
Description Controlled artifact definition specializing MemoArtifact.
Kind part def
Abstract No
Specializes MemoArtifact
Owning package memo_artifacts_core

ModelOwnedArtifact

part def ModelOwnedArtifact :> ControlledArtifact
Property Value
Description Model owned artifact definition specializing ControlledArtifact.
Kind part def
Abstract No
Specializes ControlledArtifact
Owning package memo_artifacts_core

ADRArtifact

part def ADRArtifact :> ModelOwnedArtifact
Property Value
Description Adrartifact definition specializing ModelOwnedArtifact.
Kind part def
Abstract No
Specializes ModelOwnedArtifact
Owning package memo_artifacts_core

MarkdownDocumentSource

part def MarkdownDocumentSource :> ModelOwnedArtifact
Property Value
Description Markdown document source definition specializing ModelOwnedArtifact.
Kind part def
Abstract No
Specializes ModelOwnedArtifact
Owning package memo_artifacts_core

ModelQueryScript

part def ModelQueryScript :> ModelOwnedArtifact
Property Value
Description Model query script definition specializing ModelOwnedArtifact.
Kind part def
Abstract No
Specializes ModelOwnedArtifact
Owning package memo_artifacts_core

AnalysisNotebook

part def AnalysisNotebook :> ModelOwnedArtifact
Property Value
Description Analysis notebook definition specializing ModelOwnedArtifact.
Kind part def
Abstract No
Specializes ModelOwnedArtifact
Owning package memo_artifacts_core

ModelDataset

part def ModelDataset :> ModelOwnedArtifact
Property Value
Description Model dataset definition specializing ModelOwnedArtifact.
Kind part def
Abstract No
Specializes ModelOwnedArtifact
Owning package memo_artifacts_core

GeneratedReport

part def GeneratedReport :> ModelOwnedArtifact
Property Value
Description Generated report definition specializing ModelOwnedArtifact.
Kind part def
Abstract No
Specializes ModelOwnedArtifact
Owning package memo_artifacts_core

Source

artifacts/core/memo_controlled_artifacts.sysml
package memo_artifacts_core {
    private import ScalarValues::*;

    private import memo_core_common::*;
    private import memo_core_enumerations::*;

    // An artifact is a part: a document, a standard, a clause of one. A
    // relationship end typed MemoArtifact (TracesToDocument) takes all of them.
    abstract part def MemoArtifact :> MemoPart;

    part def ControlledArtifact :> MemoArtifact {
        attribute version : String;
        attribute artifactKind : ArtifactKind;
        attribute owner : String;
        attribute approvalStatus : String;
    }

    part def ModelOwnedArtifact :> ControlledArtifact {
        attribute uri : String;
        attribute mediaType : String;
        attribute contentHash : String;
        attribute artifactVersion : String[0..1];
        attribute authoredLanguage : String[0..1];
        attribute executionEnvironment : String[0..1];
        attribute generated : Boolean;
    }

    part def ADRArtifact :> ModelOwnedArtifact {
        attribute decisionId : String;
    }

    part def MarkdownDocumentSource :> ModelOwnedArtifact {}
    part def ModelQueryScript :> ModelOwnedArtifact {}
    part def AnalysisNotebook :> ModelOwnedArtifact {}
    part def ModelDataset :> ModelOwnedArtifact {}
    part def GeneratedReport :> ModelOwnedArtifact {}
}