uRTEDemo_03_Nucleo-F446RE_SystemStates_10_Model

Runnable

run_readButton

Acquires the button state periodically and provides button signals

Warnings

Safety (2)

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

run_readButton has a SIL required of SIL_1 but a SIL achieved of QM
Multiple Technical functions for run_readButton: Blinking LED, UART

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_readButton
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

Acquires the button state periodically and provides button signals

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_36
Each object within the uRTE model has a unique ID, this is the ID for this object
UID
_QXUQ0OZhEeyZ2OzYlvU4PA
software unit configuration
the SWC containing Runnable run_readButton.
Parent
Button
Worst Case Execution Time
WCET
0
Stack consumption
Stack
0
ROM consumption
ROM
0

Global Variables (1)

global variables for this function

Global Variable Container DataType Requirements public (S) InitValue Storage Protection Set (S) SIL required SIL achieved

internal counter for button press duration

run_readButton uRTE_uint16_t - 0 .button - SIL_1 QM
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
false

System-States (2)

Systemstates the runnable is active in.

State isStart Runnables Tasks

In this state, an LED will blink.

true

A state that is entered if the user has pressed the button. Here, periodic UART messages are sent.

false
Ports

Ingoing Trigger Ports (1)

Trigger IN ports attached runnable run_readButton.

Port Events Signal event source Container Task Guard Order
Runnable_run_readButton_Tick
run_readButton Button
0

Outgoing Trigger Ports (1)

Trigger OUT ports attached to runnable run_readButton.

Port Signal event target Container
Runnable_run_readButton_Edge_OUT run_readButton

Ingoing Data Ports (1)

Data IN ports attached to runnable run_readButton.

Port Signals Source Container
run_readButton_HW_IN run_readButton

Outgoing Data Ports (2)

Data OUT ports attached to runnable run_readButton.

Port Signals Target Container
Runnable_run_readButton_Button_OUT run_readButton
Runnable_run_readButton_button_pressed_cnt run_readButton

Requirement Layer

(Safety)Requirements (1)

(Safety)Requirements referencing to runnable run_readButton.

(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

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

(Safety)Requirements to guards and drivers (1)

(Safety)Requirements referencing to guards, functions and drivers

(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

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

Functional Layer

Technical Functions (2)

Technical functions referencing to runnable run_readButton.

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

An LED shall blink to indicate that the system is alive and responding.

SIL_1 QM

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

SIL_1 QM

Technical functions to guards and drivers (2)

Technical functions referencing to guards, functions and drivers of runnable run_readButton.

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

An LED shall blink to indicate that the system is alive and responding.

SIL_1 QM

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_readButton.

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)

Hardware interface for the button

Data local in
0 2 false false false false false - QM false false uRTE_boolean_t
ButtonRead
-

OUT Signals (3)

Outgoing signals of runnable run_readButton.

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)

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 - - - - - - - - -

Software units (1)

Software units which are associated with runnable run_readButton.

Unit Parent Function calls other Software Elements Technical Functions Requirements Type Tasks WCET Stack ROM Globals ProtectionSets SIL required SIL achieved 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
SIL_1 QM - - - - - - - - uRTE_boolean_t true - - - -

Tasks (1)

Tasks runnable run_readButton is executed by.

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

Task responsible for reading the button state

Arm® Cortex®-M4 SIL_1 6 - false .rtos.task.Button

DataTypes (3)

Datatypes runnable run_readButton is associated with.

Type Atomic Primitive Initial value Typedef path Signals Drivers Global Variables

Saves the number of ticks an button has been pressed

false false 0 generated at src_rte\signals\types\button_cnt_t_type.h

This type used by uRTE internally and is avaiable for general purpose. Its save to delete this type if it is not needed.

true true 0 generated at src_rte\signals\types\uRTE_boolean_t_type.h

This type used by uRTE internally and is avaiable for general purpose. Its save to delete this type if it is not needed.

true true 0 generated at src_rte\signals\types\uRTE_uint16_t_type.h

Activation-Events (1)

Activation Events triggering the execution of runnable run_readButton.

Event Type Cycle Time (C) Offset (C) Task-Init (S) Requirements Ports Runnables Tasks SystemStates SIL required SIL achieved

Timebase for button read operations

CyclicEvent 200 0 - SIL_1 QM

Runnables triggered (2)

Runnables triggered by runnable run_readButton.

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

Sends UART messages periodically via the UART signal

UART
Runnable 0 0 0
SIL_1 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
SIL_1 QM
true
  • Runnable_run_UART_WakeUP

Runnables receiving data (2)

Runnables receiving data from runnable run_readButton.

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

Controls the LED signal and thus the LED

LED
Runnable 0 0 0
SIL_1 QM false
  • Runnable_00_blink_Tick
  • Runnable_blink_Button_IN
  • Runnable_00_blink_OUT

Sends UART messages periodically via the UART signal

UART
Runnable 0 0 0
SIL_1 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

Hardware Layer

Hardware Components (2)

Hardware runnable run_readButton 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

B1 [Blue PushButton] on the Nucleo Board

Periphery GPIOC_BASE GPIOD_BASE - 1 - QM