logo

Real-Time Kernels and Systems
Master Degree in Computer Science
University of Padova, a.y. 2020/2021

Instructor: Tullio Vardanega
(Latest update: 23 May 2021, 15:05)
[published material of lecture 23]

Outline of course

Learning outcomes

This course aims to familiarize students with the application requirements, the hardware and software architecture, and the principles of execution of real-time systems. As their name suggests, the principal trait of such systems is that their operation is subject to stringent execution-time constraints, and their design and implementation must be proven able to satisfy them.  

The origin of real-time systems theory and practice dates back to the early 1970s, seeking to enable computer-based automation of the real-time control procedures of industrial engines, equipment, and plants. The digitalization of modern service infrastructures has much amplified the need for software-driven real-time control, and consequently the demand for solid education in this field.

The course lectures take the student across the hardware and software internals of real-time systems, to appreciate how concurrency works, how preemption relates to scheduling, how interrupts occur and are serviced, what access control protocols warrant safe and sound concurrent use of shared resources.

Useful reading

  1. Real-Time Systems
    Jane W.S. Liu
    Prentice Hall ISBN 0-13-099651-3 (2000)
  2. Analysable Real-Time Systems - Programmed in Ada
    Alan Burns and Andy Wellings
    CreateSpace Independent Publishing Platform, Amazon Books (2016)
  3. Scientific literature
    (see under: "Resources")

Thematic resources

Ada-specific resources

Lecture schedule

Week Date Lecture # Lecture topic Reading refs
1
01 March 1 Introduction
Self-study: Dependability (2.§3)
1.§1-3
04 March
2
2
08 March
3
Scheduling basics
Resources: A model of cyclic scheduling executive
1.§4-6
11 March
4
3
15 March
5
Fixed Priority Scheduling
Resources: Response time analysis
2.§5
18 March
6
4
22 March 7
Resource sharing
Resources: Priority inheritance protocols
Resources: Stack-based resource allocation policy
1.§8-9
25 March 8
5
29 March 9 Recap exercises and further model extensions
Resources: A practical implementation of deferred preemption
Resources: Generalized fixed-priority scheduling with limited preemptions
1.§6.8,12
01 April
10
7
12 April
11
Programming real-time systems (in Ada)
ResourcesISO/IEC TR 24718:2018
Resources: An example Ravenscar application
2.§16-17
15 April 12
8
19 April
13
A look under the hood
Resources: On the dynamic semantics and the timing behavior of Ravenscar kernels
2.§15
22 April
14
9 26 April
15
Distributed real-time systems
Resources: Worst-Case Dynamic Offsets with Priority Schemes
Resources: ARTIST2 video seminars

29 April 16 Analysis of end-to-end response time & of worst-case execution time

Evaluation questionnaire
10 3 May
17 Enter multicore processors BJ2000
1.§9.1,3
6 May 18
11
10 May
19
Seeking the lost optimality DP-Fair
RUN
original
implementation
13 May
20
12 17 May 21 Global resource sharing
20 May 22
Mixed-criticality systems
13 24 May 23 Exam themes and requirements

27 May 24 Closing seminar: The challenge of predictable parallelism

Hall assignment and Zoom links

The hall assignment for the lectures in the schedule is reported in the relevant UNIPD portal. The corresponding Zoom links will be communicated via the Moodle page of this course.

Appointments with students

Students are welcome to request personal or group appointments with the instructor, who will offer either a face-to-face or a Zoom-based meeting as the circumstances will allow.

Exam requirements

In the second-half of the lecture series, the instructor will single out themes that the students shall be invited to select as their exam study topic. The students, whether individually or collaboratively (in groups of 2-3 individuals), shall review the state of the art on the selected topic, and implement a software demonstrator that highlights aspects of interest in keeping with the course focus (hence the runtime involvement in the realization of advanced concurrency or distribution features).

The exam will consist in the student(s)' first submitting a technical report on the main findings of the said effort (including the highlights of the software demonstrator), and then, in an oral presentation and discussion of the same.

Should students not feel sufficiently engaged by the themes as proposed, they will be allowed to negotiate elective alternative topics of pertinence with the instructor.

Exam schedule

The students ready to make their own oral presentation shall request an appointment with the instructor. Pass grades will be entered in Uniweb at the date in the official exam schedule closest to said appointment.

Valid HTML
          4.01 Transitional