memo_rules_crosslayer
SysML API
Namespace hierarchy
memo → memo::rules → memo::rules::crosslayer
Packages
| Package |
memo_rules_crosslayer |
Imports
| Visibility |
Target |
| private |
ScalarValues::* |
| private |
memo_core_consistency_rules::* |
| private |
memo_core_enumerations::* |
| private |
memo_core_common::* |
| private |
memo_core_common::MemoIdentity |
| private |
memo_artifacts_standards_traceability::EnforcesClause |
| private |
memo_artifacts_standards_iec_62304::* |
| private |
memo_artifacts_standards_iso_14971::* |
Declarations
| Name |
SysML kind |
Description |
Specializes |
RiskToReqTraceRule |
constraint def |
Constraint that checks risk to req trace rule. |
MemoConsistencyRule |
ReqToArchTraceRule |
constraint def |
Constraint that checks req to arch trace rule. |
MemoConsistencyRule |
RiskToReqTraceRule
constraint def RiskToReqTraceRule :> MemoConsistencyRule
| Property |
Value |
| Description |
Constraint that checks risk to req trace rule. |
| Kind |
constraint def |
| Abstract |
No |
| Specializes |
MemoConsistencyRule |
| Owning package |
memo_rules_crosslayer |
ReqToArchTraceRule
constraint def ReqToArchTraceRule :> MemoConsistencyRule
| Property |
Value |
| Description |
Constraint that checks req to arch trace rule. |
| Kind |
constraint def |
| Abstract |
No |
| Specializes |
MemoConsistencyRule |
| Owning package |
memo_rules_crosslayer |
Source
rules/crosslayer/cross_layer_rules.sysml
package memo_rules_crosslayer {
private import ScalarValues::*;
private import memo_core_consistency_rules::*;
private import memo_core_enumerations::*;
private import memo_core_common::*;
private import memo_core_common::MemoIdentity;
private import memo_artifacts_standards_traceability::EnforcesClause;
private import memo_artifacts_standards_iec_62304::*;
private import memo_artifacts_standards_iso_14971::*;
constraint def RiskToReqTraceRule :> MemoConsistencyRule {
@MemoIdentity { :>> providedId = "XL-001"; }
attribute tailoring = RuleTailoringKind::assurance;
attribute domain = RuleDomainKind::medicalDevice;
attribute obligation = RuleObligationKind::required;
attribute appliesTo = "Hazard";
attribute severity = RuleSeverityKind::warning;
attribute rationaleText = "Risk-requirement traceability required for regulatory submissions.";
attribute predicateExpression = "derivesFrom->size() >= 1";
constraint { true }
}
#EnforcesClause dependency from RiskToReqTraceRule to iso14971::iso14971Clause7::iso14971Clause7_2, iec62304::iec62304Clause5::iec62304Clause5_2::iec62304Clause5_2_3;
constraint def ReqToArchTraceRule :> MemoConsistencyRule {
@MemoIdentity { :>> providedId = "XL-002"; }
attribute tailoring = RuleTailoringKind::assurance;
attribute domain = RuleDomainKind::medicalDevice;
attribute obligation = RuleObligationKind::required;
attribute appliesTo = "Requirement[requirementType=system]";
attribute severity = RuleSeverityKind::warning;
attribute rationaleText = "Requirements-to-architecture traceability per IEC 62304.";
attribute predicateExpression = "satisfiedBy->size() >= 1";
constraint { true }
}
#EnforcesClause dependency from ReqToArchTraceRule to iec62304::iec62304Clause5::iec62304Clause5_3::iec62304Clause5_3_1;
}