Skip to content

memo_viewpoints_cybersecurity_cybersecurity_viewpoint

SysML API

Public namespace memo::viewpoints::cybersecurity
Declared package memo_viewpoints_cybersecurity_cybersecurity_viewpoint
Source src/viewpoints/cybersecurity/cybersecurity_viewpoint.sysml

Namespace hierarchy

memomemo::viewpointsmemo::viewpoints::cybersecurity

Packages

Package
memo_viewpoints_cybersecurity_cybersecurity_viewpoint

Imports

Visibility Target
private ScalarValues::*
private memo_viewpoints_definitions::*
private memo_core_enumerations::*

Declarations

Name SysML kind Description Specializes

Source

viewpoints/cybersecurity/cybersecurity_viewpoint.sysml
package memo_viewpoints_cybersecurity_cybersecurity_viewpoint {
    private import ScalarValues::*;

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

    viewpoint cybersecurityViewpoint : MemoViewpoint {
        attribute :>> id = "VP-CYB";
        attribute :>> name = "CybersecurityViewpoint";
        attribute :>> shortDescription = "Shows assets, trust boundaries, threats, vulnerabilities, cyber hazards, cyber risks, and mitigations.";
        attribute :>> description = "Default viewpoint derived from the cybersecurity layer, using STRIDE-style threat categories by default while allowing safety and privacy impacts to be traced into the broader model.";
        attribute :>> purpose = "Communicate cybersecurity design, threat analysis, and cyber risk posture.";
        attribute :>> audience = (AudienceKind::securityEngineer);
        attribute :>> stage = WorkflowStageKind::risk;
        attribute :>> abstractionLevel = "analysis";
        attribute :>> outputKind = (ViewOutputKind::diagram);
        attribute :>> presentationKind = (PresentationKind::custom);
        attribute :>> concernKinds = (ConcernKind::cybersecurity, ConcernKind::privacy, ConcernKind::safety);
        attribute :>> includedLayers = ("cybersecurity", "software_structure", "hardware_structure", "interfaces", "risk", "assurance");
        attribute :>> explorerLane = "assurance";
        attribute :>> explorerOrder = 3;
        attribute :>> allowedElementKinds = ("CybersecurityAsset", "Threat", "Vulnerability", "CyberHazard", "CyberRisk", "CyberMitigation", "SecurityRequirement", "TrustBoundary", "OperativeScenario[scenarioKind=threat]");
        attribute :>> allowedRelationshipKinds = ("ThreatenedBy", "Exploits", "RealizedByScenario", "Mitigates", "DerivesCyberRequirement", "ImpactsSafety", "CrossesTrustBoundary");
        attribute :>> userExtensible = true;
    }
}