sc_pause

From: <john.aynsley@doulos.com>
Date: Mon Nov 08 2010 - 05:59:12 PST

Folks,

The next topic to finish off is the addition of sc_pause and sc_get_status
, as originally proposed by Tor. We got to the point of being almost ready
to close this discussion months ago. I summarize the current proposal
below. Please give this your careful consideration and either vote "yes"
or raise any objections you may have.

Thanks,

John A

Add a function sc_pause that is similar to sc_stop except that it puts
simulation into the paused state. Simulation can be restarted from the
paused state by calling sc_start again.

sc_pause uses sc_stop_mode to determine precisely when to pause (or we
could introduce a new sc_pause_mode, if people wish)

sc_pause leaves the simulation time at its current value such that
sc_start would continue from that time

On return from sc_start without sc_stop having been called, the
simulation is left in the paused state. On return from sc_start after
sc_stop has been called, the simulation is left in the stopped state. In
either case, simulation will remain in the running state until all
processes have ceased executing prior to the return from sc_start

Make a change to the scheduler spec such that on return from sc_start()
due to event starvation, the simulation time remains at the time of the
last event. This can only come about after every process has either
terminated or executed wait(...) with no time-out.

When paused, sc_is_running() shall return true.

Change the LRM such that sc_is_running() is not obliged to return false
when called from a destructor; sc_is_running would return true unless
sc_stop had been called

Add a global function sc_get_status whose value is a bit mask, used as
follows:

if (sc_get_status() & (SC_PAUSED |
                                        SC_STOPPED |
                                        SC_END_OF_SIMULATION) )
      ...

The full list of simulation phases is:
        SC_ELABORATION
        SC_BEFORE_END_OF_ELABORATION
        SC_END_OF_ELABORATION
        SC_START_OF_SIMULATION
        SC_RUNNING
        SC_PAUSED
        SC_STOPPED
        SC_END_OF_SIMULATION

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.
Received on Mon Nov 8 05:59:44 2010

This archive was generated by hypermail 2.1.8 : Mon Nov 08 2010 - 05:59:46 PST