Skip to content

Constraints

SysML API

SysML constraint def declarations in src/.

memo::architecture::functional::constraints

Name SysML kind Description Source
LockoutIntervalConstraint constraint def Constraint that checks lockout interval constraint. architecture/functional/constraints/memo_constraints.sysml
MaxResponseTimeConstraint constraint def Constraint that checks max response time constraint. architecture/functional/constraints/memo_constraints.sysml

memo::core::common

Name SysML kind Description Source
MemoConstraint constraint def General constraint foundation. Executable consistency rules and reusable quantitative constraints are both native constraint defs. core/common/memo_common.sysml

memo::core::consistency_rules

Name SysML kind Description Source
MemoConsistencyRule constraint def Constraint that checks memo consistency rule. core/consistency_rules/consistency_rules.sysml

memo::rules::closure

Name SysML kind Description Source
AssetThreatLinkRule constraint def Constraint that checks asset threat link rule. rules/closure/closure_rules.sysml
BenefitRiskWeighedRule constraint def Constraint that checks benefit risk weighed rule. rules/closure/closure_rules.sysml
BoundsDetectionConfirmedRule constraint def Automatic boundary detection proposes; a reviewer disposes. An unconfirmed machine guess must never reach a design review looking like an engineering decision. rules/closure/closure_rules.sysml
ChangeApprovalRule constraint def Constraint that checks change approval rule. rules/closure/closure_rules.sysml
ChangeImpactRule constraint def Constraint that checks change impact rule. rules/closure/closure_rules.sysml
ChangeTraceRule constraint def Constraint that checks change trace rule. rules/closure/closure_rules.sysml
CharacteristicReachesHazardRule constraint def Constraint that checks characteristic reaches hazard rule. rules/closure/closure_rules.sysml
ControlInvokesFunctionRule constraint def Interactive UI is where use error happens (IEC 62366-1), so a control that reaches no system function is either dead UI or unmodelled UI. The interactive-form restriction lives in the predicate because it spans several enum values. rules/closure/closure_rules.sysml
EvidenceProductionRule constraint def Constraint that checks evidence production rule. rules/closure/closure_rules.sysml
FunctionInChainRule constraint def A function that no edge reaches is not in the chain. This was a TypeScript rule (BV-002) applying to every action usage in the model, which reported a scenario and a flow step as defects for not being wired like a function.… rules/closure/closure_rules.sysml
HazardHasSituationRule constraint def Written from the classification in plans/memo-rules-domain-trace-and-editor.md (Step 5): each checks a property the model carries, and each traces to the clause it enforces. rules/closure/closure_rules.sysml
HazardMitigationRule constraint def Constraint that checks hazard mitigation rule. rules/closure/closure_rules.sysml
HazardSeverityRule constraint def Constraint that checks hazard severity rule. rules/closure/closure_rules.sysml
InitialRiskMatrixRule constraint def Constraint that checks initial risk matrix rule. rules/closure/closure_rules.sysml
LogicalFunctionAllocationRule constraint def Constraint that checks logical function allocation rule. rules/closure/closure_rules.sysml
LogicalInterfaceDirectionRule constraint def Constraint that checks logical interface direction rule. rules/closure/closure_rules.sysml
MisuseReachesSituationRule constraint def ISO 14971 clauses 5.2, 5.3 and 7.4 on the links the model already has: a misuse is not an item of the risk chain, so it reaches the chain by causes (the risk can start at any element: an operational flow, an FMEA row, a use error, a misuse); a safety-related characteristic r… rules/closure/closure_rules.sysml
ResidualRiskAcceptabilityRule constraint def Constraint that checks residual risk acceptability rule. rules/closure/closure_rules.sysml
ResidualRiskEvaluatedRule constraint def Constraint that checks residual risk evaluated rule. rules/closure/closure_rules.sysml
RiskAcceptabilityRule constraint def Constraint that checks risk acceptability rule. rules/closure/closure_rules.sysml
RiskControlVerificationRule constraint def Constraint that checks risk control verification rule. rules/closure/closure_rules.sysml
RiskEstimateRule constraint def Constraint that checks risk estimate rule. rules/closure/closure_rules.sysml
SafetyClassCVerificationRule constraint def Constraint that checks safety class cverification rule. rules/closure/closure_rules.sysml
ScreenCaptureProvenanceRule constraint def A screenshot with no build behind it is undated design intent, not evidence of what the device does. rules/closure/closure_rules.sysml
SituationLeadsToHarmRule constraint def Constraint that checks situation leads to harm rule. rules/closure/closure_rules.sysml
SoupAnomaliesRule constraint def Constraint that checks soup anomalies rule. rules/closure/closure_rules.sysml
SoupIdentifiedRule constraint def Constraint that checks soup identified rule. rules/closure/closure_rules.sysml
SoupRequirementRule constraint def Constraint that checks soup requirement rule. rules/closure/closure_rules.sysml
SwComponentReqRule constraint def Constraint that checks sw component req rule. rules/closure/closure_rules.sysml
SwComponentSafetyClassRule constraint def Constraint that checks sw component safety class rule. rules/closure/closure_rules.sysml
SwReqTraceRule constraint def Constraint that checks sw req trace rule. rules/closure/closure_rules.sysml
SysReqTraceRule constraint def Constraint that checks sys req trace rule. rules/closure/closure_rules.sysml
ThreatMitigationRule constraint def Constraint that checks threat mitigation rule. rules/closure/closure_rules.sysml
UiElementDesignRecordRule constraint def The load-bearing traceability rule. A UI element that is not chrome must reach a design record — a requirement it satisfies, or an action it triggers. Chrome must be DECLARED decoration; an element left unclassified fails rather than passing as scenery. rules/closure/closure_rules.sysml
UnitDecompositionRule constraint def Constraint that checks unit decomposition rule. rules/closure/closure_rules.sysml
UserNeedIdentifiesUserRule constraint def A user need names the user whose need it is. IEC 62366-1's user profile is typed on the User element — population, impairments, training, qualification — so the need points at that element rather than restating any of it in prose, which is what userPopulationReference was do… rules/closure/closure_rules.sysml
VerificationCaseMethodRule constraint def Constraint that checks verification case method rule. rules/closure/closure_rules.sysml
VerificationCaseTargetRule constraint def Constraint that checks verification case target rule. rules/closure/closure_rules.sysml

memo::rules::crosslayer

Name SysML kind Description Source
ReqToArchTraceRule constraint def Constraint that checks req to arch trace rule. rules/crosslayer/cross_layer_rules.sysml
RiskToReqTraceRule constraint def Constraint that checks risk to req trace rule. rules/crosslayer/cross_layer_rules.sysml

memo::rules::ontology

Name SysML kind Description Source
AllocatedToSourceKindRule constraint def Constraint that checks allocated to source kind rule. rules/ontology/ontology_invariants.sysml
AllocatedToTargetKindRule constraint def Constraint that checks allocated to target kind rule. rules/ontology/ontology_invariants.sysml
AlternateScenarioHasBaseRule constraint def The predicate here named three features that do not exist — variantKind, baseScenario, variationPoint — so it could never fail, and a rule that cannot fail is coverage on paper only.… rules/ontology/ontology_invariants.sysml
BindingEndsAgreeInDirectionRule constraint def A port says in or out (or inout), and a ~ conjugates it. That is the only place direction is written: an exchange's own direction was the same fact a second time, and nothing checked the two agreed.… rules/ontology/ontology_invariants.sysml
BindsToInterfaceEndKindRule constraint def Constraint that checks binds to interface end kind rule. rules/ontology/ontology_invariants.sysml
CausesCauseKindRule constraint def Causes' ends are untyped because its CauseKind spans parts and items (memo_fmea.sysml). These carry what the types cannot. rules/ontology/ontology_invariants.sysml
CausesEffectKindRule constraint def Constraint that checks causes effect kind rule. rules/ontology/ontology_invariants.sysml
ComponentExchangeSourceEndpointKindRule constraint def Constraint that checks component exchange source endpoint kind rule. rules/ontology/ontology_invariants.sysml
ComponentExchangeTargetEndpointKindRule constraint def Constraint that checks component exchange target endpoint kind rule. rules/ontology/ontology_invariants.sysml
ComponentFunctionAllocatedRule constraint def What makes ComponentFunction a definition of its own rather than an enum member on SystemFunction. An enum value cannot change a multiplicity, and "answerable to exactly one component" is the whole content of the concept. rules/ontology/ontology_invariants.sysml
ComposesChildKindRule constraint def Constraint that checks composes child kind rule. rules/ontology/ontology_invariants.sysml
ComposesParentKindRule constraint def Constraint that checks composes parent kind rule. rules/ontology/ontology_invariants.sysml
ContainmentAcyclicRule constraint def Constraint that checks containment acyclic rule. rules/ontology/ontology_invariants.sysml
CriticalTaskValidatedRule constraint def Constraint that checks critical task validated rule. rules/ontology/ontology_invariants.sysml
CrossesTrustBoundaryEndKindRule constraint def Constraint that checks crosses trust boundary end kind rule. rules/ontology/ontology_invariants.sysml
DerivationGapRule constraint def Constraint that checks derivation gap rule. rules/ontology/ontology_invariants.sysml
ExchangeHasFlowRule constraint def Constraint that checks exchange has flow rule. rules/ontology/ontology_invariants.sysml
ExchangeLeavesOutEntersInRule constraint def Constraint that checks exchange leaves out enters in rule. rules/ontology/ontology_invariants.sysml
FunctionDecomposesIntoFunctionsRule constraint def Constraint that checks function decomposes into functions rule. rules/ontology/ontology_invariants.sysml
LogicalContainsLogicalRule constraint def Constraint that checks logical contains logical rule. rules/ontology/ontology_invariants.sysml
ModelDeclaresSystemRule constraint def Constraint that checks model declares system rule. rules/ontology/ontology_invariants.sysml
NestedPartConnectedRule constraint def Constraint that checks nested part connected rule. rules/ontology/ontology_invariants.sysml
PatientContactCharacterizedRule constraint def Constraint that checks patient contact characterized rule. rules/ontology/ontology_invariants.sysml
PerformsPerformerKindRule constraint def Constraint that checks performs performer kind rule. rules/ontology/ontology_invariants.sysml
PhysicalContainsPhysicalRule constraint def Constraint that checks physical contains physical rule. rules/ontology/ontology_invariants.sysml
PrecedesEndKindRule constraint def Constraint that checks precedes end kind rule. rules/ontology/ontology_invariants.sysml
ReleaseSelectionConsistentRule constraint def Constraint that checks release selection consistent rule. rules/ontology/ontology_invariants.sysml
ReleaseSelectsOneVariantRule constraint def Every variation point of the item a record is a release of is resolved to ONE variant, and no variation point anywhere has two. Two halves, one rule: at most one -- any record, any status: a record that selects the features of two variants of one point describes no product.… rules/ontology/ontology_invariants.sysml
ReleaseSelectsProposedVariantRule constraint def A release record selects features (#SelectsFeature), and through them the variants that realize them (#RealizesFeature, variant to feature).… rules/ontology/ontology_invariants.sysml
RuntimeTracesToModuleRule constraint def Constraint that checks runtime traces to module rule. rules/ontology/ontology_invariants.sysml
SafetyCriticalFunctionVerifiedRule constraint def Constraint that checks safety critical function verified rule. rules/ontology/ontology_invariants.sysml
SafetyCriticalStepVerifiedRule constraint def A flow's step is its own position of a function (action step :> fn;), and evidence is scoped to the position: a test of the function, or of another step, does not count for it. So a step whose function is safety-critical needs a verification case of its own.… rules/ontology/ontology_invariants.sysml
SatisfiedBySourceKindRule constraint def Constraint that checks satisfied by source kind rule. rules/ontology/ontology_invariants.sysml
SatisfiedByTargetKindRule constraint def Constraint that checks satisfied by target kind rule. rules/ontology/ontology_invariants.sysml
SoftwareContainsSoftwareRule constraint def CR-ONT-075 above is this rule for functions; these are the same shape for the other families. The invariant is FAMILY homogeneity, not type homogeneity: a System containing a Subsystem containing a LogicalComponent is correct decomposition even though all three types differ, a… rules/ontology/ontology_invariants.sysml
SosUseCaseIncludesSystemUseCaseRule constraint def A use case is at the level of its subject: one whose subject is a SystemOfSystems is a clinical procedure, one whose subject is a System is a system use case. There is no kind for either; the level is read from the subject, and the subject from hasSubject.… rules/ontology/ontology_invariants.sysml
UseErrorTracesToHazardRule constraint def Constraint that checks use error traces to hazard rule. rules/ontology/ontology_invariants.sysml
VerifiedByTargetKindRule constraint def Constraint that checks verified by target kind rule. rules/ontology/ontology_invariants.sysml

memo::rules::quantitative

Name SysML kind Description Source
HazardMaxControlsRule constraint def Constraint that checks hazard max controls rule. rules/quantitative/quantitative_rules.sysml
ModelConstraintHoldsRule constraint def The require, assume and assert constraints a model declares are claims about its own values. A function evaluates them (validator/model-constraints.ts): names resolve from the owning element, its package, then a unique short name, and a quantity compares as a quantity.… rules/quantitative/quantitative_rules.sysml
SoftwareComponentWcetWithinDeadlineRule constraint def Constraint that checks software component wcet within deadline rule. rules/quantitative/quantitative_rules.sysml
SwComponentMaxInterfacesRule constraint def Constraint that checks sw component max interfaces rule. rules/quantitative/quantitative_rules.sysml