You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copyright (c) 2026 Contributors to the Eclipse Foundation
16
-
17
-
See the NOTICE file(s) distributed with this work for additional
18
-
information regarding copyright ownership.
19
-
20
-
This program and the accompanying materials are made available under the
21
-
terms of the Apache License Version 2.0 which is available at
22
-
https://www.apache.org/licenses/LICENSE-2.0
23
-
24
-
SPDX-License-Identifier: Apache-2.0
25
-
-->
26
-
27
14
# Dependability Analysis
28
15
29
16
The `dependability_analysis` rule is the top-level safety artifact in `rules_score`. It summarizes the dependability analyses (Safety / Security) which were performed for the dependable element.
Copyright (c) 2026 Contributors to the Eclipse Foundation
16
-
17
-
See the NOTICE file(s) distributed with this work for additional
18
-
information regarding copyright ownership.
19
-
20
-
This program and the accompanying materials are made available under the
21
-
terms of the Apache License Version 2.0 which is available at
22
-
https://www.apache.org/licenses/LICENSE-2.0
23
-
24
-
SPDX-License-Identifier: Apache-2.0
25
-
-->
26
-
27
14
# General Information
28
15
29
16
`rules_score` provides a set of Bazel rules that help you build and document a **Safety Element out of Context (SEooC)** — a safety-critical software component developed independently and delivered with all the evidence needed for integration into a safety-relevant system.
Copyright (c) 2026 Contributors to the Eclipse Foundation
16
-
17
-
See the NOTICE file(s) distributed with this work for additional
18
-
information regarding copyright ownership.
19
-
20
-
This program and the accompanying materials are made available under the
21
-
terms of the Apache License Version 2.0 which is available at
22
-
https://www.apache.org/licenses/LICENSE-2.0
23
-
24
-
SPDX-License-Identifier: Apache-2.0
25
-
-->
26
-
27
14
# Software Unit Design
28
15
29
16
The `unit_design` rule documents the **internal implementation** of a single software unit — how its source code is structured, what data flows through it, and how it behaves at the code level. This is distinct from the higher-level architectural design diagrams (see {doc}`architectural_design`), which describe the intended component structure of the SEooC as a whole.
Copy file name to clipboardExpand all lines: bazel/rules/rules_score/trlc/config/score_requirements_model.rsl
+60-46Lines changed: 60 additions & 46 deletions
Original file line number
Diff line number
Diff line change
@@ -27,91 +27,105 @@ enum Status {
27
27
// Abstract Types
28
28
///////////////////////////////
29
29
30
-
abstract type Requirement {
31
-
description String
32
-
version Integer
33
-
note optional String
34
-
status Status
35
-
freeze status = Status.valid
30
+
abstract type Requirement "Base type for all S-CORE requirements." {
31
+
description "The normative requirement text. Must express an obligation (shall/should)."
32
+
String
33
+
version "Monotonically increasing version counter. Increment on every content change."
34
+
Integer
35
+
note "Non-normative explanatory text providing additional context."
36
+
optional String
37
+
status "Current lifecycle status of this requirement."
38
+
Status
39
+
freeze status = Status.valid
36
40
}
37
41
38
-
abstract type RequirementSafety extends Requirement {
39
-
safety Asil
42
+
abstract type RequirementSafety "Extension of Requirement that carries an ASIL classification." extends Requirement {
43
+
safety "The Automotive Safety Integrity Level assigned to this requirement."
44
+
Asil
40
45
}
41
46
42
47
///////////////////////////////
43
48
// S-Core Requirements Model
44
49
///////////////////////////////
45
50
46
-
type AssumedSystemReq extends RequirementSafety {
47
-
rationale String
51
+
type AssumedSystemReq "System-level requirement received from the wider operational context (e.g. platform)." extends RequirementSafety {
52
+
rationale "Explanation of why this system-level requirement exists and how it was derived."
53
+
String
48
54
}
49
55
50
56
tuple AssumedSystemReqId {
51
-
item AssumedSystemReq
52
-
separator @
53
-
version Integer
57
+
item AssumedSystemReq
58
+
separator @
59
+
version Integer
54
60
}
55
61
56
-
type FeatReq extends RequirementSafety {
57
-
derived_from AssumedSystemReqId[1 .. *]
62
+
type FeatReq "High-level feature requirement derived from one or more AssumedSystemReq items." extends RequirementSafety {
63
+
derived_from "One or more versioned references to the AssumedSystemReq items this feature requirement is derived from."
64
+
AssumedSystemReqId[1 .. *]
58
65
}
59
66
60
67
tuple FeatReqId {
61
-
item FeatReq
62
-
separator @
63
-
version Integer
68
+
item FeatReq
69
+
separator @
70
+
version Integer
64
71
}
65
72
66
-
type CompReq extends RequirementSafety {
67
-
derived_from optional FeatReqId[1 .. *]
68
-
fulfilledBy optional String
69
-
mitigates optional String
73
+
type CompReq "Component-level requirement allocated to a specific software component." extends RequirementSafety {
74
+
derived_from "Versioned references to the FeatReq items this component requirement is derived from. Omit only for component-internal requirements with no feature-level parent."
75
+
optional FeatReqId[1 .. *]
76
+
mitigates "Reference to the FailureMode or safety concern that this requirement mitigates."
77
+
optional String
70
78
}
71
79
72
80
tuple CompReqId {
73
-
item CompReq
74
-
separator @
75
-
version Integer
81
+
item CompReq
82
+
separator @
83
+
version Integer
76
84
}
77
85
78
86
///////////////////////////////
79
87
// Safety Analyses
80
88
///////////////////////////////
81
89
82
-
enum GuideWord {
83
-
TooEarly
84
-
TooLate
85
-
Wrong
86
-
LossOfFunction
87
-
PartialFunction
88
-
UnintendedFunction
89
-
ExceedingFunction
90
-
DelayedFunction
90
+
enum GuideWord "HAZOP-style guide words used to categorise the nature of a failure mode." {
91
+
TooEarly "The function or signal occurs earlier than expected."
92
+
TooLate "The function or signal occurs later than expected."
93
+
Wrong "The function produces an incorrect value or signal."
94
+
LossOfFunction "The function is completely absent when it should be active."
95
+
PartialFunction "The function is active but only partially fulfils its purpose."
96
+
UnintendedFunction "The function is active when it should not be."
97
+
ExceedingFunction "The function operates beyond its specified bounds."
98
+
DelayedFunction "The function is active but with an unacceptable delay."
91
99
}
92
100
93
-
type FailureMode extends ScoreReq.RequirementSafety {
94
-
guideword GuideWord
95
-
failureeffect String
96
-
rationale optional String
97
-
potentialcause optional String
98
-
interface optional String
101
+
type FailureMode "A potential failure of a system function, described using a HAZOP guide word." extends ScoreReq.RequirementSafety {
102
+
guideword "HAZOP guide word classifying the nature of this failure."
103
+
GuideWord
104
+
failureeffect "Description of the consequence of this failure mode on the system or its users."
105
+
String
106
+
rationale "Explanation of why this failure mode is considered relevant."
107
+
optional String
108
+
potentialcause "Description of the root cause or triggering condition for this failure mode."
109
+
optional String
110
+
interface "The system interface or signal that is affected by this failure mode."
111
+
optional String
99
112
}
100
113
101
-
abstract type Measure extends ScoreReq.RequirementSafety {
114
+
abstract type Measure "Abstract base type for all safety measures. Cannot be instantiated directly." extends ScoreReq.RequirementSafety {
102
115
}
103
116
104
-
type ControlMeasure extends Measure {
117
+
type ControlMeasure "A design or operational measure that detects, prevents, or limits a failure mode." extends Measure {
105
118
}
106
119
107
-
type PreventiveMeasure extends Measure {
120
+
type PreventiveMeasure "A measure that prevents a failure mode from occurring in the first place." extends Measure {
108
121
}
109
122
110
-
type Mitigation extends Measure {
123
+
type Mitigation "A measure that reduces the severity or probability of a failure mode's effect." extends Measure {
111
124
}
112
125
113
-
type AoU extends ControlMeasure {
114
-
mitigates optional String
126
+
type AoU "Assumption of Use — a safety-relevant condition that a caller must fulfil when using this component." extends ControlMeasure {
127
+
mitigates "Reference to the FailureMode or hazard that is mitigated when this assumption is satisfied."
0 commit comments