Introduction To Runnable Entity In AUTOSAR
Runnable Entity In AUTOSAR is a heart of Software Component. This runnable is used to write the application behavior logic. The runnable is analogous to multiple functions in C for a particular SWC. In AUTOSAR, we create Runnable in a SWC during the configuration. This runnable or function skeleton is generated in respective source files of SWCs.
The name of skeleton function is the same that we give to the Runnable at the time of configuration. We need to write our code in this function or Runnable which will be then executed by AUTOSAR OS, this code is the application which the SWC should perform.
Runnables also have variables and some Runnables also have trigger points which “calls” or triggers our runnable when a specific condition is met. Such conditions can be defined during configuration, conditions can be: Init Runnable which will be called on initialization,periodic call of runnable which can be used to send some periodic data, different RTE events based triggering, etc.
Below is the example of runnable skeleton generated after configuration, this runnable is of Indicator SWC named Runnable1. Such runnable skeletons are generated in SWC .c files.
Structure Of a Runnable Entity In AUTOSAR
A Runnable Entity In AUTOSAR is typically consists of a set of instructions that define the tasks to be performed and the order in which they should be executed. It may be triggered by events or conditions, such as the detection of a fault or the receipt of a command from another component.
Runnable Entities are a key part of the AUTOSAR architecture, as they allow the ECU to perform its designated functions at runtime. They can be used to perform tasks such as reading data from sensors, performing calculations, or controlling devices.
Runnable Entities are typically defined as part of an ECU Configuration, which specifies the Runnable Entities and their execution order within the ECU. They may also be grouped together into Schedulable Units, which define the execution order and timing of the Runnable Entities.
A runnable entity is a sequence of instructions that is provided by the component and can be started by the Run-Time Environment. It runs in the context of a task.
Types Of Runnables In AUTOSAR
In AUTOSAR (AUTomotive Open System ARchitecture), there are two main types of Runnable Entity as per the Operating System:
- Background Runnable Entity: This type of Runnable Entity In AUTOSAR is executed in the background, typically at a lower priority than other Runnable Entities in the system. It is used to perform tasks that are not time-critical or that do not require immediate attention.
- Foreground Runnable Entity: This type of Runnable Entity is executed in the foreground, typically at a higher priority than background Runnable Entities. It is used to perform tasks that are time-critical or that require immediate attention, such as tasks that involve safety-critical functions or real-time control.
There are 3 types of runnables in AUTOSAR architecture.
- Init Runnable.
- Periodic Runnable.
- Server Runnable.
Init Runnable In AUTOSAR
In AUTOSAR (AUTomotive Open System ARchitecture), an Init Runnable is a software routine that is executed during the initialization phase of an ECU (Electronic Control Unit). It is used to perform tasks such as setting up hardware and software resources, configuring communication channels, and preparing the ECU for normal operation.
Init Runnables are typically defined as part of an Init Schedule Table, which specifies the order in which the Init Runnables should be executed. Init Runnables may also be triggered by events or conditions, such as the detection of a fault or the receipt of a command from another component.
Init Runnables are a key part of the AUTOSAR architecture, as they allow ECUs to perform necessary tasks during the initialization phase and prepare for normal operation. They can be used to ensure that the ECU is properly configured and ready to perform its designated functions.
Periodic Runnable In AUTOSAR
If the runnable is configured as periodic, then it will be getting called periodically as per the configured time. This is handled by the OSEK scheduler. This is also called sender or receiver type runnable.
In AUTOSAR (AUTomotive Open System ARchitecture), a Periodic Runnable is a type of Runnable Entity that is executed at regular intervals. It is typically used to perform tasks that need to be executed on a periodic basis, such as reading data from sensors or updating the state of a system.
Periodic Runnables are defined as part of an ECU Configuration, which specifies the Runnable Entity and its execution interval. The execution interval can be specified as a fixed period or as a variable period that is determined by an external factor, such as the state of a system or the occurrence of an event.
Periodic Runnables are a key part of the AUTOSAR architecture, as they allow the ECU to perform tasks on a regular basis and maintain the state of the system. They are typically used for tasks that are not time-critical or that do not require immediate attention.
Server Runnable In AUTOSAR
This runnable is used to handle the functions event based. This is nothing but the client-server communication type. There are 3 types of runnables in AUTOSAR.
In AUTOSAR (AUTomotive Open System ARchitecture), a Server Runnable is a type of Runnable Entity that is used to provide a service to other components in the system. It is typically triggered by an external request, such as a request from another component to access a specific piece of data or perform a specific task.
A Server Runnable is defined as part of an ECU Configuration, which specifies the Runnable Entity In AUTOSAR and its execution behavior. It may be triggered by events or conditions, such as the receipt of a request or the occurrence of a specific condition.
Server Runnables are a key part of the AUTOSAR architecture, as they allow components to communicate with each other and access shared functionality in a standardized way. They are typically used to provide access to data or services that are shared by multiple components in the system.
The runnables can be handled in such a way that the RTE can control it. That means the Runnables can be handled or controlled by the RTE layer how it want.
Thare are different Server Runnables and you can go through it from this link.