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 Packages (2)Requirement Packages contained in the model.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hazard Scenarios (1)Hazard Scenarios contained in the model.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Hazardous Events (2)Hazardous Events contained in the model.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Safetygoals (1)Safety Goals contained in the model.
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
(Safety)Requirements (13)(Safety)Requirements contained in the model.
|
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 |
Button | InDriver | 0 | 0 | 0 | QM | QM | - | - | - | - | - | - | - | - | uRTE_boolean_t | true | - | - | - | - | |||||||||
Hardware write-Interface towards the LED |
LED | OutDriver | 0 | 0 | 0 | QM | QM | - | - | - | - | - | - | - | - | uRTE_boolean_t | true | - | - | - | - | |||||||||
Controls the LED signal and thus the LED |
LED | Runnable | 0 | 0 | 0 | - | QM | false |
|
|
|
- | - | - | - | - | - | - | - | - | ||||||||||
Sends UART messages periodically via the UART signal |
UART | Runnable | 0 | 0 | 0 | QM | QM | true |
|
|
|
- | - | - | - | - | - | - | - | - | ||||||||||
Runnable to switch into the UART state if there is an event in the Blink State. |
UART | Runnable | 0 | 0 | 0 | QM | QM | true |
|
- | - | - | - | - | - | - | - | - | ||||||||||||
Acquires the button state periodically and provides button signals |
Button | 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 | uRTE_boolean_t | - |
|
- | |||||||||
contains the number of seconds, the button has been pressed |
Data | global in Button |
0 | 202 | true | false | false | false | false | QM | QM | 0 | false | button_cnt_t | - | - | ||||||||||
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 |
run_readButton | uRTE_uint16_t | - | 0 | .button | - | 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. |