simulation@uflorida.cis.ufl.edu (Moderator: Paul Fishwick) (09/26/90)
Volume: 17, Issue: 10, Wed Sep 26 09:24:20 EDT 1990 +----------------+ | TODAY'S TOPICS | +----------------+ (1) SURVEY: Simulation Tools/SES Workbench/SimScript II.5 (2) WANTED: ISPS Simulator (3) RE: Simulation of Football (4) Telephone Routing (5) FREE SOFTWARE: REAL Data Network Simulator (FTP) * Moderator: Paul Fishwick, Univ. of Florida * Send topical mail to: simulation@bikini.cis.ufl.edu OR post to comp.simulation via USENET * Archives available via FTP to bikini.cis.ufl.edu (128.227.224.1). Login as 'ftp', use your last name as the password, change directory to pub/simdigest. Do 'type binary' before any file xfers. * Simulation Tools available by doing above and changing the directory to pub/simdigest/tools. ----------------------------------------------------------------------------- Date: Wed, 19 Sep 90 11:23:57 PDT From: burkley@cod.nosc.mil (V. J. Burkley) To: fishwick@fish.cis.ufl.edu Subject: Re:: SIMULATION DIGEST V17 N8 In-Reply-To: Your message of Wed Sep 19 06:13:52 1990 This is a summary of responses I received from a request for reviews of SES/Workbench and Simscript II.5 (posted on COMP.SIMULATION, Vol. 17, Issue 4). These responses are not ver- batim, I have removed duplicate information, comments directed to myself, and disclaimers. In addition I have listed comments about other simulation tools which run on Sun or other worksta- tion platforms. Also listed is the name and e-mail address of the source of each comment. -----OTHER PRODUCTS Sim++ from Jade (403-282-5711) runs as a sequential simula- tor on a sun and as a parallel simulator on a network of suns. The language is based on C++; I found it quite pleasant to use, particularly because I write a lot of C and C++ code. -Marc Abrams abrams@abrams.cs.vt.edu SIMULA runs on Suns and is very good for discrete event simulation. It can be bought for Sun 3 or SPARC machines. It is sold by Lund Software and you can e-mail them at boris@dna.lth.se. There are also compilers for VAX, Mac, Atari and IBM PC etc. A good extra if you use SIMULA is a package called DEMOS which adds lots of nice goodies for simulation. There is a good book by Graham Birtwistle called Discrete Event Modelling on SIMULA (DEMOS) published by MacMillan which goes into detail. (The Mac compiler is available as a public domain version.) -Rob Pooley rjp@lfcs.edinburgh.ac.uk You might first want to get your hands on the proceedings of the 1990 Summer Computer Simulation Conference. There are about 2 kg worth of papers which cover many topics, including simula- tion with the tools about which you inquired. (Comment from Burkley: I was unable to find the 1990 edition in my library, but older versions were available. These proceedings seemed to present topics on specific simulation problems; not too much in the way of commercial product review or comparisons.) As far as Simscript from CACI, and SES Workbench, depending on your needs, SES Workbench is probably the product you want. Sim- Script is more difficult to customize, and I suspect its perfor- mance isn't as fast. (But don't quote me on that, not having run side by side benchmarks). SES Workbench has a significantly better user interface, but with the penalty of reduced func- tionality. Another product you will want to examine is ADAS, which was writ- ten and marketed by the Research Triangle Institute, and is now marketed by Cadre Technologies. The huge benefit that this simu- lator provides is integration with Cadre's CASE tools, powerful resource modeling capabilities, and extensive user customizeabil- ity (?). (Main office) Cadre Technologies Inc 222 Richmond St Providence, RI 02903 (Central region manager) 2000 East Lamar Blvd Suite 600 Arlington Texas, 76007 817/261-4174 -Todd P. Carpenter carpent@src.honeywell.com DeNet is a Modula-2 based discrete event simulation environ- ment that was designed to meet the needs of system designers and performance analysts who face the problem of predicting the behavior of complex systems. DeNet encapsulates recent develop- ments in programming languages and discrete event modeling metho- dology to form a powerful, modular simulation tool. DeNet was used for the first time in a simulation study in the Summer of 1985. Since then it has been installed on a variety of systems, and it has been used both in academia and in industry to study the behavior of a wide range of systems. Examples of sys- tems that have been studied with the help of DeNet include flight control systems, local area and wide area networks, distributed database management systems, and multiprocessor architectures. The DeNet environment is thus a result of a multi-phase refine- ment process. Comments, complaints, and requests from users of early versions of DeNet led to changes in design decisions, addi- tional utilities, and corrections of implementation errors. DeNet is currently running on VaxStations, DecStations, SUN3s, SUN4s, and IBM RTs (under AICS). It requires a Modula-2 compiler for the platform it is running on. -Miron Livny miron@cs.wisc.edu -----REVIEWS SPECIFIC TO SIMSCRIPT II.5 AND SES/WORKBENCH I have used both Simscript II.5 and SES/workbench on Sun3's and Sun4's. We do performance modeling of software systems (mul- tiple process and distributed). One of our requirements for a simulation tool is the support of hierarchical modeling, ie, parameterized submodels that can be used in more than one model. Simscript supports this though callable procedures that can be separately compiled. Another of our requirements was for users with little or no modeling experience to be able to use, understand and make minor changes to models. For this we have found graphical model defin- ition to be a great advantage. As an experienced modeler I find textual languages about as easy to use as graphical ones and often text editors allow better tools for changing than graphical editors. But beginning users tend to be able to do useful work much quicker with graphical languages and we have found that the graphical form of a model is much easier to explain to a non- modeler and use as documentation. Simscript met all of our other requirements but does not allow graphical model specification. Simscript supports graphical OUTPUT, ie, animation of the model, but model definition is purely textual. After we had been using Simscript for a couple of years, SES/workbench became available. After converting a couple of our models from Simscript into SES/workbench we decided to switch all of our modeling to SES/workbench. It's chief advantages over Simscript: 1. Graphical model definition 2. Graphical animation of the model diagram (showing transaction movement through the model rather than moving icons to represent modeled entities as with Simscript) (available Fall 90) 3. Object orientation (limited form of inheritance, a little more powerful for our hierarchical modeling than simply independent compilation of submodels, object CAN still be indep compiled) 4. Debugging -- The model can be stopped manually or with breakpoints, all model parameters, variables, statistic values, ... can be examined, modified and resumed. (avail Fall 90) We have found SES/workbench to have all of the expressive power of Simscript along with the listed advantages and so have con- verted our modeling completely over to SES/workbench. Since our evaluations CACI had released a more object-oriented textual simulation language called ModSim II. We have not evaluated it. CACI also offers graphical modeling languages for specific modeling domains such as Network II.5 and Simfactory II.5. These are layers on top of Simscript, ie, they are graphi- cal languages that compile into Simscript. But CACI does not offer a general graphical language that can access all the features of Simscript itself. -Terry L Anderson tla@bartok.att.com Simscript being a fairly old language, there are a lot of people who have used it. My particular experience with it has been in the Vax environment so it may be difficult to compare since I haven't seen it on a Sun. My main complaint against it has been a serious lack of debug capabilities (which I suppose is very difficult to implement in a "multi-process" system). Depending on past experience with Simscript, I would definitely choose SES. Having seen a Demo of it I would think SES would be much easier to learn and the company does offer an excellent course on it. -Rick Fortin fortin@manta.nosc.mil My Review: SES/Workbench consistently received the most positive re- views. It is one of the newest simulation environments on the market, approximately one year old. Although SES/Workbench is new, it is based on a previous product and thus does have some history behind it. SES/Workbench uses a graphics interface to build the model. The model is made of a series of icons or blocks. There are a limited number of icon styles but the user can customize an individual icon by providing a script, which is made in a 'C' like language. SES/Workbench takes the model created and then converts it into the 'C' language that is sup- ported on the host machine. This code is then compiled and run. The previous reviews give a good overview of SES/Workbenches' ad- vantages. Some of its disadvantages are: 1. Relatively new and untested. 2. Manual less than perfect 3. Even though supposedly easy to learn, still requires substantial training. 4. Cost. According to one user $36,000 for Sun version. Add 4-5 thousand for maintenance fees per year. (The faint of heart should not sign the checks.) The people who currently use Simscript II.5 are very loyal to it. If the reviewer did not have experience with SES/Workbench they tended to be very positive about Simscript II.5. Simscript II.5 does have a long history to draw on. Its advantages include: 1. Readable English like code (subject to opinion) 2. Supports output graphics and animation. 3. Well documented Disadvantages are: 1. It is well documented because users have found a lot of the manual's errors. It is best to have a seasoned user's notes. 2. Somewhat challenging to learn. 3. Difficult to debug. 4. Expensive, PC version with Simgraphics in the $16,000 range. Sun price probably more. It has been claimed that Simscript II.5 is no longer getting high support from CACI. This implies that updates and improvements may not be frequent in the future. It appears that the people who are positive about Simscript II.5 are those who enjoy programming. CACI has recently introduced a companion product for Simscript II.5 called Simgraphics. This is an environment which is sup- posed to easily allow the user to create templates for use in graphically displaying information in their models. None of the people I spoke to had used it. The one thing that impressed me most while gathering these re- views, has been that the users of SES/Workbench were previous Simscript II.5 users. Definitely take a hard look at SES/Workbench when considering a new simulation environment. My comments are based on conversations with a number of different sources and from reviews of documents and brochures. SES/Workbench is made by Scientific and Engineering Software, Inc. 1301 West 25th Street Suite 300 Austin, TX 78705 (512) 474-4526 Simscript II.5 is made by CACI 3344 North Torrey Pines Court La Jolla, CA 92037 (619) 457-9681 -Joe Burkley burkley@cod.nosc.mil ------- ------------------------------ Date: Fri, 21 Sep 90 17:13:37 EDT From: hemant@wpi.wpi.edu (Hemant Rotithor) To: simulation@bikini.cis.ufl.edu Subject: ISPS Simulator I would like to know where I can get ISPS simulator. Will appreciate any pointers. Many thanks. ------------------------------ From: aag@cs.aber.ac.uk Date: Sun, 23 Sep 90 10:50:00 BST To: simulation@bikini.cis.ufl.edu Subject: Simulation football First off, the nature of the description seems to suggest to me a need to use one of the object- oriented languages for the simulation. Examples which spring to mind are the LISP based languages, CLOS, LOOPS, SCHEME and FLAVOURS or SMALLTALK, C++ and OBJECTIVE C. Personally, I use a derivation of FLAVOURS to model political organizations in historical context, but if I had to recommend one of the above-mentioned it would be SCHEME, if only because it's available for a very wide variety of machines (there's even a version for PC's called PC SCHEME) and is a very transparent language to read. My approach to modelling a football game would involve making a conceptual distinction between the plays and the players, both of which one would then represent as objects. Specific plays would be represented as subclasses of the classes OFFENSIVE_PLAYS and DEFENSIVE_PLAYS, which would probably also be subclasses of the top-level metaclass PLAYS. Information about whether a team should be on the offensive or the defensive would be contained in PLAYS, which would pass on the message to the requistite subclass. Each subclass would contain definitions of all the play objects and the methods for deciding which play would be best for the situation, ie (in psedocode): if down by ten then go for touchdown check distance from line if distance greater than ten then throw-play choose which throw play send messages to players endif endif The advantage with this split in information is that one one can leave most of the information about how to execute specific plays with the player objects, and can define an ad hoc or broken play situation simply be sending a message from the play level down saying broken play with such and such players on the field, and just leave a set of randomised methods at the player level to take of matters. At this level, the player objects would also contain information about their function on the field which could be defined at whatever level of detail you desire. So, if one wanted to add extra refinements to a play, one would do so at the player level, not the play level. The play object is not per se, interested in how the play is performed in particular, that is left to the player object to determine once the message calling a lay has been received. I must sound a note of caution here, in that I work with political models and I have to define my basic political actors to behave in as lifelike a manner as possible in order to produce something which behaves like the House of Lords did at a particular period in history and the resulting object is HUGE. I'm about two-thirds of the way through my program design, and I'm looking at twenty pages of design document, twenty-five instance variables for each Lord and god alone knows how many methods. It might be better to compromise and make only say the quarterback and a couple of other guys capable of making decisions about broken play behaviour and just hard wiring the rest of the team for the time being. Once the play has been decided upon, messages are sent to the players, who have to put the play into action. If it's a set play, then (if its an offensive play) the quarterback has methods which tell him how far and in which direction to throw the ball, the receivers have methods which tell them where to run, and the linemen have methods which tell then which way to go. Then one would have a random element which says how well the quarterback throws the ball, and another to say how well the receiver is receiving. Meanwhile, over on the other side, the defensive line have taken the pitch, and are waiting to react. Theoretically, it should be perfectly possible to send messages as soon as one of the offence makes a move which trigger off the correct behaviour in the defence. I'm not saying it would be quick, but it should be possible. As for the problems with the pitch, I see no problem. Just define a variable called PITCH_SIZE which is whatever size of pitch one is playing on and represent it as a 2D array. Player's positions can also be represented as points in a 2D array. One can basically range from saying that PITCH_SIZE = (100, 60) which gives one a square yard for each player up to PITCH_SIZE = (166, 120) which would give one a square foot for each player. Whilst I wouldn't like to get too close to doing the graphics, it should be fairly simple to link an array display mechanism in with whatever timing mechanism is being used, and display updates of the situation of play at, for instance, thirty second intervals along with a message at the bottom of the display saying who's on the offensive, who's on the field, what play is being used. Angela email: Snail: Voice: Janet:aag@aber.cs | Ms A.M. Gilham | inet: aag@cs.aber.ac.uk | Dept of Computer Science |+44 970 622449 uucp: ...!mcsun!ukc!aber-cs!aag | University College of Wales | (office) | Aberystwyth. Dyfed. | | SY23 3BZ. UK | ------------------------------ Newsgroups: comp.simulation Path: mbm From: mbm@scs.carleton.ca (Max B. Maklin) Subject: Telephone Routing Simulators Sender: mbm@helmut.scs.carleton.ca Organization: School of Computer Science, Carleton University, Ottawa, Canada References: <24453@uflorida.cis.ufl.EDU> Date: Mon, 24 Sep 90 01:53:03 GMT Apparently-To: uunet!comp-simulation I would appreciate some direction into finding access to any simulators written for telephone traffic routing. There was some work done at Yale for the purposes of analyzing various adaptive learning schemes for routing calls through the network, but I have been unable to find any sources. The simulator itself need not be overly complex in that a basic discrete-event simulator with the use of queueing models would suffice. As I am using a Sun 4/Sparc, I would appreciate code that is written in C, but other directions would at least be helpful. I would also be interested in papers, TR's, etc., on telephone traffic routing in the context of simulation. I will post any gathered information to the newsgroup at a later date for interested parties. Thanks in advance! ------------------------------ Date: Tue, 25 Sep 90 17:04:09 -0700 From: keshav@tenet.Berkeley.EDU (Keshav) To: fishwick@cis.ufl.edu Subject: for comp.simulation: Announcement of REAL version 3.0 REAL Version 3.0 ---------------- REAL is a data network simulator that simulates networks at the packet level. It implements several flow control protocols (TCP, DECbit etc) and scheduling disciplines (Fair Queueing, FCFS etc). There are plotting and report facilities, and means as well as variances of simulation variables are reported. REAL is written in C, and will run on BSD4.3/Ultrix/UMIPS systems on VAX, SUN, SPARC, MIPS or DECstation hardware. Online documentation and source code are part of the distribution. Version 3.0 of REAL is now available for anonymous FTP from ucbarpa.berkeley.edu:pub/REAL/REAL.tar.Z (128.32.130.11). This version has several improvements over version 2.0, and these are mentioned in pub/REAL/README. Thanks, keshav ------------------------------ END OF SIMULATION DIGEST ************************