Model-based Design of Cyber-physical Systems

6 EC

Semester 1, period 2

5364MBDC6Y

Owner Master Software Engineering
Coordinator dr. ir. Martin Bor
Part of Master Software Engineering, year 1
Links Visible Learning Trajectories

Course manual 2025/2026

Course content

Cyber-physical systems (CPS) are systems that integrate computation, sensing, actuation, and networking to interact with and control the physical world. They are built for a particular purpose and exist in many application domains. Well-known examples of CPS from different domains include satellites, airplanes, cars, x-ray machines, printers, radars, and lithography machines.

The design of CPS is a multi-disciplinary activity that combines different fields, such as embedded systems, software engineering, control theory, and mechatronics, and is fundamentally different from the design of general-purpose computer systems, such as a desktop computer. CPS are subject to different non-functional requirements, such as size, weight, energy consumption, reliability, security, and cost. Some cyber-physical systems, such as a car or an airplane, are furthermore safety critical, and must guarantee that a system failure cannot result in death or injury. Such a system must always be available and must reliably produce correct results. To further complicate matters, the correctness of most CPS is not just defined by the correct result of a computation, but by the correct result and the correct timing. For example, consider an air-bag controller in a car, which must inflate the air-bag in time before the driver’s head hits the steering wheel, or a flight control system, which must correct turbulence before the airplane becomes unstable. Trends show that CPS across application domains are getting more and more complex. The consequences of this increasing complexity are visible in daily practice in which industry struggles to efficiently develop correct and well-performing CPS.

This course is an introduction to CPS and their design, with a focus on computing aspects (hardware and software). It teaches how the increasing complexity of CPS can be addressed by model-based design methodologies in which abstraction, provided by models used for specification, analysis, simulation, or synthesis, play an essential role in increasing system quality and reducing development time and overall system cost.

The course covers the following topics:

  • An introduction to cyber-physical systems and their key characteristics and complexity drivers
  • Model-based specification, analysis, and verification of functional and non-functional behavior of cyber-physical systems
  • Model-based software development for cyber-physical systems
  • Identification and selection of suitable hardware and software configurations that satisfy multi-dimensional constraints on e.g. cost, performance, and energy consumption in a cyber-physical system

Objectives

  • The student is able to explain the key characteristics and complexity drivers of cyber-physical systems
  • The student is able to model the behavior of software using Statecharts and generate code for a CPS
  • The student is able to functionally verify systems using methods based on Petri Net models
  • The student is able to create a domain-specific language (DSL) that allows specifications and validation of models in particular domain, and generation of design artifacts
  • The student is able to verify schedulability of periodic tasks
  • The student can formulate worst case execution times using cache analysis on a single-core system
  • The student can explain the challenges of  performance analysis in multi-core systems
  • The student can explain how design-space exploration identifies hardware and software configurations that satisfy multi-dimensional constraints on e.g. cost, performance and energy consumption
  • The student can develop software that satisfies its requirements for a given cyber-physical system in a model-based manner

Teaching methods

  • Lecture
  • Laptop seminar
  • Self-study
  • Working independently on e.g. a project or thesis

Learning activities

Activity

Hours

Self study

168

Total

168

(6 EC x 28 uur)

Attendance

  • Some course components require compulsory attendance. If compulsory attendance applies, this will be indicated in the Course Catalogue which can be consulted via the UvA-website. The rationale for and implementation of this compulsory attendance may vary per course and, if applicable, is included in the Course Manual.
  • Assessment

    Item and weight Details

    Final grade

    1 (50%)

    Assignments

    Mandatory

    1 (50%)

    MazeTurtle Project

    Must be ≥ 5, Mandatory

    Inspection of assessed work

    Partial grades for the assignments are announced via Canvas. Students are invited to discuss their solutions and grades with the grading team.

    Assignments

    A1.Modeling Embedded Systems (individual) 

    A2.Domain-specific Languages (pairs) 

    A3.Timing Verification (individual) 

    A4. TurtleBot project (group)

     

    Fraud and plagiarism

    The 'Regulations governing fraud and plagiarism for UvA students' applies to this course. This will be monitored carefully. Upon suspicion of fraud or plagiarism the Examinations Board of the programme will be informed. For the 'Regulations governing fraud and plagiarism for UvA students' see: www.student.uva.nl

    Course structure

    Weeknummer Onderwerpen Studiestof
    1 Introduction to Cyber-physical Systems, Statecharts  
    2 Petri Nets  
    3 Domain-specific Languages (DSLs)  
    4 Embedded Hardware, WCET + Schedulability Analysis  
    5 Model-driven System Performance Engineering (guest lecture)  
    6 Introduction to application mapping, DSE, simulative system evaluation  
    7 MazeTurtle project evaluation  
    8    

    Additional information

    A Canvas site for the course is available

    Contact information

    Coordinator

    • dr. ir. Martin Bor

    Staff

    • prof. dr. Benny Akesson
    • prof. dr. A.D. Pimentel
    • S. Baneshi
    • M.E. Janeczko
    • S. Polstra
    • S. Kalra
    • L. Bussi
    • M.C. Bor