CS620 : Modelling and Simulation

I like this Course

Course Info

Course Category


Course Level


Credit Hours





Prof. Dr. Muaz A. Niazi

Course Contents

When simulation is the appropriate tool 
When it is not
Advantages and Disadvantages
Disadvantages of Simulation
Areas of application
Military applications
System and Environment
System Concepts
Components of a system
Discrete and Continuous
Model of a system
Types of Models
Discrete Event Simulation
Steps in a sim. Study: Planning
Steps in a sim. Study: Conceptualization
Steps in a sim. Study: Data Collection and Model Translation
Steps in a sim. Study:Verification and Validation
Steps in a sim. Study:Experimental Design
Steps in a sim. Documentation 
Steps in a sim. Study: Logs & Reports
Steps in a sim. Study: Phases Overview
Simulation Case Studies: Basic steps  
Basics of a Spreadsheet Simulation: Simulating Randomness
Simulating a Coin Toss
Simulating a Random Service Time
Simulating a Random Arrival Time
Framework for Spreadsheet Simulation
Framework Simulation Table Design
Framework using Discrete event simulation: General Idea
Framework using Discrete event simulation - I
Framework using Discrete event simulation - II
Framework using Discrete event simulation - III
Framework using Discrete event simulation - IV
Event Scheduling Time advance algo
Event Scheduling Time advance algo-II
Event Scheduling Time advance algo-III
Event Scheduling Time advance algo-IV
World views - I
World views - II
Manual Simulation
Manual Simulation-II
Manual Simulation-III
Statistical Models in Sim
Review of Terms-I
Review of Terms-II
Review of Terms-III
Review of Terms- IV
Useful models - I
Useful models - II
Why Agent-Based Modeling? 
A Thought Experiment 
Complex Systems and Emergence 
Understanding Complex Systems and Emergence 
Example 1: Integrative Understanding 
Example 2: Differential Understanding 
Agent-Based Modeling as Representational Infrastructure for Restructurations 
Example: Predator-Prey Interactions 
Example: Forest Fires 
What Is Agent-Based Modeling? 
Creating the Ant Foraging Model 
Results and Observations from the Ant Model 
What Good Is an Ant Model? 
What Is Agent-Based Modeling? 
Agent-Based Models vs. Other Modeling Forms 
Randomness vs. Determinism 
When Is ABM Most Beneficial? 
Trade-offs of ABM 
What Is Needed to Understand ABM?
Beginner NetLogo Explorations 
Ants and Other Model Explorations 
Concept Explorations 
NetLogo Explorations 
Creating Simple Agent-Based Models 
Life -I
Heroes and Cowards-I
Heroes and Cowards-II
Heroes and Cowards-III
Simple Economy-I
Simple Economy-II
Simple Economy-III
Model Explorations 
Model Designing Examples
NetLogo Explorations
NetLogo Explorations-II
Exploring and Extending Agent-Based Models 
The Fire Model
First Extension: Probabilistic Transitions 
Second Extension: Adding Wind 
Third Extension: Allow Long-Distance Transmission 
Advanced Modeling Applications 
The Diffusion-Limited Aggregation (DLA) Model 
First Extension: Probabilistic Sticking 
Second Extension: Neighbor Influence 
Third Extension: Different Aggregates 
Advanced Modeling Applications 
The Segregation Model 
Description of the Segregation Model 
First Extension: Adding Multiple Ethnicities 
Second Extension: Allowing Diverse Thresholds 
Third Extension: Adding Diversity-Seeking Individuals 
Advanced Urban Modeling Applications 
The El Farol Model 
First Extension: Color Agents That Are More Successful Predictors 
Second Extension: Average, Min, and Max Rewards 
Third Extension: Histogram Reward Values 
Advanced Modeling Applications 
Creating Agent-Based Models 
Designing Your Model 
Choosing Your Questions 
A Concrete Example
Choosing Your Agents
Choosing Agent Properties 
Choosing Agent Behavior 
Choosing Parameters of the Model 
Summary of the Wolf Sheep Simple Model Design 
Examining a Model 
Multiple Runs 
Predator-Prey Models: Additional Context 
Advanced Modeling Applications 
The Components of Agent-Based Modeling 
Properties & Behaviors
Collections of Agents 
The Granularity of an Agent 
Agent Cognition 
Other Kinds of Agents 
Spatial Environments 
Network-Based Environments 
Special Environments 
Observer/User Interface 
Analyzing Agent-Based Models 
Types of Measurements 
Modeling the Spread of Disease 
Statistical Analysis of ABM: Moving beyond Raw Data 
The Necessity of Multiple Runs within ABM 
Using Graphs to Examine Results in ABM 
Analyzing Networks within ABM 
Environmental Data and ABM 
Correctness of a Model 
Describing Conceptual Models 
Verification Testing 
Beyond Verification 
Sensitivity Analysis and Robustness 
Verification Benefits and Issues 
Macrovalidation vs. Microvalidation 
Face Validation vs. Empirical Validation 
Validation Benefits and Questions & VOMAS
Replication of Computational Models: Dimensions and Standards 
Benefits of Replication 
Recommendations for Model Replicators 
Recommendations for Model Authors 
Complex Adaptive Systems
System Approach
Modeling  of CAS
Complex Network Based
Cognitive Agent-based Computing Framework 
More models
Bernoulli Distribution
Binomial Distribution
Poisson Distribution
Uniform Distribution
Exponential Distribution
Triangular Distribution
Characteristics of Queueing Systems
The Calling Population
System Capacity
The Arrival Process
Queue Behavior and Queue Discipline
Service Times and the Service Mechanism
Queueing Notation
Long-Run Measures of Performance of Queueing Systems
Properties of Random Numbers
Properties of Random Numbers
Generation of PseudoRandom Numbers
Tests for Random numbers
Random Variate Generation
Inverse Transform Technique
Acceptance Rejection Technique
Other topics in Randomness
Data Collection
Identifying the Distribution with Data
Selecting the Family of Distributions
Quantile-Quantile Plots
Parameter Estimation
Preliminary Statistics: Sample Mean and Sample Variance
Evolution of computer systems architectures
Evolution of database systems
Evolution of operating systems
Evolution of computer networks
Need for performance evaluation
Role of performance evaluation in computer engineering
Overview of performance evaluation methods
Performance metrics and evaluation criteria
Comparison of Two System Designs
Independent Sampling with Equal Variances
Independent Sampling with Unequal Variances
Common Random Numbers (CRN)
Confidence Intervals with Specified Precision
Comparison of Several System Designs
Bonferroni Approach to Multiple Comparisons
Bonferroni Approach to Selecting the Best
Bonferroni Approach to Screening
Simple Linear Regression
Testing for Significance of Regression
What Does ''''''''Optimization via Simulation'''''''' Mean?
Why is Optimization via Simulation Difficult?
Using Robust Heuristics
An Illustration: Random Search
Introduction to Perf. Eval
Measurements (sampling)
Problems encountered in model development and use
 A case study
Introduction to Software Reliability
Definitions and Software Reliability Model 
Software Reliability Growth Modeling
Imperfect Debugging Modeling
Imperfect Debugging Model with Perfect
Imperfect Debugging Model for Introduced Faults 
Software Availability Modeling
Model Description
Software Availability Measures
Application of Software Reliability Assessment
Optimal Software Release Problem
Statistical Software Testing-Progress Control
Optimal Testing-Effort Allocation Problem
Introduction to Formal Modeling
Basic notation-I
Basic notation-II
Classical Petri nets-I
Classical Petri nets-II
Timed Petri nets-I
Timed Petri nets-II
Generalized Petri Nets
Formal Spec. using Z
Basic Concepts of Z
State charts use in Z
Making a Counter Using Z-Init Schema and Basic Definitions
Making a counter - Querying the Counter
Changes in the counter
Class Enrollment example basics
Basic Set definitions of class enrollment example
Initialization of class example
Enrollment schema 
Certificate receipt schema
Free Type Definitions for class enrollment
Writing Z using LaTeX/LyX-I
Writing Z using LaTeX/LyX-II
Writing Z using LaTeX/LyX-III
Writing Z using LaTeX/LyX-IV