Programmazione di Agenti Mobili in C#

Alessandro Lapadula

Le tecnologie tradizionalmente utilizzate per sviluppare applicazioni distribuite mostrano una serie di limitazioni quando sono applicate su larga scala (come, per esempio, ad Internet). In particolare, non consentono di avere un adatto livello di configurabilità, scalabilità ed usabilità. Per raggiungere questi obiettivi, i ricercatori stanno studiando una varietà di approcci innovativi. Alcuni di questi si basano sulla capacità di muovere codice attraverso i nodi di una rete, sfruttando la nozione di mobilità di codice. In questa tesi abbiamo presentato alcuni concetti per approfondire la conoscenza sulla mobilità di codice, realizzando SLAM, un semplice linguaggio di programmazione per applicazioni distribuite con codice mobile. I programmi SLAM vengono in seguito formalizzati in sintassi XML. La tecnologia XML o re una serie di strumenti utili per generare e trattare rappresentazioni digitali di documenti. In particolare, è stato realizzato un compilatore in grado di controllare la validità dei programmi SLAM e quindi, se validi, tradurli in applicazioni .NET. Per implementare SLAM è stato utilizzato C# un nuovo linguaggio proposto dalla tecnologia .NET. Nella tesi sono state evidenziate le caratteristiche di C# che lo rendono adatto alla programmazione con codice mobile. Infine sono state realizzate due applicazioni che utilizzano agenti mobili: la ricerca di un documento in un archivio distribuito ed un’applicazione di commercio elettronico.