1. Prerequisites *
At the start of this course the student should have acquired the following competences:
specific prerequisites for this course
You have successfully completed a number of more complex programming projects, and you have a basic knowledge of software engineering concepts, specifically you have seen a few examples of one or more formal modeling languages, such as Petri Nets or Statecharts.
2. Learning outcomes *
The purpose of the course is to introduce you to a few (say, 3) typical modeling languages used in software engineering, and the tools that are based on them. This means that you should be able to build a model for a simple application in each of the formalisms discussed, and that when building these models you pay sufficiently attention to their quality: do they have a clear structure, is the level of abstraction the right one, do they contain sufficient information to express relevant properties. You are also expected to show that you are able to use the different tools for simulation, verification and transformation for the models produced, and that you can explain the pros and cons of the various models.
3. Course contents *
In the model-driven approach to software development, a software system is seen as a cluster of models, on various levels of abstraction and with various characteristics. Each of these models captures certain features or aspects of the systems, allows its own kind of analysis, and has its own tools available. In this way one may apply the many sophisticated tools and theories that have been developed for particular models by the research community. It is clear, however, that this will not work without powerful tools for integrating the various models, transforming them into one another, generating code from them, and keeping them consistent. The course introduces students to this area, concentrating on the use of a concrete, rule based transformation engine.
4. Teaching method and planned learning activities
Class contact teachingSeminars/TutorialsLaboratory sessions
5. Assessment method and criteria
ExaminationOral with written preparation
6. Study material *
6.1 Required readingFor each of the modeling languages discussed a number of papers and/or books will be made available.
6.2 Optional readingThe following study material can be studied voluntarily :