Module: Simulation | simpy-1.3\SimPy\Simulation.py | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Simulation 1.32 June 2003 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) CVS: $Revision: 1.1 $' $Date: 2003/08/19 21:08:36 $ Change history:Started out as SiPy 0.9 5/9/2002: SiPy 0.9.1
12/9/2002:
15/9/2002: moved into SimPy package 16/9/2002: - Resource attributes fully implemented (resources can now have more than 1 shareable resource units) 17/9/2002:
17/9/2002:
26/9/02: Version 0.2.0
28/9/02:
15/10/02: Simulation version 0.3
13/11/02: Simulation version 0.6
19/11/02: Simulation version 0.6.1 - Changed priority schemes so that higher values of Process attribute "priority" represent higher priority. 20/11/02: Simulation version 0.7 - Major change of priority approach:
25/11/02: Simulation version 0.7.1
11/12/2002: First process interrupt implementation
20/12/2002: Changes to "interrupt"; addition of boolean methods to show process states 16/3/2003: Changed hold (allowing posting events past _endtime) 18/3/2003: Changed _nextev to prevent _t going past _endtime 23/3/2003: Introduced new interrupt construct; deleted 25/3/2003: Expanded interrupt construct:
30/3/2003: Modification of 'simulate':
2/04/2003:
3/04/2003: Made 4/04/2003: Catch activation of non-generator error 5/04/2003: Added 7/04/2003: Changed 8/04/2003: Changed _hold to allow for 10/04/2003: Changed 12/5/2003: Changed eventlist handling from dictionary to bisect 9/6/2003: - Changed eventlist handling from pure dictionary to bisect- sorted "timestamps" list of keys, resulting in greatly improved performance for models with large numbers of event notices with differing event times. ========================================================= This great change was suggested by Prof. Simon Frost. Thank you, Simon! This version 1.3 is dedicated to you! ========================================================= - Added import of Lister which supports well-structured printing of all attributes of Process and Resource instances.
|