LydiaSyft
maxset.hpp
1 //
2 // Created by marcofavorito on 22/01/24.
3 //
4 
5 #ifndef LYDIASYFT_CLI_MAXSET_H
6 #define LYDIASYFT_CLI_MAXSET_H
7 
8 #include <CLI/CLI.hpp>
9 
10 
11 namespace Syft {
12 
13 
14  class MaxSetRunner : public BaseRunner {
15  private:
16  Syft::Stopwatch aut_time_stopwatch_; // stopwatch for automata construction
17  Syft::Stopwatch nondef_strategy_time_stopwatch_; // stopwatch for nondeferring strategy
18  Syft::Stopwatch def_strategy_time_stopwatch_; // stopwatch for deferring strategy
19 
20  void do_maxset_synthesis(const SymbolicStateDfa& dfa);
21  public:
22  MaxSetRunner(const std::shared_ptr<whitemech::lydia::parsers::ltlf::LTLfDriver>& driver, const std::string& formula_file, const std::string& path_to_syfco, bool print_strategy, bool print_times) :
23  BaseRunner(driver, formula_file, path_to_syfco, print_strategy, print_times) {}
24  void run();
25 
26  };
27 
28 
29 }
30 
31 
32 #endif //LYDIASYFT_CLI_MAXSET_H
Base class for running a synthesis algorithm.
Definition: base.hpp:75
Definition: maxset.hpp:14
Stopwatch for timing executions.
Definition: Stopwatch.h:11
A DFA with symbolic states and transitions.
Definition: SymbolicStateDfa.h:18