ECS 156 DISCRETE EVENT SIMULATION
(4) I
Lecture: 3 hours
Discussion: 1 hour
Prerequisite: Programming skill at the level of course 60; calculus-based course in probability
theory, such as Statistics 120 or 130A or 131A, Mathematics 135A or
Engineering Civil and Environmental 114
Grading: Letter; homework (25%), midterm (50%), final
(25%)
Catalog Description:
Design of discrete-event simulation software. Random number generators.
Event, process and activity-scanning approaches. Data structures and
algorithms for event lists. Statistical output analysis. Applications
to computer systems and networks; reliable systems; transportation; business
management.
Expanded Course Description:
- Infrastructure
- Review of probability theory
- Random number generators
- Discrete-Event Simulation World Views
- Event-oriented view
- Process-oriented view
- Activity-scanning view
- Data Structures for Event-List Processing
- Linear linked lists
- Indexed lists
- Heaps
- Output Analysis
- Review of statistical inference concepts
- Confidence intervals for space-average simulations
- Confidence intervals for time-average simulations, using the regenerative
method D. Variance-reduction techniques
- Applications (interspersed with the above topics throughout the course)
- Introduction to queuing models, and the need for simulation for
mathematically-intractable extensions
- Applications to computer and network systems;inventory models;
transportation systems; etc.
Textbook:
Instructor's printed notes
Computer Usage:
Moderately extensive programming, platform-independent but requiring access
to open-source programming tools, e.g. the SimPy simulation language.
Engineering Design Statement:
Students will design detailed simulations of complex systems. In addition
to correctness of output, design of the simulation will be aimed at reduction
of run-time, and at readability and modifiability of the code.
ABET Category Content:
Engineering Science: 2 units
Engineering Design: 2 units
Goals:
Students will:
- gain an understanding of how to write simulation software-in time-efficient
manner in both uniprocessor and multiprocess platform
- learn various discrete-event simulation applications, interspersed
with the software concepts, making the concepts concrete
- develop within the students experience in the systems modeling process
Program Outcomes:
- The ability to work independently
- The ability to work on a team
- The ability to apply knowledge of basic science, mathematics and engineering
principles to solve computing and information processing problems
- The ability to write correct and good programs
- The ability to understand the relationship between hardware and software
- The ability to understand the tradeoffs in the design of hardware systems,
software systems, processes and components
- The ability to construct appropriate abstractions to manage complexity
and to think creatively about new problems
- The ability to use experimental methods on software systems by gathering
data to improve the systems
- The ability to acquire the foundations to do well in graduate school
- The ability to acquire the foundations to be a life-long learner
Instructor: N.S. Matloff
Prepared by: N.S. Matloff (October 2006)
Overlap Statement:
There are no other courses on discrete-event simulation. Some courses,
such as Statistics 32, Engineering Applied Science 117ABC, and Engineering
Civil and Environmental 146, use simulation but focus on Monte Carlo
or continuous-process contexts, rather than on discrete-event simulation.
3/07