uRTEDemo_03_Nucleo-F446RE_SystemStates_10_Model

SWComponent

Button

Logic for the button

Diagrams

User Diagrams

Safety

Required
SILs of the software functions contained in this SWC.
SILs required
SIL_1

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
Button
The type of this object within the uRTE model
Type
SWComponent
A descriptive text for this object. Please consider that this field might be used in code and thus must not contain special characters.
Description

Logic for the button

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
SWComponent_34
Each object within the uRTE model has a unique ID, this is the ID for this object
UID
_5mAcMOZgEeyZ2OzYlvU4PA
configuration
The filename of the SWC, used for referencing (#include) and code generation.
Filename
swc_button
Wether this SWC shall be generated by uRTE or not.
Generated
true
Defines if the generated code files shall be put into a sub-folder names after the component.
Sub-Folder
false
containment

Software units (2)

All software units contained in this SWC

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

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

Outgoing Trigger Ports (1)

Trigger OUT ports attached to this SWC

Port Signal event target Container
SWC_Button_OUT_Edge Button

Ingoing Data Ports (1)

Data IN ports attached to this SWC

Port Signals Source Container
SWC_Button_HW_IN Button

Outgoing Data Ports (2)

Data OUT ports attached to this SWC

Port Signals Target Container
SWC_Button_OUT_Count Button
SWC_Button_OUT_State Button

Requirement Layer

Hazard Scenarios (1)

Hazard Scenarios for associated Hazardous Events.

Hazard Scenario Parent Hazard Events

This would be very sad.

Hazardous Events (2)

Hazardous Events for associated Safety Goals.

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

Safetygoals (1)

Safety Goals linking to the Requirements.

Safety Goal Parent Function Type SIL derived SIL manual SIL required 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 (2)

Requirements mapped to software units in this SWC.

(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

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 mapped to software functions in this SWC.

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

Tasks (1)

Tasks executing software units in this SWC

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

Signals (4)

Signals used by the runnables in this SWC

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
-

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

Output-Sections (1)

Sections used by the global variables of this SWC or its software units.

OutputSection SIL References Initialization Generate Section start symbol Section end symbol Memory

a section containing application data for the button

SIL_1 UnInit true ADRL_uRTE_BUTTON_BEGIN* ADRL_uRTE_BUTTON_END* main
Symbols marked with * are automatically generated because no value was set.

Triggered Runnables (2)

Runnables in other SWCs triggered by runnables in this SWC.

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

Target Runnables (2)

Runnables in other SWCs receiving data from the runnables in this SWC.

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

Ingoing Trigger Ports (1)

Trigger IN ports attached to the runnables in this SWC.

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

Activation-Events (1)

Activation Events triggering the execution of runnables in this SWC.

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

Hardware Layer

Hardware Components (2)

Cores executing the software units of this SWC and hardware references by the drivers.

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