Progettazione e prototipazione di un sistema multiagente per

  • Slides: 26
Download presentation
Progettazione e prototipazione di un sistema multi-agente per l’e-learning asincrono Zito Daniela Dora Anno

Progettazione e prototipazione di un sistema multi-agente per l’e-learning asincrono Zito Daniela Dora Anno accademico 2003 -2004 Reti di Calcolatori L-S

Obiettivi Progettazione di un ambiente di e-learning • • asincrono web-based distribuito interattivo modulare

Obiettivi Progettazione di un ambiente di e-learning • • asincrono web-based distribuito interattivo modulare e facilmente espandibile aperto multi-agente

Motivazioni L’idea nasce dall’osservazione degli attuali sistemi didattici e dei problemi dell’insegnamento tradizionale: •

Motivazioni L’idea nasce dall’osservazione degli attuali sistemi didattici e dei problemi dell’insegnamento 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.

Un sistema di active learning L’ambiente di active learning supporta: Scelta: gli studenti scelgono

Un sistema di active learning L’ambiente 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 un’interattività libera da vincoli temporali e spaziali

Componenti del sistema Interfaccia web Sistema multi-agente Modello pedagogico Libreria digitale Ambiente distribuito

Componenti del sistema Interfaccia web Sistema multi-agente Modello pedagogico Libreria digitale Ambiente distribuito

Il sistema multi-agente Alcune caratteristiche dell’e-learning asincrono rendono interessante la tecnologia basata sugli agenti

Il sistema multi-agente Alcune caratteristiche dell’e-learning asincrono rendono interessante la tecnologia basata sugli agenti multipli: 1. 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 2. il background e le abilità di ogni studente evolvono nel tempo e anche i materiali e le metodologie di insegnamento devono adeguarsi 3. gli studenti seguono molti corsi contemporaneamente e quindi serve un coordinamento didattico su vari argomenti 4. gli studenti tendono a riunirsi per discutere di argomenti didattici comuni e lavorano insieme ai docenti per raggiungere obiettivi comuni, quindi serve un supporto all’interazione Un agente può acquisire il profilo dell’utente a cui è connesso e aiutarlo a scambiare e visualizzare informazioni.

Modello pedagogico Per definire il processo educativo e semplificare il lavoro del docente. E’

Modello pedagogico Per definire il processo educativo e semplificare il lavoro del docente. E’ l’agente 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 l’impegno 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

Interfaccia Web-based L’interfaccia Web agisce come ponte di collegamento tra gli studenti, i docenti

Interfaccia Web-based L’interfaccia Web agisce come ponte di collegamento tra gli studenti, i docenti e l’ambiente 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 • L’interfaccia serve per la ricerca adattativa dei corsi elettronici sul Web, per l’iscrizione e l’assegnamento del materiale didattico agli studenti e per la presentazione degli argomenti nel rispetto delle preferenze di ognuno • Il Web è un media ideale per l’e-learning su vasta scala perché supporta vari tipi di comunicazione ed elimina vincoli temporali e spaziali

Ambiente di esecuzione distribuito Il sistema multi-agente deve lavorare su una piattaforma • scalabile

Ambiente di esecuzione distribuito Il sistema multi-agente deve lavorare su una piattaforma • scalabile • affidabile • flessibile

Libreria digitale Il materiale didattico è organizzato come una libreria digitale flessibile ed estensibile.

Libreria 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 è l’XML, disponibile gratuitamente come uno standard aperto, semplice e dinamico

Architettura del sistema L’architettura scelta per il sistema è basata su un modello peer-to-peer,

Architettura del sistema L’architettura 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.

Descrizione del sistema Corso A Agente Studente Agente Docente Agent e Corso Agente Studente

Descrizione del sistema Corso A Agente Studente Agente Docente Agent e Corso Agente Studente Utente Rete Agente Docente Agent e Corso B

Descrizione del sistema Ø Ogni corso è caratterizzato da un livello di difficoltà, gestisce

Descrizione 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 l’efficienza e la disponibilità gli agenti dei corsi possono essere allocati su siti diversi Ø Ogni docente usa l’agente 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 all’agente del corso per la definizione del piano di studi

Un prototipo del sistema è stato sviluppato in Java ed è stato sperimentato il

Un prototipo del sistema è stato sviluppato in Java ed è stato sperimentato il framework JADE (Java Agent DEvelopment framework) per la gestione degli agenti

Jade è un middleware per lo sviluppo e l’esecuzione di applicazioni peer-to-peer basate sul

Jade è un middleware per lo sviluppo e l’esecuzione 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.

L’architettura Jade • Run-time environment: ambiente di esecuzione per gli agenti JADE che deve

L’architettura 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 l’amministrazione e il monitoring degli agenti in esecuzione. Ogni istanza del run-time environment è chiamata Container e contiene gli agenti. L’insieme 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)

Caratteristiche di ogni agente Jade Ogni agente è identificato da un AID del tipo

Caratteristiche di ogni agente Jade Ogni agente è identificato da un AID del tipo <nickname>@<platform-name> 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 dell’agente non deve includere informazioni riguardanti lo stack Non servono regole di sincronizzazione tra behaviour concorrenti che accedono alle stesse risorse

Comunicazione tra gli agenti Il paradigma usato nella comunicazione è il “message passing” asincrono,

Comunicazione 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)

Servizi a disposizione degli agenti Ogni agente pubblica il proprio servizio nelle “yellow pages”,

Servizi 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 l’agente 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 l’interazione

Semantica delle operazioni: selezione di un corso 1. 2. Lo studente accede alle “yellow

Semantica delle operazioni: selezione di un corso 1. 2. Lo studente accede alle “yellow pages” e, attraverso la definizione di un template e l’esecuzione del metodo search(my. Agent, 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à ACLMessage. CFP Content = livello. Abilità Conversation. Id = “Ricerca Corso” Agente Studente Agente Corso

Semantica delle operazioni: selezione di un corso messaggio, corso riceve il. Il 3. richieste

Semantica delle operazioni: selezione di un corso messaggio, corso riceve il. Il 3. richieste controlla le se possono essere soddisfatte e infine invia il nome del corso allo studente ACLMessage. PROPOSE Content = nome. Corso Oppure ACLMessage. REFUSE Content = “Non disponibilità” Agente Studente Agente Corso

Semantica delle operazioni: selezione di un corso 4. studente Lo riceve tutte proposte, le

Semantica delle operazioni: selezione di un corso 4. studente Lo riceve tutte proposte, le sceglie ne una e invia un messaggio di conferma ACLMessage. ACCEPT_PROPOSAL Content = nome. Corso Conversation. Id = “Conferma corso” Agente Studente Agente Corso

Semantica delle operazioni: selezione di un corso conferma, corso riceve la. Il 5. nome

Semantica delle operazioni: selezione di un corso conferma, corso riceve la. Il 5. nome controlla siailche corretto e invia nuova conferma allo studente, che la riceve e si iscrive al corso e aggiungendolo al proprio elenco ACLMessage. INFORM Oppure ACLMessage. FAILURE Content = “Non disponibilità” Agente Studente Agente Corso

Semantica delle operazioni: selezione di un quiz ACLMessage. CFP Content = livello. Abilità Conversation.

Semantica delle operazioni: selezione di un quiz ACLMessage. CFP Content = livello. Abilità Conversation. Id = “Ricerca quiz” ACLMessage. PROPOSE Content = stringa. Quiz Oppure ACLMessage. REFUSE Content = “Non disponibile” Agente Studente ACLMessage. ACCEPT_PROPOSAL Content = stringa. Quiz Conversation. Id = “Conferma quiz” Agente Corso ACLMessage. INFORM Oppure ACLMessage. FALURE Content = “Non disponibilità” ACLMessage. INFORM Content = risposta. Quiz Conversation. Id = “Invio risposte” ACLMessage. INFORM Content = voto Agente Docente Agente Studente ACLMessage. ACCEPT_PROPOSAL Content = voto Conversation. Id = “Memorizzazione voto”

Sviluppi futuri Nella costruzione del prototipo non sono state realizzate le interfacce grafiche, per

Sviluppi 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 l’introduzione di nuovi behaviour, il miglioramento dei meccanismi di comunicazione e collaborazione, l’uso completo dell’XML 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 • …

Sviluppi futuri Aspetti essenziali per costruire un sistema di e-learning affidabile ed efficiente trascurati

Sviluppi 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