Skip to content

memo_viewpoints_requirements_requirements_viewpoint

SysML API

Public namespace memo::viewpoints::requirements
Declared package memo_viewpoints_requirements_requirements_viewpoint
Source src/viewpoints/requirements/requirements_viewpoint.sysml

Namespace hierarchy

memo → memo::viewpoints → memo::viewpoints::requirements

Packages

Package
memo_viewpoints_requirements_requirements_viewpoint

Imports

Visibility Target
private ScalarValues::*
private memo_viewpoints_definitions::*
private memo_core_enumerations::*
private memo_viewpoints_stakeholders_concerns::*
private memo_core_common::*
private memo_core_common::MemoIdentity

Declarations

Name SysML kind Description Specializes
— — — —

Source

viewpoints/requirements/requirements_viewpoint.sysml
package memo_viewpoints_requirements_requirements_viewpoint {
    private import ScalarValues::*;

    private import memo_viewpoints_definitions::*;
    private import memo_core_enumerations::*;
    private import memo_viewpoints_stakeholders_concerns::*;

    private import memo_core_common::*;
    private import memo_core_common::MemoIdentity;
    viewpoint requirementsViewpoint : MemoViewpoint {
        @MemoIdentity { :>> providedId = "VP-REQ"; :>> label = "RequirementsViewpoint"; }
        @MemoIdentity { :>> shortDescription = "Shows stakeholder needs and their decomposition into system, software, and hardware requirements."; }
        doc /* Default viewpoint derived from the requirements layer for requirements traceability — the chain from stakeholder need through system, software, and hardware requirements, supporting IEC 62304 §5.1.1 and ISO 13485 §7.3.3. */
        attribute :>> purpose = "Communicate requirements decomposition and traceability.";
        ref :>> memoStakeholders = (regulatoryEngineer, systemArchitect);
        attribute :>> stage = WorkflowStageKind::requirements;
        attribute :>> abstractionLevel = "requirements";
        attribute :>> outputKind = (ViewOutputKind::diagram, ViewOutputKind::matrix);
        attribute :>> presentationKind = (PresentationKind::traceMatrix);
        ref :>> framedConcerns = (regulatoryConcern, safetyConcern);
        attribute :>> explorerLane = "assurance";
        attribute :>> explorerOrder = 1;
        attribute :>> userExtensible = true;
    }
}