INTERNET OF THINGS BASED SMART SYSTEMS
Anno accademico 2022/2023 - Docente: Vincenzo CATANIARisultati di apprendimento attesi
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
Argomenti | Riferimenti testi | |
---|---|---|
1 | Internet of Things Vision | [T1] e [T5] |
2 | Smart Systems Case Studies | [T5] |
3 | IoT Protocols | [T5] |
4 | Smart Objects | [T5] |
5 | Operating Systems for IoT | [T5] |
6 | Computing Platforms for IoT and Low-power Techniques | [T4] e [T5] |
7 | Domain 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 e/o al canale del corso su MS Teams