An abstract model checker. More...
#include <base.h>
Public Member Functions | |
virtual int | mc_update_insert_vertex (vertex_t *vertex_in)=0 |
Update function for vertex insertion. | |
virtual int | mc_update_insert_edge (edge_t *edge_in)=0 |
Update function for edge insertion. | |
virtual int | mc_update_delete_vertex (vertex_t *vertex_in)=0 |
Update function for vertex deletion. | |
virtual int | mc_update_delete_edge (edge_t *edge_in)=0 |
Update function for edge insertion. | |
virtual int | get_solution (trajectory_t &trajectory_out)=0 |
Returns a trajectory, if one exists, that solves the problem. |
An abstract model checker.
The model checker checks, possibly incrementally, whether the graph maintained by the planner algorithm contains a trajectory that solves the problem at hand. In particular, a model checker may check whether there exists a trajectory that reaches a goal region. More generally, the model checker can evaluate whether the graph includes a trajectory that satisfies a temporal logic specification.
virtual int smp::model_checker_base< typeparams >::get_solution | ( | trajectory_t & | trajectory_out | ) | [pure virtual] |
Returns a trajectory, if one exists, that solves the problem.
This function can be called by the user to get a trajectory that solves the particular problem at hand. If the problem involves reaching a goal set, then this function will return a trajectory that does so, if such a trajectory currently exists in the graph.
trajectory_out | The trajectory output by the function. Set to an empty trajectory if no trajectory that solves the problem is present in the graph. |
Implemented in smp::model_checker_mu_calculus< typeparams >, smp::model_checker_reachability< typeparams, NUM_DIMENSIONS >, and smp::minimum_time_reachability< typeparams, NUM_DIMENSIONS >.
virtual int smp::model_checker_base< typeparams >::mc_update_delete_edge | ( | edge_t * | edge_in | ) | [pure virtual] |
Update function for edge insertion.
This function is called by the planner whenever an edge is delete from the graph. A pointer to the edge is given as an argument.
edge_in | A pointer to deleted edge. |
Implemented in smp::model_checker_mu_calculus< typeparams >, smp::model_checker_reachability< typeparams, NUM_DIMENSIONS >, and smp::minimum_time_reachability< typeparams, NUM_DIMENSIONS >.
virtual int smp::model_checker_base< typeparams >::mc_update_delete_vertex | ( | vertex_t * | vertex_in | ) | [pure virtual] |
Update function for vertex deletion.
This function is called by the planner whenever a vertex is deleted from the graph. A pointer to the vertex is given as an argument.
vertex_in | A pointer to deleted vertex. |
Implemented in smp::model_checker_mu_calculus< typeparams >, smp::model_checker_reachability< typeparams, NUM_DIMENSIONS >, and smp::minimum_time_reachability< typeparams, NUM_DIMENSIONS >.
virtual int smp::model_checker_base< typeparams >::mc_update_insert_edge | ( | edge_t * | edge_in | ) | [pure virtual] |
Update function for edge insertion.
This function is called by the planner whenever a new edge is added to the graph. A pointer to the new edge is given as an argument.
edge_in | A pointer to the new edge. |
Implemented in smp::model_checker_mu_calculus< typeparams >, smp::model_checker_reachability< typeparams, NUM_DIMENSIONS >, and smp::minimum_time_reachability< typeparams, NUM_DIMENSIONS >.
virtual int smp::model_checker_base< typeparams >::mc_update_insert_vertex | ( | vertex_t * | vertex_in | ) | [pure virtual] |
Update function for vertex insertion.
This function is called by the planner whenever a new vertex is added to the graph. A pointer to the new vertex is given as an argument.
vertex_in | A pointer to the new vertex. |
Implemented in smp::model_checker_mu_calculus< typeparams >, smp::model_checker_reachability< typeparams, NUM_DIMENSIONS >, and smp::minimum_time_reachability< typeparams, NUM_DIMENSIONS >.