uRTEDemo_03_Nucleo-F446RE_SystemStates_10_Model

Runnable

run_UART_wakeUp

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.

Warnings

Safety (1)

Safety Warnings for Runnable run_UART_wakeUp.
Safety warnings are related to the Requirements Layer, especially the SIL

run_UART_wakeUp has a SIL required of SIL_1 but a SIL achieved of QM

Diagrams

Relationships

Safety

Required
The highest SIL derived from SafetyRequirements and Technical Functions.
SIL derived
SIL_1
This attribute allows to overwrite the derived SIL level. The result is the SIL effective attribute.
SIL manual
derived
The reason why the derived SIL is ignored and an explicit SIL is set.
reason
The SIL required for this implementation unit is defined by the derived SIL but can be overwritten by "SIL manual".
SIL required
SIL_1
Achieved
The achieved SIL for this implementation unit. Has to be provided by the user.
SIL achieved
QM
A justification why a certain SIL was achieved.
justification

Properties

Base
The name of this object. Certain classes of objects require this field to be unique. Please consider that this field might be used in code and thus must not contain special characters.
Name
run_UART_wakeUp
The type of this object within the uRTE model
Type
Runnable
A descriptive text for this object. Please consider that this field might be used in code and thus must not contain special characters.
Description

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.

A user defined ID which can be freely chosen. Please consider that this field might be used in code and thus must not contain special characters.
User-ID
Runnable_66
Each object within the uRTE model has a unique ID, this is the ID for this object
UID
_kvFsIOZqEeyZ2OzYlvU4PA
software unit configuration
the SWC containing Runnable run_UART_wakeUp.
Parent
UART
Worst Case Execution Time
WCET
0
Stack consumption
Stack
0
ROM consumption
ROM
0

Protection-Sets (1)

additional protection sets for this function

ProtectionSet Globals OutputSections Hardware Software Units Tasks

Contains the resources to use the UART module

runnable configuration
Runnables may change the SystemState by returning a value not "OK". If such a value is returned, the state handler within the central activation engine will be called and the global SystemState can be changed from there.
Has a return value
true

System-States (1)

Systemstates the runnable is active in.

State isStart Runnables Tasks

In this state, an LED will blink.

true
Ports

Ingoing Trigger Ports (1)

Trigger IN ports attached runnable run_UART_wakeUp.

Port Events Signal event source Container Task Guard Order
Runnable_run_UART_WakeUP

If an event comes in, the runnable shall switch the state to UART to start the periodic sending

run_UART_wakeUp UART
0

Requirement Layer

(Safety)Requirements (3)

(Safety)Requirements referencing to runnable run_UART_wakeUp.

(Safety)Requirement Parent User-ID Author Creation Date Start Date Deadline Expense Responsibe Category Type Status Justification Function Type SIL derived SIL manual SIL required Tests Technical Functions Software Other SW Hardware Signals Global variables Activation events Use-Cases User-Stories Refining Conflicting refined by conflicted by

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.

Requirement_95 Thomas Barth Wed Jun 08 17:56:19 CEST 2022 0.0 Thomas Barth product functional implemented - - - -

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

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

Technical Functions (1)

Technical functions referencing to runnable run_UART_wakeUp.

Function LFB Software Hardware Other Software SIL required SIL achieved SIL justification sub Technical Functions Requirements sub Requirements

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

SIL_1 QM

Software Layer

IN Signals (1)

Ingoing signals of runnable run_UART_wakeUp.

Signal Type Storage Runnables OUT Runnables IN Tasks SystemStates Requirements miminum Age maximum Age Checksum Force Sync Inline ISR API effective inline SIL required SIL achieved 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)

Fired whenever the button is pressed (but not if it is released)

Event local in
0 0 false false false false false QM QM - - - - - - - - -

Tasks (1)

Tasks runnable run_UART_wakeUp is executed by.

Task Core SIL Priority Software States Signals Init Hardware OutputSections Own TimeBase Stack

Task responsible for sending out UART protocolls

Arm® Cortex®-M4 SIL_1 5 - false .rtos.task.UART

Runnables triggering (1)

Runnables triggering the execution of runnable run_UART_wakeUp.

Unit Parent Function calls other Software Elements Technical Functions Requirements Type Tasks WCET Stack ROM Globals ProtectionSets SIL required SIL achieved sub Technical Functions sub Requirements) Has a return value SystemStates Ingoing Trigger Ports Outgoing Trigger Ports Ingoing Data Ports Outgoing Data Ports

Acquires the button state periodically and provides button signals

Button
Runnable 0 0 0
SIL_1 QM false
  • Runnable_run_readButton_Tick
  • Runnable_run_readButton_Edge_OUT
  • run_readButton_HW_IN
  • Runnable_run_readButton_Button_OUT
  • Runnable_run_readButton_button_pressed_cnt

Hardware Layer

Hardware Components (2)

Hardware runnable run_UART_wakeUp is associated with. Including executing CPUs, hardware referenced by its protectionSets and driver hardware of connecting signals.

Component Type Start End SIL required SIL achieved Sub-Components Technical Functions sub Technical Functions Requirements sub Requirements

Arm® 32-bit Cortex®-M4 CPU with FPU, Adaptive real-time accelerator (ART Accelerator) allowing 0-wait state execution from Flash memory, frequency up to 180 MHz, MPU, 225 DMIPS/1.25 DMIPS/MHz (Dhrystone 2.1), and DSP instructions

Core - - - QM

UART module connected to pin TX/RX PA2/PA3 at 115200 8N1

Periphery USART2_BASE USART3_BASE - 1 SIL_1 QM

Testing Layer

Tests (1)

Tests derived from referencing requirements.

Test User-ID Group Priority Status Procedure and Input-Data Expected Results gen Name gen Props 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.