~tapaal-ltl/verifypn/scc-optimise

« back to all changes in this revision

Viewing changes to include/CTL/Algorithm/FixedPointAlgorithm.h

  • Committer: srba.jiri at gmail
  • Date: 2020-09-11 14:23:39 UTC
  • mfrom: (213.1.151 interval_tar)
  • Revision ID: srba.jiri@gmail.com-20200911142339-bq9328s1gppw24uj
merged in lp:~verifypn-maintainers/verifypn/interval_tar doing 
- Implements TAR w/o z3, but using a simple integer inference engine for Hoare logic.
 - Replaces LP-Solve with GLPK, reduces computation-time and memory overhead
 - Implements new global properties, translated into CTL formulae.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#ifndef FIXEDPOINTALGORITHM_H
 
2
#define FIXEDPOINTALGORITHM_H
 
3
 
 
4
#include "CTL/DependencyGraph/BasicDependencyGraph.h"
 
5
#include "CTL/SearchStrategy/SearchStrategy.h"
 
6
#include "PetriEngine/Reachability/ReachabilitySearch.h"
 
7
 
 
8
namespace Algorithm {
 
9
 
 
10
class FixedPointAlgorithm {
 
11
public:
 
12
    virtual bool search(DependencyGraph::BasicDependencyGraph &graph) =0;
 
13
    FixedPointAlgorithm(PetriEngine::Reachability::Strategy type);
 
14
    virtual ~FixedPointAlgorithm(){}
 
15
 
 
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; }
 
20
protected:
 
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;
 
30
};
 
31
}
 
32
#endif // FIXEDPOINTALGORITHM_H