Vinaora Nivo Slider 3.x

Progetto e Sviluppo di Sistemi in Tempo Reale (Design and Developmenti of Real-Time Systems)

CFU: 9

Prerequisites

Base knowledge on programming.

Preliminary Courses

None.

Learning Goals 

The course introduces the subjects of real-time systems, scheduling of real-time tasks, resource management, computer networks and operating systems adopted in the industry. It provides the skills necessary for the design, dimensioning and development of real-time systems. The exercises consist in concurrent programming applications with real-time tasks developed on different environments (real-time LINUX, FreeRTOS, ChibiOS) and OO design of real-time software trough SysML and the OMG MARTE profile.

Expected Learning Outcomes 

Knowledge and understanding

The student needs to show to know the problems of real-time computing, to illustrate the theoretical foundations of algorithms for the scheduling of real-time periodic and aperiodic tasks, for the management of shared resources with temporal constraints, including their feasibility tests, to recognize the main time-sensitive networking solutions, to understand the principles of concurrent programming applied to real-time systems.

Applying knowledge and understanding

The students need to show abstraction abilities related to design problems of real-time systems and to opportunely reconduct them to theoretical models used for the feasibility check. He/she has to be able to solve dimensioning problems of real-time system using the acquired methodologied and algorithms, to be able to design complex systems trough the use of abstractions and high-level modeling tools, to be able to implement real-time software systems using the primitives for the management of periodic and aperiodic tasks and for real-time inter-process communication.

Course Content - Syllabus 

Introductory concepts. Introduction to real-time systems: application fields, dimensioning, deadline, hard and soft real-time systems, desirable properties, design and development problems.

Computing systems Predictability. Sources of non-determinism due to hardware and to the operating systems. Introduction to scheduling. Process and program. Feasibility, schedulability, optimality, preemption.

Real-time task scheduling. Jackson algorithm, Horn algorithm, Bratley algorithm. Scheduling with precedence constraints. Timeline Scheduling, Rate Monotonic (RM). Earliest Deadline First (EDF), Deadline Monotonic. Optimality and guarantee test. Response Time Analysis. Processor Demand Criterion for EDF.

Access to shared resources. The priority inversion problem. Non-preemptive protocol. Highest locker priority. Priority Inheritance and Priority Ceiling. Schedulability analysis, evaluation of blocking times. Stack Resource Policy.

Aperiodic servers. Background scheduling. Polling Server (PS). Deferrable Server (DS), Sporadic Server (SS), Slack Stealer. Dynamic Sporadic Server (DSS), Total Bandwidth Server (TBS), Costant Bandwidth Server (CBS).

Overload management. Load, cumulative value, competitive factor. Admission control; robust scheduling, resource reservation with CBS. RED algorithm. Job skipping, period adaptation and service adaptation.

Real-time communication. CSMA/CD and Token Ring. Real-time traffic models. Sources of non-determinism in networks. Controller Area Network (CAN), ProfiNET and Ethernet Power Link. RTNet. Weighted Fair Queuing, RSVP e RTP (few notes).  RTPS and DDS. Application examples. 

Worst Case Execution Time analysis. Static methods, measurement-based methods. Bound caluculation: path-based, structure-based and implicit path enumeration (IPET). Examples of static and measurement-based tools.

Real Time Operating Systems (RTOS): Primitives for programming concurrent applications in real-time environments. I/O communication, commercial and open-source RTOS, introduction to FreeRTOS, ChibiOS and real-time Linux. Development of real-time concurrent applications in such environments.

Standards and Certification. The standardization, standards for RTOS: RT-POSIX, OSEK, AUTOSAR, ARINC, MICRO-ITRON. Certification standards: DO-178B, IEC61508.

Design of real-time systems with SysML and OMG MARTE. Model driven engineering. UML2 and extensions: profiles, metamodels and stereotypes. Design with SysML. MARTE specification. Examples in an integrted environment (Papyrus).

Readings/Bibliography

 

  • Textbook
  • G. Buttazzo “Sistemi in tempo reale”, Pitagora editrice
  • Lessons’ slides, reports and scientific articles made available on the official course website.

Teaching Method

Teacher will use a) lectures for approx. 70% of total hours, b) practical guided exercises in classroom to deepen the understanding and skills on RTOS usage and concurrent real-time tasks programming for about 30% of total hours.

Lectures and seminars are explained with the help of detailed slides, which will be provided to students through the official course website.

Examination/Evaluation criteria

Exam type

Written and oral. The written exam is divided in two parts: 1) resolution of numerical exercises, and 2) an exercise of real-time concurrent programming. Part 2) can be substituted by the execution of two programming exercises during the course. Such programming exercise will be discussed during the oral exam.

Evaluation pattern

The written exam performance is binding to have access to the oral exam. The final vote is established as average between written and oral exams.

We use cookies on our website. Some of them are essential for the operation of the site, while others help us to improve this site and the user experience (tracking cookies). You can decide for yourself whether you want to allow cookies or not. Please note that if you reject them, you may not be able to use all the functionalities of the site.