~tapaal-ltl/verifypn/scc-optimise

« back to all changes in this revision

Viewing changes to CTL/SearchStrategy/BFSSearch.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
 
/* 
2
 
 * File:   Encoder.h
3
 
 * Author: Peter G. Jensen
4
 
 *
5
 
 * Created on March 7, 2018, 1:50 PM
6
 
 */
7
 
 
8
 
#ifndef BFSSEARCH_H
9
 
#define BFSSEARCH_H
10
 
#include <queue>
11
 
#include "CTL/DependencyGraph/Edge.h"
12
 
#include "SearchStrategy.h"
13
 
 
14
 
namespace SearchStrategy {
15
 
 
16
 
// A custom search strategy that should ensure as little overhead as possible
17
 
// while running sequential computation.
18
 
 
19
 
class BFSSearch : public SearchStrategy {
20
 
 
21
 
protected:
22
 
    size_t Wsize() const { return W.size(); };
23
 
    void pushToW(DependencyGraph::Edge* edge) { W.push(edge); };
24
 
    DependencyGraph::Edge* popFromW() 
25
 
    {
26
 
        auto e = W.front();
27
 
        W.pop();
28
 
        return e;
29
 
    };    
30
 
    std::queue<DependencyGraph::Edge*> W;
31
 
};
32
 
 
33
 
}   // end SearchStrategy
34
 
 
35
 
#endif /* BFSSEARCH_H */
36