~tapaal-ltl/verifypn/scc-optimise

« back to all changes in this revision

Viewing changes to include/CTL/DependencyGraph/Configuration.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 CONFIGURATION_H
 
2
#define CONFIGURATION_H
 
3
 
 
4
#include "Edge.h"
 
5
 
 
6
#include <string>
 
7
#include <cstdio>
 
8
#include <iostream>
 
9
#include <vector>
 
10
 
 
11
namespace DependencyGraph {
 
12
 
 
13
class Edge;
 
14
 
 
15
enum Assignment {
 
16
    ONE = 1, UNKNOWN = 0, ZERO = -1, CZERO = -2
 
17
};
 
18
 
 
19
class Configuration
 
20
{
 
21
    uint32_t distance = 0;
 
22
public:
 
23
 
 
24
    uint32_t getDistance() const { return distance; }
 
25
    void setDistance(uint32_t value) { distance = value; }
 
26
 
 
27
    Configuration() {}
 
28
    virtual ~Configuration();
 
29
 
 
30
    bool isDone() const { return assignment == ONE || assignment == CZERO; }
 
31
 
 
32
    uint32_t owner = 0;
 
33
    uint32_t nsuccs = 0;
 
34
    std::vector<Edge*> dependency_set;
 
35
    Assignment assignment = UNKNOWN;
 
36
};
 
37
 
 
38
 
 
39
}
 
40
#endif // CONFIGURATION_H