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:

  • 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.
  • Briand, L. and D.M. Roy (1999). Meeting Deadlines in Hard Real-Time Systems: the Rate-Monotonic Approach . IEEE Computer Society Press, Los Alamitos (CA), USA.
  • Stankovic, J. et al. (1998). Deadline Scheduling for Real-Time Systems: EDF and Related Algorithms. Kluwer Academic Publishers.
  • Krishna, C.M. and K. Shin (1997). Real-Time Systems. McGraw-Hill.
  • 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.
  • Motus, L. and M.G. Rodd (1994). Timing Analysis of Real-Time Software. IEEE Press.
  • Klein, M. et al. (1993). A Practitioner’s Handbook for Real-Time Analysis: Guide to Rate-Monotonic Analysis for Real-Time Systems. Kluwer Academic Publishers.


Topics/themes for oral presentation:

  • Bernard Cole, "Picking-the-right-RTOS-for-your-next-gen-embedded-IoT-design",, 20/Jul/2014
  • P. Pedreiras et al,"A Real-Time Framework for the Vision Subsystem in Autonomous Mobile Robots", INTECH, Vision Systems Applications, DOI: 10.5772/4983
  • Pau Marti et al, "Real-Time Scheduling Methods Requirements in Distributed Control Systems", WRTPD 2000
  • Audsley, N. Tindell, K. and Burns, A. "The End Of The Line For Static Cyclic Scheduling?", In Proc. 5th Euromicro Workshop on Real-Time Systems, 1993
  • OSEK/VDX Introduction
  • Priority Inversion in the Real World: Mars Pathfinder
  • The Posix 1003.13 profile for real-time applications
    Base text: "Early experience with an implementation of the POSIX.13 minimal real-time
    operating system for embedded applications", by Mario Aldea Rivas and Michael Gonzalez Harbour,
    Universidad de Cantabria, Spain
  • Padmanabhan Pillai and Kang G. Shin. "Real-Time Dynamic Voltage Scaling for Low-Power Embedded Operating Systems". Proceedings of the eighteenth ACM symposium on Operating systems principles (SOSP '01 )
  • Giorgio Buttazzo and Giuseppe Lipari, "Ptask: an Educational C Library for Programming Real-Time Systems on Linux", Proceedings of the 18th IEEE Conference on Emerging Technologies and Factory Automation (ETFA 2013), Cagliari, Italy, September 10-13, 2013.(link)


Support materials for the lab component



Projects list


  • St1 - Ball in the plane with touch panel (x2)
  • St2 - Mini Segway based on a "microrato" platform
  • St3 - Inverted pendulum based on a "microrato" platform
  • St4 - Interactive games and/or simulators with Xenomai (e.g. Brick, ...)
  • St5 - Nunchuck I2C Interface for interactive game/platform
  • Today's specials

  • Sp1 - Contiki Open-Source RTOS
  • Sp2 - Control of a 2 axis plotter with FreeRTOS
  • Sp3 - Schedulability Analysis Tool for Multi-Hop Ethernet Networks

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 10 min per group. During this time, each group will make a brief presentation (about 5 min), followed by a demonstration. The presentation should have no more 4-5 slides containing: 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 January 9, 2015 and is limited to 4 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. Their structure should follow the points above referred to, for to presentation. 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!