Real-Time Systems (#41475)



University of Aveiro
Optional course of the 5th year of:

Table of contents






Motivation, objectives and structure

Real-time systems play a crucial role in modern societies, supporting application areas such as control of nuclear facilities, chemistry industries, avionic systems, automotive systems (engine control ABS, ESP, ...), air, sea and railway traffic control, telecommunication systems, industrial automation, robotics, military and space exploration systems, consumer electronics and countless others.

Although the range of applications is vast and many of them have safety-critical constraints, the approaches typically used in the development of real-time systems are based on empirical techniques and low-level programming, without the support of a scientifically strong methodology. The consequence of this fact is a lower reliability, which in critical applications can cause serious damage to equipment, environment and even jeopardize human lives.

On the other hand, the recent diffusion of interactive applications such as virtual reality systems or multimedia systems, extend substantially the range of applicability of real-time systems. Tough these applications are not critical in terms of safety, compliance with their temporal constraints has a direct impact on their performance.

This proliferation of applications with time constraints has significantly increased interest in operating systems for real-time. For example, today it is common to find references to systems such as Real-Time Linux or to real-time services of general-purpose Operative Systems, like Linux and Windows.

This course focuses on four key aspects:

The course is structured in two components, theoretical and practical. The first is essentially expository, but using practical examples and discussions. The second makes use of various real-time operating and/or executive systems (e.g. Xenomai, FreeRTOS, Shark, VxWorks, ReTMiK) and a set of platforms for embedded systems (based on PIC18, PIC32 and ARM microprocessors), consisting first of a series of essentially tutorial work, followed by the development of a small project.


Topics, planning and slides of the theoretical component



Lab evaluation guidelines



Base references:

Additional references:

  • Richard Barry (2011). Using the FreeRTOS Real-Time Kernel – A practical guide
    Real-Time Engineers, Ltd., 2011.
  • Doug Abbott (2006). Linux for Embedded and Real-time Applications
    Second Edition. Newnes, 2006;
  • Veríssimo, P. and L. Rodrigues (2001). Distributed Systems for System Architects. Kluwer Academic Publishers.
  • Liu, J.W.S. (2000). Real-Time Systems. Prentice Hall.
  • Stankovic, J. et al. (1998). Deadline Scheduling for Real-Time Systems: EDF and Related Algorithms. Kluwer Academic Publishers.
  • Laplante, P.A. (1997). Real-Time Systems Design and Analysis - An Engineer’s Handbook (2nd ed.). IEEE Press.
  • Nissanke, N. (1997). Real-Time Systems. Prentice Hall.
  • Welling, A. and A. Burns (1996). Real-Time Systems and Their Programming Languages (2nd ed.). Int. Computer Science Series, Addison-Wesley.


Topics/themes for oral presentation:


Support materials for the lab component



Projects list


  • TBD

Additional resources for the projects

Reminder: don't forget the log book


Additional indications for the presentation of the lab project and corresponding report

The presentations of the lab project will take place in the last lecture, and will be organized in blocks of 15 min per group. During this time, each group will make a brief presentation (about 10 min), followed by a demonstration. A reference presentation is composed by 5-7 slides addressing the following topics: 1-goal/problem, 2-specific aspects (e.g. dynamics of the process, technical control), 3-approach (e.g. organization, task types, periods), 4-results, 5-status.

The report shall be delivered until the end of the last week before the beginning of the exam period and is limited to 10 pages, excluding any technical annexes. Its format must conform to the following: cover sheet with the identification of the course, the teacher, school year, work and authors. Text mus be formatted in a single column, single-spaced, font size 11 or 12 TimesNewRoman, margins side 2.5cm and the page number at the footer. The report structure shall follow the presentation one, presented above. The purpose of the report is to explain the approach used in the proposed resolution of the problem and the results obtained. It will also be the place for highlighting the details considered relevant and that might have been overlooked in the presentation.

In case the work was not completed on the date of the presentation, this should be mentioned in the current status. A new presentation may be delivered closer to the filing date of the report.

As promised (see grading rules), there will be an evaluation of the log book!