Announcements
The course will make extensive use of the objectoriented programming language Python.
We will advise you to spend the first few weeks (while there are no MoSIS classes) learning the language.
A useful tutorial can be found at: http://docs.python.org/tutorial/

The course will be taught
 10:45  12:30 on Tuesday (lab, but theory during beginning of term) in M.G.04 and PC labs
 10:45  12:30 on Thursday (theory) in M.G.04

Lectures
Overview
Modelling and Simulation to Tackle Complexity
presentation [pdf] exploring the causes of complexity. 
Modelling and Simulation Foundations: Systems Specification
presentation [pdf] 
notes [pdf] 
Formalisms: Causal Block Diagrams (CBDs)
Formalisms: Petri Nets
presentation[pdf] 
Christos G. Cassandras.
Discrete Event Systems. Irwin, 1993.
Chapters 4, 5.
[pdf] (scanned for UA students without access to the book).

Tadao Murata.
Petri nets: Properties, analysis and applications.
Proceedings of the IEEE, 77(4):541580, April 1989. 
James L. Peterson.
Petri Net Theory and the Modeling of Systems.
Prentice Hall, 1981. 
Formalisms: Statecharts
presentation[pdf]. 
David Harel.
Statecharts: A Visual Formalism for Complex Systems.
Science of Computer Programming. Volume 8. 1987. pp. 231  274.
[pdf]. 
David Harel.
On Visual Formalisms.
Communications of the ACM. Volume 31, No. 5. 1988. pp. 514  530.
[pdf]. 
David Harel and Amnon Naamad,
The STATEMATE semantics of statecharts.
ACM Transactions on Software Engineering and Methodology (TOSEM) Volume 5 , Issue 4 (October 1996)
pp.293  333. [pdf]. 
D. Harel and M. Politi.
Modeling Reactive Systems with Statecharts: The STATEMATE Approach. McGrawHill, 1998.
(available online). 
Michael von der Beeck. A structured operational semantics for UMLstatecharts.
Software and Systems Modeling. Volume 1, No. 2 pp.130  141. December 2002.
[pdf]. 
Guest Lecture by Gareth Thomas of The MathWorks on Modelling Complex Systems with MathLab/Simulink
Formalisms: EventScheduling DiscreteEvent
Formalisms: DiscreteEVent System Specification (DEVS)
Assignments
 Causal Block Diagrams (untimed, discretetime)
 Causal Block Diagrams (continuoustime)
 Checking requirements using Sequence Diagrams and Trace Matches
 Petri Nets
 Statecharts
 Event Scheduling
 DEVS

