Sensori SunSpot e la programmazione ad agenti

June 30th, 2009

Un agente è un sistema situato in un certo ambiente, capace di azioni autonome sull’ambiente per raggiungere determinati obbiettivi [Wooldridge and Jennings 1995]. Gli agenti sono un importante strumento nato nell’ambito dell’intelligenza artificiale dai quali è nato un nuovo paradigma di programmazione, naturale evoluzione di altri paradigmi di programmazione, in particolare della programmazione ad oggetti.
L’idea di programmare dei sensori utilizzando il paradigma ad agenti è molto affascinante. I miei recenti esperimenti mi hanno portato alla realizzazione di un sistema multiagente che coinvolge nella proprie decisioni dati rilevati da sensori.

I sensori utilizzati sono i famosi SunSpot, prodotti dalla Sun Microsystem. La confezione inviata dalla sun contiene due sensori sun spot e una basestation. La basestation è un particolare tipo sunspot privato della SensorBoard attraverso la quale è possibile interfacciare un host, tramite collegamento usb, alla rete di sensori. Punto di forza di questi dispositi è il fatto di essere programmabili in linnguaggio Java.
SunSpot Network
L’ installazione è stata effettuata dal sito ufficiale dei SunSpot attraverso una java web start application la quale tenta di installare una jvm, ant, netbeans 6.1 con dei moduli aggiuntivi, SunSpot sdk e lo SPOT Manager. Sotto windows ci sono stati problemi sull’emulazione delle comunicazioni radio utilizzando versioni della jvm più recenti a quella suggerita dall’installer mentre sotto linux le cose sono sembrate più tranquille. Lo SPOT Manager fornisce un’interfaccia per la gestione degli SPOT collegati e l’esecuzione dell’emulatore. Quest’ultima è risultata particolarmente instabile ed ho preferito interagire con i vari Spot attraverso riga di comando.

L’ambiente di programmazione ad agenti è stato JADE (Java Agent DEvelopment Framework). Esso è un farmework completamente scritto in Java per l’implementazione di sistemi multiagente validi rispetto alle specifiche FIPA. JADE è software Open Source ed è stato prodotto da Telecom Italia Lab, branca di Telecom Italia Group responsabile all’innovazione tecnologica.

L’Integrazione tra le due piattaforme è avvenuta scrivendo un’applicazione per la basestation ed una per i sensori. Sulla basestation viene lanciata un’istanza di Jade e per ogni sensore a distanza di rilevamento viene inizializzato un agente nel framework, oltre ad una serie di agenti d’ausilio. Gli agenti software comunicano effettuano all’occorrenza delle richieste di rilevamento dati ai sensori che rispondono in modo opportuno attraverso l’applicazione scritta.

Posted in Progetti, Programmazione | No Comments »