1
#ifndef FIXEDPOINTALGORITHM_H
2
#define FIXEDPOINTALGORITHM_H
4
#include "CTL/DependencyGraph/BasicDependencyGraph.h"
5
#include "CTL/SearchStrategy/SearchStrategy.h"
6
#include "PetriEngine/Reachability/ReachabilitySearch.h"
10
class FixedPointAlgorithm {
12
virtual bool search(DependencyGraph::BasicDependencyGraph &graph) =0;
13
FixedPointAlgorithm(PetriEngine::Reachability::Strategy type);
14
virtual ~FixedPointAlgorithm(){}
16
size_t processedEdges() const { return _processedEdges; }
17
size_t processedNegationEdges() const { return _processedNegationEdges; }
18
size_t exploredConfigurations() const { return _exploredConfigurations; }
19
size_t numberOfEdges() const { return _numberOfEdges; }
21
std::shared_ptr<SearchStrategy::SearchStrategy> strategy;
22
//total number of processed edges
23
size_t _processedEdges = 0;
24
//total number of processed negation edges
25
size_t _processedNegationEdges = 0;
26
//number of explored configurations
27
size_t _exploredConfigurations = 0;
28
//total number of edges found when computing successors
29
size_t _numberOfEdges = 0;
32
#endif // FIXEDPOINTALGORITHM_H