Requirement Model
Contains the (safety) requirements of the system, along with their derivation via safetyGoals, hazardousEvents and hazardScenarious. The SIL for implemenation units in hard- and software will be derived from this model.
Requirement Model
Contains the (safety) requirements of the system, along with their derivation via safetyGoals, hazardousEvents and hazardScenarious. The SIL for implemenation units in hard- and software will be derived from this model.
Content | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
Requirement Package | Parent | SIL | Sub-Packages | (Safety)Requirements | Safety Goals | Hazardous Events | Hazard Scenarios | User Stories | Use Cases | Technical Functions | Logical Functions |
---|---|---|---|---|---|---|---|---|---|---|---|
All requirements related to the blinking LED |
- | ||||||||||
Requirements for the UART functionality |
SIL_1 |
|
Hazard Scenarios contained in the model.
Hazard Scenario | Parent | Hazard Events |
---|---|---|
This would be very sad. |
Hazardous Events contained in the model.
Hazardous Event | Parent | Probability | Controllability | Effect | SIL | Safety-Goals |
---|---|---|---|---|---|---|
The user might think µRTE is hard to use. |
QM | |||||
The customer might not see the full spectrum of features µRTE comes with. |
QM |
Safety Goals contained in the model.
Safety Goal | Parent | Function Type | SIL derived | SIL manual | SIL effective | Safe State | Safety Requirements |
---|---|---|---|---|---|---|---|
An small demo model with the most important features shall show the most important features of µRTE. |
System_Function | QM | derived | QM | Show slides |
|
(Safety)Requirements contained in the model.
(Safety)Requirement | Parent | User-ID | Author | Creation Date | Start Date | Deadline | Expense | Responsibe | Category | Type | Status | Function Type | SIL derived | SIL manual | SIL effective | Tests | Technical Functions | Software | Hardware | Signals | Global variables | Activation events | Use-Cases | User-Stories | Refining | Conflicting | refined by | conflicted by |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
In order to indicate that uRTE is up and running, an LED shall blink (toggle its binary state) with an frequency of 1/100ms. |
Requirement_32 | Thomas Barth | Tue Jun 07 13:05:57 CEST 2022 | 0.0 | Thomas Barth | product | functional | implemented | - | - | - | - | ||||||||||||||||
While the button is pressed, the LED shall be on permanently. |
Requirement_93 | Wed Jun 08 17:18:27 CEST 2022 | 0.0 | product | functional | implemented | - | - | - | - | ||||||||||||||||||
The LED on the Nucelo Board shall act as an simple demo. |
Requirement_94 | Thomas Barth | Wed Jun 08 17:23:11 CEST 2022 | 0.0 | Thomas Barth | product | non_functional | implemented | - | - | - | - |
|
|||||||||||||||
When the button is pressed, the system-state shall change from Blink into UART mode. |
Requirement_95 | Thomas Barth | Wed Jun 08 17:56:19 CEST 2022 | 0.0 | Thomas Barth | product | functional | implemented | - | - | - | - |
|
|||||||||||||||
How to read and write data form and to hardware. |
SafetyRequirement_110 | Thomas Barth | Thu Jun 09 20:50:22 CEST 2022 | 0.0 | Thomas Barth | product | functional | approved | System_Function | QM | derived | QM | ||||||||||||||||
Demonstrate the use of scalers and validators. |
SafetyRequirement_111 | Thu Jun 09 20:52:41 CEST 2022 | 0.0 | product | functional | approved | System_Function | QM | derived | QM | ||||||||||||||||||
Show how protection sets can be used to grant access to hardware. |
SafetyRequirement_115 | Fri Jun 10 14:24:52 CEST 2022 | 0.0 | product | functional | implemented | System_Function | QM | derived | QM | ||||||||||||||||||
Runnables can be activated by signal (onData/onError) events. |
SafetyRequirement_93 | Thomas Barth | Wed Jun 08 17:34:15 CEST 2022 | 0.0 | Thomas Barth | product | functional | implemented | System_Function | QM | derived | QM |
|
|||||||||||||||
Global variables can store data for Runnables and other Software Functions. |
SafetyRequirement_94 | Thomas Barth | Wed Jun 08 17:34:15 CEST 2022 | 0.0 | Thomas Barth | product | functional | implemented | System_Function | QM | derived | QM | ||||||||||||||||
Runnables can be activated by cyclic events. |
SafetyRequirement_95 | Thomas Barth | Wed Jun 08 17:34:15 CEST 2022 | 0.0 | Thomas Barth | product | functional | implemented | System_Function | QM | SIL_1 | SIL_1 |
|
|||||||||||||||
µRTE easily can transmit events and data between tasks |
SafetyRequirement_96 | Thomas Barth | Wed Jun 08 17:46:14 CEST 2022 | 0.0 | Thomas Barth | product | functional | implemented | System_Function | QM | derived | QM |
|
|||||||||||||||
Signals can either be global data objects of local objects on the task stack. |
SafetyRequirement_97 | Wed Jun 08 17:49:01 CEST 2022 | 0.0 | product | non_functional | implemented | System_Function | QM | derived | QM |
|
|||||||||||||||||
uRTE allows the definition of multiple system-states where each state has an own data-flow. |
SafetyRequirement_98 | Wed Jun 08 17:52:52 CEST 2022 | 0.0 | product | functional | implemented | System_Function | QM | derived | QM |
Technical Functions associated with (Safety)Requirements of the model.
Function | LFB | Software | Hardware | Technical Functions | sub Technical Functions | Requirements | sub Requirements |
---|---|---|---|---|---|---|---|
An LED shall blink to indicate that the system is alive and responding. |
|||||||
If the button is pressed, UART messages indicating the press duration are sent. |
Logical Function Blocks associated with (Safety)Requirements of the model.
Function | Type | Technical functions |
---|---|---|
An binary HMI |
Input | |
The MCU implementing the logic |
Service | |
An LED to indicate a binary state |
Output | |
A PC receiving UART messages |
Monitor |
Software Functions associated with (Safety)Requirements of the model.
Unit | Parent | Function calls | Technical Functions | Requirements | Type | Tasks | WCET | Stack | ROM | Globals | ProtectionSets | SIL req | SIL ach | sub Technical Functions (R) | sub Requirements (R) | Has a return value (R) | SystemStates (R) | Ingoing Trigger Ports (R) | Outgoing Trigger Ports (R) | Ingoing Data Ports (R) | Outgoing Data Ports (R) | Signals (D) | Runnables (D) | DataType (D) | Is Synchronous (D) | Hardware (D) | Ports (G) | Callers (F) | Return Type (F) | Parameters (F) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Reads the current button state from hardware |
![]() |
InDriver | 0 | 0 | 0 | QM | QM | - | - | - | - | - | - | - | - | ![]() |
true | - | - | - | - | |||||||||
Hardware write-Interface towards the LED |
![]() |
OutDriver | 0 | 0 | 0 | QM | QM | - | - | - | - | - | - | - | - | ![]() |
true | - | - | - | - | |||||||||
Controls the LED signal and thus the LED |
![]() |
Runnable | 0 | 0 | 0 | - | QM | false |
|
|
|
- | - | - | - | - | - | - | - | - | ||||||||||
Sends UART messages periodically via the UART signal |
![]() |
Runnable | 0 | 0 | 0 | QM | QM | true |
|
|
|
- | - | - | - | - | - | - | - | - | ||||||||||
Runnable to switch into the UART state if there is an event in the Blink State. |
![]() |
Runnable | 0 | 0 | 0 | QM | QM | true |
|
- | - | - | - | - | - | - | - | - | ||||||||||||
Acquires the button state periodically and provides button signals |
![]() |
Runnable | 0 | 0 | 0 | QM | QM | false |
|
|
|
|
- | - | - | - | - | - | - | - | - |
Signals associated with (Safety)Requirements of the model.
Signal | Type | Storage | Runnables OUT | Runnables IN | Tasks | SystemStates | Requirements | miminum Age | maximum Age | Checksum | Force Sync | Inline | ISR API | effective inline | SIL req | SIL ach | Initial value (D) | Pointer access (D) | Datatype (D) | Alt-In (D) | Alt-Out (D) | In-Driver (D) | Out-Driver (D) | OnData (D) | OnError (D) | OnTrigger (E) |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Hardware Out interface for UART. |
Data | local in |
0 | 0 | false | false | false | false | false | QM | QM | true | undefined | - | - | |||||||||||
A representation of the current button state |
Data | local in |
0 | 105 | false | false | false | false | false | SIL_1 | QM | false | false | ![]() |
- |
|
- | |||||||||
contains the number of seconds, the button has been pressed |
Data | global in ![]() |
0 | 202 | true | false | false | false | false | QM | QM | 0 | false | ![]() |
- | - | ||||||||||
Fired whenever the button is pressed (but not if it is released) |
Event | local in |
0 | 0 | false | false | false | false | false | QM | QM | - | - | - | - | - | - | - | - | - |
|
Global variables associated with (Safety)Requirements of the model.
Global Variable | Container | DataType | Requirements | public (S) | InitValue | Storage | Protection Set (S) | SIL req | SIL ach |
---|---|---|---|---|---|---|---|---|---|
internal counter for button press duration |
![]() |
![]() |
- | 0 | ![]() |
- | QM | QM |
Activation events associated with (Safety)Requirements of the model.
Event | Type | Cycle Time (C) | Offset (C) | Task-Init (S) | Requirements | Ports | Runnables | Tasks | SystemStates | SIL req | SIL ach |
---|---|---|---|---|---|---|---|---|---|---|---|
Timebase for button read operations |
CyclicEvent | 200 | 0 | - |
|
SIL_1 | QM | ||||
The timebase for the LED logic. Has an bit of offset to make sure it comes after the button has been read (button value is polled). |
CyclicEvent | 100 | 2 | - |
|
- | QM |
Tests associated with (Safety)Requirements.
Test | User-ID | Group | Priority | Status | Procedure and Input-Data | Expected Results | SIL | Requirements | Technical-Functions | Software-Units | Signals | Global variables | Activation-Events | Hardware-Components |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
The LED has to blink with a frequency of 1/100ms. |
Test_132 | 0 | implemented | Regular power-on without user-input | A blinking LED | |||||||||
Check if the LED is permanent on if there is user-input from the button |
Test_133 | 0 | implemented | After a regular power-on, the button is pressed | The LED shall be permanently on while the button is pressed | |||||||||
Tests the UART functionality at the system level |
Test_134 | 0 | approved | Regular power-on with a terminal connected to UART. The Button is pressed for 10 seconds. | The string '--- UART WakeUp ----' is send whenever the button is pressed, followed by 'Button pressed for %d seconds.' messages, where '%d' represents the integer number of seconds the button already has been pressed. |