
With great pleasure we announce the availability of SimPy version 1.8 This is a major release, with significant changes to API and documentation and with a number of bug fixes. What is SimPy? ============== SimPy (= Simulation in Python) is an object-oriented, process-based discrete-event simulation language completely implemented in Python. It is released under the GNU Lesser GPL (LGPL). SimPy provides the modeler with components of a simulation model including processes, for active components like customers, messages, and vehicles, and resources, for passive components that form limited capacity congestion points like servers, checkout counters, and tunnels. It also provides monitor variables to aid in gathering statistics. Random variates are provided by the standard Python random module. Many users claim that SimPy is one of the cleanest, easiest to use discrete event simulation packages! SimPy is in use at many universities, research institutes and in industry. SimPy comes with data collection capabilities, GUI and plotting packages. It can be easily interfaced to other packages, such as plotting, statistics, or database systems. ============================= Release notes for SimPy 1.8 ============================= This version is the result of many months of intense collaboration in the SimPy community. It includes design ideas and improvements proposed by Steve Rogers, Matt Kuperholz and Igor Cananea. It also includes code in SimulationRT contributed by Robert C. Ramsdell III which allows setting of the simulation to real time ratio during a simulation run. Many thanks to all contributors! Our apologies if we have forgotten to mention a contributor! For the first time, we had an editor/co-author (Bob Helmbold) working with us on rewriting Manual and Cheatsheet. You will like the resulting documents! Important Note: =============== SimPy 1.8 and future releases will not run under the (obsolete) Python 2.2 version. Additions ========= - New compound yield statements support time-out or event-based reneging in 'get' and 'put' operations on Store and Level instances. - 'yield get' on a Store instance can now have a filter function which selects which and how many items (e.g. "3 parcels weighing less than 3 pounds") should be retrieved. - All Monitor and Tally instances are automatically registered in lists 'allMonitors' or 'allTallies', respectively. - The new function 'startCollection' allows activation of Monitors and Tallies at a specified time (e.g. after a warm up period). - A 'printHistogram' method was added to Tally and Monitor which generates a nicely formatted table-form histogram. - In SimPy.SimulationRT: A function to allow changing the ratio of wall clock to simulation time has been added. It facilitates slowing down or speeding up model execution, e.g. for interactive models or games. Changes to code and documentation ================================= - The Manual has been thoroughly edited, restructured and rewritten with a view to greater clarity and readability. It is provided in both HTML and PDF format. - The Cheatsheet has been rewritten in a tabular format and reduced to just a few pages. The goal was to turn it into a concise desktop reference of SimPy commands. The Cheatsheet is provided in both XLS (MS Excel spreadsheet) and PDF format. - The obsolete Interfacing document has been replaced by a brief introduction to using the matplotlib library for publication-quality plotting of SimPy-produced data. - The version of SimPy.Simulation(RT/Trace/Step) is now accessible by the variable 'version'. - The '__str__' method of Histogram was changed to return a table format (like that produced by the new 'printHistogram' method of Monitor and Tally). Repairs ======= - Repaired a bug in 'yield waituntil' runtime code. - Introduced check for '<capacity' parameter of a Level or a Store being a number > 0. - Added code so that 'self.eventsFired' gets set correctly after an event fires in a compound yield get/put with a waitevent clause (reneging case). - Repaired a bug in prettyprinting of Store objects (the buffer content, i.e. '._theBuffer' was not shown) by changing '._theBuffer' to '.theBuffer'. ------------------------------------------------------------------------ (end of Release Notes) Enjoy! Best wishes for happy, productive SimPying in 2007! Klaus Muller TonyVignaux Bob Helmbold
participants (1)
-
Klaus Muller