Course Unit Profile

<--- Back to Course Diagram

Basic Information

Course Unit Title: COMPUTER PROGRAMMING AND REAL-TIME SYSTEMS

Course Unit Code: 274II

Level of course unit

Degree Programme in Robotics and Automation Engineering - Second Cycle (Laurea magistrale)

Year of study

First year

Semester when the course is delivered

Second semester

Number of ECTS credits allocated: 6

Name of Lecturer(s):

To be defined.

Language of instruction

Italian

General Information

Learning outcomes

The student who successfully completes the course will have the ability to design software for control applications with timing requirements; will be able to demonstrate a solid knowledge on real-time operating systems and resource management; will be able to demonstrate advanced knowledge on scheduling and timing analysis; will be aware of critical situations, software pit traps in programming, and efficient solutions to avoid them.

Course contents

1. Basic concepts on real-time computing. Typical real-time applications. Task models. Metrics for performance evaluation.
2. Real-Time scheduling algorithms. Scheduling periodic and aperiodic tasks. Response-time analysis.
3. Protocols for accessing shared resources. The priority inversion phenomenon. Priority Inheritance and Priority Ceiling Protocols. Estimating blocking times.
4. Overload management. Admission Control. Robust Scheduling. Imprecise Computation. Job Skipping. Elastic scheduling. Resource reservation mechanisms.
5. Predictable inter-task communication mechanisms.

Specific Information

Prerequisites, co-requisites, as a prerequisite for further study

Prerequisites

None.

Co-requisites

None.

Prerequisite for

None.

Mode of delivery

Delivery

face to face

Attendance

Mandatory

Teaching methods

Learning activities

Recommended or required reading

Recommended reading includes the following text books:
1. Giorgio Buttazzo, Hard Real-Time Computing Systems: Predictable Scheduling Algorithms and Applications", Third Edition, Springer, 2011.
2. Giorgio Buttazzo, Sistemi in Tempo Reale, Terza Edizione, Pitagora Editrice, Bologna, 2006.

Assessment methods and criteria

Assessment methods

Further information

The final exam consists of a written test on the course topics and a programming project consisisting in the development of a real-time application, described in a short project report.

Assessment criteria

- The student will be assessed on his/her demonstrated ability to discuss the main course contents using the appropriate terminology. - In the written exam (90 minutes), the student must demonstrate his/her knowledge of the course material and to organise an effective and correctly written reply. - With the project work the student must demonstrate the ability to address a proctical application and describe the solutions in a technical report.

Work placement

No

<--- Back to Course Diagram