Partenariato

       
 PMI Innovativa – Capofila Organismo di Ricerca PMI  PMI

Informazioni generali

Progetto CUP J28C17000220006 “DLV Large Scale: un sistema per applicazioni di Intelligenza Artificiale in architetture data-intensive e mobile”

A valere sui fondi “POR CALABRIA FESR-FSE 2014-2020 ASSE I – PROMOZIONE DELLA RICERCA E DELL’INNOVAZIONE” -
Obiettivo specifico 1.2 “Rafforzamento del sistema innovativo regionale e nazionale” – Azione 1.2.2 “Supporto alla realizzazione di progetti complessi di attività di ricerca e sviluppo su poche aree tematiche di rilievo e all’applicazione di soluzioni tecnologiche funzionali alla realizzazione delle strategie di S3”. Avviso pubblico per il finanziamento di progetti di ricerca e sviluppo pubblicato sul Burc n. 110 del 4 novembre 2016

Ammesso al finanziamento con Decreto Dirigenziale della Regione Calabria n. 11273 del 12/10/2017 e s. m. e i.

Progetto realizzato dal 5 dicembre 2017 al 30 settembre 2020.

Descrizione del Progetto

La rapida evoluzione delle tecnologie informatiche, corroborata dal concomitante sviluppo della rete Internet, ha messo a disposizione una enorme quantità di informazioni. Tali informazioni sono prodotte e memorizzate ogni giorno da svariate sorgenti autonome, incluse organizzazioni commerciali o governative e privati cittadini, che fanno uso di diverse tecnologie e formati di rappresentazione strutturati e non. Studi sulla cosiddetta “esplosione  dell’informazione” hanno stimato che il 95% di tutte le informazioni è attualmente disponibile in forma non omogenea e distribuita. La memorizzazione, la gestione, l’accesso e l’elaborazione di questa vasta quantità di dati rappresentano una esigenza fondamentale ed al contempo una sfida immensa.
La branca dell’informatica che si occupa della realizzazione di sistemi capaci di fruire di grandi quantità di informazioni è nota come “Data intensive computing” e le applicazioni in grado di rispondere alle necessità sopra esposte sono dette “data intensive”.Sviluppare sistemi data intensive rappresenta, quindi, una sfida importante, che è stata già raccolta da alcune importanti aziende ICT a livello globale. L’obiettivo, non banale, è quello di creare sistemi data intensive capaci di individuare, rappresentare e sfruttare in modo intelligente la potenziale conoscenza in essi contenuta in modo da realizzare applicazioni dal grande valore aggiunto. Non è un caso che in tali sistemi sia spesso richiesta la realizzazione di servizi “intelligenti”, cioè ottenuti applicando tecniche di intelligenza artificiale. Si consideri, ad esempio, il sistema di riconoscimento facciale di Facebook, che applica, sulla impressionante quantità di immagini caricata quotidianamente dagli utenti del social network, tecniche di intelligenza artificiale (come image processing e recognition) con lo scopo di facilitare il riconoscimento degli amici; oppure, si pensi al caso di Amazon, che fornisce suggerimenti personalizzati per gli acquisti basandosi sull’analisi dell’enorme mole di dati di cui dispone, riguardante le transazioni dei clienti.

Obiettivo finale

L’obiettivo della proposta progettuale è quello di affrontare questa sfida, realizzando una serie di nuovi prodotti che, una volta integrati, costituiscano un framework evoluto per sviluppare applicazioni di intelligenza artificiale su architetture scalabili data-intensive e mobile. Tale framework sarà denominato DLV Large Scale (DLV-LS). Più in dettaglio, si estenderà DLV per ottenere sia una versione server Enterprise (DLV-EE), sia una versione (light) per dispositivi mobile (DLV-ME).

Risultati raggiunti

Il progetto ha permesso di realizzare importanti estensioni del sistema di Intelligenza Artificiale DLV consentendo di DLV-LS consentirà di combinare le caratteristiche di rappresentazione e ragionamento sulla conoscenza tipiche
di un sistema di intelligenza artificiale con le capacità di gestire grandi quantità di dati e risorse di calcolo distribuite tipiche di sistemi data intensive. Inoltre, sono state sviluppate applicazioni di intelligenza artificiale direttamente su dispositivi a basso potere computazione in grado di interloquire con soluzioni basate su DLV-EE. Non ultimo, una parte del progetto verrà dedicata alla progettazione e allo sviluppo di ambienti integrati di sviluppo (in inglese Integrated
Development Environment o IDE) necessari per sviluppare le applicazioni di IA sul server e/o sui dispositivi mobile. Infine, la piattaforma è stata sperimentata in un contesto reale, prendendo in considerazione come target il settore
turistico. In questo contesto, la concorrenza si svolge sulla capacità degli operatori di offrire ai clienti applicazioni intelligenti, personalizzate, data intensive e mobile. In particolare, si realizzerà un pianificatore intelligente di percorsi turistici capace di gestire dinamicamente itinerari di viaggio personalizzati.

Componenti sviluppati di DLV-EE:

  • BigDLV per programmi in ambiente distribuito
  • DLV per Database Relazionali
  • DLV per Sistemi NoSQL

Componenti sviluppati di DLV-ME:

  • DLV-ME per Android
  • DLV-ME per Raspberry/Arduino

Componenti IDE sviluppati:

  • Plugin di ASPIDE per l’utilizzo dei servizi REST di DLV
  • Plugin di ASPIDE per Android
  • Plugin di ASPIDE per Raspberry
  • Libreria per l’utilizzo di DLV-ME per Raspberry da parte di Arduino
Caso d’uso e verticalizzazione in ambito turistico:
  • Presentation Layer: il livello più esterno è quello grafico che permette una facile interazione da parte dell’ utente con il sistema. Il presentation layer è realizzato in React, popolare framework Javascript/Typescript per la realizzazione di web application frontend.
  • Model Layer: il model layer si occupa della persistenza dei dati, sia quelli relativi al funzionamento del sistema (come i tempi di percorrenza e la distanza fra i POI, tipologia di POI, …) sia quelli relativi all’utente come (credenziali, preferenze, …).
  • Service Layer: contiene la logica di business della piattaforma ed integra diverse tecnologia. Vengono utilizzate le Google API per la conversione di indirizzi in coordinate e per il calcolo di tempi di percorrenza e distanze. Java Spring viene utilizzato per soddisfare le chiamate HTTP ricevute dal frontend e fornire i servizi all’utente e della gestione dei dati tramite JDBC driver. Il calcolo degli itinerari viene invece effettuato dall’engine DLV.
Seguono alcune immagini dimostrative dell’app mobile realizzata a valle del progetto.
       
Login con caricamento delle preferenze di itinerario  Pianificazione itinerario  Calcolo tour con aggiornamento del tempo residuo Ricalcolo intelligente allo scadere del tempo residuo