|
|
Connettere ad Internet oggetti che circondano l’uomo nelle sue attività quotidiane crea sistemi distribuiti complessi in cui la tecnologia non si limita ad essere una commodity volta a migliorare la vita dell’individuo, ma diventa una componente attiva, sempre presente, con la quale l’uomo può interagire e collaborare. L’internet of Things (IoT) rende pervasiva la tecnologia e consente di avere informazioni sul contesto e sulle abitudini del singolo individuo che possono essere utilizzate per realizzare sistemi intelligenti (Internet of Intelligent Things, IoIT). Scenari concreti sono ad esempio reti per la domotica, sistemi di assistenza alla guida, sistemi per il controllo del traffico all’interno di un ambiente smart city, ecc. Da un punto di vista ingegneristico, lo sviluppo di applicazioni per sistemi IoT richiede la presenza di un supporto software che astragga dalle problematiche riguardanti la distribuzione delle risorse computazionali, che doti di intelligenza il sistema, che sia configurabile in modo dichiarativo e che permetta allo sviluppatore di concentrarsi soltanto sulla progettazione della logica applicativa. Tale supporto middleware si può parzialmente identificare in una piattaforma ad agenti che consente lo sviluppo di software basato sull’astrazione dell’agente, un’entità autonoma, socievole, reattiva e situata nello spazio.
In questo contesto si colloca la tesi: partendo dall’esigenza dei sistemi distribuiti di avere a disposizione intelligenza situata, ma anche interoperabilità, configurabilità e coordinazione, scopo del lavoro è cercare di unire la programmazione ad agenti e la programmazione logica per sviluppare efficacemente applicazioni IoT intelligenti e distribuite. Inoltre si vuole sperimentare questo approccio come primo passo verso la definizione di un’architettura middleware che consenta la gestione della conoscenza e dell’intelligenza di un sistema distribuito.
keywords
Prolog, Agenti, Middleware, IoIT, IoT, JADE, Sistemi distribuiti, Sistemi pervasivi.