CS 450 Modeling and Simulation

Slides:



Advertisements
Similar presentations
Simulation - An Introduction Simulation:- The technique of imitating the behaviour of some situation or system (economic, military, mechanical, etc.) by.
Advertisements

Software Modeling SWE5441 Lecture 3 Eng. Mohammed Timraz
INTRODUCTION TO SIMULATION
Chapter 15 Application of Computer Simulation and Modeling.
Introduction To System Analysis and Design
Introduction to System Analysis and Design
CS 351 Introduction Spring 2010 Modeling and Simulation Technologies Dr. Jim Holten.
1 Simulation Lecture 6 Simulation Chapter 18S. 2 Simulation Simulation Is …  Simulation – very broad term  methods and applications to imitate or mimic.
CPS 808 Introduction To Modeling and Simulation
CPE 412 SIMULATION and MODELING n Instructor: Dr. Mahmoud Alrefaei n Various notes and transparencies can be found on web page.
Introduction1 What Is A Model ? A Representation of an object, a system, or an idea in some form other than that of the entity itself. (Shannon)
CS350/550 Software Engineering Lecture 1. Class Work The main part of the class is a practical software engineering project, in teams of 3-5 people There.
SIMULATION. Simulation Definition of Simulation Simulation Methodology Proposing a New Experiment Considerations When Using Computer Models Types of Simulations.
Lab 01 Fundamentals SE 405 Discrete Event Simulation
CSC230 Software Design (Engineering)
Basic Simulation Modeling II
Modeling and Simulation
1 Introduction to Simulation Chapters 24. Overview Simulation: Key Questions Introduction to Simulation Common Mistakes in Simulation Other Causes of.
Lecture Outline 11 The Development of Information Systems Chapter 8 page 390+
S/W Project Management
Systems Analysis – Analyzing Requirements.  Analyzing requirement stage identifies user information needs and new systems requirements  IS dev team.
Discrete-Event System Simulation
S/W Project Management Software Process Models. Objectives To understand  Software process and process models, including the main characteristics of.
Introduction to Discrete Event Simulation Customer population Service system Served customers Waiting line Priority rule Service facilities Figure C.1.
Chapter 1 Introduction to Simulation
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
Dr. Stephania Loizidou Himona1 ACSC 155 System Analysis and Design 1. Introduction ACSC 155 System Analysis and Design 1. Introduction.
1 Performance Evaluation of Computer Networks: Part II Objectives r Simulation Modeling r Classification of Simulation Modeling r Discrete-Event Simulation.
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 A Discipline of Software Design.
Modeling & Simulation: An Introduction Some slides in this presentation have been copyrighted to Dr. Amr Elmougy.
Introduction To System Analysis and Design
OBJECT ORIENTED SYSTEM ANALYSIS AND DESIGN. COURSE OUTLINE The world of the Information Systems Analyst Approaches to System Development The Analyst as.
Chapter 12: Systems Investigation and Analysis. Agenda  How to Develop a CBIS?  Systems Development Life Cycle (SDLC)  Prototyping  Join Application.
Modeling and simulation of systems Model building Slovak University of Technology Faculty of Material Science and Technology in Trnava.
Lecture 1 Introduction Figures from Lewis, “C# Software Solutions”, Addison Wesley Richard Gesick.
1 Introduction to Software Engineering Lecture 1.
McGraw-Hill/Irwin © 2006 The McGraw-Hill Companies, Inc., All Rights Reserved. 1.
Fall 2011 CSC 446/546 Part 1: Introduction to Simulation.
Object Oriented Discrete-Event Simulation CS4730 Fall 2010 Jose M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
Chapter 3 System Performance and Models Introduction A system is the part of the real world under study. Composed of a set of entities interacting.
McGraw-Hill/Irwin Copyright © 2009 by The McGraw-Hill Companies, Inc. All rights reserved.
Introduction to Simulation K.Sailaja Kumar 1 SYSTEM SIMULATION AND MODELLING Course Code: MCA 52 Faculty : Sailaja Kumar k.
Introduction to Simulation Andy Wang CIS Computer Systems Performance Analysis.
OPERATING SYSTEMS CS 3530 Summer 2014 Systems and Models Chapter 03.
CS 450 Modelling and Simulation Dr. X. Topics Time Discrete and Continuous Simulation Simulation Design Process.
Network Protocol Simulation: A look at Discrete Event Simulation Grant D. Lanterman 5/21/2004.
Network Performance modelling and simulation
CS 450 – Modeling and Simulation Dr. X. Topics System Analysis Arrival process The Queue The Server The simulation.
Advantages of simulation 1. New policies, operating procedures, information flows and son on can be explored without disrupting ongoing operation of the.
Introduction The objective of simulation – Analysis the system (Model) Analytically the model – a description of some system intended to predict the behavior.
1 CS 214 Modeling and Simulation Introduction. 2 Goals of This Course lIntroduce Modeling lIntroduce Simulation lDevelop an Appreciation for the Need.
K. Salah1 ICS 533 Introduction To Modeling and Simulation.
Introduction to Modeling & Simulation Dr. A. K. Dey Third Lecture
Introduction To Modeling and Simulation 1. A simulation: A simulation is the imitation of the operation of real-world process or system over time. A Representation.
Modelling & Simulation of Semiconductor Devices Lecture 1 & 2 Introduction to Modelling & Simulation.
Traffic Simulation L2 – Introduction to simulation Ing. Ondřej Přibyl, Ph.D.
Introduction To Modeling and Simulation Rabie A. Ramadan odeling / Lecture 1.
OPERATING SYSTEMS CS 3502 Fall 2017
CPSC 531: System Modeling and Simulation
Modeling and Simulation (An Introduction)
Chapter 1.
Simulation Department of Industrial Engineering Anadolu University
The Development of Information Systems Chapter 8 page 348+
Basic Simulation Modeling II
Simulation and Modeling
Discrete-Event System Simulation
MECH 3550 : Simulation & Visualization
MECH 3550 : Simulation & Visualization
Chapter 7 Software Testing.
Presentation transcript:

CS 450 Modeling and Simulation Dr. X CS 450

Topics Modelling vs Simulation Applications of Simulation Why Simulate How to Simulate CS 450

What Is A Model ? A Representation of an object, a system, or an idea in some form other than that of the entity itself. (Shannon) CS 450 3

A description of the system you wish to study What Is A Model ? A description of the system you wish to study What is a system? A collection of elements that act to achieve some goal Does the model always have to be real? Vampires in NY City CS 450 3

Types of Models Physical Mathematical Computational Scale models, prototype plants,… Mathematical Analytical queueing models, linear programs, Simulation Computational Weather forecasting Earth Simulator Flight, Combat Simulator Molecular simulator Nuclear simulator A computational model is a mathematical model in computational science that requires extensive computational resources to study the behavior of a complex system by computer simulation. The system under study is often a complex nonlinear system for which simple, intuitive analytical solutions are not readily available. Rather than deriving a mathematical analytical solution to the problem, experimentation with the model is done by adjusting the parameters of the system in the computer, and studying the differences in the outcome of the experiments. Operation theories of the model can be derived/deduced from these computational experiments. CS 450 4

Why do we need models? To simulate, to make assumptions, we cannot simulate every detail in a system, CS 450

Simulation Models 1. Environment 2. Interdependency 3. Sub-systems 4. Organization 5. Change 1. Environment: Each system can be seen as a subsystem of a broader system. 2. Interdependency: No activity takes place in total isolation. 3. Sub-systems: Each system can be broken down to sub-systems. 4. Organization: Virtually all systems consist of highly organized elements or components, which interact in order to carry out the function of the system. 5. Change: The present condition or state of the system usually varies over a long period of time. CS 450

Beard’s Managerial Pyramid Level of detail Beard’s Managerial Pyramid CS 450

Implementation of a model What is Simulation? Implementation of a model How do we computer scientists implement? With programs and algorithms What is a program? Implementation of an algorithm What is an algorithm? Precise set of instructions for accomplishing a task A simulation is to models what a program is to algorithms!! CS 450 5

Why simulate? Cost Safety Speed Try before implementing Creativity Detailed design Predictions Experimentation Are there any disadvantages? Expensive, time consuming, not accurate, tough to validate, it is not a Gospel! When everything fails, simulate! Find bugs, PoC REDUCE RISK! CS 450

Simulation Applications Designing and analyzing manufacturing systems Evaluating H/W and S/W requirements for a computer system Evaluating a new military weapons system or tactics Determining ordering policies for an inventory system Designing communications systems and message protocols for them CS 450

Simulation Applications Designing and operating transportation facilities such as freeways, airports, subways, or ports Evaluating designs for service organizations such as hospitals, post offices, or fast-food restaurants Analyzing financial or economic systems CS 450

Steps In Simulation and Model Building 1. Define an achievable goal 2. Put together a complete mix of skills on the team 3. Involve the end-user 4. Choose the appropriate simulation tools 5. Model the appropriate level(s) of detail 6. Start early to collect the necessary input data 1-3 very similar to any software project CS 450 8

Steps In Simulation and Model Building(cont’d) 7. Provide adequate and on-going documentation 8. Develop a plan for adequate model verification (Did we get the “right answers ?”) 9. Develop a plan for model validation (Did we ask the “right questions ?”) 10. Develop a plan for statistical output analysis 7 also classic in sw projects CS 450 9

Define An Achievable Goal “To model the…” is NOT a goal! “To model the…in order to select/determine feasibility/…” is a goal. Goal selection is not cast in concrete Goals change with increasing insight CS 450 10

Put together a complete mix of skills on the team We Need: Knowledge of the system under investigation System analyst skills (model formulation) Model building skills (model Programming) Data collection skills Statistical skills (input data representation) CS 450 11

Put together a complete mix of skills on the team(continued) We Need: More statistical skills (output data analysis) Even more statistical skills (design of experiments) Management skills (to get everyone pulling in the same direction) CS 450 12

Involve the end user Modeling is a selling job! Does anyone believe the results? Will anyone put the results into action? The End-user (your customer) can (and must) do all of the above BUT, first he must be convinced! He must believe it is HIS Model! CS 450 13

Choose The Appropriate Simulation Tools Build Model in a General Purpose Language Build Model in a General Simulation Language Use a Special Purpose Simulation Package CS 450 14

Modelling w/ general purpose languages Advantages: Little or no additional software cost Maximum customization Universally available (portable) No additional training (Everybody knows…(language X) ! ) Disadvantages: Every model starts from scratch Very little reusable code Long development cycle for each model Difficult verification phase Reusable code: it depends how well it is designed CS 450 15

Gen. Purpose languages used for simulation FORTRAN Probably more models than any other language. C++, Java, C# Object-oriented programming language Python, Perl, Ruby Interpreted programming languages CS 450 16

Modeling w/ general simulation languages Advantages: Standardized features often needed in modeling Shorter development cycle for each model Much assistance in model verification Very readable code Disadvantages: Higher software cost (up-front) Additional training required Limited portability Limited customization CS 450 17

General purpose simulation languages SimPy Arena NS3 Csim ExtendSim Simio CS 450 18

Special purpose packages used for simulation OPNET Simulator for communication networks, including wireless networks Modelica Matlab Simulink Other CS 450 22

TERMINOLOGY System A group of objects that are joined together in some regular interaction or interdependence toward the accomplishment of some purpose. Entity An object of interest in the system. E.g., customers at a bank Analygy with program, OO programming CS 450 24

TERMINOLOGY (continued) Attribute a property of an entity E.g., checking account balance Activity Represents a time period of specified length. Collection of operations that transform the state of an entity E.g., making bank deposits Attributes/characteristics of objects in OO programming Activity: method CS 450 25

TERMINOLOGY (continued) Event: change in the system state. E.g., arrival; beginning of a new execution; departure State Variables Define the state of the system Can restart simulation from state variables E.g., length of the job queue. CS 450 26

TERMINOLOGY (continued) Process Sequence of events ordered on time Note: the three concepts(event, process,and activity) give rise to three alternative ways of building discrete simulation models Process- main? CS 450

EXAMPLES OF SYSTEMS AND COMPONENTS Note: State Variables may change continuously (continuous sys.) over time or they may change only at a discrete set of points (discrete sys.) in time. CS 450 29

SIMULATION “WORLD-VIEWS” Pure Continuous Simulation Pure Discrete Simulation Event-oriented Activity-oriented Process-oriented Combined Discrete / Continuous Simulation CS 450 31

Examples Of Both Type Models Continuous Time and Discrete Time Models: CPU scheduling model vs. number of students attending the class. CS 450 32

Other Models Deterministic and Probabilistic Models: Input Output Static and Dynamic Models: CPU scheduling model vs. E = mc2 CS 450 34

START EARLY TO COLLECT THE NECESSARY INPUT DATA Data comes in two quantities: TOO MUCH!! TOO LITTLE!! What are the issues? With too much data, we need techniques for reducing it to a form usable in our model. With too little data, we need information which can be represented by statistical distributions. CS 450 37

PROVIDE ADEQUATE AND ON-GOING DOCUMENTATION In general, programmers hate to document. (They love to program!) Documentation is always their lowest priority item. (Usually scheduled for just after the budget runs out!) They believe that “only wimps read manuals.” What can we do? Use self-documenting languages Insist on built-in user instructions(help screens) Set (or insist on) standards for coding style Do you see your self in any of these bullets? Introduction 38

DEVELOP PLAN FOR ADEQUATE MODEL VERIFICATION Did we get the “right answers?” (No such thing!!) Simulation provides something that no other technique does: Step by step tracing of the model execution. This provides a very natural way of checking the internal consistency of the model. Like debugging and using the debugger to step in Introduction 39

DEVELOP A PLAN FOR MODEL VALIDATION VALIDATION: “Doing the right thing” Or “Asking the right questions” How do we know our model represents the system under investigation? Compare to existing system? Deterministic Case? Mathematical model? Introduction 40

DEVELOP A PLAN FOR STATISTICAL OUTPUT ANALYSIS How much is enough? Long runs versus Replications Techniques for Analysis Take some statistics classes! Introduction 41

References The Guide to Computer Simulations and Games, By Katrin Becker and J.R.Parker, Wiley (Chapter 2) Simulation Modeling and Analysis, By Law and Kelton, McGrawHill, (Chapter 1) Computer Simulation Techniques: The Definitive Introduction, by Harry Perros, http://www4.ncsu.edu/~hp/simulation.pdf (Chapter 1) CS 450