irafhy
Interval arithmetic based Reachability Analysis Framework for Hybrid Automaton
irafhy::Model< Analyser > Class Template Reference

#include <model.h>

Inheritance diagram for irafhy::Model< Analyser >:
Inheritance graph
Collaboration diagram for irafhy::Model< Analyser >:
Collaboration graph

Public Member Functions

 Model ()=default
 constructor More...
 
 Model (const std::string &id, const System &flows, const Condition &invariantCondition)
 constructor with given id, flows and invariant conditions More...
 
 ~Model ()=default
 destructor More...
 
void setJump (const Jump< Analyser > &jump)
 add the given jump to the existing jump More...
 
std::shared_ptr< Model< Analyser > > getModel ()
 get the shared pointer to the mode More...
 
std::string id () const
 get the identifier of the mode More...
 
System flows () const
 get continuous dynamics of the mode More...
 
Condition invariantCondition () const
 get the invariant condition of the mode More...
 
const std::vector< Jump< Analyser > > & jumps () const
 get the jumps which start from the mode More...
 
bool operator< (const Model< Analyser > &rhs) const
 relational operator used for remove redundant modes More...
 
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 More...
 
- Public Member Functions inherited from irafhy::Analyser
virtual ~Analyser ()=default
 destructor More...
 

Private Member Functions

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 More...
 

Private Attributes

std::string id_
 identifier of the current mode More...
 
System flows_
 ordinary differential equations which specify the continuous dynamics of the state More...
 
Condition invariantCondition_
 invariant condition of the current mode More...
 
std::vector< Jump< Analyser > > jumps_
 jumps start from the current mode More...
 

Constructor & Destructor Documentation

◆ Model() [1/2]

template<typename Analyser>
irafhy::Model< Analyser >::Model ( )
default

constructor

◆ Model() [2/2]

template<typename Analyser>
irafhy::Model< Analyser >::Model ( const std::string &  id,
const System flows,
const Condition invariantCondition 
)

constructor with given id, flows and invariant conditions

Parameters
ididentifier of the mode
flowscontinuous dynamics of the mode
invariantConditioninvariant condition of the mode

◆ ~Model()

template<typename Analyser>
irafhy::Model< Analyser >::~Model ( )
default

destructor

Member Function Documentation

◆ compute()

template<typename Analyser>
capd::C0Rect2Set irafhy::Model< Analyser >::compute ( const Time duration,
const System system,
const capd::C0Rect2Set &  initCondition,
const Settings settings 
) const
privatevirtual

get the target state set for the duration

Parameters
durationgiven duration which specify the time interval
systemcontinuous dynamics of the mode
initConditioninitial condition of the computation
settingssettings of the computation
Returns
resulting target reachable state set for the duration

Implements irafhy::Analyser.

◆ flows()

template<typename Analyser>
System irafhy::Model< Analyser >::flows ( ) const

get continuous dynamics of the mode

Returns
the continuous dynamics of the mode

◆ getModel()

template<typename Analyser>
std::shared_ptr<Model<Analyser> > irafhy::Model< Analyser >::getModel ( )

get the shared pointer to the mode

Returns
pointer to the mode

◆ id()

template<typename Analyser>
std::string irafhy::Model< Analyser >::id ( ) const

get the identifier of the mode

Returns
identifier of the mode as a string

◆ invariantCondition()

template<typename Analyser>
Condition irafhy::Model< Analyser >::invariantCondition ( ) const

get the invariant condition of the mode

Returns
the invariant condition of the mode

◆ jumps()

template<typename Analyser>
const std::vector<Jump<Analyser> >& irafhy::Model< Analyser >::jumps ( ) const

get the jumps which start from the mode

Returns
jumps which start from the mode

◆ operator<()

template<typename Analyser>
bool irafhy::Model< Analyser >::operator< ( const Model< Analyser > &  rhs) const

relational operator used for remove redundant modes

Parameters
rhsright hand side mode
Returns
TRUE if the current mode's id is less than the right hand side's in dictionary order

◆ setJump()

template<typename Analyser>
void irafhy::Model< Analyser >::setJump ( const Jump< Analyser > &  jump)

add the given jump to the existing jump

Parameters
jumpgiven jump

◆ simulate()

template<typename Analyser>
Condition irafhy::Model< Analyser >::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

Parameters
durationgiven duration
doneJumpsalready done jumps
initConditioninitial condition of the simulation
settingssettings of the simulation
nextStatenext State once current duration simulation done
Returns
reachable condition of the mode

Member Data Documentation

◆ flows_

template<typename Analyser>
System irafhy::Model< Analyser >::flows_
private

ordinary differential equations which specify the continuous dynamics of the state

◆ id_

template<typename Analyser>
std::string irafhy::Model< Analyser >::id_
private

identifier of the current mode

◆ invariantCondition_

template<typename Analyser>
Condition irafhy::Model< Analyser >::invariantCondition_
private

invariant condition of the current mode

◆ jumps_

template<typename Analyser>
std::vector<Jump<Analyser> > irafhy::Model< Analyser >::jumps_
private

jumps start from the current mode


The documentation for this class was generated from the following file: