Modelling and Simulation
Modelling and Simulation
General Information
Course title Course number Prerequisites Modelling and Simulation CS 308-522A CS 308-251 (data structures and algorithms), CS 308-302 (programming languages and paradigms), CS 308-350 (numerical computing). Some experience with object-oriented design and programming. If you do not have the pre-requisites for the course, the course will be deleted from your record by the Faculty of Science. This is a project course which means you will learn to build and use full modelling and simulation tools in the numerous assignments. You are strongly advised to not take more than one other project course. Leacock 14 (check infomcgill). Monday and Wednesday, 14:30 16:00 (starting Wednesday 5 September) Tentative Schedule Enrollment is limited to 45 students. Prof. Hans Vangheluwe McConnell Engineering room 328 tel.: +1 (514) 398 44 46 e-mail: [email protected] Monday 16:00 18:00 (formulate questions via e-mail rst !) Dr. Juan de Lara Wednesday 16:00 18:00 McConnell Engineering room 202 (Modelling, Simulation and Design Lab)
Course Goals
Objectives
The course aims to teach the generic (i.e., tool and application domain independent) concepts of modelling and simulation. By the end of this course, you should have a deep understanding of the concepts of modelling and simulation of dynamic systems using a variety of formalisms. You should be able to build modelling and simulation systems (during the course only two are used, others are built from scratch). This will give you ample background to understand and use existing modelling and simulation systems. The course presents general modelling and simulation principles by applying them to concrete problems. Through the assignments 1
(building prototype modelling and simulation tools), some experience in structured, object-oriented design and implementation will also be acquired. Prototype modelling tools and simulators are constructed based on the theory. This is preferred to using commercial simulation tools as it leads to much better insight. Applications (software process modelling and simulation, reactive systems design, population dynamics analysis, trafc analysis, supermarket queueing, etc. ) are used to illustrate the different modelling formalisms and serve as case studies for the tools built in the assignments.
Method of Instruction
Ex cathedra lectures. Each group of new topics will be implemented in an assignment using the executable pseudocode scripting language Python.
Course Materials
A course pack will be made available providing a selection of book chapters and articles.
6 small assignments (no implementation). The lowest scoring assignment is discarded. These assignments consist of either the development of a small model (e.g., of trafc behaviour at an intersection) in a particular formalism without simulation or of the use of an existing modelling and simulation system such as GPSS or PythonDEVS to obtain performance metrics through simulation. 3 mandatory software development assignments. The rationale is that the Modelling and Simulation software tools to be developed in the projects are representative for complex software systems. During the development, most of the typical software engineering problems will be encountered. Obviously, the development of these tools will also provide insight into the (often abstract) Modelling and Simulation concepts. 1 project (i.e., large assignment) chosen from a list, similar to an assignment, but larger.
Structure:
Most of the assignments as well as the project may be worked on in teams of upto 3 members, though this is not necessary. Individual work must be indicated ! The results of assignments will be presented and discussed in class. All assignments must be submitted entirely in the form of web-pages (including design, code, and simulation results).
Grading
Grades will be distributed over assignments, project and exam:
30% on 5 (out of 6) highest scoring small assignments. 30% on 3 implementation assignments. 15% on the project. 25% on the nal exam.
If a student fails to achieve a passing mark, he/she has the option of taking a supplemental exam, which will again count for 25% of the marks. Additional work may assigned to improve assignment/project grades. Assignments and projects will be judged on:
Original Work
You are encouraged to help each other formulate the ideas behind assignment problems, but each student is required to submit his or her own original work. Handing in work that is not your own, original work as if it is your own is plagiarism. See section 15 of Student Rights and Responsibilities Handbook for more details. In-class presentations will check thorough understanding of assignment results. The assignment/project presentations count for 10% of the total marks.
References
Some of the main components of the course pack are:
The foundations of modelling and simulation: Bernard P. Zeigler, Herbert Praehofer, and Tag Gon Kim. Theory of Modelling and Simulation: Integrating Discrete Event and Continuous Complex Dynamic Systems. Academic Press, second edition, 2000. Chapters 1 9, 17, 18. Random variates, random number generation: Averill M. Law and David W. Kelton. Simulation Modeling and Analysis. McGraw-Hill, 1991. Chapters 8, 9. Discrete event world views: Osman Balci. The implementation of four conceptual frameworks for simulation modeling in high-level languages. In M. Abrams, P. Haigh, and J. Comfort, editors, Proceedings of the 1988 Winter Simulation Conference, pages 287295. Society for Computer Simulation International (SCS), 1988. The process interaction language GPSS: Geoffrey Gordon. System Simulation. Prentice Hall of India, second edition, 1996. Chapters 8 10. Continuous system modelling theory, causality, Forrester System Dynamics, Bond Graphs: Francois E. Cellier. Continuous System Modeling. Springer-Verlag, New York, 1991. Chapters 1, 2, 5, 7, 10, 11, 15. Numerical simulation, System Dynamics: Hartmut Bossel. Modeling and Simulation. A.K. Peters, Ltd., 289 Linden Street, Wellesley, MA 02181, 1994. Chapters 1 3. Petri Nets and Timed Models: Christos G. Cassandras. Discrete Event Systems. Irwin, 1993. Chapters 4, 5. Tadao Murata. Petri nets: Properties, analysis and applications. Proceedings of the IEEE, 77(4):541580, April 1989. State Charts and applications in object-oriented software design: David Harel. On visual formalisms. Communications of the ACM, 31(5):514530, May 1988. David Harel and Eran Gery. Executable object modeling with statecharts. IEEE Computer, pages 3142, 1997. Object-oriented non-causal modelling: Hilding Elmqvist et. al. Modelica a unied object-oriented language for physical systems modeling: Tutorial and rationale. The Modelica Design Group, December 1999. http://www.modelica.org/. Robert Endre Tarjan. Data Structures and Network Algorithms. CBMS-NSF Regional Conference Series in Applied Mathematics. Society for Industrial & Applied Mathematics, 1983. Chapter 8. (used for causality assignment)
With the exception of Celliers book (to be ordered), the above are available at the PSE library.