Title: Zito Daniela Dora
1Progettazione e prototipazione di un sistema
multi-agente per le-learning asincrono
- Zito Daniela Dora
- Anno accademico 2003-2004
- Reti di Calcolatori L-S
2Obiettivi
- Progettazione di un ambiente di e-learning
- asincrono
- web-based
- distribuito
- interattivo
- modulare e facilmente espandibile
- aperto
- multi-agente
3Motivazioni
- Lidea nasce dallosservazione degli attuali
sistemi didattici e dei problemi
dellinsegnamento tradizionale - classi di studenti di grandi dimensioni
- numero limitato di insegnanti
- scarsa disponibilità di risorse finanziarie
- strategie di insegnamento non differenziate
- difficoltà per i docenti nel delineare le abilità
di ogni studente - Il tutto rende il processo di apprendimento poco
interessante e incompleto - Soluzione
- Un sistema di active learning che si adatta
dinamicamente alle esigenze di ogni studente,
creando percorsi formativi personalizzati.
4Un sistema di active learning
- Lambiente di active learning supporta
- Scelta gli studenti scelgono cosa studiare e
cosa costruire e risultano più coinvolti nelle
attività che svolgono - Congenialità gli studenti non hanno tutti lo
stesso livello di conoscenza e abilità e ognuno
preferisce un particolare stile di apprendimento - Asincronismo un ambiente di questo tipo deve
anche consentire uninterattività libera da
vincoli temporali e spaziali
5Componenti del sistema
6Il sistema multi-agente
- Un agente è un componente software
- Autonomo possiede un proprio thread di
controllo, può controllare le proprie azioni e
prendere decisioni - Proattivo reagisce in risposta agli eventi
esterni e possiede un behaviour finalizzato
ad un obiettivo - Sociale interagisce con altri agenti per
eseguire il proprio task
7Il sistema multi-agente
- Alcune caratteristiche delle-learning asincrono
rendono interessante la tecnologia basata sugli
agenti multipli - gli studenti sono distribuiti lungo la rete in
modo non uniforme e il numero di partecipanti è
ampio e questo rende inadeguato il sistema
tradizionale statico e centralizzato - il background e le abilità di ogni studente
evolvono nel tempo e anche i materiali e le
metodologie di insegnamento devono adeguarsi - gli studenti seguono molti corsi
contemporaneamente e quindi serve un
coordinamento didattico su vari argomenti - gli studenti tendono a riunirsi per discutere di
argomenti didattici comuni e lavorano insieme ai
docenti per raggiungere obiettivi comuni, quindi
serve un supporto allinterazione - Un agente può acquisire il profilo dellutente a
cui è connesso e aiutarlo a scambiare e
visualizzare informazioni.
8Modello pedagogico
- Per definire il processo educativo e semplificare
il lavoro del docente. - E lagente associato al docente, infatti, che
- seleziona gli esercizi e i problemi che si
adattano meglio agli obiettivi del corso e ai
singoli studenti - giudica il lavoro e limpegno di ogni studente in
base ai risultati degli esami, al tempo impiegato
per imparare un concetto o al numero di
consultazioni del materiale didattico durante lo
svolgimento dei test e degli esercizi
9Interfaccia Web-based
- Linterfaccia Web agisce come ponte di
collegamento tra gli studenti, i docenti e
lambiente di e-learning - Lo studente, o il docente, si connette al sistema
attraverso un computer collegato in rete, si
autentica e il sistema crea per lui un agente che
può iniziare a lavorare - Linterfaccia serve per la ricerca adattativa dei
corsi elettronici sul Web, per liscrizione e
lassegnamento del materiale didattico agli
studenti e per la presentazione degli argomenti
nel rispetto delle preferenze di ognuno - Il Web è un media ideale per le-learning su
vasta scala perché supporta vari tipi di
comunicazione ed elimina vincoli temporali e
spaziali
10Ambiente di esecuzione distribuito
- Il sistema multi-agente deve lavorare su una
piattaforma - scalabile
- affidabile
- flessibile
11Libreria digitale
- Il materiale didattico è organizzato come una
libreria digitale flessibile ed estensibile. - Il paradigma utilizzato per catalogare il
materiale, visualizzarlo, ricercare documenti con
particolari caratteristiche e scambiare
informazioni è lXML, disponibile gratuitamente
come uno standard aperto, semplice e dinamico
12Architettura del sistema
- Larchitettura scelta per il sistema è basata su
un modello peer-to-peer, in cui non cè
distinzione di ruoli tra i nodi. - Ogni nodo può
- intraprendere una comunicazione
- essere oggetto di una richiesta
- offrire un servizio
- ricercare altri nodi
- connettersi e disconnettersi dalla rete in ogni
momento - I sistemi basati sugli agenti sono
intrinsecamente peer-to-peer - ogni agente è un pari che comunica con altri
attraverso messaggi peer-to-peer.
13Descrizione del sistema
Corso A
Agente Studente
Agente Studente
Corso B
14Descrizione del sistema
- Ogni corso è caratterizzato da un livello di
difficoltà, gestisce il materiale didattico e le
tecniche di insegnamento e contiene un docente e
una lista di studenti. Inoltre lavora come
mediatore per la comunicazione tra docenti e
studenti. Per aumentare lefficienza e la
disponibilità gli agenti dei corsi possono essere
allocati su siti diversi - Ogni docente usa lagente del corso per ottenere
il materiale didattico e le tecniche di
insegnamento e propone agli studenti il materiale
nella forma più appropriata, basandosi sul
background e sullo stile di apprendimento
preferito da ognuno - Ad ogni studente è assegnato un agente personale
che gestisce il suo profilo, compreso il
background di conoscenze, il suo stile di
apprendimento, gli interessi, i corsi seguiti, e
si rivolge allagente del corso per la
definizione del piano di studi
15Un prototipo del sistema
- Un prototipo del sistema è stato sviluppato in
Java ed è stato sperimentato il framework JADE
(Java Agent DEvelopment framework) per la
gestione degli agenti
16Jade
- Jade è un middleware per lo sviluppo e
lesecuzione di applicazioni peer-to-peer basate
sul paradigma ad agenti, che possono lavorare e
interoperare sia in ambienti wired che wireless. - Lo standard per Jade è stato rilasciato nel 2002
dalla FIPA (Foundation for Intelligent Physical
Agents), che ha definito anche il linguaggio ACL
(Agent Communication Language) per la
comunicazione tra gli agenti.
17Principi di base di Jade
- Interoperabilità gli agenti Jade possono
interoperare con tutti gli altri agenti che
appartengono allo standard FIPA - Uniformità e portabilità Jade offre un omogeneo
set di API indipendenti dalla versione di Java
utilizzata, in modo che gli sviluppatori possano
decidere quale JRE utilizzare - Facilità di utilizzo la complessità del
middleware è nascosta da un insieme di API
semplici e intuitive - Filosofia pay-as-you-go le features non usate
dagli sviluppatori non aggiungono alcun overhead
18Larchitettura Jade
- Run-time environment ambiente di esecuzione per
gli agenti JADE che deve essere attivo su un dato
host prima che uno o più agenti vengano messi in
esecuzione sullo specifico host - Libreria di classi che possono essere usate dal
programmatore per sviluppare gli agenti - Tool grafico che permette lamministrazione e il
monitoring degli agenti in esecuzione. - Ogni istanza del run-time environment è chiamata
Container e contiene gli agenti. Linsieme di
tutti i Container è detta Piattaforma e
rappresenta un livello omogeneo che nasconde agli
agenti e agli sviluppatori la complessità dei
livelli sottostanti (hardware, sistema operativo,
rete, Java Virtual Machine)
19Caratteristiche di ogni agente Jade
- Ogni agente è identificato da un AID del tipo
ltnicknamegt_at_ltplatform-namegt - Ogni agente deve contenere almeno un behaviour
che definisce, nel metodo action(), le operazioni
da eseguire. Lo scheduling dei behaviour è
non-preemptive - Per ogni agente cè un singolo thread Java
- Il behaviour-switch è estremamente più veloce
di quello dei thread Java - Allo switch di un behaviour lo stato dellagente
non deve includere informazioni riguardanti lo
stack - Non servono regole di sincronizzazione tra
behaviour concorrenti che accedono alle stesse
risorse
20Comunicazione tra gli agenti
- Il paradigma usato nella comunicazione è il
message passing asincrono, per cui ogni agente
ha una coda di messaggi con il seguente formato - mittente del messaggio (sender)
- lista dei destinatari (receivers)
- cosa il mittente intende comunicare
(performative) - contenuto del messaggio (content)
- linguaggio (language)
- ontologia (ontology)
- altri campi usati per controllare la
comunicazione concorrente o per specificare
timeouts per la ricezione della risposta
(conversation-id, reply-with, in-reply-to,
reply-by)
21Servizi a disposizione degli agenti
- Ogni agente pubblica il proprio servizio nelle
yellow pages, in modo da essere ritrovato
dinamicamente evitando il naming esplicito da
parte degli altri agenti. - Per pubblicare un servizio lagente deve
- Creare un DF(Directory Facilitator), specificando
il proprio AID - Creare una descrizione del servizio includendo il
tipo, il nome, i linguaggi e le ontologie
richieste ad altri agenti per linterazione
22Semantica delle operazioniselezione di un corso
- Lo studente accede alle yellow pages e,
attraverso la definizione di un template e
lesecuzione del metodo search(myAgent,
template), ottiene la lista delle descrizioni di
tutti i corsi registrati che fanno match con il
template specificato - Lo studente invia una richiesta a tutti gli
agenti trovati, specificando come contenuto del
messaggio il proprio livello di abilità
Agente Corso
23Semantica delle operazioniselezione di un corso
- 3. Il corso riceve il messaggio, controlla se
le richieste possono essere soddisfatte e infine
invia il nome del corso allo studente
Agente Corso
24Semantica delle operazioniselezione di un corso
- 4. Lo studente riceve tutte le proposte, ne
sceglie una e invia un messaggio di conferma
Agente Corso
25Semantica delle operazioniselezione di un corso
- 5. Il corso riceve la conferma, controlla che
il nome sia corretto e invia nuova conferma allo
studente, che la riceve e si iscrive al corso e
aggiungendolo al proprio elenco
Agente Corso
26Semantica delle operazioniselezione di un quiz
27Sviluppi futuri
- Nella costruzione del prototipo non sono state
realizzate le interfacce grafiche, per motivi di
semplicità, e manca la gestione delle eccezioni. - Nelle successive versioni è necessario accrescere
le performance degli agenti, attraverso
lintroduzione di nuovi behaviour, il
miglioramento dei meccanismi di comunicazione e
collaborazione, luso completo dellXML e la
sperimentazione del sistema in un contesto
didattico reale. - Ad esempio
- i criteri di selezione dei corsi e dei quiz
dovrebbero essere estesi, evitando il match
esatto, ma mostrando anche i risultati
approssimati - il quiz dovrebbe essere inviato come oggetto XML,
soggetto poi a parsing - la valutazione degli studenti dovrebbe essere
automatica
28Sviluppi futuri
- Aspetti essenziali per costruire un sistema di
e-learning affidabile ed efficiente trascurati
per motivi di semplicità -
- sicurezza e controllo degli accessi, per evitare,
ad esempio, che uno studente acceda
anticipatamente alle risposte dei quiz, o che
apporti delle modifiche ai voti - tolleranza ai guasti
- nuova modellazione dello studente, per meglio
rappresentare la carriera e le performance - set dinamico di quiz ed esami che sia ricostruito
ogni volta che lo studente vi accede