unni@sunset.sm.unisys.com (Unni Warrier) (08/01/87)
Perhaps an appropriate way to start the discussion is to bring up the topic of simulation tools. One tool I have been using for my simulations is PAWS. What follows is a simple description of PAWS, for people not famaliar with it. The idea is to get similar descriptions from others, so that we can all know about the latest and greatest in tools. PACKAGE NAME : Perf. Analyst' Workbench System (PAWS) SOURCE : Information Research Associates ADDRESS : 911 West 29th Street, Austin, Texas 78705 PHONE : (512) 474-4526 SYSTEMS : UNIX machines ( maybe others) COST : > 10 K (call) PAWS is yet another simulation package. The interesting thing is that Mani Chandy and Jay Misra have their names on the manual. PAWS has not only customer types, but also "phases" which allow you to control the routing and service times of customers (similar to Lavenberg's classes, if anyone out there has read the Arrival Theorem paper). It is possible to model passive resources using tokens, which are acquired and released at the respective nodes, and the tokens have "colour". Thus you can wait for 3 reds and 2 blues, and release any of these after acquisition. Active resources have nice variants like a number of distributions to pick from, and a number of queueing disciplines like FCFS, LCFS, Processor Sharing, etc. There are also GETMEM and PUTMEM nodes, which model memory ownership.The good thing is that you are allowed to also define "user" nodes, where you can write your own code. The PAWS output provides queueing statistics at each node, like queue lengths and utilizations. I have found PAWS to be quite useful in simulating networks. I used to use GPSS, but PAWS gives me greater flexibility, and easier understood statistics. On the negative side, the PAWS compiler at UCLA has several bugs, some of them quite nasty. For some reason, the compiler is very sensitive to white space usage (tabs used to bomb at one time, I remember). The parser is poor, and provides very unenlightening messages for your coding errors, typically pointing at one end of the node as an error, when all I did was miss a punctuation mark at some other place in the node. I do not have any statistics on CPU usage, but we are banned from all the regular machines on the net, and are confined to one machine, which proves we do chew up cycles! I have nothing to do with the company that markets PAWS, and, since they provide source code, many people out there must have patched the bugs I describe here. I do yearn for a better language / interface, so that creating the simulations would be much more easy (object-oriented, graphical interface type of thing). Does anyone out there know of better tools that we could all hear about? unni@cam.unisys.com