Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -29,6 +29,9 @@ ScoreReq.ControlMeasure SomeBasicEvent {
}

ScoreReq.PreventiveMeasure SomePreventiveMeasure {
safety = ScoreReq.Asil.B
description = "A preventive measure that stops a failure mode from occurring (no mitigates field)"
version = 1
}

ScoreReq.Mitigation SomeMitigation {
Expand Down
30 changes: 15 additions & 15 deletions bazel/rules/rules_score/trlc/config/score_requirements_model.rsl
Original file line number Diff line number Diff line change
Expand Up @@ -44,11 +44,14 @@ abstract type RequirementSafety "Extension of Requirement that carries an ASIL c
Asil
}

abstract type CompReqSource "Base type for requirements that may serve as a source for a component requirement." extends RequirementSafety {
}

///////////////////////////////
// S-Core Requirements Model
///////////////////////////////

type AssumedSystemReq "System-level requirement received from the wider operational context (e.g. platform)." extends RequirementSafety {
type AssumedSystemReq "System-level requirement received from the wider operational context (e.g. platform)." extends CompReqSource {
rationale "Explanation of why this system-level requirement exists and how it was derived."
String
}
Expand All @@ -59,7 +62,7 @@ tuple AssumedSystemReqId {
version Integer
}

type FeatReq "High-level feature requirement derived from one or more AssumedSystemReq items." extends RequirementSafety {
type FeatReq "High-level feature requirement derived from one or more AssumedSystemReq items." extends CompReqSource {
derived_from "One or more versioned references to the AssumedSystemReq items this feature requirement is derived from."
AssumedSystemReqId[1 .. *]
}
Expand All @@ -71,7 +74,7 @@ tuple FeatReqId {
}

tuple CompReqSourceId {
item [FeatReq, AssumedSystemReq]
item CompReqSource
separator @
version Integer
}
Expand Down Expand Up @@ -154,26 +157,23 @@ type FailureMode "A potential failure of a system function, described using one
optional String
}

type ControlMeasure "A design or operational measure that detects, prevents, or limits a failure mode." extends RequirementSafety {
mitigates "Reference to the FailureMode or safety concern that this requirement mitigates."
optional String
abstract type Measure "Base type for safety measures referenced from safety analyses." extends RequirementSafety {
}

type PreventiveMeasure "A measure that prevents a failure mode from occurring in the first place." {
type ControlMeasure "A design or operational measure that detects, prevents, or limits a failure mode." extends Measure {
}

type Mitigation "A measure that reduces the severity or probability of a failure mode's effect." extends AssumedSystemReq {
mitigates "Reference to the FailureMode or safety concern that this requirement mitigates."
optional String
type PreventiveMeasure "A measure that prevents a failure mode from occurring in the first place." extends Measure {
}

type AoU "Assumption of Use — a safety-relevant condition that a user must fulfil." extends ControlMeasure {
type Mitigation "A measure that reduces the severity or probability of a failure mode's effect." extends Measure {
rationale "Explanation of why this mitigation is considered effective or necessary."
optional String
}

tuple Measure {
item [ControlMeasure, PreventiveMeasure, Mitigation]
separator @
version Integer
type AoU "Assumption of Use — a safety-relevant condition that a user must fulfil." extends ControlMeasure {
mitigates "Reference to the FailureMode or safety concern that this requirement mitigates."
optional String
}

///////////////////////////////
Expand Down
Loading