Skip to content

memo_assurance_human_factors

SysML API

Public namespace memo::assurance::human_factors
Declared package memo_assurance_human_factors
Source src/assurance/human_factors/memo_human_factors.sysml

Namespace hierarchy

memo → memo::assurance → memo::assurance::human_factors

Packages

Package
memo_assurance_human_factors

Imports

Visibility Target
private Metaobjects::SemanticMetadata
private ScalarValues::*
private memo_core_common::*
private memo_core_enumerations::*
private memo_core_relationships::*
private memo_architecture_operational_activities::*
private memo_architecture_operational_scenarios::*

Declarations

Name SysML kind Description Specializes
UseError part def Use error definition specializing MemoPart. MemoPart
CommitsUseError connection def Typed relationship from OperativeAction to UseError. MemoRelationship
EvaluatesTask connection def Typed relationship from MemoEvidence to OperativeAction. MemoRelationship
TestedByUsability connection def Typed relationship from any element to MemoVerificationCase. MemoRelationship

UseError

part def UseError specializes MemoPart
Property Value
Description Use error definition specializing MemoPart.
Kind part def
Abstract No
Specializes MemoPart
Owning package memo_assurance_human_factors

CommitsUseError

connection def CommitsUseError :> MemoRelationship
Property Value
Description Typed relationship from OperativeAction to UseError.
Kind connection def
Abstract No
Specializes MemoRelationship
Owning package memo_assurance_human_factors

EvaluatesTask

connection def EvaluatesTask :> MemoRelationship
Property Value
Description Typed relationship from MemoEvidence to OperativeAction.
Kind connection def
Abstract No
Specializes MemoRelationship
Owning package memo_assurance_human_factors

TestedByUsability

connection def TestedByUsability :> MemoRelationship
Property Value
Description Typed relationship from any element to MemoVerificationCase.
Kind connection def
Abstract No
Specializes MemoRelationship
Owning package memo_assurance_human_factors

Source

assurance/human_factors/memo_human_factors.sysml
// Human-factors assurance (IEC 62366-1; FDA HF guidance 2016). UseError
// relocated here from the former memo_architecture_context; hazard-related
// use scenarios and formative/summative evaluations complete the usability
// engineering chain: user → task → use error → hazard → risk control →
// usability validation.
package memo_assurance_human_factors {
    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_operational_activities::*;
    private import memo_architecture_operational_scenarios::*;

    part def UseError specializes MemoPart {
        attribute errorCategory : UseErrorCategoryKind;
        attribute severity : SeverityKind;
        attribute rootCauseType : String;
    }

    connection def CommitsUseError :> MemoRelationship {
        end task : OperativeAction :>> source;
        end useError : UseError :>> target;
    }
    abstract connection commitsUseErrorLinks : CommitsUseError[*];
    metadata def <commitsUseError> CommitsUseErrorMetadata :> SemanticMetadata {
        :> annotatedElement : SysML::ConnectionDefinition;
        :> annotatedElement : SysML::ConnectionUsage;
        :>> baseType = commitsUseErrorLinks meta SysML::Usage;
    }
    connection def EvaluatesTask :> MemoRelationship {
        end evaluation : MemoEvidence :>> source;
        end task : OperativeAction :>> target;
    }
    abstract connection evaluatesTaskLinks : EvaluatesTask[*];
    metadata def <evaluatesTask> EvaluatesTaskMetadata :> SemanticMetadata {
        :> annotatedElement : SysML::ConnectionDefinition;
        :> annotatedElement : SysML::ConnectionUsage;
        :>> baseType = evaluatesTaskLinks 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.
    // The source end is untyped for the reason `Validates`' is: a UI element
    // is a part and a task is an action (Track A0), so no one type spans both.
    // The target is the usability TEST — a validation case — and not the
    // evidence it produces; `ProducesEvidence` links the two.
    connection def TestedByUsability :> MemoRelationship {
        end uiElementOrTask :>> source;
        end usabilityTest : MemoVerificationCase :>> target;
    }
    abstract connection testedByUsabilityLinks : TestedByUsability[*];
    metadata def <testedByUsability> TestedByUsabilityMetadata :> SemanticMetadata {
        :> annotatedElement : SysML::ConnectionDefinition;
        :> annotatedElement : SysML::ConnectionUsage;
        :>> baseType = testedByUsabilityLinks meta SysML::Usage;
    }
}