smp::model_checker_base< typeparams > Class Template Reference

An abstract model checker. More...

#include <base.h>

Inheritance diagram for smp::model_checker_base< typeparams >:
smp::minimum_time_reachability< typeparams, NUM_DIMENSIONS > smp::model_checker_mu_calculus< typeparams > smp::model_checker_reachability< typeparams, NUM_DIMENSIONS >

List of all members.

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.

Detailed Description

template<class typeparams>
class smp::model_checker_base< typeparams >

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.


Member Function Documentation

template<class typeparams >
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.

Parameters:
trajectory_outThe trajectory output by the function. Set to an empty trajectory if no trajectory that solves the problem is present in the graph.
Returns:
Returns 1 for success, a non-positive value to indiacate error.

Implemented in smp::model_checker_mu_calculus< typeparams >, smp::model_checker_reachability< typeparams, NUM_DIMENSIONS >, and smp::minimum_time_reachability< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
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.

Parameters:
edge_inA pointer to deleted edge.
Returns:
Return 1 for success, a non-positive value to indiacate error.

Implemented in smp::model_checker_mu_calculus< typeparams >, smp::model_checker_reachability< typeparams, NUM_DIMENSIONS >, and smp::minimum_time_reachability< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
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.

Parameters:
vertex_inA pointer to deleted vertex.
Returns:
Return 1 if success, a non-positive value to indiacate error.

Implemented in smp::model_checker_mu_calculus< typeparams >, smp::model_checker_reachability< typeparams, NUM_DIMENSIONS >, and smp::minimum_time_reachability< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
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.

Parameters:
edge_inA pointer to the new edge.
Returns:
Return 1 for success, a non-positive value to indiacate error.

Implemented in smp::model_checker_mu_calculus< typeparams >, smp::model_checker_reachability< typeparams, NUM_DIMENSIONS >, and smp::minimum_time_reachability< typeparams, NUM_DIMENSIONS >.

template<class typeparams >
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.

Parameters:
vertex_inA pointer to the new vertex.
Returns:
Return 1 if success, a non-positive value to indiacate error.

Implemented in smp::model_checker_mu_calculus< typeparams >, smp::model_checker_reachability< typeparams, NUM_DIMENSIONS >, and smp::minimum_time_reachability< typeparams, NUM_DIMENSIONS >.


The documentation for this class was generated from the following file: