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 »

Art of Illusion

January 5th, 2009

Art of Illusion (AoI) è un ambiente di modellazione 3D free ed OpenSource, esso consente di creare scenari ed animazioni tridimensionali di ottimo impatto. Punti di forza di tale software sono la suddivisione delle superfici ed animazioni basate su scheletri, inoltre fornisce un linguaggio grafico per la progettazione di texture procedurali e materiali.
Forse non è il migliore software OpenSource della sua categoria ma è l’unico scritto in Java.
E’ espandibile attraverso plugin e script con i quali è possibile accedere a tutte le classi del programma.


Finestra principale di Art of Illusion

AoI supporta il Ray tracing, il quale è una tecnica basata sulla simulazione del percorso fatto dalla luce. Grazie ad essa è possibile creare delle immagini fotorealistiche proprio come queste.
Dal sito ufficiale del software sono scaricabili gli installabili per i tre sistemi operativi principali Windows, Linux, Mac OS X ed un pacchetto contenente soltanto il jar per tutte le altre piattaforme su cui gira java.

Posted in Varie | No Comments »

Progetti vari

April 4th, 2008

Finalmente ecco la sezione Flavours dove ho deciso di inserire tutti i progetti che in questi anni sono sembrati più rilevanti. La tipologia di elaborati è molto varia, si parte da alcuni programmi scritti in matlab ispirati da un corso di calcolo numerico seguito nel 2005 fino ad arrivare a recenti articoli per le tecnologie web ed elaborazione delle immagini passando per guide e programmi sui sistemi operativi.
Per chi è interessato ad esempi di codice c’è una ricca sezione contenente sorgenti, in c sono presenti alcuni programmi molto semplici, adatti a chi sta imparando la programmazione, che implementano basilari algoritimi, mentre in c++ è possibile trovare implementate alcune strutture dati astratte ed alcuni algoritmi leggermente più complessi.

Posted in Progetti | No Comments »