For those who have not taken this course, a test will be given at 17:00 in McConnell 320 on Monday 12 January on some of the COMP 522 subjects (Petri Nets and Statecharts). Notes will be made available upon request.
The purpose of this course is to look at the State of The Art in Modelling and Simulation on the one hand and Software (and to a far lesser extent Hardware) Design on the other hand. The goal is to get some insight into the development of truly complex systems. The focus will be on the use of multiple modelling formalisms and their interrelationships to study and design such complex systems. We will study meta-modelling extensively in this context. In the software realm, we will study the recent evolutions of the Unified Modelling Language (UML) and how the UML fits in the broader context of multi-paradigm modelling and simulation.
The course will study research publications in the literature.
You should be capable of independent, critical reading. Students will be expected
to give two presentations, and to evaluate the other
presentations.
The presentations should be prepared in an
electronic form that can be used to create an online resource.
The first presentation reviews work from the literature.
The second presentation presents the result of a small research
project which builds on the material you have studied.
You will be evaluated on your presentation, your presentation evaluations
(how well you understood other presentations), and your project.
You must also attend a few interesting seminars given by invited researchers. You are required to attend these talks and write a one-page summary (due the next class) of what you've learned from the talk. A small fraction of your grade will be given for your attendance and written summary.
You will also be graded on your work during in-class tutorials (building for example a small modelling environment using meta-modelling and graph rewriting).
Warning: you will have to learn Python on your own and use the AToM3 meta-modelling tool.
Part | Weight |
seminar 1/2-page reports (2x) | 5 |
class participation (including hands-on sessions) | 10 |
feedback (in-class and written) on presentations | 5 |
literature review + presentation | 35 |
research project + presentation | 45 |
Have a look at the big picture (scribbles on the board in class) showing the links between the various subjects.
Candidate subjects (you're welcome to suggest your own though !)
are given here.
You must choose a topic by Wednesday 14 January !
Wednesday 17 March at 10:40 (in-class) Presentation by Alison Stewart on her DCharts model (and simulation) of the Observer Pattern. The presentation as well as all the models are available from Alison's website.
Tuesday 16 March at 10:00 Talk by Dr. Joel Ouaknine from CMU on Verifying Functional Specifications of Real-time Systems. The talk presents an approach to verifying concurrent software (in particular, C programs that communicate via synchronous message passing) against functional specifications.
Monday 23 and Wednesday 25 February: no class (spring break).
Monday 16 February at 10:00 Talk (replacing class) by Benjamin Liblit from UC Berkeley on Cooperative Bug Isolation. The talk introduces statistical debugging which combines statistical modeling, machine learning, and program analysis to identify program behaviors that are highly predictive of program failure. [presentation (ppt)].
Monday 9 February at 10:00 class will be "hands on" model transformation using graph rewriting in AToM3 in the MC 110 graduate computer lab.
Wednesday 4 February at 10:00 class will be "hands on" meta-modelling in AToM3 in the MC 110 graduate computer lab.
Tuesday 27 January at 10:00 Talk by Dr. Martin Robillard from the University of British Columbia on Representing the Implementation of High-level Concerns Software Systems. The talk presents a model, technique, and tool to help software engineers find, understand, and document how high-level concerns are implemented in a system.
Friday 9 January at 10:00 Talk by Dr. Christoph Kirsch from UC Berkeley on Real-Time Programming Based on Schedule-Carrying Code. The talk discusses how models of (controller) behaviour can be mapped onto real-time embedded code. [presentation (pdf)].
Presentation evaluation form [pdf] [txt].
Date | Presenter | Reading subject | Talk |
Wednesday 18 February | Marc Provost | Graph Transformation | [pdf] |
Monday 1 March | Aaron Shui | Meta-modelling (UML) | [pdf] |
Monday 1 March | Sokhom Pheng | Petri Net analysis | [pdf] |
Wednesday 3 March | He Wei | Model Driven Architecture | [pdf] |
Wednesday 3 March | Chen Tang | Refactoring (by means of Graph Rewriting) | [pdf] |
Monday 8 March | Riandi Wiguna | Play-in/Play-out | [pdf] |
Monday 8 March | WeiBin Liang | UML 2.0 Statecharts | [pdf] |
Wednesday 10 March | Xia Shengjie | Graph Rewriting (Sequence Diagrams, Collaboration Diagrams) | [pdf] |
Wednesday 10 March | Victoria Yang | Consistency | [pdf] |
Date | Presenter | Project subject | Talk |
Monday 29 March | Marc Provost | Graph Transformation kernel | [pdf] |
Friday 2 April | Aaron Shui | Implementing Meta-modelling: a meta-checker for PyGK | [pdf] |
Friday 2 April | Sokhom Pheng | Petri Net analysis (conserved properties) | [pdf] |
Monday 5 April | He Wei | Model Driven Architecture: MDA transformations by graph rewriting | [pdf] |
Monday 5 April | Chen Tang | Refactoring (by means of Graph Rewriting), some cases | [pdf] |
Wednesday 7 April | Xia Shengjie | Graph Rewriting Sequence Diagrams into Collaboration Diagrams | [pdf] |
Wednesday 7 April | WeiBin Liang | Statechart model/simulation/implementation of a wristwatch | [pdf] |
Tuesday 13 April | Riandi Wiguna | Play-in/Play-out: transforming LSC into Statecharts | [pdf] |
Tuesday 13 April | Victoria Yang | Consistency Checking using Graph Rewriting | [pdf] |