1 #ifndef REPRESENTATION_FORMAL_HYBRID_AUTOMATON_LOCATIONS_MODEL_MODEL_H 2 #define REPRESENTATION_FORMAL_HYBRID_AUTOMATON_LOCATIONS_MODEL_MODEL_H 12 template <
typename Analyser>
15 template <
typename Analyser>
16 class Model :
public Analyser,
public std::enable_shared_from_this<Model<Analyser>>
47 const capd::C0Rect2Set& initCondition,
75 std::shared_ptr<Model<Analyser>>
getModel();
80 [[nodiscard]] std::string
id()
const;
95 const std::vector<Jump<Analyser>>&
jumps()
const;
101 bool operator<(const Model<Analyser>& rhs)
const;
113 const capd::C0Rect2Set& initCondition,
125 template <
typename Analyser>
126 std::ostream& operator<<(std::ostream& out, const Model<Analyser>& rhs);
128 #ifndef USE_AS_STATIC 129 #include "../../../../../../../src/representation/formal/hybridAutomaton/locations/model/model.tpp" 131 #endif //REPRESENTATION_FORMAL_HYBRID_AUTOMATON_LOCATIONS_MODEL_MODEL_H struct used to hold the duration information
Definition: metaStructure.h:14
Condition invariantCondition() const
get the invariant condition of the mode
Definition: condition.h:22
std::string id() const
get the identifier of the mode
System flows_
ordinary differential equations which specify the continuous dynamics of the state ...
Definition: model.h:26
std::vector< Jump< Analyser > > jumps_
jumps start from the current mode
Definition: model.h:34
Definition: settings.h:12
capd::C0Rect2Set compute(const Time &duration, const System &system, const capd::C0Rect2Set &initCondition, const Settings &settings) const
get the target state set for the duration
std::shared_ptr< Model< Analyser > > getModel()
get the shared pointer to the mode
Model()=default
constructor
System flows() const
get continuous dynamics of the mode
~Model()=default
destructor
Definition: condition.cpp:3
const std::vector< Jump< Analyser > > & jumps() const
get the jumps which start from the mode
Condition simulate(const Time &duration, long int &doneJumps, const capd::C0Rect2Set &initCondition, const Settings &settings, State< Analyser > &nextState) const
get the reachable condition of the mode for given duration
void setJump(const Jump< Analyser > &jump)
add the given jump to the existing jump
std::string id_
identifier of the current mode
Definition: model.h:22
Definition: analyser.h:12
Condition invariantCondition_
invariant condition of the current mode
Definition: model.h:30