Model-based Design of Cyber-physical Systems

6 EC

Semester 1, period 2

5364MBDC6Y

Owner Master Software Engineering
Coordinator prof. dr. Benny Akesson MSc
Part of Master Software Engineering, year 1

Course manual 2023/2024

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
  • 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 specification and validation of models in a particular domain, and generation of design artifacts
  • The student is able to verify schedulability of periodic tasks and perform cache analysis on a single-core system, and explain the added challenges in a multi-core system
  • The student is able to 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 is able to work together in a team to 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

Hoorcollege

28

Laptopcollege

56

Self study

84

Total

168

(6 EC x 28 uur)

Attendance

Requirements concerning attendance (TER-B).

  • Participation in practical exercises, tutorials and study group sessions is obligatory. Detailed rules are laid out in the study guide and/or the course catalogue for each unit of study.
  • Assessment

    Item and weight Details

    Final grade

    4 (20%)

    Assignment 1: Statecharts + Petri Nets

    3 (15%)

    Assignment 2: DSLs

    3 (15%)

    Assignment 3: Timing Analysis

    10 (50%)

    Project - MazeTurtle

    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

    WeeknummerOnderwerpenStudiestof
    1
    2
    3
    4
    5
    6
    7
    8

    Additional information

    A Canvas site for the course is available

    Contact information

    Coordinator

    • prof. dr. Benny Akesson MSc

    Staff

    • dr. ir. Martin Bor
    • M. Herget
    • prof. dr. A.D. Pimentel
    • S. Polstra
    • Georgia Samaritaki