uRTEDemo_03_Nucleo-F446RE_SystemStates_10_Model

Requirement - Requirement_95

UART

When the button is pressed, the system-state shall change from Blink into UART mode.
The start of UART mode shall be signaled via UART.
As long as the button is pressed, UART strings with the time in seconds the Button was pressed shall be send with the frequency with which the button pressed signal is updated.

Diagrams

Properties

Base
NameUART
Type Requirement
Description

When the button is pressed, the system-state shall change from Blink into UART mode. The start of UART mode shall be signaled via UART. As long as the button is pressed, UART strings with the time in seconds the Button was pressed shall be send with the frequency with which the button pressed signal is updated.

User-IDRequirement_95
UID_iIAIgOdDEeyMHMAOoLxcsQ
Package
Meta-Data
AuthorThomas Barth
Creation DateWed Jun 08 17:56:19 CEST 2022
Start Date
Deadline
Expense0.0
ResponsibeThomas Barth
Categoryproduct
Typefunctional
Statusimplemented
Tests

Tests (1)

References to the tests for this requirement

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

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.
Associated Implementation

Technical Functions (1)

Technical functions this requirement is mapped to

Function LFB Software Hardware Technical Functions sub Technical Functions Requirements sub Requirements

If the button is pressed, UART messages indicating the press duration are sent.

Software units (2)

Software-Components this requirement is mapped to.

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)

Sends UART messages periodically via the UART signal

UART
Runnable 0 0 0
QM QM
true
  • Runnable_run_UART_send_TPortIN_1
  • Runnable_run_UART_send_DPortIN_1
  • Runnable_run_UART_send_DPortIN_2
  • Runnable_run_UART_send_UART_OUT
- - - - - - - - -

Runnable to switch into the UART state if there is an event in the Blink State.
This runnable does not use hardware signals but accesses hardware directly and is therefore associated with
an protection set grandting access to hardware.

UART
Runnable 0 0 0
QM QM
true
  • Runnable_run_UART_WakeUP
- - - - - - - - -
(Safety)Requirement dependencies

(Safety)Requirements refined by (7)

(Safety)Requirements refined by this Requirement.

(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

Demonstrate the use of scalers and validators.
Make use of age restrictions, checksums and pointer access.

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.
The memory protection will automatically be generated.
The actual declaration is implemented as user-code to allow the use of non-trivial datatypes and operations.

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

Signals can either be global data objects of local objects on the task stack.
Global signals are the same for everyone while with local signals each task has an own copy which gets synchroized if the signal changes,

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.
For each runnable the system state it shall be active in is configured.
The resulting data-flow can be visualized in Software Model/uRTE/SystemStates

SafetyRequirement_98 Wed Jun 08 17:52:52 CEST 2022 0.0 product functional implemented System_Function QM derived QM

Functional Layer

Logical Function Blocks (3)

Logical Function Blocks which map to a technical function which is directly linked by this Safety Requirement.

Function Type Technical functions

An binary HMI

Input

The MCU implementing the logic

Service

A PC receiving UART messages

Monitor

Testing Layer

Tests (1)

Tests associated with this Requirement.

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

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.