SAS® Simulation Studio

SAS Simulation Studio is a Windows® 32-bit and 64-bit Java-based application for building and working with discrete-event simulation models. Its graphical user interface provides a full set of tools for building, executing, and analyzing the results of discrete-event simulation models. SAS Simulation Studio is designed to integrate with both SAS® and JMP® (statistical discovery software from SAS) for statistical analysis of simulation results; it also can interface with JMP to generate experimental designs.

SAS Simulation Studio provides extensive modeling and analysis tools suitable for both novice and advanced simulation users. SAS Simulation Studio 12.1 is available as part of SAS/OR® software and is also available as an add-on to JMP.

SAS Simulation Studio

SAS Simulation Studio Graphical Interface

Graphical User Interface Elements

The graphical user interface for SAS Simulation Studio, shown above, uses a hierarchical structure to assist in organizing your work. The top level is the project, a collection of models and experiments that correspond to each system being studied. Within each Project window you can create one or more Model windows in which to build simulation models.

The Block Template Display is populated with modular blocks used in building simulation models (instantiating and connecting via drag and drop) in a Model window.  The extensive set of blocks provided covers the creation and disposition of multiple classes of entities, queues, servers, and routing devices, data input and generation, numeric and graphical monitoring and reporting, the use of resources, and other functional areas. You can select groups of blocks in a model and assemble them into a “compound block” or save them as a “submodel” for further use in your models.

In each project you can create one or more Experiment windows, which provide you with an organized way to initialize, plan, and coordinate multiple runs of your simulation models. At a minimum you can specify the start time, end time, and number of replications to run for each version of a model. If you have defined factors (parameters to initialize) and responses (metrics to record) for your model, you can use the Experiment window to investigate the effects of varying factor values on responses.

Design of Experiments and JMP Integration

For a model with defined factors that represent model parameters and responses that represent model performance metrics, the goal is to create and collect enough data to characterize the effects of the factors on the responses. This requires that you create multiple experimental design points, each specifying factor settings and the number of replications for which the simulation must be run and data must be collected.  This process is referred to collectively as design of experiments.

SAS Simulation Studio, through the Experiment window, supports both manual and automated design of experiments. Manual design of experiments simply means that you create the experimental design points and determine how many replications should be run for each point. This is useful if you need to make a direct comparison of a small number of different versions of the model or if you want to carry out a highly specialized experimental design.

For automated design of experiments, SAS Simulation Studio integrates with JMP.  A single command invokes the custom designer in JMP to create a set of design points that is automatically passed to SAS Simulation Studio.  You can use either JMP or SAS Simulation Studio to modify or augment this design.

Data Input

SAS Simulation Studio can use external data to characterize key elements of models, including arrivals, descriptive attribute values, sequencing and routing specifications, and more. Both SAS data sets and JMP tables can be input to SAS Simulation Studio models, and the input can occur for single variable values, single observations (rows), or entire data files. JMP can be used to fit a probability distribution to external data so that the distribution can be sampled in the model to simulate the variation represented by the data.

Stationary and Mobile Resources

SAS Simulation Studio provides stationary resources (represented by blocks such as queues, servers, and delays) that have fixed locations in the model, but it also supports mobile resource entities, which are created during the simulation run and can flow through the model just as entities do.  Resource entities can carry attributes and are processed by the same blocks that process entities, and they can be seized by entities as required.  You can use the scheduling features of SAS Simulation Studio to control resource entity availability levels and operational status.

Monitoring Model Execution and Analyzing Simulation Results

In SAS Simulation Studio, several blocks are dedicated to producing graphical analysis of the simulation results, both as the simulation model runs and at the termination of a run. These displays can be useful when you are debugging or tuning a model or for single runs of models.

SAS Simulation Studio also provides a number of blocks that can collect data during simulation runs so that the data can be stored for later and more extensive analysis. You can choose whether data are to be stored by default as SAS data sets or as JMP tables. You can then use either SAS or JMP, respectively, to carry out analysis of the stored data.


SAS Simulation Studio online documentation is available in both PDF and HTML formats.

Online Documentation for SAS Simulation Studio