Skip to content

cister-labs/ramde2122

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Objectives

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.

Syllabus

  • High-level overview or requirements and associated processes
  • Mathematical Preliminaries
    • Basic mathematical notations
    • Set theory
    • PropositionalLogic
      • Syntax, semantics, and reasoning
    • First Order Logic
      • Syntax, semantics, and reasoning
  • Behavioural modelling
    • Single component
      • State diagrams and Flow charts
      • Formal modelling: Automata, Process Algebra
    • Many components
      • Communication diagrams and Sequence diagrams
      • Formal modelling: Process algebra with interactions
    • Equivalences
      • (Bi)similarity
      • Realisability
    • Verification
      • Verification of requirements
      • Formal modelling: modal logics
      • Tools: model checking with mCRL2
  • Requirement specification using natural language
    • The Easy Approach to Requirements Specification (EARS)
    • The Doorstop tool to manage and document requirements
  • An introduction to automatic theorem provers
    • Support for the consistency and correctness of formalized requirements

Material

Slides

Exercises and Assignments

Useful links

Bibliography

Pragmatics

Evaluation

  • Final mark = Homework (10%) + Individual Exercises (10%) + Assignments (80%)

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.

Deadlines

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.

Lecturers

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.

About

Content for the RAMDE course for the 1st semester of the MSc CCSE.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages