A new approach to simulation modeling

A simulation tool must provide solutions to a wide range of problems. Solutions to some of these problems are provided by virtually every simulation tool ever developed. For example, if you're building a very simple queueing model, you can rest assured that any discrete event simulation package can do the job, and your best bet probably is to buy the cheapest package you can find. On the other hand, for unique problems there may be no simulation software that provides prepackaged solutions. You can't go to your local computer store and buy a $100 package that simulates the United States' air traffic control system or tests a new telecommunications protocol.

What you really need is software that makes common tasks easy, but also has the flexibility and horsepower to handle difficult problems. The worst thing that can happen to you is to choose software that appears to be able to solve your problem, only to find out weeks later that it really can't. With such products, you may make rapid progress to the 90% completion point of a simulation project, and only then discover that you'll never make it to the 100% point. (We call this the 90% syndrome.)

Marketing literature for simulation software typically stresses features: "Our software can do this; it can do that; it has built-in this and built-in that, etc." The question you need to ask is "what happens when the software does not contain a feature for simulating what I need?" With SLX, we stress capabilities. What's the difference between a feature and a capability? A capability is what it takes to build a feature. If SLX lacks a feature, you won't get stuck, because SLX's rich capabilities enable you to build your own features. With SLX, you never get painted into corners.

SLX is an extensible tool. This means that it can be extended well beyond its built-in feature set. To an extent, any software that contains subroutines and macros can claim to be extensible, but SLX provides extremely powerful extensibility mechanisms, placing it in a class of its own. It is designed to be customized. Furthermore, with SLX, extensibility is not a tool of last resort; it's the tool of second resort. (The first resort is to use built-in features.)

At Wolverine, we've worked with simulation modelers for over twenty-five years. Our wealth of experience has helped us design SLX to meet the needs of modelers who want flexibility and extensibility, as well as the Wolverine hallmark of extremely high performance.

To handle the range of problems encountered in a simulation project, SLX takes a layered approach to simulation modeling. You can choose the layer that offers the programming detail you need to solve your problem. The most commonplace problems are handled in SLX's upper layers. When you need to do something unique or complex, you can use SLX's lower layers, which contain very carefully crafted, powerful primitives. SLX's extensibility mechanisms make it easy to move from layer to layer.

Let's take a quick tour through the layers of SLX from bottom to top.

 

SLX gives you the tools. All you need is your imagination.

The kernel layer provides a solid foundation of computational and programming capabilities. It's modeled after the C language but without many of the troublesome problems of C. SLX gives you total error checking to automatically detect errors such as invalid pointer references that would be hard to find in C.

The simulation & statistical primitives layer gives you an essential set of simulation mechanisms such as event scheduling, generalized wait-until, random variate generation, and statistics collection.

The general-purpose modeling layer provides basic building blocks for modeling a wide variety of systems at varying levels of detail. If you prefer, you can even create your own simulation software using the basic tools provided in the underlying layers.

With the building blocks you've developed in the lower layers, you can build application-specific packages for various industries such as health care, manufacturing, transportation or communications.

Packages for non-simulationists can be developed using custom front-end interfaces. By harnessing the power of SLX, you can build products that are fast, reliable, and easily customized to fit your needs.

Want to know more?

You can download Student SLX for free from our Downloads page.

If you'd like more details about SLX, click here to view an 8-page paper.

If you are an experienced GPSS/H user and would like to know about the differences between SLX and GPSS/H, you will find a paper (in .PDF format) by clicking here.

If you are an experienced C user and would like to know about the differences between SLX and C, you will find a paper (in .PDF format) by clicking here.

(Note: the papers described above are in .PDF format. To read them , you must have a copy of the Acrobat Reader.)