EMBEDDED AND REAL TIME SYSTEMS | Università degli studi di Bergamo

EMBEDDED AND REAL TIME SYSTEMS

Attività formativa monodisciplinare
Codice dell'attività formativa: 
21038-ENG

Scheda dell'insegnamento

Per studenti immatricolati al 1° anno a.a.: 
2018/2019
Insegnamento (nome in italiano): 
EMBEDDED AND REAL TIME SYSTEMS
Insegnamento (nome in inglese): 
Embedded and real time systems
Tipo di attività formativa: 
Attività formativa Caratterizzante
Tipo di insegnamento: 
Opzionale
Settore disciplinare: 
SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI (ING-INF/05)
Anno di corso: 
3
Anno accademico di offerta: 
2020/2021
Crediti: 
6
Responsabile della didattica: 
Mutuazioni

Altre informazioni sull'insegnamento

Modalità di erogazione: 
Didattica Convenzionale
Ciclo: 
Primo Semestre
Obbligo di frequenza: 
No
Ore di attività frontale: 
48
Ore di studio individuale: 
90
Ambito: 
Ingegneria informatica
Prerequisites

There are no formal requirements. It is expected that students have already acquired all the basic computer science concepts.

Educational goals

At the end of the course the student has a basic undestanding of the foundamental concepts related to the development of embedded, real-time, and distributed software systems.
He/she knows the programming techniques and methodologies for developing concurrent applications for computers with operating systems and embedded systems without operating systems.
The student is able to analyze the temporal properties of a dynamic system, such as the execution period, the computational cost, and the deadline, and to implement periodic and aperiodic tasks in c++
At the end of the course, the student is able to program an embedded system in c/c++ that executes concurrent control tasks in real time.

Course content

Introduction to real time systms
• Task Model
• Resource Model
• Task and Resource Constraints

Embedded Systems Programming
• The Arduino platform
• Sensors and Actuators
• Clock-driven scheduling
• Timers e Interrupts

Scheduling algorithms for Operating Systems
• Non-RT algorithms: Round Robin, SJF
• Dynamic priority algorithms: EDF
• Fixed priority algorithms: RM, DM
• Priority Inversion Protocol
• Handling overruns

Architectural models for distributed systems
• Client/Server
• Publisher/Subscriber
• Data Flow
• Blackboard

Technologies for developing distributed systems
• CANBUS protocol
• OMG Data Distribution Service (DDS)

Teaching methods

Frontal lessons with slides. Slides are available online for students before the course starts.
Exercises hand-written. The texts, in addition to many other exercises, are available online for students before the course starts.
Sessions of hand-written exercises are supervised in order to stimulate discussion among students.
At the beginning of each lesson, students are invited to ask questions on the concepts presented during the previous lesson in order to clarify any doubts that may arise during home study.

Assessment and Evaluation

Verification consists in a written test. The written test lasts two hours and consists of theoretical questions and scheduling exercises.

Further information