hyb_abstraction.h
Go to the documentation of this file.
1 /** @file hyb_abstraction.h Abstractions by experiments for linear hybrid automata */
2 
3 
4 /*
5  Hybrid systems plug-in for FAU Discrete Event Systems Library
6 
7  Copyright (C) 2017 Thomas Moor, Stefan Goetz
8 
9 */
10 
11 #ifndef HYP_ABSTRACTION_H
12 #define HYP_ABSTRACTION_H
13 
14 #include "corefaudes.h"
15 #include "hyb_experiment.h"
16 
17 namespace faudes {
18 
19 // very pragmatic function interface
22 
23 // abstraction class
25  public:
26  // construct/destruct
27  LbdAbstraction(void);
28  ~LbdAbstraction(void);
29 
30  // set experiment (must be initialised; we take ownership)
31  void Experiment(faudes::Experiment* exp);
32  const faudes::Experiment& Experiment(void);
33 
34  // pass on refine
35  void RefineAt(Idx nid);
36  void RefineUniformly(unsigned int depth);
37 
38  // get abstraction (we keep ownership)
39  const Generator& TivAbstraction(void);
40  const Generator& TvAbstraction(void);
41 
42  protected:
43 
44  // foster experiment
46 
47  // provide abstraction
50 
51  // track whether we need to update
52  bool mExpChanged;
53  bool mTivMode;
54  bool mTvMode;
55 
56  // workers
57  void doInitAbstraction(void);
58  void doTivAbstraction(void);
59  void doTivAbstractionMG(void);
60  void doTivAbstractionRY(void);
61  void doTvAbstraction(void);
62 
63 };
64 
65 
66 } // namespace
67 
68 #endif
#define FAUDES_API
Interface export/import symbols: windows.
Definition: cfl_platform.h:81
Finite fragment of a computation tree.
Set of indices.
Definition: cfl_indexset.h:78
void doTivAbstraction(void)
faudes::Experiment * mpExperiment
Base class of all FAUDES generators.
Includes all libFAUDES headers, no plugins.
Exhaustive experments on linear hybris automata.
libFAUDES resides within the namespace faudes.
uint32_t Idx
Type definition for index type (allways 32bit)
void TimeInvariantAbstraction(const Experiment &exp, Generator &res)
void TimeVariantAbstraction(const Experiment &exp, Generator &res)

libFAUDES 2.32b --- 2024.03.01 --- c++ api documentaion by doxygen