SimulationRT 1.4.2
__version__ = $Revision: 1.2 $ $Date: 2004-05-19 20:31:09+02 $ kgm
LICENSE:
Copyright (C) 2002 Klaus G. Muller, Tony Vignaux
mailto: kgmuller@xs4all.nl and Tony.Vignaux@vuw.ac.nz
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
END OF LICENSE
Implements SimPy Processes, resources, and the backbone simulation scheduling
by coroutine calls.
Based on generators (Python 2.2 and later)
Change history:
4/8/2003: - Experimental introduction of synchronization of simulation
time and real time (idea of Geoff Jarrad of CSIRO -- thanks,
Geoff!).
* Changes made to class __Evlist, _nextev(), simulate() Dec 11, 2003:
- Updated to Simulation 1.4alpha API
Dec 2003: Merged in Monitor and Histogram
Feb 2004: Repaired bug in activeQ monitor of class Resource. Now actMon
correctly records departures from activeQ.
May 19, 2004: added missing Histogram class
Imported modules
|
|
from SimPy.Lister import *
from __future__ import generators
import bisect
import time
import types
|
Functions
|
|
|
|
activate
|
activate (
object,
process,
at="undefined",
delay="undefined",
prior=False,
)
Application function to activate passive process.
Exceptions
|
|
Simerror( "Fatal SimPy error: activating function which" + " is not a generator (contains no 'yield')" )
|
|
|
holdfunc
|
holdfunc ( a )
|
|
initialize
|
initialize ()
|
|
now
|
now ()
|
|
passivatefunc
|
passivatefunc ( a )
|
|
reactivate
|
reactivate (
object,
at="undefined",
delay="undefined",
prior=False,
)
Application function to reactivate a process which is active,
suspended or passive.
|
|
releasefunc
|
releasefunc ( a )
|
|
requestfunc
|
requestfunc ( a )
|
|
rtnow
|
rtnow ()
|
|
scheduler
|
scheduler ( till=0 )
Schedules Processes/semi-coroutines until time till .
Deprecated since version 0.5.
|
|
showEvents
|
showEvents ()
Returns string with eventlist as list of tuples (eventtime,action)
|
|
simulate
|
simulate (
until=0,
real_time=False,
rel_speed=1,
)
Schedules Processes/semi-coroutines until time until
Exceptions
|
|
Simerror( "Fatal SimPy error: Simulation not initialized" )
|
|
|
stopSimulation
|
stopSimulation ()
Application function to stop simulation run
|
|
testMonitoredResource
|
testMonitoredResource ()
|
|
test_demo
|
test_demo ()
|
|
test_interrupt
|
test_interrupt ()
|
Classes
|
|
FIFO | |
Histogram |
A histogram gathering and sampling class
|
Monitor |
Monitored variables
|
PriorityQ |
Queue is always ordered according to priority.
|
Process |
Superclass of classes which may use generator functions
|
Queue | |
Resource |
Models shared, limited capacity resources with queuing;
|
Simerror | |
_Action |
Structure (who=process owner, generator=process)
|
__Evlist |
Defines event list and operations on it
|
|
|