home *** CD-ROM | disk | FTP | other *** search
/ Education Sampler 1992 [NeXTSTEP] / Education_1992_Sampler.iso / Simulation / EntsRelease / README < prev    next >
Text File  |  1992-01-16  |  7KB  |  70 lines

  1.                                Ents
  2.                         
  3. What it is:  Ents is a NeXT Step based program for doing discrete event simulation.  Simple to moderately sized systems such as complex queuing systems or manufacturing problems can be modeled by relative novices; the output can be used to suggest better systems or decide among several possible alternative systems.
  4.  
  5. The program is NeXT Step compliant, including the use of menus, windows, inspector panels, and “drag and drop” techniques.  
  6.  
  7. There is no charge for its use.  However, it is not in the public domain. Copyright 1991, 1992 by Don McGregor, all rights reserved.  The program is distributed “as-is,” and I take no responsibility for any damages that may result from use or misuse of this program, or any errors that it may contain.
  8.  
  9. Sales & Legal Mode: Off
  10.  
  11. Ok, that's out of the way.  The Ents is a pretty cool way to build simulation models of discrete systems.  It was written as a byproduct of some of my schooling over a period of about six months; it was the first non-trivial NeXT application I did, and as such was a learning experience for me. 
  12.  
  13. Suppose you want to design a production line.  You want to get an idea of how many workers to put at each of the successive steps in the line.  With Ents, you can just drag over a few nodes that represent the various steps in the production line, connect them, and then run the model.  You've just made a “virtual production line” which you can experiment with, change, and test, all without affecting the real production line at all.  
  14.  
  15. In fact, the example model that is included is a simple example of just that.  It's a simulation of a TV production line.  New TVs arrive and are inspected by two workers.  On average, 15% of them are found defective and sent to another station, where a single worker adjusts them. (These people need some better quality control.)  After that they're sent back to the inspection station.  The mathematical queueing theory solution for something like this gets pretty nasty—feedback loops and non-exponential distributions are not fun.  But it's still possible to get an idea about how many people are needed at the work stations, how many TVs are in the production line on average, how long they take to be processed, and so on.
  16.  
  17. While the program seems fairly stable to me (compared to Icon, anyway) it has not been extensively tested and does do strange things, crash, or otherwise misbehave on occasion.  Hint: It's a Bad Idea to model your billion-dollar refinery project with this.   Learning experiences can produce useful code, but not always stable and seamless code. Treat this as a prototype, or as an alpha release, and scale your expectations accordingly.
  18.  
  19. Because I don't think the program is stable or polished enough to charge money for it, and because I want to impress Jodie Foster with my programming prowess, you can download it and use it for free. There is no shareware fee.
  20.  
  21. However, <ahem, cough cough>, I'm also in the job market right now.  If you're looking for a NeXT Step programmer drop me some email.
  22.  
  23. A short manual in WriteNow format is included in the distribution.  This is essentially lifted straight out of the writeup I did for the academic project.
  24.  
  25. If you want to make extensive use of it, I'd suggest reading up on some simulation concepts first.  The classic error is to make one simulation run and then declare that those values are the “correct” ones.  In actuality, different random number streams can and will give widely varying results in many or most cases.  Try to make at least a few runs to get an idea for how your model output is varying.  The hard-core reference for analysis of simulation output is Kelton & Law, Simulation Modeling and Analysis, ISBN 0-07-036698-5.  It's pretty readable for what it is, but if your eyes glaze over at the mention of covariance and linear congurential random number generators it's not for you.  If you just want an overview of simulation, other texts on the market can probably be had at the local large university bookstore.  Simulation: A Problem-Solving Approach by Hoover and Perry is decent at doing that job. 
  26.  
  27. The program needs a rewrite to fix a few things and to implement a few features in a more spiff way, but I really don't want to do a major rewrite before 3.0 comes out.  I want to use threads, and it sounds as if that's going to be revamped big-time in the next OS release.  So I'm going to let everyone use it in its current state, even though it's not all-singing and all-dancing.  It does enough useful things to make it a worthwhile tool.
  28.  
  29. Also, there are a few features that are undocumented.  You can shift-click to select multiple objects (but no rubber-banding), and you can cut-and-paste single nodes.   It uses the Polar method to generate Normal variables rather than Box-Muller.  There is a boatload of undocumented error checking things.
  30.  
  31. The artwork is representative of my own very modest abilities.  If you want to contribute your own art, drop me some email.  No royalties, just whatever measure of immortality an info box mention gets you.
  32.  
  33. If you don't like something or have an idea for a better interface, feel free to suggest them.  I have some ideas of my own for a follow-on version. 
  34.  
  35. Installation:
  36.  
  37. Uncompress the archive, untar it, and then drag the program into one of the "Standard" locations for a program: ~/Apps, /LocalApps, etc.  Keep the documentation somewhere.
  38.  
  39. What it does not do:
  40.  
  41. It's unlikely that this release's data files will be upwardly compatible with new releases.  
  42. No copy-cut-paste of multiple nodes.
  43. The “Report” feature, which prints out a textual summary of the results, is not up to date.  Don't rely on it.
  44. Very limited communication with other programs.  I'd like to get the stats objects communicating with a graphics program, something like nxyplot or a spreadsheet.  That would be a big win from a data analysis standpoint.
  45. It will crash if you recklessly click your mouse in the window while animation is on.
  46. No continuous simulation (ie, no differential equations).
  47. Don't change the queue priority in mid-run.  Things could get pretty weird without you realizing it.
  48.  
  49. Your mileage may vary, void where prohibited by law, Super Fun Ball may suddenly accelerate without warning, and the Secretary will disavow all knowledge of my actions.  Besides, I'm a student so even if you did sue me all you'd get would be the contents of my refrigerator—a carton of week-old milk and some cheese that's turning multi-colored at the edges.
  50.  
  51. Don McGregor
  52. Mon, Jan 13, 1992
  53.  
  54. Email: In the short term, I can be reached at mcgredo@bluto.ie.orst.edu.  In the longer term, try sending mail to mcgregdr@conan.ie.orst.edu.  That account is likely to stay around for a while.
  55.  
  56. Snail Mail:
  57.  
  58. Don McGregor
  59. 620 NW 21st, #4
  60. Corvallis, OR 97331
  61.  
  62.  
  63. Manifest:
  64.  
  65. Read.me        This docuument
  66. Ents        The program itself
  67. manual.wn    The manual, in WriteNow format.
  68. TVexample.ent    An example data file.  Models a TV Inspection and Repair line.
  69.  
  70.