72945 - Real-Time Systems M

Academic Year 2021/2022

  • Teaching Mode: Traditional lectures
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Computer Engineering (cod. 5826)

Learning outcomes

The course aims to provide a rational view of the main issues involved in the design of real-time systems, emphasizing peculiar principles, implementation strategies, supporting environments and performance evaluation methods.

Course contents

An introduction to real-time systems: peculiar features and typical application domains. Hard vs. soft real-time tasks. Temporal parameters and reference models for periodic, sporadic and aperiodic tasks. Real-time scheduling approaches: the clock-driven approach and the priority-driven approach. Algorithms for scheduling hard real-time periodic/sporadic tasks: RM, DM, EDF and LSTF. Server-based strategies for optimizing the response time of soft real-time aperiodic tasks: polling server, deferrable server, priority exchange server, sporadic server, constant utilization server, total bandwidth server. Shared resources access protocols: priority inheritance protocol, priority-ceiling protocol, immediate priority-ceiling protocol, stack resource policy. Pre-run-time schedulability analysis of systems that schedule tasks using static or dynamic priorities: processor-utilization analysis, response-time analysis, processor-demand analysis. Exemplification of theoretical and methodological issues with reference to design patterns typical of the industrial automation application domain.

Readings/Bibliography

1. J. W. S. LIU: 'REAL-TIME SYSTEMS', PRENTICE HALL, 2000.

2. J. COOLING: 'SOFTWARE ENGINEERING FOR REAL-TIME SYSTEMS', ADDISON WESLEY, 2003.

3. G. C. BUTTAZZO: 'HARD REAL-TIME COMPUTING SYSTEMS', Third Edition, SPRINGER, 2011.

Teaching methods

Powerpoint slides (whose PDF printouts are available from the course's WEB site before lectures) are projected and discussed during class hours, thus avoiding Students the burden of taking notes all the time, letting them focus on the discussed concepts.
Exercises are continuously interleaved with theoretical concepts and immediately discussed.

Autonomous laboratory activities are also welcome and promoted by suggesting ideas and possible case studies.

Assessment methods

The examination aims to assess the achievement of the following learning objectives:
• thorough knowledge, from both the algorithmic and implementation viewpoints, of the best-performing scheduling strategies of periodic and sporadic hard real-time tasks;
• thorough knowledge of protocols for accessing shared resources in real-time systems;
• in depth ability to exploit the most efficient criteria and the most effective methodologies in order to a priori ascertain the schedulability of multi-tasking real-time applications.
The exam consists of a written test lasting four hours, in which the Student can freely refer to any educational material deemed appropriate in order to identify a correct solution to the proposed design problems.

Teaching tools

A copy of the slides presented and discussed during the lectures, a guide to the laboratory activities, a compendium of exercises and projects proposed in recent written exams, are published on the course's WEB site.

Office hours

See the website of Eugenio Faldella

SDGs

Quality education Industry, innovation and infrastructure

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.