SISTEMI REAL TIME

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

Scheda dell'insegnamento

Per studenti immatricolati al 1° anno a.a.: 
2016/2017
Insegnamento (nome in italiano): 
SISTEMI REAL TIME
Insegnamento (nome in inglese): 
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: 
2018/2019
Crediti: 
6
Responsabile della didattica: 
Mutuazioni
  • Corso di studi in INGEGNERIA MECCANICA - Percorso formativo in PERCORSO COMUNE
  • Corso di studi in INGEGNERIA INFORMATICA - Percorso formativo in PERCORSO COMUNE
  • Corso di studi in INGEGNERIA INFORMATICA - Percorso formativo in PERCORSO COMUNE

Altre informazioni sull'insegnamento

Ciclo: 
Primo Semestre
Obbligo di frequenza: 
No
Ore di attività frontale: 
48
Ambito: 
Ingegneria informatica
Materiali didattici: 
Prerequisiti

Non ci sono precedenze obbligatorie. Il corso assume che si disponga delle conoscenze di base di informatica.

Obiettivi formativi

Familiarizzare con i concetti fondamentali relativi alla progettazione di sistemi embedded, real time e distribuiti.
Apprendere le tecniche di programmazione di applicazioni concorrenti per computer con sistema operativo real-time e per sistemi embedded senza sistema operativo. Al termine del corso lo studente sa programmare in C/C++ un sistema embedded che svolge attività di controllo concorrenti in tempo reale.

Contenuti dell'insegnamento

Introduzione ai sistemi real time
• Modello di Task
• Modello di Risorse
• Vincoli su Task e Risorse

Programmazione di sistemi embedded
• La piattaforma Arduino
• Sensori e attuatori
• Schedulazione clock-driven
• Timers e Interrupts

Algoritmi di schedulazione per Sistemi Operativi
• Algoritmi non real time: Round Robin, SJF
• Algoritmi a priorità dinamica: EDF
• Algoritmi a priorità fissa: RM, DM
• Priority Inversion Protocol
• Gestione del sovraccarico

Modelli architetturali per sistemi distribuiti
• Client/Server
• Publisher/Subscriber
• Data Flow
• Blackboard

Tecnologie per lo sviluppo di sistemi distribuiti
• Protocollo CANBUS
• OMG Data Distribution Service (DDS)

Testi di riferimento

G. Buttazzo. Sistemi in Tempo Reale, Pitagora Editrice.
http://www.pitagoragroup.it/pited/Buttazzo%20tempo%20reale.html

Metodi didattici

Lezioni ed esercitazioni. Attività sperimentali con un robot mobile basato su Arduino

Modalità verifica profitto e valutazione

La verifica avviene tramite una prova scritta e la stesura di una relazione sull'attività sperimentale svolta.

La prova scritta ha una durata di due ore e consiste in domande di teoria ed esercizi di schedulazione. Il testo della prova indica il punteggio massimo conseguibile per ogni domanda ed esercizio. Il voto massimo conseguibile con la prova scritta è pari a 28/30 a cui va sommato il punteggio della relazione sull'attività sperimentale (max 4 punti).

Altre informazioni
Prerequisites

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

Educational goals

Achieving basic undestanding of the foundamental concepts related to the development of embedded, real-time, and distributed software systems.
Mastering programming techniques and methodologies for developing concurrent applications for computers with operating systems and embedded systems without operating systems. 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)

Textbooks and reading lists

G. Buttazzo. Sistemi in Tempo Reale, Pitagora Editrice.
http://www.pitagoragroup.it/pited/Buttazzo%20tempo%20reale.html

Teaching methods

Lectures presenting the concepts and the resolution of exercises. Experimental activities with an Arduino-based mobile robot.

Assessment and Evaluation

Verification consists in a written test and the preparation of a report on the experimental activity carried out.

The written test lasts two hours and consists of theoretical questions and scheduling exercises. The text of the test indicates the maximum score achievable for each question and exercise. The maximum score achieved with the written test is 28/30 and the score of the experimental activity (max 4 points) must be added.

Further information