Course Information: Systems Simulation

Course Information
INSS 711: Systems Simulation

This is a Web-text companion site for the Web-enhanced textbook:
Systems Simulation:
The Shortest Route to Applications

This is a required course for the doctoral degree in MIS; however you may
take it as one of your elective courses in your graduate degree program.


I am looking forward to working with you and hope that you will find the course both enjoyable and informative.

Professor Hossein Arsham   

         MENU

  1. Welcome Message
  2. Course Description, Textbook, and Ancillary Materials
  3. Weekly Schedule
  4. SIMSCRIPT II.5
  5. Guidelines for Your Homework & Projects
  6. The School's Mission and the Course Objectives
  7. Topics to Learn
  8. Course Requirements, Grading Criteria & Grading System
  9. JavaScript E-labs Learning Objects
  10. Excel For Introductory Statistical Analysis

Dear Student

Welcome to:

Systems Simulation

I am looking forward to working with you and hope that you will find the course both enjoyable and informative.

Computer system users, administrators, and designers usually have a goal of highest performance at lowest cost. Modeling and simulation of system design trade off is good preparation for design and engineering decisions in real world jobs.

In this course we study computer systems modeling and simulation. We need a proper knowledge of both the techniques of simulation modeling and the simulated systems themselves.

Consider the following scenario. You are the designer of a new switch for synchronous transfer mode (ATM) networks, a new switching technology that has appeared on the marketplace in recent years. In order to help ensure the success of your product in this is a highly competitive field, it is important that you design the switch to yield the highest possible performance while maintaining a reasonable manufacturing cost. How much memory should be built into the switch? Should the memory be associated with incoming communication links to buffer messages as they arrive, or should it be associated with outgoing links to hold messages competing to use the same link? Moreover, what is the best organization of hardware components within the switch? These are but a few of the questions that you must answer in coming up with a design.

By combining the emerging science of complexity with newly popularized simulation technology, the PricewaterhouseCoopers Emergent Solutions Group builds a software that allows senior management to safely play out "what if" scenarios in artificial worlds. For example, in a consumer retail environment it can be used to find out how the roles of consumers and employees can be simulated to achieve peak performance.

The scenario described above is but one situation where computer simulation can be effectively used. In addition to its use as a tool to better understand and optimize performance and/or reliability of systems, simulation is also extensively used to verify the correctness of designs. Most if not all digital integrated circuits manufactured today are first extensively simulated before they are manufactured to identify and correct design errors. Simulation early in the design cycle is important because the cost to repair mistakes increases dramatically the later in the product life cycle that the error is detected. Another important application of simulation is in developing "virtual environments" , e.g., for training. Analogous to the holodeck in the popular science-fiction television program Star Trek, simulations generate dynamic environments with which users can interact "as if they were really there." Such simulations are used extensively today to train military personnel for battlefield situations, at a fraction of the cost of running exercises involving real tanks, aircraft, etc.

System Simulation is the mimicking of the operation of a real system, such as the day-to-day operation of a bank, or the value of a stock portfolio over a time period, or the running of an assembly line in a factory, or the staff assignment of a hospital or a security company, in a computer. Instead of building extensive mathematical models by experts, the readily available simulation software has made it possible to model and analyze the operation of a real system by non-experts, who are managers but not programmers.

Computer modeling simulations play a crucial role in all branches of business decision-making. This course systematically explores methodological issues in connection with computer simulations. Special emphasis is put on the relation between models and simulations as well as on the role of computers in the practice of modeling and simulation for decision making. We will discuss, among others, the following questions:

  1. What difference does the essentially dynamic nature of simulations make to modeling, particularly in their representational abilities?
  2. Is there a difference between simulations that have an explicit model or theory behind them and those that do not?
  3. When there is no model, what form does the representational connection between the simulation and the world take?
  4. Can any sense be made of claims that the world itself is carrying out computations and simulating itself?
  5. What role does intentionality play in simulations or such apparently automatic representational processes as genetic algorithms?
  6. Are there principles that one can use to decide whether a simulation is to be interpreted realistically or only instrumentally?
  7. At what level (e.g. the machine code, the algorithmic, and the scientific language) does a simulation represent a system?
  8. It is well-known hat models enter into different relationships such as isomorphism, embedding, or being a sub-model of. Are there analogous relations between simulations?
  9. What would qualify as an equivalence relation between simulations?
  10. What is the relation between simulations used as an experimental tool and real experiments?
  11. How does the methodology of simulations compare with experimentation?
  12. How, if at all, do models and simulations explain?
  13. What are the implications of the growing use of simulations in science for our understanding of science?
  14. What are the implications of the repeated use of the same models and simulations within different fields of science?
  15. How reliable are the results of simulations, and how is the reliability of a simulation determined?
  16. What role does mathematics play in simulations?
  17. Is there a difference between the use of simulations across different fields such as physics, biology, and the social sciences?
  18. Is there a difference between the use of simulations in fundamental science and in applied science?

A simulation is the execution of a model, represented by a computer program, that gives information about the system being investigated. The simulation approach of analyzing a model is opposed to the analytical approach, where the method of analyzing the system is purely theoretical. As this approach is more reliable, the simulation approach gives more flexibility and convenience. The activities of the model consist of events, which are activated at certain points in time and in this way affect the overall state of the system. The points in time that an event is activated are randomized, so no input from outside the system is required. Events exist autonomously and they are discrete so between the execution of two events nothing happens. The SIMSCRIPT provides a process-based approach of writing a simulation program. With this approach, the components of the program consist of entities, which combine several related events into one process.

For my teaching philosophy statements, you may like to visit the Web site On Learning & Teaching.

Feel free to contact me via phone, fax, or email. There is a lot of material to cover, so let's start now!


Course Description, Textbook, and Ancillary Materials

Course Description: Surveys concepts and techniques of system modeling and simulation using digital computers including computer simulation languages such as Simscript II.5 and GPSS; variance reduction techniques; input/output analysis; sensitivity and optimization of systems simulation and application of computer simulation to various practical situations.

Textbook: Discrete-event System Simulation, by John S. Carson, Barry L. Nelson, and David M. Nicol, Prentice Hall (2000), ISBN: 0130887021.

Your book provides a basic treatment of discrete-event simulation, one of the most widely used systems analysis and design tools for dealing with system design in the presence of uncertainty. Proper collection and analysis of data, use of analytic techniques, verification and validation of models and the appropriate design of simulation experiments are well treated. Emphasizes the hierarchical nature of computing systems, and how simulation techniques vary, depending on the level of abstraction.

Ancillary Materials: Software: SIMSCRIPT II.5 PC Version is used to perform the calculations necessary to solve large-scale problems and cases. However, it is expected to understand the basic calculation routines by any statistical package. If you do not have access to any, then I recommend the followings:

Visual Statistics System, WebStat, and Statistical Calculators on Web are available free of charge, OR,

MODSTAT: It runs on a PC and handles over 200 different tests and routines. Students find it very helpful for doing homework and working out concepts. Its price is $17. Virtually no learning curve involved.


SIMSCRIPT II.5

Computer Package: Without computer one cannot perform any realistic dynamic systems simulation.

SIMSCRIPT II.5 is a powerful, free-form, English-like simulation language designed to greatly simplify writing programs for simulation modelling. Programs written in SIMSCRIPT II.5 are easily read and maintained. They are accurate, efficient, and generate results which are acceptable to users. Unlike other simulation programming languages, SIMSCRIPT II.5 requires no coding in other languages. SIMSCRIPT II.5 has been fully supported for over 33 years. Contributing to the wide acceptance and success of SIMSCRIPT II.5 modelling are:

DESIGN:

A powerful world view, consisting of Entities and Processes, provides a natural conceptual framework with which to relate real objects to the model.

PROGRAMMING:

SIMSCRIPT II.5 is a modern, free-form language with structured programming constructs and all the built-in facilities needed for model development. Model components can be programmed so they clearly reflect the organization and logic of the modeled system. The amount of program needed to model a system is typically 75% less than its FORTRAN or C counterpart.

DEBUGGER:

A well designed package of program debug facilities is provided. The required tools are available to detect errors in a complex computer program without resorting an error. Simulation status information is provided, and control is optionally transferred to a user program for additional analysis and output.

EVOLUTION:

This structure allows the model to evolve easily and naturally from simple to detailed formulation as data becomes available. Many modifications, such as the choice of set disciplines and statistics are simply specified in the Preamble.

DOCUMENTATION:

You get a powerful, English-like language supporting a modular implementation. Because each model component is readable and self-contained, the model documentation is the model listing; it is never obsolete or inaccurate.

For more information contact SIMSCRIPT


Guidelines for Running SIMSCRIPT on the VAX System

Network Access/Utilities
Connect UBE
Username:
Password:

Get $ sign

Step 1. Create and edit your source program. Type in

	$EDT PROG.SIM

Step 2. Attach SIMSCRIPT. Type in

      $SIMSCRIPT

Step 3. Compile the source program file. Type in

	$SIMSCOMP PROG.SIM

	Check for compilation errors. To locate the errors, type in

	$EDT PROG.LIST

Step 4. Link the object file. Type in

	$SIMLINK PROG

	now you have a file containing your program in an 
executable format. Step 5. To execute the program type in $RUN PROG Step 6. To get your hard copy print, type $PRINT/NAME=your own name PROG.OUT, PROG.LIS Alternatively, use submit command to place the command procedure
in the batch job que. Create a command file say PROG.COM containing: $SIMSCRIPT $SIMSCOMP PROG.SIM $SIMLINK PROG $RUN PROG Then, submit $Submit PROG.COM An Example: '' Solving an analytic equation arising from optimization '' of a coherent reliability system with 3 homogeneous components
Preamble Define V as a real 1-dimensional arrays Define I, N as integer variables End Main Open 3 for output, Name = "PROG.OUT" Use 3 for ouTPUT LET N=50 Reserve V(*) as N LET V(1)=1. For I = 1 to N-1 DO LET U=V(I) LET PPRAM=-9./((1+U)**2) + 9./((2.+U)**2) + 1./U**2 LET V(I+1)=V(I)+PPRAM/I LOOP PRINT 1 LINE WITH V(N) AND PPRAM THUS OPTIMAL RATE IS ****.*****, DERIVATIVE IS ***.***** END The output OPTIMAL RATE IS 0.76350, DERIVATIVE IS -0.00000

Histogram

'' HISTOGRAM
PREAMBLE
    DEFINE X1,X2,X3,X4,X5 AS REAL VARIABLES
    DEFINE Y AS A DOUBLE VARIABLE
    DEFINE I AS AN INTEGER VARIABLE
    TALLY HISTO(0 TO 100 BY 1) AS THE HISTOGRAM OF Y
END
MAIN
OPEN 3 FOR OUTPUT,NAME="OP.OUT"
USE 3 FOR OUTPUT
DEFINE COUNT, NSAMPLES AS INTEGER VARIABLES
LET NSAMPLES=10000
FOR COUNT=1 TO NSAMPLES
DO
LET X1=NORMAL.F(0.0,1.0,1)
LET X2=NORMAL.F(0.0,1.0,2)
LET X3=NORMAL.F(0.0,1.0,3)
LET X4=NORMAL.F(0.0,1.0,4)
LET X5=NORMAL.F(0.0,1.0,5)
LET Y=X1*X1+X2*X2+X3*X3+X4*X4+X5*X5
LOOP
FOR I=1 TO 100
DO
PRINT 1 LINES WITH I AND HISTO(I) THUS


Topics to Learn

The purpose of this course is to provide an introduction to the concepts of discrete systems simulation. After a brief review of probability and statistics, the course gives an indepth coverage of the use of digital simulation to represent complex real-world systems. Emphasis is on the discrete event process model using the process scheduling method; however, the event scheduling interaction method is also discussed.
  1. Discrete Event Static System: Shortest path in a Network. Hand Simulation. Precision (C.I., absolute, half-length, relative, C.V). SIMSCRIPT (small, large size samples). Test for randomness. Goodness-of-fit tests.
  2. Input distribution: Test for randomness. Identification (skewness, kurtosis). Justification, (K-S, K-S-L, Chi-squared, Tabular and graphical). SIMSCRIPT implementation.
  3. Barber shop: A Discrete Event Dynamic System (DEDS): Walking through the SIMSCRIPT Program (line by line).
  4. SIMSCRIPT as a high level programming language: A quadratic equation solver.
  5. Experiment on M/M/1 queue: Steady-State behavior: Independent replication (with initial bias). Warm-up determination. Independent replication. Method of batch means. A comparison of batch mean vs. indep. replications. Regenerative method.
  6. Output analysis: Surface response. Comparison of different configurations. What if scenarios. Optimization (introduction). Sensitivity Analysis (introduction). Stability Analysis.
  7. Variance Reduction Techniques: effectiveness and experiments: Antithetic sampling. Common random variables. Importance sampling. Linear control variables. Nonlinear control variate.
  8. Experimental Design for Simulation: Sample size determination. Variance reduction methods. Budget and performance (accuracy of the estimate).
  9. Validation methods: t-test, ANOVA. Programming verification methods.
  10. Generation of random variate: Inverse function. Relationship among distributions. Test for randomness, Goodness-of-fit.
  11. How things can go wrong in simulation.
  12. Monte-Carlo Integration (Expectation): Direct method. Using a Variance Reduction Technique.

The School's Mission and the Course Objectives

Merrick School of Business Mission Statement: Our mission is to prepare our diverse mix of students in collaboration with the business community to succeed in a dynamic global economy. The goal is to make excellence accessible. We achieve our mission by:

Course Objectives: What Do I Learn?

Upon completing this course, the student will be able to:
  1. Understand the role that computer simulation play in managerial decision making under risk (enhance problem-solving ability).
  2. Recognize the important characteristics, key words, phrases, and concepts of discrete- event simulation (provide professional identity).
  3. Understand the principles of experimental simulation design and inferential procedure (develops analytical skills).
  4. Use computer simulation software to solve and interpret the results (apply available technology).
  5. Prepare technical and non-technical reports communicating the insights gained from the simulation output analysis (improves communication skills).
  6. To provide techniques and skills necessary for general systems theory (i.e. modeling) and simulation (motivates life-long learning).
  7. The orientation of the course is applied and is directed towards use of simulation techniques in various organizational activities.
  8. Check the underlying assumptions to validate application and safeguard against things which may go wrong.

Weekly Schedule

Notes:

The use of a

  • scientific calculator is required for the course and should be brought to each class meeting.

    Homework (HW) must be hand the day for which the HW is assigned. Contact with the instructor for any question.


    Guidelines for Your Homework & Projects

    Solutions must be handed in the form of short reports 8 1/2" x 11" Format (cut computer outputs down to this size)

    Organization and Content: When appropriate, solutions should contain the following:

    i) Overview and Summary of Problem (goals and purpose for performing simulation)

    ii) Verbal description of System (Include figures if helpful)

    iii) The model (including flow-charts!), including discussion of any unrealistic or simplifying assumptions

    iv) Program listing (s)

    v) Discussion of simulation experiment (cases run, inferences made, etc.)

    vi) Conclusions

    Reports must be neatly handwritten. The content must be communicated clearly so that i) a simulation expert can see exactly what you have done, and ii) a semi-technical person who knows the system can understand your model and the general ideas of your analysis and conclusions.


    Course Requirements, Grading Criteria & Grading System

    Grading Criteria
    Homework assignments 15%
    Computer assignments 15%
    Mid-term examination 30%
    Final examination 30%
    Term Project 10%

    Weekly homework will be assigned and graded by the instructor.

    Grading System
    90-100 80-89 70-79 65-69 60-64 O.W.
    4.0
    3.33
    3.0
    2.33
    2.0
    0.0
    A
    B +
    B
    C +
    C
    F


    Back to
    Systems Simulation
    main Web site.