- Docente: Marco Di Felice
- Crediti formativi: 6
- SSD: INF/01
- Lingua di insegnamento: Italiano
- Moduli: Marco Di Felice (Modulo 1) Angelo Trotta (Modulo 2)
- Modalità didattica: Convenzionale - Lezioni in presenza (Modulo 1) Convenzionale - Lezioni in presenza (Modulo 2)
- Campus: Bologna
- Corso: Laurea Magistrale in Informatica (cod. 5898)
Conoscenze e abilità da conseguire
Al termine del corso, lo studente è in grado di progettare, sviluppare e valutare sistemi ubiqui ed applicazioni operanti su dispositivi mobili in grado di adattarsi alle caratteristiche del contesto ed alla posizione/mobilità dellutente. Al termine del corso, lo studente: - conosce le basi del context-aware computing e le principali tecniche per la localizzazione di utenti/dispositivi e per il riconoscimento dellattività; -conosce i principali modelli per la rappresentazione e manipolazione di dati di contesto; -conosce i principali middleware ed architetture software per lo sviluppo di applicazioni e servizi adattivi ed ubiqui.
Contenuti
Il corso affronta tematiche legate alla progettazione e realizzazione di sistemi ed applicazioni ubiqui e context-aware, resi oggi possibili dalla diffusione pervasiva di dispositivi in grado di fare sensing dell’ambiente e di elaborare i dati raccolti. Il programma del corso è suddiviso in due blocchi principali. Nel primo blocco, vengono presentate le definizioni di “contesto” e di sistema context-aware, le architetture software di riferimento e le tipologie, soffermandosi in particolare sulla progettazione ed implementazione di sistemi location-aware ed activity-aware. Viene dedicato molto spazio alla gestione di dati spaziali, illustrando, nel dettaglio, le tecnologie per la localizzazione, visualizzazione di dati geospaziali su mappe, storage e location intelligence. Nel secondo blocco viene discusso il ciclo di vita della progettazione di sistemi context-aware distribuiti, con enfasi su approcci di mobile edge computing in cui l'allocazione del workload tiene conto della posizione attuale degli utenti/dispositivi. A tal proposito, vengono presentate tecnologie e framework di edge computing per containerizzazione del software (Docker), orchestrazione dei task (Docker Swarm e Kubernates), e migrazione dei servizi sulla base della mobilità. Nell'ultima settimana del corso, sono previsti seminari da parte di aziende che operano nel settore.
Segue l'elenco degli argomenti trattati nel corso:
Introduzione e definizione di contesto e di sistema context-aware
Casi d’uso di sistemi context-aware
Sistemi location-aware
- Location-based services
- Tecnologie per la localizzazione
- Mapping APIs
- Spatial database management systems
- Location intelligence
- Privacy e dati spaziali
Sistemi activity-aware
- Architetture e algoritmi per Human Activity Recognition (HAR)
- HAR mediante tecniche AI di apprendimento supervisionato
Architetture di mobile edge computing
- Definizione ed esempi di applicazione del mobile edge computing
- Tecniche di modularizzazione del software (mediante container Docker)
- Orchestrazione di servizi e workload (Docker Swarm, Kubernates)
- Metriche per allocazione dei task sulla base del contesto utente/dispositivo (es. posizione)
Testi/Bibliografia
Slides e dispense rese disponibili tramite Virtuale.
Letture consigliate:
- Richard Ferraro, Murat Aktihanoglu, Location Aware Applications, Manning Editions
- Stefan Posland, Ubiquitous Computing: Smart Devices, Environments And Interactions, Wiley Edition
Metodi didattici
Il corso prevede lezioni frontali ed esercitazioni svolte in aula, mediante l'ausilio di PC e proiettore.
Modalità di verifica e valutazione dell'apprendimento
Il corso prevede un seminario (obbligatorio) ed un progetto (obbligatorio). Il seminario viene svolto durante l'ultima settimana del corso, e consiste in una presentazione di 20-30 minuti nella quale lo studente presenta un argomento di ricerca legato al programma di corso, prendendo spunto da un articolo scientifico o da un tool esistente. Il progetto consiste nello sviluppo di un sistema software con caratteristiche di context-awareness. La traccia del progetto viene proposta dagli studenti ed approvata dal docente, o direttamente proposta dal docente.
Strumenti a supporto della didattica
Il materiale didattico (slides, codice) presentato a lezione viene messo a disposizione dello studente attraverso la pagina del corso sulla piattaforma Virtuale.
Orario di ricevimento
Consulta il sito web di Marco Di Felice
Consulta il sito web di Angelo Trotta
SDGs
L'insegnamento contribuisce al perseguimento degli Obiettivi di Sviluppo Sostenibile dell'Agenda 2030 dell'ONU.