Base type for all atomic DEVS models
Inheritance:
Public Methods
-
atomic()
-
atomic(const atomic& src)
-
const atomic& operator=(const atomic& src)
-
void init(ADEVS_TIME_TYPE t0)
- Calls init() method.
-
virtual void init() = 0
- Initialization function
-
virtual void delta_int() = 0
- Internal transition function
-
virtual void delta_ext(ADEVS_TIME_TYPE e, const adevs_bag<PortValue>& x) = 0
- External transition function
-
virtual void delta_conf(const adevs_bag<PortValue>& x) = 0
- Confluent transition function
-
virtual void output_func(adevs_bag<PortValue>& y) = 0
- Output function
-
virtual void gc_output(adevs_bag<PortValue>& g) = 0
-
Garbage collection function.
-
virtual ~atomic()
-
static void output(ADEVS_PORT_TYPE port, ADEVS_IO_TYPE value, adevs_bag<PortValue>& y)
- Adds the PortValue pair (port,value) to the bag y
-
ADEVS_TIME_TYPE timeNext() const
- Get the time of the next internal event
-
ADEVS_TIME_TYPE timeLast() const
- Get the time of the last state transition
-
ADEVS_TIME_TYPE timeCurrent() const
- Get the current simulation time
-
ADEVS_TIME_TYPE elapsed() const
- Get the elapsed time since tL
-
ADEVS_TIME_TYPE sigma() const
- Get the time remaining until the next internal event
-
ADEVS_TIME_TYPE ta() const
- Get the value of the time advance function
-
void hold(ADEVS_TIME_TYPE dt)
-
Sets the time of next event (timeNext()) to timeCurrent()+dt
Throws an exception if dt < ADEVS_ZERO.
-
void passivate()
- Set the time of next event to ADEVS_INFINITY
-
void setTimeCurrent(ADEVS_TIME_TYPE t_current)
- For use by the simulator.
-
void setTimeNext(ADEVS_TIME_TYPE t_next)
- For use by the simulator.
-
void setTimeLast(ADEVS_TIME_TYPE t_last)
- For use by the simulator.
-
atomic* typeIsAtomic()
-
adevs_bag<PortValue> * get_output_bag()
- For use by the simulator.
-
adevs_bag<PortValue> * get_input_bag()
- For use by the simulator.
-
void set_input_bag(adevs_bag<PortValue>* xx)
- For use by the simulator.
-
void set_output_bag(adevs_bag<PortValue>* yy)
- For use by the simulator.
Inherited from devs:
Public Methods
-
devsn* getParent()
-
const devsn* getParent() const
-
void setParent(devsn* model)
-
virtual devsn* typeIsNetwork()
-
virtual netExec* typeIsNetExec()
-
unsigned long get_cellspace_key() const
-
void set_cellspace_key(unsigned long cell_key)
Inherited from object:
Public Methods
-
virtual object* clone() const
Documentation
Base type for all atomic DEVS models
atomic()
atomic(const atomic& src)
const atomic& operator=(const atomic& src)
void init(ADEVS_TIME_TYPE t0)
- Calls init() method. timeCurrent() == t0 will be true.
virtual void init() = 0
- Initialization function
virtual void delta_int() = 0
- Internal transition function
virtual void delta_ext(ADEVS_TIME_TYPE e, const adevs_bag<PortValue>& x) = 0
- External transition function
virtual void delta_conf(const adevs_bag<PortValue>& x) = 0
- Confluent transition function
virtual void output_func(adevs_bag<PortValue>& y) = 0
- Output function
virtual void gc_output(adevs_bag<PortValue>& g) = 0
-
Garbage collection function. The PortValue objects in g are
no longer in use by the simulation engine and should be disposed of.
` Note that the elements in g are only those PortValue objects produced as
output by this model.
virtual ~atomic()
static void output(ADEVS_PORT_TYPE port, ADEVS_IO_TYPE value, adevs_bag<PortValue>& y)
- Adds the PortValue pair (port,value) to the bag y
ADEVS_TIME_TYPE timeNext() const
- Get the time of the next internal event
ADEVS_TIME_TYPE timeLast() const
- Get the time of the last state transition
ADEVS_TIME_TYPE timeCurrent() const
- Get the current simulation time
ADEVS_TIME_TYPE elapsed() const
- Get the elapsed time since tL
ADEVS_TIME_TYPE sigma() const
- Get the time remaining until the next internal event
ADEVS_TIME_TYPE ta() const
- Get the value of the time advance function
void hold(ADEVS_TIME_TYPE dt)
-
Sets the time of next event (timeNext()) to timeCurrent()+dt
Throws an exception if dt < ADEVS_ZERO. This is the preferred method
for scheduling an event.
void passivate()
- Set the time of next event to ADEVS_INFINITY
void setTimeCurrent(ADEVS_TIME_TYPE t_current)
- For use by the simulator. Sets the current time.
void setTimeNext(ADEVS_TIME_TYPE t_next)
- For use by the simulator. Sets the next event time.
void setTimeLast(ADEVS_TIME_TYPE t_last)
- For use by the simulator. Sets the last event time.
atomic* typeIsAtomic()
adevs_bag<PortValue> * get_output_bag()
- For use by the simulator. Get the output bag for this model.
adevs_bag<PortValue> * get_input_bag()
- For use by the simulator. Get the input bag for this model.
void set_input_bag(adevs_bag<PortValue>* xx)
- For use by the simulator. Assign an input bag to this model.
void set_output_bag(adevs_bag<PortValue>* yy)
- For use by the simulator. Assign an output bag to this model.
- Direct child classes:
- netExec
Alphabetic index HTML hierarchy of classes or Java
This page was generated with the help of DOC++.