Estensione delle funzionalità di agenti software per l'invio e la ricezione di SMS su piattaforma TuCSoN
La creazione e lo sviluppo di sistemi distribuiti, concorrenti ed interattivi che operano su Internet ha reso il paradigma di programmazione ad oggetti (OOP = Objec Oriented Programming) insufficiente per quanto riguarda la modellazione di tale contesto. Inoltre, i sistemi distribuiti sono progettati come parti di sistemi sempre più complessi. La loro complessità può derivare dalle informazioni di cui hanno bisogno o che generano, dalla grandezza del sistema stesso, inteso come numero di utenti e nodi che lo compongono, o dal suo comportamento. Per far fronte a queste difficoltà e quindi raggiungere l?obiettivo del sistema distribuito, è nato il concetto di agente, che può essere inteso in diverse accezioni. In quella più comune, un agente è un componente software autonomo il cui comportamento non è stabilito staticamente e a priori, ma varia in base alla specifica situazione. Esso ha una visione locale dell?ambiente che lo circonda e col quale interagisce, ed è per questo motivo che è necessario realizzare un adeguato livello di coordinazione e comunicazione fra agenti, al fine di portare a compimento l?obiettivo di tutto il sistema.
TuCSoN è un?infrastruttura di coordinazione di agenti Java-based su Internet. La sua realizzazione ed i servizi ad essa integrati nascono dal desiderio di sperimentare questo nuovo paradigma di programmazione basato sugli agenti.
Questa tesi ha un duplice obiettivo: estendere le funzionalità di alcuni servizi integrati disponibili attraverso l?uso dell?infrastruttura TuCSoN ed anche, nel contempo, eliminare alcuni malfunzionamenti registrati in taluni servizi integrati. In particolare, per estensione delle funzionalità si intende l?apporto di modifiche all?interno del codice sorgente dell?agente con lo scopo di raggiungere una maggiore efficienza ed ottimizzazione di un servizio comunque funzionante in maniera corretta. Per quanto riguarda il secondo obiettivo che con questa tesi si intende raggiungere, verranno esaminati quei servizi sui quali si è osservato un funzionamento non corretto come, per esempio, la visualizzazione errata dei risultati: esso può essere considerato un malfunzionamento riguardante l?interazione fra l?utente utilizzatore del servizio ed il servizio stesso.
Il percorso intrapreso per ovviare a questi problemi parte dalla considerazione di come lavora l?infrastruttura TuCSoN e su come si colleghi ai servizi su di essa basati. Si affronterà quindi l?analisi di tutti i servizi sviluppati sull?infrastruttura, per avere in questo modo un quadro generale del contesto nel quale operano gli agenti. Successivamente si passerà allo studio dettagliato dei servizi disponibili nella loro forma attuale e degli agenti che li implementano allo scopo di possedere le giuste conoscenze per affrontare poi in modo appropriato l?analisi dei malfunzionamenti riscontrati. Una volta portato alla luce il bug ed isolata una ipotesi che definisca la sua probabile fonte, si proseguirà nella trattazione della tesi con la risoluzione pratica del problema. Tale risoluzione non può essere però garantita, per esempio nel caso in cui il malfunzionamento non dipenda direttamente dall?agente o dalle librerie usate per implementarlo, ma derivi da particolari situazioni presenti sulle strutture hardware usate per definire l?intero servizio.