1#ifndef PLATFORM_HEALTH_MANAGEMENT_H
2#define PLATFORM_HEALTH_MANAGEMENT_H
5#include "../../arxml/arxml_reader.h"
6#include "../../ara/exec/helper/modelled_process.h"
7#include "../../ara/phm/checkpoint_communicator.h"
8#include "../../ara/phm/supervisors/alive_supervision.h"
9#include "../../ara/phm/supervisors/deadline_supervision.h"
10#include "../../ara/phm/supervisors/global_supervision.h"
11#include "../helper/log_recovery_action.h"
21 static const std::string cAppId;
29 std::map<uint32_t, std::function<void()>> mReportDelegates;
31 static uint32_t getCheckpointId(
const std::string& content);
32 static void fillCheckpoints(
34 std::set<uint32_t> &checkpoints);
36 void onReportCheckpoint(uint32_t checkpoint);
37 bool tryAddReportDelegate(
38 std::string checkpointIdStr,
39 const std::set<uint32_t> &checkpoints,
40 std::function<
void()> &&delegate);
41 void configureAliveSupervision(
43 const std::set<uint32_t> &checkpoints);
44 void configureDeadlineSupervision(
46 const std::set<uint32_t> &checkpoints);
47 void onGlobalStatusChanged(
52 const std::atomic_bool *cancellationToken,
53 const std::map<std::string, std::string> &arguments)
override;
61 AsyncBsdSocketLib::Poller *poller,
63 std::string functionGroup);
A class to provide logging as the recovery action for a failed supervised entity.
Definition: log_recovery_action.h:13
A function group representative based on a manifest.
Definition: function_group.h:14
A class that models an instance of an Adaptive (Platform) Application executable.
Definition: modelled_process.h:20
An abstract class to communicate a checkpoint between an application and the PHM cluster.
Definition: checkpoint_communicator.h:15
Supervision method to check an entity aliveness periodically.
Definition: alive_supervision.h:19
Supervision method to check an entity aliveness via the source and target checkpoints.
Definition: deadline_supervision.h:18
A class to report the global supervision status based on several elementary supervisions.
Definition: global_supervision.h:26
A class to read ARXML configuration files.
Definition: arxml_reader.h:14
AUTOSAR application namespace.
Definition: diag_message_handler.cpp:5
Supervision update on global status.
Definition: global_supervision.h:15