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 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 results of all related Supervisions into a single "worst-of" result. That means that if one Supervision reports a FAILED, EXPIRED or STOPPED status, 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. If you expand the
Global Supervision you will see two new items:
Supervisions and
Transitions. - 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. |
Create Alive, Deadline or Logical Supervision
- You are in the PHM Editor.
- You have created a
Global Supervision.
- Expand your
Global 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 Global Supervisions
Under
Global Supervision >
Transitions you can define transition paths between a Source Checkpoint and a Target Checkpoint. Transitions are then referenced in
Deadline and
Logical Supervisions.