Meta-modeling (MM - SS08)
Course: | S7087 (Spring Semester 2008) |
Professor: | Prof. Dr. Oscar Nierstrasz |
Assistant: | David Röthlisberger |
Audience: | Master students in computer science |
Time: | Wednesdays, 11h15-13h00 |
Place: | Engehaldenstrasse 8, 003 |
Start: | February 20, 2008 |
Mailing-List: | MM-Seminar |
Repetition: | None planned |
Contents
Software applications are under ever-increasing pressure to adapt to new requirements, sometimes even at run-time. This in turn means that the abstract models of software designs must be kept closer in sync with the software itself. This seminar will explore classical techniques like metaprogramming and reflection to keep code, models and meta-models synchronized, as well as emerging techniques, such as model-driven engineering.
The idea of this seminar is that students will work on different topics in the area of metamodeling and metaprogramming. During the first couple of weeks, members of the Software Composition Group will present selected topics during the seminar. Afterwards, students will present the results of their investigations into their chosen topic. These talks should deliver in-depth information about the topic and should demonstrate tools, concepts or ideas from the field.
Students will be graded for their talks. Additionally, there will be a written or oral exam at the end of the semester covering all presented topics.
Deliverables
- Presentation and Cheat Sheet (see exemplary cheat sheet for Reflectivity lecture)
- Demo and Quick Start
- Draft exam questions (!)
Schedule
Week | Date | Lecture/Seminar |
1 | 20-Feb-08 | Lecture: Introduction |
2 | 27-Feb-08 | Lecture: Magritte — Describe Once, Get Everywhere (Magritte Image) |
3 | 05-Mar-08 | Lecture: The Reflectivity — Sub-Method Structural and Behavioral Reflection |
4 | 12-Mar-08 | Lecture: FAME — a meta-modeling framework |
5 | 19-Mar-08 | Lecture: Object query languages (paper about Traversals from Lieberherr) |
26-Mar-08 | Easter vacation | |
6 | 02-Apr-08 | Break |
7 | 09-Apr-08 | Lecture: OmniBrowser — Meta-modeling Browsers (OmniBrowser image) Hermion — Exploiting Runtime Information in the IDE |
8 | 16-Apr-08 | Lecture: Presenting is Storytelling |
9 | 23-Apr-08 | Break |
10 | 30-Apr-08 | Break |
11 | 07-May-08 | Break |
12 | 14-May-08 | Daniel Frey - DSLs |
13 | 21-May-08 | Marcel Härry - Transformation Languages (CheatSheet) |
14 | 28-May-08 | Exam (oral, 10 - 12 am) |