Health Monitoring of a Supervised Entity with DaVinci Developer Adaptive is set up by creating interfaces for the processes to be supervised as well as for the notification process, mapping them to a machine (ECU) and configuring the supervision and notification parameters.
Steps:
Create Supervised Entity Interface
To supervise a process of your application, you need to create a Supervised Entity Interface for it.
- Open the Platform Health Management Editor.
- Right-click on
Interfaces.
- Select Create PHM Supervised Entity Interface.
- The Create PHM Supervised Entity Interface wizard opens.
- Choose a name for your Supervised Entity.
- Choose the Package and the ARXML file where the Supervised Entity Interface should be stored.
- Click Finish.
- You have created a
Supervised Entity Interface. It is now listed under Interfaces.
- Create the Checkpoints for Supervision.
- The
Supervised Entity Interface can now be used to create an application port in the Executable.
Create Recovery Notification Interface
To be able to notify state management or the watchdog you need to create a Recovery Notification Interface for the corresponding daemon process.
- You are in the PHM Editor.
- Right-click on
Interfaces.
- Select Create PHM Supervision Recovery Notification Interface.
- The Create PHM Supervision Recovery Notification Interface wizard opens.
- Choose a name for your Notification Interface.
- Choose the Package and the ARXML file where the Notification Interface should be stored.
- Click Finish.
- You have created a
Recovery Notification Interface. It is now listed under Interfaces. The
Recovery Notification Interface can now be used to create a state manager port in the Executable.
Create ports in the Executable
To get the input of a process and to send output to State Management, we need to create ports for those processes in the Executable.
- Open the Executable Editor.
- Select the SWComponent for the application.
- Select the tab Others.
Add Port Prototype and check Required for your Supervised Entity Interface.
- Click Finish.
- The port for your Supervised Entity Interface is listed under Ports.
- Select the SWComponent for your state manager application.
- Select the tab Others.
Create Port Prototype and check Provided for your Recovery Notification Interface.
- Click Finish.
- The port for your Recovery Notification Interface is listed under Ports.
- Go back to the PHM Editor.
- You now have set up the input and output ports for Platform Health Management. You can now add them to your Supervisions.
Create a Contribution
A Contribution indicates that the current PHM configuration is part of a broader configuration scheme. At the
Contribution level we configure the PHM daemon.
- We select the Checkpoints that we want to supervise,
- map the related Supervisions to a machine, and can
- disable the Watchdog for all Global Supervisions related to that Contribution.
- You are in the PHM Editor.
- Right-click on
Contributions.
- Select Create Platform Health Management Contribution.
- The Create Platform Health Management Contribution wizard opens.
- Choose a name for your
Contribution.
- Choose the Package and the ARXML file where the
Contribution should be stored.
- Click Finish.
- The wizard closes.
- Go to the section Checkpoints and
Create and Map the Supervision Checkpoints that you want to supervise in this
Contribution.
- Go to the section Machine and
Map a Machine that was defined in the Machine Editor.
- You have created a
Contribution. It now is listed under
Contributions. Now, you are able to create
Global and
Local Supervisions for this
Contribution.
Disable Watchdog for a Contribution
At the Contribution level you have two settings concerning the Watchdog in the MICROSAR Adaptive Parameters:
Parameter | Description |
---|---|
Watchdog Alive Notification Cycle Time | The watchdog alive notification cycle time used for alive notifications to the Watchdog Client. |
Disable Watchdog Client | Deactivate watchdog for all Global Supervisions in that Contribution. |
Create Global Supervision for reporting to State Management
A Global Supervision combines the result of all related Local Supervisions into a single global “worst-of” result. That means that if one Local Supervision reports a status FAILED, EXPIRED or STOPPED the result of the Global Supervision takes on that status and reports it to the State Manager.
- You are in the PHM Editor.
- A
Contribution was created.
- Right-click on your
Contribution.
- Select
Create Global Supervision.
- A new
Global Supervision was added.
- Select the new
Global Supervision, name it and fill out the necessary parameters.
- To send a Recovery Notification to State Management in case of failure, in the section Recovery Notification add the fitting ports for the Recovery Notification Interface as Health Channels.
Parameters Global Supervision
Parameter | Description |
---|---|
Name | Unique name of the Global Supervision |
Description | Choose a good description that explains the Global Supervision to your future self and your colleagues. |
Expired Supervision Cycles Tolerance | Defines the acceptable amount of cycles with EXPIRED supervision status of this Global Supervision before it is considered STOPPED. |
Supervision Cycle | Defines at which cycle the Global Supervision shall be executed. For example: 0.05 (seconds) |
Create Local Supervision for a Process
Get monitoring result of your Supervised Entity and define when monitoring should be active.
- You are in the PHM Editor.
- You have created a
Global Supervision.
- Right-click on your
Global Supervision.
- Select
Create Local Supervision.
- A new
Local Supervision was added. If you expand the
Local Supervision you will see two new items:
Supervisions and
Transitions.
- Select the new
Local Supervision, name it and fill out the necessary Supervision parameters.
- Configure when the
Local Supervision is active in the MICROSAR Adaptive Parameters.
Parameters Local Supervision
Parameter | Description |
---|---|
Name | Unique name of the Local Supervision |
Description | Choose a good description that explains the Local Supervision to your future self and your colleagues. |
Failed Supervision Cycles Tolerance | Defines the acceptable amount of cycles with FAILED supervision status of this Local Supervision before it is considered EXPIRED. |
MICROSAR Adaptive Parameters for Local Supervision
Extension | Parameter | Description |
---|---|---|
functionGroupStates PHMFunctionGroupStateGroups | Function Group Ref | Name of the Function Group defined in the Software Cluster Editor. |
functionGroupStateRefs | functionGroupStateRefs | States of the Function Group when the Local Supervision is active. Which States are available is defined in the Machine Editor. |
Create Alive, Deadline or Logical Supervision
- You are in the PHM Editor.
- You have created a
Local Supervision.
- Expand your
Local Supervision.
- Right click on
Supervisions.
- Select the required Supervision type.
- Your Supervision type was added.
- Select the Supervision and fill out the necessary parameters.
Supervision Types
For Health Monitoring there are three different Supervision types that can be chosen in the PHM Editor.
Supervision Type | Description |
---|---|
| Monitors a cyclic checkpoint to ensure it reports at the correct interval. If a monitored application signals its "alive" status too frequently or too infrequently, a violation is identified. |
| Monitors the transition time between two checkpoints of a Supervised Entity to find out if a process is early, timely or late. |
| Defines the checkpoints and transitions that indicate if the process flow is executed as expected or not. |
Parameters Alive Supervision
Parameter | Required/ | Data type | Description |
---|---|---|---|
Name | Required | String | Unique name of the Supervision. |
Description | Optional | String | Choose a good description that explains the Alive Supervision to your future self and your colleagues. |
Alive Reference Cycle | Required | Integer | Time period at which the Alive Supervision mechanism compares the amount of received Alive Indications for the |
Expected Live Indications | Required | Integer | Defines the amount of expected Alive Indications of the |
Max Margin | Required | Integer | Defines the amount of expected Alive Indications of the |
Min Margin | Required | Integer | Defines the amount of expected Alive Indications of the |
Supervision Checkpoint | Required | Reference | Reference to a checkpoint in the context of Alive Supervision. References a Checkpoint related to the current |
Max Startup Delay | Optional | Integer | Defines the maximum start-up delay time of the Alive Supervision in seconds. Must be an integer multiple of |
Parameters Deadline Supervision
Parameter | Required/ | Data type | Description |
---|---|---|---|
Name | Required | String | Unique name of the Supervision. |
Description | Optional | String | Choose a good description that explains the Deadline Supervision to your future self and your colleagues. |
Max Deadline | Required | Integer | The longest time span allowed for a transition between two checkpoints. |
Min Deadline | Required | Integer | The shortest time span allowed for the transition between two checkpoints. |
Checkpoint Transition | Required | Reference | Checkpoint Transition to be monitored. Defined under |
Source | Required | Reference | Source Checkpoint for this transition. Field is connected to the selected References Checkpoints related to the current |
Target | Required | Reference | Target Checkpoint for this transition. Field is connected to the selected References Checkpoints related to the current |
Parameters Logical Supervision
Parameter | Required/ | Data type | Description |
---|---|---|---|
Name | Required | String | Unique name of the Supervision. |
Description | Optional | String | Choose a good description that explains the Logical Supervision to your future self and your colleagues. |
Initial Checkpoints | Required | References | Starting points within the logical sequence of a Supervised Entity. Initial Checkpoints define where a particular logical flow begins. References Checkpoints related to the current |
Transitions | Required | References | Defines how a process is supposed to flow from the Initial Checkpoint to the Final Checkpoint. References |
Final Checkpoints | Required | References | The Final Checkpoint is the endpoint within the logical sequence of a Supervised Entity. References Checkpoints related to the current |
Transitions for Local Supervisions
Under Local Supervision >
Transitions you can define transition paths between a Source Checkpoint and a Target Checkpoint. Transitions are then referenced in
Deadline and
Logical Supervisions.