Winter Term 2004

- Lecturer: Prof. Hans Vangheluwe
- TA: Thomas Feng
- Office hours: McConnell 328, Monday 16:00 - 18:00.
- Course venue: McConnell 320, Monday and Wednesday 10:00 - 11:30.
- Prerequisites: COMP 522 "
Modelling and Simulation".
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 2004 Incarnation of this course is
similar to the 2003 version.

Have a look at the 2003 website.

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 AToM^{3} in the MC 110
graduate computer lab.

** Wednesday 4 February at 10:00** class will be "hands on"
meta-modelling in AToM^{3} 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] |

- Perdita Stevens. The Unified Modelling Language. ETAPS 2000 tutorial [pdf].
- <<UML 2002>> workshop on Consistency Problems in UML-based Software Development.
- <<UML 2003>> workshop on Consistency Problems in UML-based Software Development.
- Karsten Hoelscher and Bjoern Cordes. UML Interaction Diagrams: Correct translation of Sequence Diagrams into Collaboration Diagrams" thesis. University of Bremen, Department of Computer Science. 2003.

- 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].
- Bran Selic's presentation (Montreal, 7 March 2003)

Preview of UML 2.0 and MDA. [pdf] demonstrates the introduction of connectors and ports in UML 2.0 to enhance modularity. - A report on "Executable UML" (with a chat program example, using UML 2.0 constructs in Telelogic's Tau tool) by Geir Melby of Agder University College. [pdf].
- DCharts introduced in Thomas Feng's M.Sc. thesis: Modelling and Simulation with DCharts, a Modular and Expressive Formalism.
- Michael von der Beeck. A structured operational semantics for UML-statecharts. Software and Systems Modeling. Volume 1, No. 2 pp.130 - 141 . December 2002. [pdf].
- David Harel. Can Behavioral Requirements be Executed ? [ps]. Introduces Play-in/Play-out.
- David Harel and Hillel Kugler. Synthesizing state-based object systems from LSC specifications. International Journal of Foundations of Computer Science, Vol. 13, No.1. 2002. pp. 5-51. World Scientific Publishing Company. [ps].
- David Harel and Rami Marelly. Specifying and Executing Behavioral Requirements: The Play-In/Play-Out Approach [pdf]. Software and Systems Modeling. Volume 2, Number 2. July 2003. pp. 82 - 107.

- Hans L. Vangheluwe, Juan de Lara, and Pieter J. Mosterman. An introduction to multi-paradigm modelling and simulation. In Fernando Barros and Norbert Giambiasi, editors, Proceedings of the AIS'2002 Conference (AI, Simulation and Planning in High Autonomy Systems), pages 9 -- 20, April 2002. Lisboa, Portugal. [paper (pdf)].
- Hans L. Vangheluwe, Juan de Lara, and Ghislain C. Vansteenkiste. A software architecture for multi-paradigm modelling. 4th Middle East Symposium on Simulation and Modelling. Society for Computer Simulation International, September 2002. Sharjah, United Arab Emirates. [keynote presentation (pdf)].
- ACM Transactions on Modeling and Computer Simulation (TOMACS). Special Issue on Computer Automated Multi-paradigm Modeling.
- Jonathan Sprinkle's course at UC Berkeley on Model-Integrated Computing.

- Colin Atkinson and Thomas Kuhne. Rearchitecting the UML infrastructure [pdf]. ACM Transactions on Modeling and Computer Simulation (TOMACS). Volume 12, Issue 4. pp 290 - 321. October 2002.
- Daniel Varro and Andras Pataricza. VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML (The Mathematics of Metamodeling is Metamodeling Mathematics) [pdf]. Software and Systems Modeling. Volume 2, No. 3 pp. 187 - 210. October 2003.

- L. Baresi and R. Heckel, Tutorial Introduction to Graph Transformation: A Software Engineering Perspective. In Corradini, A.,H. Ehrig, H.-J. Kreowski und G. Rozenberg (Editors): Proc. 1st Int. Conference on Graph Transformation (ICGT 02), Barcelona, Spain, Volume 2505 of Lecture Notes in Comp. Science. Springer-Verlag, Oktober 2002. [ps].
- L. Baresi and R. Heckel, Foundations and Applications of Graph Transformation: An introduction from a software engineering perspective. [presentation (pdf)].
- D. Blostein, H. Fahmy and A. Grbavec, Practical Use of Graph Rewriting [pdf].

- AToM
^{3}, A Tool for Multi-formalism, Meta-Modelling. - PacMan.tgz
- Atom3_2.2.minimal.tgz (Queueing formalism).

- The OMG's MDA pages.
- Anneke Kleppe, Jos Warmer, Wim Bast. MDA Explained: The Model Driven Architecture--Practice and Promise. (a high-level introduction). [Amazon].
- Bran Selic's presentation (Montreal, 7 March 2003)

"Preview of UML 2.0 and MDA". [pdf] - U2 partners' April 2003 "UML 2.0 Superstructure" [pdf] [xmi] [petal(rose)].
- Mapping a UML Platform Independent Model onto an ASP.NET web application. Presentation (McGill, 9 April 2003) by Michel Brassard from Codagen. [pdf]

- The refactoring home page.
- The refactoring catalog.

- The Software and Systems Modeling journal.
- student project reports from Agder University College.