Concurrent & Distributed Systems Lecture 6: Simulation (WWCH) What? –The use of an abstract model of a real engineering system, which can be implemented.

Slides:



Advertisements
Similar presentations
© Alan Burns and Andy Wellings, 2001 Real-Time Systems and Programming Languages n Buy Real-Time Systems: Ada 95, Real-Time Java and Real-Time POSIX by.
Advertisements

Digitally-Bypassed Transducers: Interfacing Digital Mockups to Real-Time Medical Equipment Scott Sirowy*, Tony Givargis and Frank Vahid* This work was.
1 FUNCTION MODELING USING IDEF-0 IE 590 INTEGRATED MANUFACTURING SYSTEMS Lecture 7.
Chapter 1 An Overview of Computers and Programming Languages.
Systems Analysis, Prototyping and Iteration Systems Analysis.
Multimedia Specification Design and Production 2013 / Semester 1 / week 7 Lecturer: Dr. Nikos Gazepidis
Chapter 4 Design Approaches and Methods
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Lecture 19 Page 1 CS 111 Online Protecting Operating Systems Resources How do we use these various tools to protect actual OS resources? Memory? Files?
Prototyping of Real-time Component Based Systems by the use of Timed Automata Trevor Jones Lancaster University, UK
 delivers evidence that a solution developed achieves the purpose for which it was designed.  The purpose of evaluation is to demonstrate the utility,
Silberschatz, Galvin and Gagne  2002 Modified for CSCI 399, Royden, Operating System Concepts Operating Systems Lecture 19 Scheduling IV.
CBSD – Component Based Software Development - Introduction -
Concurrent & Distributed Systems Lecture 5: Semaphores and Synchronisation Concurrent processes which don’t interact in some way don’t form an interesting.
Concurrent & Distributed Systems Lecture 4: ME solutions Lecture 3 considered possible algorithms for achieving Mutual Exclusion between the critical sections.
Software Processes: Traditional CSCI102 - Systems ITCS905 - Systems MCS Systems.
Business Area Analysis Focus: Domain View (selected business area) Goals: –Isolate functions and procedures that allow the area to meet its goals –Define.
1 Lecture 5 Introduction to Software Engineering Overview  What is Software Engineering  Software Engineering Issues  Waterfall Model  Waterfall Model.
CS 282 Simulation Physics Lecture 1: Introduction to Rigid-Body Simulation 1 September 2011 Instructor: Kostas Bekris Computer Science & Engineering, University.
Copyright © 2003 The McGraw-Hill Companies, Inc. Permission required for reproduction or display. Slides prepared by Walid A. Najjar & Brian J. Linard,
How to build your own computer And why it will save you time and money.
SM3121 Software Technology Mark Green School of Creative Media.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 17 Slide 1 Rapid software development.
This refers to the use of computers to represent a real life situation.
Computer-Aided Drawing (CAD)
The Project AH Computing. Functional Requirements  What the product must do!  Examples attractive welcome screen all options available as clickable.
MapleSim and the Advantages of Physical Modeling
Ch 26 & 27 User Interfaces.
1.1 1 Introduction Foundations of Computer Science  Cengage Learning.
Lecture 1 What is Modeling? What is Modeling? Creating a simplified version of reality Working with this version to understand or control some.
1 Validation & Verification Chapter VALIDATION & VERIFICATION Very Difficult Very Important Conceptually distinct, but performed simultaneously.
IGCSE ICT Computer Simulation.
Real Time & Embedded Systems Lecture 1: Real Time Systems Software (RTSS) RTSS: the software half of the Real Time & Embedded Systems unit What do we mean.
Process Flowsheet Generation & Design Through a Group Contribution Approach Lo ï c d ’ Anterroches CAPEC Friday Morning Seminar, Spring 2005.
Unit 3: Multimedia The Development Process. What is Multimedia? An interactive piece of software using several types of media: –Text –Graphics (photographs.
1 Chapter 2 The Process. 2 Process  What is it?  Who does it?  Why is it important?  What are the steps?  What is the work product?  How to ensure.
CS 1308 Computer Literacy and the Internet Computer Systems Organization.
Team Skill 6: Building the Right System From Use Cases to Implementation (25)
Nipissing University, North Bay, Ontario, Canada 1 Building Reusable Components with Service-Oriented -IBM Eclipse Innovation Grant -IBM Eclipse Innovation.
1-1 Copyright © 2015, 2010, 2007 Pearson Education, Inc. Chapter 10, Slide 1 Chapter 10 Understanding Randomness.
Institut für Computertechnik ICT Institute of Computer Technology Remote Control and Reconfiguration of Laboratories for Education and Training Vienna.
Achieving Believable Psychosocial Behaviour in Non-player Characters in Modern Video Games Christine Bailey, Jiaming You, Gavan Acton, Adam Rankin, and.
Application Software System Software.
Click to add text Systems Analysis, Prototyping and Iteration.
CSCI1600: Embedded and Real Time Software Lecture 6: Modeling I: Continuous Systems Steven Reiss, Fall 2015.
© Maplesoft, a division of Waterloo Maple Inc MapleSim and the Advantages of Physical ModelingMapleSim and the Advantages of Physical Modeling.
Smart Home Technologies
1 The Requirements Problem Chapter 1. 2 Standish Group Research Research paper at:  php (1994)
Software Engineering Lecture 10: System Engineering.
GCSE ICT Simulations. A simulation is a software package that recreates or simulates a complex phenomena, environment, or experience in order to provide.
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.
Software Testing.
Computer Organization and Machine Language Programming CPTG 245
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Prototyping Lecture # 08.
Network Simulators.
CSULB EE400D Documentation Introduction to Engineering Design Series
Prototyping.
Systems Analysis and Design
Introduction Edited by Enas Naffar using the following textbooks: - A concise introduction to Software Engineering - Software Engineering for students-
Dynamic Simulation and Control Design (IA5617)
Objective of This Course
CSCI1600: Embedded and Real Time Software
Simulink Support for VEX Cortex BEST Robotics Sandeep Hiremath
Chapter 1 Welcome Aboard!. Chapter 1 Welcome Aboard!
CS240: Advanced Programming Concepts
CSCI1600: Embedded and Real Time Software
Operating Systems p.describe the characteristics of knowledge-based systems; q.describe the purpose of operating systems; r.describe the characteristics.
Rapid software development
Software Testing.
Presentation transcript:

Concurrent & Distributed Systems Lecture 6: Simulation (WWCH) What? –The use of an abstract model of a real engineering system, which can be implemented in software, to mimic as closely as possible the system’s behaviour. –A complete set of ‘test scenarios’ to feed into the computer model, to evaluate different design possibilities for the system –An essential part of modern engineering QA –Essentially a prototype in software Why? –For many complex engineering systems, simulation is the only feasible way to run tests. ‘one off’ designs, eg a Mars lander, or the new Wembley roof Very expensive designs, eg a new Pentium processor –Expense – even if real prototypes can be built, they will probably be more expensive than a computer simulation. –Tools have been developed to make simulation easier (Matlab, Labview, Simulink can all be seen as simulation tools. –Scale – small protypes can be built (some very modern tools exist), but big ones would be very difficult. –Some prototypes don’t scale up properly

Concurrent & Distributed Systems Lecture 6: Simulation (WWCH), continued Context –Simulation is also very important in other fields Computer games – a $billion industry, where big technical advances are made (especially in graphics) Safely training humans to do things – eg flight simulators (the Apollo moon landing simulator was one of the first) In the retail world, eg providing a walk through of a new kitchen –Non-computer simulation (ie working with real prototypes) is still done, eg testing model wings in wind tunnels (where the mathematical model of a simulation might be too hard, or too slow) How? To make a good simulator, we need –A good abstract model 1.Needs deep theoretical and special knowledge of the system type, which needs experience and training. 2.Needs to be complete, with all the essential features of the system, but no trivial ones – again this needs experience and judgement. NB Computer games are not like this – features like the colour and appearance of things really do matter in games. 3.Needs to be unambiguous and self consistent.

Concurrent & Distributed Systems Lecture 6: Simulation (WWCH), continued –A clear definition of the boundary between the simulation and the rest of the world. Real systems interact with and are embedded in, the real world, so we have to be clear what we are simulating and what we are not. Once the simulation boundary is drawn, we need to be clear about any inputs or outputs connecting it to the real world, and any other assumptions made about how the simulation fits in with its surroundings. –A good and appropriate human interface Humans will be in charge of running the test scenarios, so they need to be able to monitor the progress of the simulation. The interface could be simple, or complex. It might have to be in real time (as in gaming or flight simulators), or it could be a slowed down model

Concurrent & Distributed Systems Simulation: a Simple Production Line Build Case process Repeat Get raw materials Build case Wait(case_space) Put case into holding area Signal(case) Forever Build Circuit process Repeat Get raw materials Build circuit Wait(circuit_space) Put circuit into holding area Signal(circuit) Forever Final assembly process Repeat wait(case) Get case from holding area signal(case_space) wait(circuit) Get circuit from holding area signal(circuit_space) assemble product deliver finished product Forever