Ingegnerizzazione di applicazioni con metodologie agent oriented: un caso applicativo
L'obiettivo di questa tesi è l'analisi e il progetto di una applicazione web che offra un supporto al processo di organizzazione di una conferenza internazionale. Organizzare una conferenza internazionale può essere un lavoro complesso che nessita sempre più un supporto tecnologico: per esempio spesso si verifica che un comitato composto da diverse decine di membri debba esaminare oltre un migliaio di relazioni al fine di selezionare quelle meritevoli per la partecipazione alla conferenza. Organizzare manualmente tutto ciò è complicato. Il sistema da realizzare presenta numerosi elementi di complessità: esso è caratterizzato da un elevato grado di interazione, flussi di controllo indipendenti e da un ambiente di esecuzione dinamico e impredicibile, come Internet, che rende il sistema intrinsecamente aperto. I paradigmi tradizionalmente adottati nel processo di ingegnerizzazione del software, da quello ad oggetti a quello orientato ai componenti, non sono sufficientemente espressivi per gestire la complessità di un sistema software come quello in esame, in quanto non forniscono un adeguato livello di astrazione per rappresentare l'interazione, la distribuzione e l'apertura come proprietà essenziali all'interno di un modello del sistema. Il paradigma ad agenti è recentemente emerso come veicolo di modelli e tecnologie per costruire sistemi software complessi. Le tecnologie ad agenti forniscono una serie di strumenti concettuali e pratici per modellare e costruire sistemi software sempre più articolati, proponendo l'adozione di nuove astrazioni, come agenti, società di agenti e ambiente, mettendo a disposizione del progettista metodologie di progetto orientate agli agenti e promuovendo l'utilizzo di infrastrutture distribuite ad agenti. Per il progetto del sistema si è deciso di utilizzare la metodologia SODA, orientata agli agenti, ideata per la modellazione di applicazioni complesse mediante il paradigma ad agenti. SODA propone la separazione tra problemi sociali ed individuali sin dalle prime fasi dell'analisi, inoltre si concentra sugli aspetti sociali attraverso l'utilizzo di modelli di coordinazione. Per lo sviluppo del prototipo è stata scelta l'infrastruttura di coordinazione TuCSoN, realizzata da un gruppo di ricercatori dell'università di Bologna. Essa costituisce uno strumento efficace e potente per abilitare e monitorare la comunicazione tra gli agenti di un sistema complesso, proponendo un modello di coordinazione ibrido basato sulla nozione di centro di tuple.