[comp.os.research] PAWS: a simulation package...

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