~verifypn-stub/verifypn/short-circut

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#ifndef PETRICONFIG_H
#define PETRICONFIG_H

#include <sstream>
#include "../DependencyGraph/Configuration.h"
#include "../CTLParser/CTLQuery.h"
#include "../CTLParser/CTLParser.h"

namespace PetriNets {

class PetriConfig : public DependencyGraph::Configuration {

public:
    PetriConfig() : 
        DependencyGraph::Configuration(), marking(0), query(NULL) 
    {}
    
    PetriConfig(size_t t_marking, CTLQuery *t_query) :
        DependencyGraph::Configuration(), marking(t_marking), query(t_query) {
    }

    size_t marking;
    CTLQuery *query;

    virtual std::string toString() const override
    {
        std::stringstream ss;
        ss << "==================== Configuration ====================" << std::endl
           << attrToString() << " Depth: " << query->Depth << " IsTemporal: " << (query->IsTemporal ? "TRUE" : "FALSE") << std::endl
//           << marking->toString() << std::endl
           << query->ToString() << std::endl
           << "=======================================================" << std::endl;

        return ss.str();
    }

    virtual void printConfiguration() const override {
        std::cout << toString();
    }

};

}
#endif // PETRICONFIG_H