Requirement and Model-Driven Engineering (RAMDE)



View the Project on GitHub cister-labs/ramde2122


This course teaches the basic principles of Model-Driven Engineering - MDE. Students should learn:

  1. The fundamental concepts of MDE, its role in a critical system’s development and safety assessment processes, and the importance of having precise models in this context.
  2. How to identify and write functional and non-functional requirements for critical systems, using the best practices and ensuring that they respect the expected quality standards (verifiable, traceable, unambiguous, correct, etc.)
  3. Formal models capable of precisely capturing different aspects of UML diagrams, such as labelled transition systems and different logical systems.
  4. Understand domain specific standards common in critical systems’ development, and apply them when using an MDE approach; and
  5. How to use tools that support requirement specification and management, system modelling and its safety assessment, and the formal models described.




Exercises and Assignments




Homework consists of exercises presented in the slides, partially done during the lessons, that should be submitted as a PDF file per week until the end of the following week. Marks reflect mainly the effort, i.e., bad resolutions are better than no resolutions.

Individual Exercises are to be developed individually, and submitted as a single PDF report, covering mainly logic deduction. Feedback will be given online on request, and marked at the end of the unit.

Assignments (3 in total) are to be developed by teams of 3-4 students. Each team has a dedicated git repository that will contain the software artefacts and a report for each assignment. Feedback will be provided within 2 weeks after each submission deadline, and marked only at the end of the unit.


Homework consists of a PDF report that must be submitted until Sunday @ 23:59 of the following week of being shown during lessons. For example, all exercises presented in the slides used in the week 8 Nov - 12 Nov must be submitted until Sunday 21 Nov. Exercises and Assignments have specific deadlines, mentioned on their instructions. The deadlines are summarised below, and may still suffer changes.


We will use a team in Microsoft Teams where all questions regarding this course unit should be placed, and where we can schedule virtual meetings if needed.