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
17namespace 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)
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
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
void doTivAbstraction(void)
faudes::Experiment * mpExperiment
uint32_t Idx
void TimeInvariantAbstraction(const Experiment &exp, Generator &res)
void TimeVariantAbstraction(const Experiment &exp, Generator &res)

libFAUDES 2.34d --- 2026.03.11 --- c++ api documentaion by doxygen