memo_assurance_cybersecurity
SysML API
Namespace hierarchy
memo → memo::assurance → memo::assurance::cybersecurity
Packages
| Package |
memo_assurance_cybersecurity |
Imports
| Visibility |
Target |
| private |
Metaobjects::SemanticMetadata |
| private |
ScalarValues::* |
| private |
memo_core_relationships::* |
| private |
memo_core_common::* |
| private |
memo_core_enumerations::* |
| private |
memo_assurance_requirements::* |
| private |
memo_assurance_safety_risk::* |
| private |
memo_assurance_verification_validation::* |
| private |
memo_architecture_operational_scenarios::* |
Declarations
| Name |
SysML kind |
Description |
Specializes |
CybersecurityAsset |
part def |
Cybersecurity asset definition specializing MemoPart. |
MemoPart |
AttackSurface |
part def |
Attack surface definition specializing MemoPart. |
MemoPart |
Threat |
part def |
Threat definition specializing RiskDriver. |
RiskDriver |
Vulnerability |
item def |
Vulnerability definition specializing RiskItem. |
RiskItem |
CyberHazard |
item def |
Cyber hazard definition specializing Hazard. |
Hazard |
CyberRisk |
part def |
Cyber risk definition specializing Risk. |
Risk |
CyberMitigation |
part def |
Cyber mitigation definition specializing RiskControlMeasure. |
RiskControlMeasure |
SecurityRequirement |
requirement def |
Security requirement definition specializing Requirement. |
Requirement |
TrustBoundary |
part def |
Trust boundary definition specializing InterfaceElement. |
InterfaceElement |
Exploits |
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 |
RealizedByScenario |
connection def |
Typed relationship for realized by scenario. |
MemoRelationship |
ImpactsSafety |
connection def |
Typed relationship for impacts safety. |
MemoRelationship |
CybersecurityAsset
part def CybersecurityAsset specializes MemoPart
| Property |
Value |
| Description |
Cybersecurity asset definition specializing MemoPart. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoPart |
| Owning package |
memo_assurance_cybersecurity |
AttackSurface
part def AttackSurface specializes MemoPart
| Property |
Value |
| Description |
Attack surface definition specializing MemoPart. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
MemoPart |
| Owning package |
memo_assurance_cybersecurity |
Threat
part def Threat specializes RiskDriver
| Property |
Value |
| Description |
Threat definition specializing RiskDriver. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
RiskDriver |
| Owning package |
memo_assurance_cybersecurity |
Vulnerability
item def Vulnerability specializes RiskItem
| Property |
Value |
| Description |
Vulnerability definition specializing RiskItem. |
| Kind |
item def |
| Abstract |
No |
| Specializes |
RiskItem |
| Owning package |
memo_assurance_cybersecurity |
CyberHazard
item def CyberHazard specializes Hazard
| Property |
Value |
| Description |
Cyber hazard definition specializing Hazard. |
| Kind |
item def |
| Abstract |
No |
| Specializes |
Hazard |
| Owning package |
memo_assurance_cybersecurity |
CyberRisk
part def CyberRisk specializes Risk
| Property |
Value |
| Description |
Cyber risk definition specializing Risk. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
Risk |
| Owning package |
memo_assurance_cybersecurity |
CyberMitigation
part def CyberMitigation specializes RiskControlMeasure
| Property |
Value |
| Description |
Cyber mitigation definition specializing RiskControlMeasure. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
RiskControlMeasure |
| Owning package |
memo_assurance_cybersecurity |
SecurityRequirement
requirement def SecurityRequirement :> Requirement
| Property |
Value |
| Description |
Security requirement definition specializing Requirement. |
| Kind |
requirement def |
| Abstract |
No |
| Specializes |
Requirement |
| Owning package |
memo_assurance_cybersecurity |
TrustBoundary
part def TrustBoundary specializes InterfaceElement
| Property |
Value |
| Description |
Trust boundary definition specializing InterfaceElement. |
| Kind |
part def |
| Abstract |
No |
| Specializes |
InterfaceElement |
| Owning package |
memo_assurance_cybersecurity |
Exploits
connection def Exploits :> 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_assurance_cybersecurity |
RealizedByScenario
connection def RealizedByScenario :> MemoRelationship
| Property |
Value |
| Description |
Typed relationship for realized by scenario. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_assurance_cybersecurity |
ImpactsSafety
connection def ImpactsSafety :> MemoRelationship
| Property |
Value |
| Description |
Typed relationship for impacts safety. |
| Kind |
connection def |
| Abstract |
No |
| Specializes |
MemoRelationship |
| Owning package |
memo_assurance_cybersecurity |
Source
assurance/cybersecurity/memo_cybersecurity.sysml
package memo_assurance_cybersecurity {
private import Metaobjects::SemanticMetadata;
private import ScalarValues::*;
private import memo_core_relationships::*;
private import memo_core_common::*;
private import memo_core_enumerations::*;
private import memo_assurance_requirements::*;
private import memo_assurance_safety_risk::*;
private import memo_assurance_verification_validation::*;
private import memo_architecture_operational_scenarios::*;
part def CybersecurityAsset specializes MemoPart {
attribute assetKind : AssetKind;
attribute confidentialityNeed : String;
attribute integrityNeed : String;
attribute availabilityNeed : String;
attribute privacyRelevant : Boolean;
attribute safetyRelevant : Boolean;
attribute owningLayer : String;
attribute assetOwner : String;
attribute classification : String;
}
part def AttackSurface specializes MemoPart {
attribute entryPointKind : InterfaceKind;
attribute exposureLevel : String;
attribute reachableFrom : String;
attribute authenticationExpected : Boolean;
}
part def Threat specializes RiskDriver {
attribute threatCategory : ThreatCategoryKind;
attribute attackVector : String;
attribute threatSource : String;
attribute precondition : String;
attribute affectedConcern : ConcernKind;
attribute defaultTechnique : String;
attribute strideCategory : ThreatCategoryKind;
}
item def Vulnerability specializes RiskItem {
attribute weakness : String;
attribute exploitability : String;
attribute discoveryMethod : String;
attribute affectedLayer : String;
attribute cweReference : String;
attribute remediable : Boolean;
}
item def CyberHazard specializes Hazard {
attribute securityImpact : String;
attribute safetyImpact : String;
attribute privacyImpact : String;
attribute operationalImpact : String;
attribute linkedSafetyHazardId : String;
}
part def CyberRisk specializes Risk {
attribute exploitabilityEstimate : String;
attribute attackComplexity : String;
attribute detectability : DetectionKind;
attribute essentialPerformanceImpact : String;
attribute patientSafetyContribution : String;
}
part def CyberMitigation specializes RiskControlMeasure {
attribute cyberControlKind : CyberControlKind;
attribute securityMechanism : String;
attribute verificationExpectation : String;
attribute hardeningScope : String;
}
requirement def SecurityRequirement :> Requirement {
attribute securityObjective : String;
attribute derivedFromThreat : String;
attribute derivedFromRisk : String;
attribute defaultConcern : ConcernKind;
}
part def TrustBoundary specializes InterfaceElement {
attribute boundaryType : String;
attribute crossingConstraint : String;
attribute trustAssumption : String;
}
connection def Exploits :> MemoRelationship {
end realizedThreat : RequirementDriver :>> source;
end enablingVulnerability : Vulnerability :>> target;
}
abstract connection exploitsLinks : Exploits[*];
metadata def <exploits> ExploitsMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = exploitsLinks meta SysML::Usage;
}
connection def RealizedByScenario :> MemoRelationship {
end realizedThreat : RequirementDriver :>> source;
end scenario : OperativeScenario :>> target;
}
abstract connection realizedByScenarioLinks : RealizedByScenario[*];
metadata def <realizedByScenario> RealizedByScenarioMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = realizedByScenarioLinks meta SysML::Usage;
}
connection def ImpactsSafety :> MemoRelationship {
attribute tracePurpose : String;
end cyberElement : MemoPart :>> source;
end safetyElement : RiskItem :>> target;
}
abstract connection impactsSafetyLinks : ImpactsSafety[*];
metadata def <impactsSafety> ImpactsSafetyMetadata :> SemanticMetadata {
:> annotatedElement : SysML::ConnectionDefinition;
:> annotatedElement : SysML::ConnectionUsage;
:>> baseType = impactsSafetyLinks meta SysML::Usage;
}
}