Failure

open class Failure(val name: String? = null, val description: String? = null, val asil: ASIL? = null, val issues: List<IssueReference> = emptyList(), val comment: String? = null, val severity: Severity? = null, val occurrence: Float? = null, val risk: Float? = null, val multiplicity: Multiplicity? = null, val evaluation: FailureEvaluation? = null, var independentFailures: List<Failure> = emptyList(), var mitigatedBy: List<SafetyMeasure> = emptyList(), var propagatesTo: List<Failure> = emptyList(), val sources: List<URLReference> = emptyList(), val argument: String? = null, val diagnosticCoverage: Float? = null) : MetamodelEntity, SafetyAssessment

Failure / failure mode.

Severity, ASIL and multiplicity are required by model rules; optional numeric attributes remain nullable.

Constructors

Link copied to clipboard
constructor(name: String? = null, description: String? = null, asil: ASIL? = null, issues: List<IssueReference> = emptyList(), comment: String? = null, severity: Severity? = null, occurrence: Float? = null, risk: Float? = null, multiplicity: Multiplicity? = null, evaluation: FailureEvaluation? = null, independentFailures: List<Failure> = emptyList(), mitigatedBy: List<SafetyMeasure> = emptyList(), propagatesTo: List<Failure> = emptyList(), sources: List<URLReference> = emptyList(), argument: String? = null, diagnosticCoverage: Float? = null)

Properties

Link copied to clipboard
open override val argument: String?

Engineering reasoning behind evaluation, including mitigation, independence and explicit assumptions. This is a recorded argument, not proof of sufficiency and not a substitute for mitigatedBy or independentFailures. Keep open review questions, finding details, actions and import notes in comment.

Link copied to clipboard
open override val asil: ASIL?
Link copied to clipboard
Link copied to clipboard

Identity of the authored Kotlin declaration, independent of its receiving model instance. Inherited declarations retain this provenance while id distinguishes each owning instance.

Link copied to clipboard

Fully-qualified name of the declaring context. Prefers declaringClassNameOverride (set explicitly by source materializers or canonical-ID binding) over declaringClass's captured name; falls back to null if neither is available.

Link copied to clipboard
open override val description: String?
Link copied to clipboard

Numerical diagnostic coverage as a fraction from 0 to 1 inclusive: 1.0f means 100%, 0.99f means 99%. null means unspecified or not applicable, not zero coverage. For hardware, this is the fraction of this failure mode's failure rate detected or controlled by implemented safety mechanisms (AIAG & VDA FMEA Handbook, first edition, glossary, following ISO 26262-1:2018). State the calculation basis and evidence in argument or sources. Do not substitute a percentage of software failure modes, tests or requirements.

Link copied to clipboard
open override val evaluation: FailureEvaluation?

Engineering conclusion about the sufficiency of safety measures and any justified residual contribution. See FailureEvaluation for the meanings shared by software, hardware and system analyses. null means no evaluation has been recorded yet. Model rules report HIGH unless the value is FailureEvaluation.SUFFICIENT or FailureEvaluation.RESIDUAL.

Link copied to clipboard
val id: String

Fully-qualified unique identifier of this model instance. A member follows its actual owning instance, so two instances of the same user class have distinct member IDs. declarationId retains the common source declaration for navigation and naming rules.

Link copied to clipboard

For Multiplicity.MULTIPLE_POINT failures: the independent failure(s) that, in combination with this failure, can violate the safety goal. At least one entry is required when multiplicity is MULTIPLE_POINT and severity is at or above S10 or missing. A severity explicitly below S10 exempts this reference requirement, regardless of ASIL; a failure can list more than one independent alternative (e.g. several distinct failure modes that each independently combine with this one to violate the safety goal). Each alternative must belong to a different element on a separate hierarchy branch: neither element may be an ancestor of the other. A valid alternative also satisfies the S10 mitigation requirement.

Link copied to clipboard
open override val issues: List<IssueReference>
Link copied to clipboard

Safety measures, including safety mechanisms, that mitigate this failure. The mitigation rule requires at least one measure or a valid independentFailures entry unless ASIL is explicitly QM and severity is below S10. Missing ASIL or severity does not exempt the failure.

Link copied to clipboard
Link copied to clipboard
open override val name: String?
Link copied to clipboard
Link copied to clipboard

The InterfacePointAnalysis that declares this failure as one of its properties.

Link copied to clipboard

Failures that this failure propagates into. Often cyclic in real safety models (feedback paths), so the source materializer needs to back-patch after both ends exist in the scope — hence var. Compiled-path callers should treat as effectively immutable.

Link copied to clipboard

Kotlin val name that holds this entity, scoped to its declaring context. Populated reflectively by WireModel.wireAll in the compiled path, or set directly via bindToSource in the source-materialized path. null until either runs.

Link copied to clipboard
val risk: Float?
Link copied to clipboard

Prefer Severity.S0 through Severity.S10; Severity also preserves explicitly supplied Float values.

Link copied to clipboard
open override val sources: List<URLReference>

Functions

Link copied to clipboard

Binds an authored field or constructor-owned value without replacing its source declaration provenance.

Link copied to clipboard

Registers a child entity declared inside a source-materialized parent.

Link copied to clipboard

Records source-declared uses without changing the target's declaration or owner.

Link copied to clipboard

Binds an entity to an already computed canonical MetamodelEntity.id.

Link copied to clipboard
fun MetamodelEntity.bindToSource(referenceName: String, declaringClassName: String)

Sets the canonical identifiers for an entity that was materialized from source (as opposed to being instantiated from compiled bytecode). Intended for use by PSI / source materializers such as the IDEA plugin.

Link copied to clipboard

Interface-point analyses in declaration order, including analyses nested beneath ports or service groups.

Link copied to clipboard

Structural children, including explicit metamodel containment. Relation targets retain their own declaration.

Link copied to clipboard
Generated with STIG