INTERNET OF THINGS BASED SMART SYSTEMS

Anno accademico 2021/2022 - 2° anno
Docenti: Vincenzo CATANIA e Maurizio PALESI
Crediti: 9
SSD: ING-INF/05 - Sistemi di elaborazione delle informazioni
Organizzazione didattica: 225 ore d'impegno totale, 146 di studio individuale, 49 di lezione frontale, 30 di esercitazione
Semestre:
ENGLISH VERSION

Obiettivi formativi

L’obiettivo del corso è fornire agli studenti le conoscenze relative alle metodologie di progettazione di cyber-physical systems in ambito di IoT. In particolare il corso fornirà agli studenti conoscenze relative alle principali architetture dei core embedded, le tecnologie di memoria, le periferiche più comuni in ambito di smart sensors, le principali tecniche di ottimizzazione del consumo di potenza e di efficienza energetica e di energy harvesting. Fornirà inoltre conoscenze sui modelli di descrizione per Smart Things con particolare riferimento a SensorML, ed i principi di virtualizzazione. Il corso fornirà infine le competenze per saper progettare e sviluppare applicazioni in ambito IoT.

Conoscenza e comprensione

  • Conoscenza metodologie di progettazione di cyber-physical systems in ambito di IoT
  • Conoscenze sui modelli di descrizione per Smart Things
  • Conoscenza delle principali tecnologie abilitanti l'IoT
  • Conoscenza dei principali domini applicativi dell'IoT
  • Conoscenza delle principali architetture di protocolli per l'IoT
  • Conoscenza della basi di un sistema decentralizzato basato su Blockchain

Capacità di applicare conoscenza e comprensione

  • Capacità di progettare e sviluppare applicazioni in ambito IoT
  • Capacità di scegliere il protocollo di comunicazione più opportuno in un determinato contesto applicativo
  • Capacità di modellare il comportamento di un sistema complesso in modo formale
  • Capacità di individuare limiti e punti di forza di sistemi IoT di uso corrente

Autonomia di giudizio

  • Sviluppo di capacità di giudizio autonomo per valutare la praticabilità di architetture IoT

Abilità comunicative

  • Sviluppo di abilità comunicative per rappresentare le caratteristiche salienti di un sistema IoT

Capacità di apprendimento

  • Essere in grado di utilizzare le conoscenze e competenze apprese per progettare sistemi IoT

Modalità di svolgimento dell'insegnamento

L'insegnamento verrà svolto attraverso lezioni frontali, esercitazioni in laboratorio, seminari e presentazione di casi di studio reali.

Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.


Prerequisiti richiesti

Architetture dei calcolatori. Linguaggi di programmazione.


Frequenza lezioni

La frequenza delle lezioni non è obbligatoria ma vivamente consigliata.


Contenuti del corso

Internet of Things Vision

  • Embedded Systems, Cyber-Physical Systems, Smart Objects
  • IoT Smart-X Applications
  • IoT Evolution Macro-Challenges
  • Internet of Things and Related Future Internet Technologies
  • IoT related Paradigms: IoE, WoT, M2M, Tactile Internet

Smart Systems Case Studies

  • Presentation of case studies in application scenarios, including, Smart Health, Smart Homes and Buildings, Smart Energy, Smart Mobility and Transport, Smart Manufacturing and Industrial Internet of Things, Smart Cities Smart Farming.

IoT Protocols

  • Protocols for sensors/actuators: IoT protocol stack
  • Application Protocols (MQTT, CoAP)
  • Infrastructure Protocols (LoRA Alliance: Wide Area Network for IoT, NB-IoT)
  • Hands-on (Lab)

Smart Objects

  • Definitions
  • Description models (e.g., SensorML)
  • Access/Usage and Virtualization (Sensing as a Service)
  • Hands-on (Lab)

Operating Systems for IoT

  • TinyOS, FreeRTOS, Contiki, etc.
  • Hands-on (Lab)
  • Mobile Applications for Smart Systems
  • Mobile platforms and application scenarios
  • Android and iOS

Computing Platforms for IoT and Low-power Techniques

  • ARM Core
  • DSPs
  • Low power design techniques and methodologies

Domain Specific Architectures

  • Inefficiency in GP architectures
  • Domain Specific Architectures
  • Source of acceleration
  • Basics on Deep Neural Networks
  • Kernel computation
  • Data-flow techniques
  • Energy-efficient data-flow techniques
  • DNN accelerators architectures

Blockchain Technologies and IoT

  • Introduction to the Bitcoin base layer
  • Proof-of-Work, Timechain and decentralized consensus
  • Layer 2 solutions and trustless decentralized IoT

Testi di riferimento

[T1] Ovidiu Vermesan and Peter Friess. Building the Hyperconnected Society IoT Research and Innovation Value Chains, Ecosystems and Markets. River Publishers Series in Communications

[T2] Edward A. Lee and Sanjit A. Seshia. Introduction to Embedded Systems, A Cyber-Physical Systems Approach, Second Edition, http://LeeSeshia.org, ISBN 978-1-312-42740-2, 2015.

[T3] Vivienne Sze, Yu-Hsin Chen, Tien-Ju Yang, Joel S. Emer. Efficient Processing of Deep Neural Networks. Morgan & Calypool Pub.

[T4] Jan Rabaey. Low Power Design Essentials. Springer.

[T5] Materiale fornito dal docente sottoforma di slides, dispense e risorse online.



Programmazione del corso

 ArgomentiRiferimenti testi
1Internet of Things Vision[T1] e [T5] 
2Smart Systems Case Studies[T5] 
3IoT Protocols[T5] 
4Smart Objects[T5] 
5Operating Systems for IoT[T5] 
6Computing Platforms for IoT and Low-power Techniques[T4] e [T5] 
7Domain Specific Architectures[T3] 

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

La verifica dell’apprendimento verrà effettuata attraverso una prova orale. La prova orale verte sulla discussione di un elaborato/progetto sviluppato dallo studente, e da tre domande inerenti gli argomenti del programma del corso. Lo studente verrà valutato in base alla chiarezza espositiva, la capacità di sintesi, la capacità di analisi del problema, gli strumenti e le tecnologie utilizzate per lo svolgimento del progetto.


Esempi di domande e/o esercizi frequenti

Fare riferimento alla pagina del corso su Studium