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
In this section assumptions are described which need to be fulfilled by the architecture level below the SWplatform,
30
+
In this section assumptions are described which need to be fulfilled by the architecture level below the SW-platform,
31
31
i.e. by the elements or organizations outside of S-CORE, but used by S-CORE platform components. These include elements like
32
32
the operating system, programming language libraries, hypervisor or processing hardware.
33
33
For "organizations" two roles are used in the AoU text:
34
34
35
-
- Supplier: is the provider of an element the S-CORE SWplatform is using but which is developed and maintained externally.
36
-
- System Integrator: uses the S-CORE SWplatform as a part of a system he provides to a customer. The system integrator can be for example a Tier1 providing an electronic control unit to a OEM or an OEM providing a car to his end-customer. S-CORE does not know which.
35
+
- Supplier: is the provider of an element the S-CORE SW-platform is using but which is developed and maintained externally.
36
+
- System Integrator: uses the S-CORE SW-platform as a part of a system he provides to a customer. The system integrator can be for example a Tier1 providing an electronic control unit to a OEM or an OEM providing a car to his end-customer. S-CORE does not know which.
37
37
38
38
To fulfill these assumptions is the responsibility of the mentioned roles.
39
39
@@ -83,7 +83,7 @@ Assumptions on the external SW element integration - Functional Level
This is the middle level of integraton, the higher level will build on this.
86
-
It is the level where the S-CORE SWplatform will functionally "work" with the external SW element.
86
+
It is the level where the S-CORE SW-platform will functionally "work" with the external SW element.
87
87
88
88
.. aou_req:: bazel tooling
89
89
:id: aou_req__platform__bazel_tooling
@@ -92,8 +92,8 @@ It is the level where the S-CORE SW platform will functionally "work" with the e
92
92
:safety: QM
93
93
:status: valid
94
94
95
-
The supplier shall provide tools for Bazel to be able to build the S-CORE SWplatform with the external SW element
96
-
and support the run and test of the S-CORE SWplatform.
95
+
The supplier shall provide tools for Bazel to be able to build the S-CORE SW-platform with the external SW element
96
+
and support the run and test of the S-CORE SW-platform.
97
97
98
98
.. aou_req:: bug fixing
99
99
:id: aou_req__platform__bug_fixing
@@ -106,7 +106,7 @@ It is the level where the S-CORE SW platform will functionally "work" with the e
106
106
107
107
Note: For OSS community providing an external SW element this requirement could be covered by analyzing how bugs were treated in the past. For companies by the definition of a service level process.
108
108
109
-
.. aou_req:: SWplatform testing
109
+
.. aou_req:: SW-platform testing
110
110
:id: aou_req__platform__testing
111
111
:reqtype: Non-Functional
112
112
:security: YES
@@ -116,23 +116,23 @@ It is the level where the S-CORE SW platform will functionally "work" with the e
116
116
The system integrator shall run the tests provided by S-CORE (platform, feature, component and Unit level for his selected S-CORE modules) on his selected OS/Hypervisor/HW combination,
117
117
or provide equivalent argumentation.
118
118
119
-
Note1: S-CORE will run these tests for one or more reference OS/Hypervisor/HW combination, if not all passing, remaining issues are documented in release notes. In case the selected combination is equal to a S-CORE reference and the complete S-CORE SWplatform is used, this AoU may be skipped.
119
+
Note1: S-CORE will run these tests for one or more reference OS/Hypervisor/HW combination, if not all passing, remaining issues are documented in release notes. In case the selected combination is equal to a S-CORE reference and the complete S-CORE SW-platform is used, this AoU may be skipped.
120
120
121
121
Note2: Equivalent argumentation could be for example that the test environments for unit tests would be sufficiently equal in S-CORE project and at the integrator.
The system integrator shall report the bugs found during integration of the S-CORE SW Platform on his selected OS/Hypervisor/HW combination to the external SW element supplier and S-CORE for analysis.
130
+
The system integrator shall report the bugs found during integration of the S-CORE SW-platform on his selected OS/Hypervisor/HW combination to the external SW element supplier and S-CORE for analysis.
131
131
132
132
Assumptions on the external SW element integration - Certifiable Level
This is the highest level of integraton. This is the level where the S-CORE SWplatform will be certifiable with an external SW element.
135
+
This is the highest level of integraton. This is the level where the S-CORE SW-platform will be certifiable with an external SW element.
136
136
137
137
.. aou_req:: integration levels
138
138
:id: aou_req__platform__levels
@@ -165,8 +165,8 @@ This is the highest level of integraton. This is the level where the S-CORE SW p
165
165
166
166
The supplier shall provide a list of safe external SW element functions.
167
167
168
-
.. aou_req:: OS safety anomaly reporting
169
-
:id:aou_req__platform__os_safety_anomaly
168
+
.. aou_req:: safety anomaly reporting
169
+
:id:aou_req__platform__safety_anomaly
170
170
:reqtype: Non-Functional
171
171
:security: YES
172
172
:safety: ASIL_B
@@ -183,29 +183,29 @@ This is the highest level of integraton. This is the level where the S-CORE SW p
183
183
:safety: ASIL_B
184
184
:status: valid
185
185
186
-
If the system using the SWplatform has safety goals, the system integrator shall integrate the SWplatform with external SW elements providing safety functions.
187
-
This includes to make sure that the safety functions S-CORE SWplatform requires match with the ones provided by these external SW elements (as in :need:`aou_req__platform__safety_functions`).
186
+
If the system using the SW-platform has safety goals, the system integrator shall integrate the SW-platform with external SW elements providing safety functions.
187
+
This includes to make sure that the safety functions S-CORE SW-platform requires match with the ones provided by these external SW elements (as in :need:`aou_req__platform__safety_functions`).
188
188
189
189
Note1: A list of safety functions needed from external SW elements is compiled by the S-CORE project here (TBD).
190
190
191
-
Note2: The integrator can expect that for the safe S-CORE reference integration (incl. OS and other external SW elements) this AoU is fulfilled by S-CORE SW Platform already, but without guarantee.
191
+
Note2: The integrator can expect that for the safe S-CORE reference integration (incl. OS and other external SW elements) this AoU is fulfilled by S-CORE SW-platform already, but without guarantee.
192
192
193
-
Note3: This applies also if the system integrator would replace a S-CORE SWplatform element with another SW element which is external to S-CORE.
193
+
Note3: This applies also if the system integrator would replace a S-CORE SW-platform element with another SW element which is external to S-CORE.
194
194
195
195
.. aou_req:: safety integration
196
-
:id:aou_req__platform__os_safety_integration
196
+
:id:aou_req__platform__safety_integration
197
197
:reqtype: Non-Functional
198
198
:security: YES
199
199
:safety: ASIL_B
200
200
:status: valid
201
201
202
-
If the system using the SWplatform has safety goals, the system integrator shall make sure that the AoUs relevant for external SW element safety functions (as in :need:`aou_req__platform__safety_aou`) are fulfilled by the S-CORE SWplatform.
202
+
If the system using the SW-platform has safety goals, the system integrator shall make sure that the AoUs relevant for external SW element safety functions (as in :need:`aou_req__platform__safety_aou`) are fulfilled by the S-CORE SW-platform.
203
203
204
204
Note1: This could be done by contributing the required updates to the S-CORE project if S-CORE elements are affected.
205
205
206
-
Note2: The system integrator can expect that for the safe S-CORE reference integration (incl. OS and other external SW elements) this AoU is fulfilled by S-CORE SW Platform already, but without guarantee.
206
+
Note2: The system integrator can expect that for the safe S-CORE reference integration (incl. OS and other external SW elements) this AoU is fulfilled by S-CORE SW-platform already, but without guarantee.
207
207
208
-
Note3: This applies also if the system integrator would replace a S-CORE SWplatform element with another SW element which is external to S-CORE.
208
+
Note3: This applies also if the system integrator would replace a S-CORE SW-platform element with another SW element which is external to S-CORE.
@@ -214,12 +214,96 @@ This is the highest level of integraton. This is the level where the S-CORE SW p
214
214
:safety: ASIL_B
215
215
:status: valid
216
216
217
-
If the system using the SWplatform has safety goals, the system integrator shall perform safety anomaly reporting taking into account also the reporting of all the components he integrates.
217
+
If the system using the SW-platform has safety goals, the system integrator shall perform safety anomaly reporting taking into account also the reporting of all the components he integrates.
218
218
219
-
Assumptions of Use
220
-
------------------
221
219
222
-
In this section assumptions are described which need to be fulfilled by the applications running on top of the SW platform.
220
+
Assumptions on Applications
221
+
---------------------------
223
222
223
+
In this section assumptions are described which need to be fulfilled by the applications running on top of the SW-platform.
224
224
225
-
TBD: more detailed functional AoUs
225
+
.. aou_req:: Avoidance of Exceptions
226
+
:id: aou_req__platform__no_exceptions
227
+
:reqtype: Functional
228
+
:security: YES
229
+
:safety: ASIL_B
230
+
:status: valid
231
+
232
+
All applications using the SW-platform shall not handle exceptions.
233
+
234
+
Note: Exceptions create additional overhead which may be a safety risk. Therefore all exceptions are expected to lead directly to a terminate of the application.
235
+
This is supported by a library supplied by S-CORE.
236
+
237
+
.. aou_req:: Error Reaction
238
+
:id: aou_req__platform__error_reaction
239
+
:reqtype: Functional
240
+
:security: YES
241
+
:safety: ASIL_B
242
+
:status: valid
243
+
244
+
Safety applications using the SW-platform shall read error information from the requested S-CORE functions and perform an appropriate reaction.
245
+
246
+
Note: For many errors detected by SW-platform elements there could be mitigation actions to be applied by the user application.
247
+
So the SW-platform attempts to report the errors and does not stop execution as a standard reaction.
248
+
249
+
.. aou_req:: No mixed ASIL
250
+
:id: aou_req__platform__no_mixed_asil
251
+
:reqtype: Functional
252
+
:security: YES
253
+
:safety: ASIL_B
254
+
:status: valid
255
+
256
+
Safety application components running in one POSIX process shall implement the highest ASIL of their assigned requirements.
257
+
258
+
.. aou_req:: Program Flow Monitoring
259
+
:id: aou_req__platform__flow_monitoring
260
+
:reqtype: Functional
261
+
:security: YES
262
+
:safety: ASIL_B
263
+
:status: valid
264
+
265
+
Safety applications using the SW-platform shall use program flow monitoring to detect run time errors or explain in their safety concept why they do not need this.
266
+
267
+
Note1: Reasons for not needing program flow monitoring could be an OS scheduler with timing and execution guarantees.
268
+
Or that the non/late execution of the application keeps the system in a safe state.
269
+
270
+
Note2: The SW-Platform supports this - see :need:`stkh_req__dependability__safety_features` "live, deadline, logical supervision"
271
+
272
+
Assumptions on Safety System
273
+
----------------------------
274
+
275
+
In this section assumptions are described which need to be fulfilled by the system or system integrator.
276
+
277
+
.. aou_req:: Safe HW platform
278
+
:id: aou_req__platform__hardware_safety
279
+
:reqtype: Functional
280
+
:security: YES
281
+
:safety: ASIL_B
282
+
:status: valid
283
+
284
+
If the system using the SW-platform has safety goals, the system shall provide state-of-the art hardware safety mechanisms.
285
+
286
+
Note1: A selection of hardware safety mechanisms is collected in :need:`stkh_req__dependability__safety_features`
287
+
288
+
Note2: These safety mechanisms are mostly OS/Hypervisor/HW specific, so the system integrator can only expect S-CORE support for the reference OS/Hypervisor/HW combination.
If the system using the SW-platform has safety goals, the system shall provide an external health management element which is able to initiate a safe system state.
298
+
299
+
Note: This can be an "External Hardware Watchdog"
300
+
301
+
.. aou_req:: Process Isolation
302
+
:id: aou_req__platform__process_isolation
303
+
:reqtype: Functional
304
+
:security: YES
305
+
:safety: ASIL_B
306
+
:status: valid
307
+
308
+
If the system using the SW-platform has safety goals, the used operating system shall offer POSIX processes isolation.
309
+
This shall cover memory isolation. Timing isolation may be covered.
Copy file name to clipboardExpand all lines: docs/requirements/stakeholder/index.rst
+65-3Lines changed: 65 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -248,7 +248,7 @@ Dependability
248
248
:reqtype: Functional
249
249
:security: NO
250
250
:safety: ASIL_B
251
-
:rationale:tbd
251
+
:rationale:There are state-of-the-art safety mechanisms to check HW and SW errors. These are expected to be supported either by the SW-platform alone or by using HW or OS provided safety features.
252
252
:status: valid
253
253
:tags: safety_mechanism
254
254
@@ -264,9 +264,71 @@ Dependability
264
264
* ECC Memory
265
265
* Software Lockstep
266
266
* Power management integrated circuit (PMIC), external watchdog and voltage monitoring
267
-
* Safe switch from engineering for field mode and back
267
+
* Safe switch from engineering to field mode and back
268
268
269
-
Note: This is part of 0.5 release and therefore can only support ASIL_B. Goal is ASIL_D.
269
+
270
+
.. stkh_req:: Safe SW-platform state
271
+
:id: stkh_req__dependability__safe_state
272
+
:reqtype: Functional
273
+
:security: NO
274
+
:safety: ASIL_B
275
+
:rationale: A safe state definition is expected by every safety standard.
276
+
:status: valid
277
+
:tags: safety_mechanism
278
+
279
+
The SW-platform shall react in the following way on errors:
280
+
281
+
- in case of an unrecoverable error (e.g. access violations), not reporting healty status to the external health monitor
282
+
- in all other cases, report the error (incl. details if available) to the calling user function
283
+
284
+
Note1: So the "safe state" of the SW-platform can be described as "error reported".
285
+
286
+
Note2: The healthy state needs an active SW-platform reaction (e.g. triggering an exteranl watchdog), but the unrecoverable error case not.
287
+
288
+
289
+
.. stkh_req:: Error report timing
290
+
:id: stkh_req__dependability__error_report_timing
291
+
:reqtype: Functional
292
+
:security: NO
293
+
:safety: ASIL_B
294
+
:rationale: It is assumed that there is a need to know how much time is allowed between the ocurrence of an error and the reporting, so we define a feasible time span.
295
+
:status: valid
296
+
:tags: safety_mechanism
297
+
298
+
The SW-platform shall react on errors (as described in :need:`stkh_req__dependability__safe_state`) within 1 millisecond. If this is not feasible a special component AoU needs to be defined.
299
+
300
+
Note1: The time span mentioned is the SW reaction time and not the time between the error happening and the reporting.
301
+
For example if there is a alive supervision configured with 10ms cycle time and 5ms allowed delay,
302
+
the error could happen in the first millisecond but will be reported earliest after 10+5ms plus the SW reaction time.
303
+
304
+
If a user application calls a SW-platform function the (error) return is required latest after the reaction time, so there could be a timeout used by the application considering this.
305
+
306
+
307
+
.. stkh_req:: No mixed ASIL
308
+
:id: stkh_req__dependability__no_mixed_asil
309
+
:reqtype: Functional
310
+
:security: YES
311
+
:safety: ASIL_B
312
+
:rationale: It is assumed that POSIX processes as implemented by the OS provide isolation from memory and timing errors of other processes but not within.
313
+
:status: valid
314
+
315
+
The SW-platform safety components running in one POSIX process shall implement the highest ASIL of their assigned requirements.
316
+
317
+
318
+
.. stkh_req:: Program Flow Monitoring
319
+
:id: stkh_req__dependability__flow_monitoring
320
+
:reqtype: Functional
321
+
:security: YES
322
+
:safety: ASIL_B
323
+
:rationale: Not all POSIX operating systems provide protection of POSIX processes from timing errors (e.g. delayed execution, deadlocks)
324
+
:status: valid
325
+
326
+
The SW-platform safety components shall use program flow monitoring to detect run time errors or explain in their safety concept why they do not need this.
327
+
328
+
Note1: Reasons for not needing program flow monitoring could be an OS scheduler with timing and execution guarantees.
329
+
Or that the non/late execution of the application keeps the system in a safe state.
330
+
331
+
Note2: The SW-Platform supports this - see :need:`stkh_req__dependability__safety_features` "live, deadline, logical supervision"
0 commit comments