Skip to content

memo_architecture_decisions

SysML API

Public namespace memo::architecture::decisions
Declared package memo_architecture_decisions
Source src/architecture/decisions/memo_decisions.sysml

Namespace hierarchy

memomemo::architecturememo::architecture::decisions

Packages

Package
memo_architecture_decisions

Imports

Visibility Target
private Metaobjects::SemanticMetadata
private ScalarValues::*
private memo_core_common::*
private memo_core_enumerations::*
private memo_core_relationships::*
private memo_artifacts_core::*

Declarations

Name SysML kind Description Specializes
DesignDecision part def Design decision definition specializing MemoPart. MemoPart
DecisionRecordedInADR connection def Typed relationship for decision recorded in adr. MemoRelationship
Decides 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

DesignDecision

part def DesignDecision specializes MemoPart
Property Value
Description Design decision definition specializing MemoPart.
Kind part def
Abstract No
Specializes MemoPart
Owning package memo_architecture_decisions

DecisionRecordedInADR

connection def DecisionRecordedInADR :> MemoRelationship
Property Value
Description Typed relationship for decision recorded in adr.
Kind connection def
Abstract No
Specializes MemoRelationship
Owning package memo_architecture_decisions

Decides

connection def Decides :> 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_decisions

Source

architecture/decisions/memo_decisions.sysml
package memo_architecture_decisions {
    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_artifacts_core::*;
    part def DesignDecision specializes MemoPart {
        attribute decisionKind : String;
        attribute alternatives : String;
        attribute selectedOption : String;
        attribute decisionStatus : DesignDecisionStatusKind;
    }

    connection def DecisionRecordedInADR :> MemoRelationship {
        end decision : DesignDecision :>> source;
        end adr : ADRArtifact :>> target;
    }
    abstract connection decisionRecordedInADRLinks : DecisionRecordedInADR[*];
    metadata def <decisionRecordedInADR> DecisionRecordedInADRMetadata :> SemanticMetadata {
        :> annotatedElement : SysML::ConnectionDefinition;
        :> annotatedElement : SysML::ConnectionUsage;
        :>> baseType = decisionRecordedInADRLinks meta SysML::Usage;
    }

    // ── Relations owned by this package ─────────────────────────────
    // Moved out of memo_core_relationships: their ends are typed against
    // types declared here, and core must not depend on a domain package.
    connection def Decides :> MemoRelationship {
        end decision : DesignDecision :>> source;
        end affectedElement : MemoPart :>> target;
    }
    abstract connection decidesLinks : Decides[*];
    metadata def <decides> DecidesMetadata :> SemanticMetadata {
        :> annotatedElement : SysML::ConnectionDefinition;
        :> annotatedElement : SysML::ConnectionUsage;
        :>> baseType = decidesLinks meta SysML::Usage;
    }
}