## 3 Description of the Selected Proposals
### Continuous Planning and Execution Framework (CPEF)  
The continuous planning and execution framework (CPEF) [72; 73] is a framework designed for the plan generation, execution, monitoring and repairing aimed to solve complex tasks in unpredictable and dynamic environments. It was developed as part of the Defense Advanced Research Projects Agency (DARPA) Joint Forces Air Component Commander (JFACC) program, and validated through several demonstrations [74; 75; 76; 77]. Although it was conceived for its use with UAVs, the proposed design for the framework could be of use for any other application domain. Figure 18 shows the functional overview of the six components that make up CPEF. The Plan Manager is the core component, responsible for the control of the system. It is in charge of controlling the generation of plans, supervise their execution, provide knowledge for both plans and plan executions, respond to unexpected events and control the adaptation of the plan in the event of plan failures that require plan updates. The supervision of the execution of the plans from the plan manager uses a flow model in which the plan manager waits for the outcome of individual action. \begin{table}
\begin{tabular}{c c c} \hline \hline
**Feature** & **Category** & **Explanation** \\ \hline Plan & 2 MH & The plan specification within the SWARMs project is done using an ad-hoc format that includes multi-agent and hierarchical approaches. \\ \hline \multirow{4}{*}{Adaptation} & \multirow{4}{*}{4} & Each vehicle in SWARMs is capable of performing some adaptation while executing a mission in order to achieve the assigned tasks. \\  & & The mission manager can abort a vehicle plan at any given time while \\  & & keeping the rest of the mission plan in execution and re-plan just for \\  & & that vehicle. \\ \hline \multirow{2}{*}{Virtualization} & \multirow{2}{*}{4} & The MTRR in SWARMs uses a basic virtualization approach tightly coupled to the heterogeneous capabilities of the available vehicles. \\  & & The MTRR is able to dispatch the actions in the plan to the vehicles \\ \cline{1-1}  & & following a task by task approach or sending them the full mission. \\ \hline \hline \end{tabular}
\end{table} 
Table 9: SWARMs assessment. Besides the tracking of the execution through the flow control model used in the plan manager, CPEF resorts to the use of monitors, defined as _event-response_ rules. These monitors can trigger the execution of a predefined response whenever they detect a specific event. There are three main categories of monitors defined in CPEF:  
* Failure monitors: They provide the responses to the failures that can happen while a plan is being executed. * Knowledge monitors: They provide the responses for decision-making regarding the changes in the world-state. * Assumption monitors: They provide the responses for changes in the situation of the plan execution that violate the assumptions on which the plan relies. Regarding adaption, CPEF, using the monitors already described, defines generalized failure models for assessing the detected fails, and deciding if they are relevant enough to require for the repairing of the plan in execution. As for the features considered in this survey, the literature about CPEF does not provide a description about the mission plan specification, and therefore the category for the plan specification is category 1. In regards to the adaptation feature, the CPEF proposal explicitly mentions that the plan manager is able to adapt the plan to the events that trigger the plan repair mechanism. This adaptation is made at the agents implementing the CPEF architecture, without specific mention to the use of a possible decentralized control pattern. Therefore, the category we have assigned to CPEF for the adaptation feature is category 3. As with the plan specification feature, CPEF does not describe any virtualization or abstraction mechanism, subsequently being categorized as category 1 for the virtualization feature.