class atomic

Base type for all atomic DEVS models

Inheritance:


Public Fields

[more]atomic_sim_support_t asim_support
This structure is used to support the simulation engine.

Public Methods

[more] atomic()
Constructor
[more] atomic(const atomic& src)
Copy constructor
[more]const atomic& operator=(const atomic& src)
Assignment operator
[more]void initialize(ADEVS_TIME_TYPE t0)
Calls the init() method with timeCurrent() equal to t0
[more]virtual void init() = 0
State initialization function
[more]virtual void delta_int() = 0
Internal transition function
[more]virtual void delta_ext(ADEVS_TIME_TYPE e, const adevs_bag<PortValue>& x) = 0
External transition function
[more]virtual void delta_conf(const adevs_bag<PortValue>& x) = 0
Confluent transition function
[more]virtual void output_func(adevs_bag<PortValue>& y) = 0
Output function.
[more]virtual void gc_output(adevs_bag<PortValue>& g) = 0
Garbage collection function.
[more]virtual ~atomic()
Destructor
[more]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
[more]ADEVS_TIME_TYPE timeNext() const
Get the time of the next internal event.
[more]ADEVS_TIME_TYPE timeLast() const
Get the time of the last state transition
[more]ADEVS_TIME_TYPE timeCurrent() const
Get the current simulation time
[more]ADEVS_TIME_TYPE sigma() const
Get the time until the next event.
[more]ADEVS_TIME_TYPE elapsed() const
Get the time since the last event
[more]virtual ADEVS_TIME_TYPE ta() const
Get the value of the time advance function.
[more]void hold(ADEVS_TIME_TYPE dt)
Sets the time of next event (timeNext()) to timeCurrent()+dt Throws an adevs_exception if dt < ADEVS_ZERO.
[more]void passivate()
Set the time of next event to ADEVS_INFINITY.
[more]atomic* typeIsAtomic()
Returns a pointer to this model


Inherited from devs:

Public Fields

obasic_sim_support_t bsim_support

Public Methods

ovirtual devsn* typeIsNetwork()
ovirtual netExec* typeIsNetExec()
oconst devsn* getParent() const
odevsn* getParent()
ovoid setParent(devsn* parent)
ostatic void prefer_thread(int thread_id)


Inherited from object:

Public Methods

ovirtual object* clone() const


Documentation

Base type for all atomic DEVS models
o atomic()
Constructor

o atomic(const atomic& src)
Copy constructor

oconst atomic& operator=(const atomic& src)
Assignment operator

ovoid initialize(ADEVS_TIME_TYPE t0)
Calls the init() method with timeCurrent() equal to t0

ovirtual void init() = 0
State initialization function

ovirtual void delta_int() = 0
Internal transition function

ovirtual void delta_ext(ADEVS_TIME_TYPE e, const adevs_bag<PortValue>& x) = 0
External transition function

ovirtual void delta_conf(const adevs_bag<PortValue>& x) = 0
Confluent transition function

ovirtual void output_func(adevs_bag<PortValue>& y) = 0
Output function. Output values should be added to the bag y.

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

ovirtual ~atomic()
Destructor

ostatic void output(ADEVS_PORT_TYPE port, ADEVS_IO_TYPE value, adevs_bag<PortValue>& y)
Adds the PortValue pair (port,value) to the bag y

oADEVS_TIME_TYPE timeNext() const
Get the time of the next internal event. If the ta() method is overriden, then this method will only return the time of next event that was valid when the model was activated (e.g., during an internal event it will always return a value equal to timeCurrent()).

oADEVS_TIME_TYPE timeLast() const
Get the time of the last state transition

oADEVS_TIME_TYPE timeCurrent() const
Get the current simulation time

oADEVS_TIME_TYPE sigma() const
Get the time until the next event. This returns timeNext()-timeCurrent(), and so the same restrictions apply here as with timeNext() if the ta() method has been overridden.

oADEVS_TIME_TYPE elapsed() const
Get the time since the last event

ovirtual ADEVS_TIME_TYPE ta() const
Get the value of the time advance function. The default implementation returns the last value passed to the hold() method. If this method is overriden, then the hold() and passivate() methods can not be used, and the timeNext() and sigma() values will not immediately reflect the time advance.

ovoid hold(ADEVS_TIME_TYPE dt)
Sets the time of next event (timeNext()) to timeCurrent()+dt Throws an adevs_exception if dt < ADEVS_ZERO. This is the preferred method for scheduling an event. It can not be used in conjunction with an overriden ta() method.

ovoid passivate()
Set the time of next event to ADEVS_INFINITY. This can not be used in conjunction with an overriden ta() method.

oatomic* typeIsAtomic()
Returns a pointer to this model

oatomic_sim_support_t asim_support
This structure is used to support the simulation engine. It should not be used in any way by a system modeler.


Direct child classes:
netExec

Alphabetic index HTML hierarchy of classes or Java



This page was generated with the help of DOC++.