1 / 31

IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP. IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP. Contenuto lezione. ABACO: elementi base ABACO è un’archittettura concettuale Requisiti per implementare ABACO RTP: introduzione.

maina
Download Presentation

IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP Linguaggi di Programmazione (Complementi)

  2. IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP Contenuto lezione • ABACO: elementi base • ABACO è un’archittettura concettuale • Requisiti per implementare ABACO • RTP: introduzione Linguaggi di Programmazione (Complementi)

  3. IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP Contenuto lezione • Implementazione di ABACO con RTP • Agenti ABACO con RTP • Comunicazione tra agenti • La strategia per gestire i comportamenti • Un esempio Linguaggi di Programmazione (Complementi)

  4. IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP Contenuto lezione • Considerazioni per sviluppi futuri • Il linguaggio ACL • L’architettura • Demo implementazione corrente Linguaggi di Programmazione (Complementi)

  5. ABACO: ELEMENTI BASE ABACO (Agent-Based Architecture for Cooperation) • è stata definita come un’architettura multi-agente i cui componenti sono agenti reattivi che utilizzano un linguaggio comune (ACL). • è stata concepita per supportare il coordinamento di attivitá svolte da attori (umani) Linguaggi di Programmazione (Complementi)

  6. localitá interazione capacitá di percepire l’ambiente La composizione di agenti da origine al meccanismo di coordinamento Il Comportamento globale di tale meccanismo emerge da: interazioni locali + reazione a stimoli dall’ambiente ABACO: ELEMENTI BASE Agenti ABACO Caratteristiche: Linguaggi di Programmazione (Complementi)

  7. internal state attribute value Working memory script script script attribute value script local data behavior ABACO: ELEMENTI BASE Agenti ABACO Struttura: Linguaggi di Programmazione (Complementi)

  8. <behavior>::= <pattern>+ <pattern>::= <message> [IF<cond>] <handler> | <cond> <handler> <handler>::= <reaction> | <reaction> ; <handler> <reaction>::= <local computation> | <communication> <communication> ::= [IF <cond>] <out-comm>| [IF <cond>] <out-comm>// <communication> <out-comm>::= send to <agent> : <message> <agent>::= all (<list>) | anyof (<list>) <list>::= <agent-type>+ | <agent-name>+ <message>::= tell (<data> [{<attribute: value>*}]) | ask (<info> [{<attribute: value>*}]) | create (<attribute: value>* [{<attribute: value>*}]) | define (<attribute: value>* [{<attribute: value>*}]) < data >::= <attribute: value>* | new-behavior: <behavior> < info >::= <attribute>* | behavior <value>::= <any-data-type>* ; <agent-type>* ABACO: ELEMENTI BASE ACL (Agent Communication Language) Linguaggi di Programmazione (Complementi)

  9. ABACO È UN’ARCHITTETTURA CONCETTUALE ABACO è un’architettura concettuale • Non fa riferimento ad alcuna piattaforma esistente • Ricercare quale piattaforma concreta può essere utilizzata per l’implementazione Linguaggi di Programmazione (Complementi)

  10. REQUISITI PER IMPLEMENTARE ABACO Requisiti per implementare ABACO • Supportare flessibilità che rifletta complessità di supportare il coordinamento tra le persone: • Dinamicità della topologia • Dinamicità delle interazioni tra agenti • Sviluppo incrementale Linguaggi di Programmazione (Complementi)

  11. REQUISITI PER IMPLEMENTARE ABACO Scelto piattaforma RTP (Real Time Performer) • Paradigma component-connector • Altamente distribuita • Definizione dinamica della topologia • Supporto per interazioni dinamiche tra agenti Linguaggi di Programmazione (Complementi)

  12. RTP: INTRODUZIONE RTP (Real Time Performer) Elementi messi a disposizione dalla piattaforma: • Performers: componenti computazionali passive • Projectos: componenti che consentono scambio di comunicazioni tra Performers • Topologists: componenti che definiscono Performers e Projectors • Strategists: forniscono politiche su come e quando le componenti interagiscono • Engine: motore del sistema, quando attivo le componenti possono interagire. Linguaggi di Programmazione (Complementi)

  13. RTP: INTRODUZIONE RTP (Real Time Performer) Un esempio di uso di RTP un sistema di monitoraggio ambientale in cui diversi sensori (Fsi) leggono dei valori (SAMPLE) dall’ambiente, li passano ad una centralina (Monitor) che li elabora (COMPUTE) e li passa ad un sistema centrale (Central System) Linguaggi di Programmazione (Complementi)

  14. RTP: INTRODUZIONE Topologist CREATE Strategist PRESENT SYNC add request(SAMPLE,FS1) COMPUTE command performer SYNC get request SAMPLE Engine Linguaggi di Programmazione (Complementi)

  15. IMPLEMENTAZIONE DI ABACO CON RTP Implementare ABACO con RTP Cosa vuol dire: Mappare gli elementi costitutivi di ABACO AGENTI (ed interazioni tra) In termini di elementi costitutivi di RTP Performer, Strategist, Topologist, Projector, Engine,... Linguaggi di Programmazione (Complementi)

  16. Agenti Componenti Classi IMPLEMENTAZIONE DI ABACO CON RTP Implementare ABACO con RTP In particolare per quel che riguarda i comportamenti ABACO comportamenti (ACL) RTP comandi (1 o +) metodi Linguaggi di Programmazione (Complementi)

  17. IMPLEMENTAZIONE DI ABACO CON RTP Implementare ABACO con RTP COME? Linguaggi di Programmazione (Complementi)

  18. Ogni Agente: può essere creato dinamicamente da un altro agente può modificare dinamicamente i propri comportamenti e il proprio stato può modificare dinamicamente i comportamenti e lo stato di altri agenti può essere definito in modo incrementale AGENTI ABACO CON RTP Agenti ABACO in termini di RTP Agente=<Strategist, Topologist, Performer, Engine, Trace> Agente Input port Trace Strategist Performer Stato Comportamenti Topologist Local port Engine Output port Linguaggi di Programmazione (Complementi)

  19. Agente A Agente B In Out Pj In Out Messaggio • Primitiva: CREAAGENTE • Parametri: Nome-AgenteC • Tipo -IAgent • Destinatario: NomeAgente COMUNICAZIONE TRA AGENTI Comunicazione tra Agenti • La comunicazione avviene attraverso i messaggi composti da primitiva, parametri e destinatario • Ogni agente può comunicare con altri agenti attraverso un projector che collega la propria porta di Output con la porta di Input dell’agente a cui è destinato il messaggio Linguaggi di Programmazione (Complementi)

  20. Comportamenti ActionList MessageList reazione messaggio LA STRATEGIA PER GESTIRE I COMPORTAMENTI La Strategia Topologist Strategist ! Local Performer COPIAAZIONE Performer Output reazione Reazione.primitiva Performer MATCHMESSAGGIO Performer Messaggio reazione Messaggio reazione Off On Engine Input Messaggio reazione messaggio Linguaggi di Programmazione (Complementi)

  21. LA STRATEGIA PER GESTIRE I COMPORTAMENTI Reazioni • Un messaggio da inviare ad un altro agente: questo verrá copiato sulla porta di Output • Un’azione locale o di sistema, come aggiornare attributi o creare agenti: questa verrá copiata sulla porta locale La reazione ad un messaggio ricevuto puo’ essere: Linguaggi di Programmazione (Complementi)

  22. LA STRATEGIA PER GESTIRE I COMPORTAMENTI Funzionalita’ dell’Agente Ogni Agente e’ in grado di: • Aggiornare i propri comportamenti e quelli di altri Agenti • Creare altri Agenti • Comunicare con altri Agenti • Aggiornare e aggiungere attributi propri e di altri Agenti Linguaggi di Programmazione (Complementi)

  23. Agente B Input Output Pj Messaggio per Agente B LA STRATEGIA PER GESTIRE I COMPORTAMENTI Il meccanismo di Forward E’ il meccanismo che permette ad ogni agente che riceve un messaggio del quale non è destinatario sulla propria porta di Input di connettersi al destinatario tramite projector e recapitare il messaggio Agente A Input Output Linguaggi di Programmazione (Complementi)

  24. LA STRATEGIA PER GESTIRE I COMPORTAMENTI Il NameServer • Ogni componente computazionale (Performers, Projectors, Topologists) di ogni agente deve essere “battezzato” sul NameServer. • Ogni componente battezzato è visibile dagli altri componenti del sistema. Linguaggi di Programmazione (Complementi)

  25. Messaggio Messaggio Messaggio • Primitiva: • Parametri: • Dest.: • Primitiva: • Parametri: • Dest.: • Primitiva: • Parametri: • Dest.: AGGIUNGICOMPORTAMENTO CREATE AGGIUNGICOMPORTAMENTO Pj Mess=ASK<all, recipient> Reaz=TELL<all, recipient> Mess=CREATE<nome,tipo> Reaz= CREAAGENTE<nome,tipo> Nome=Agente B Tipo=AgentClass Agente B Agente A AgenteA AgenteA AgenteA In In Out Out Pj UN ESEMPIO Esempio (Inizializzazione e Clonazione di un Agente) Linguaggi di Programmazione (Complementi)

  26. CONSIDERAZIONI PER SVILUPPI FUTURI Considerazioni per sviluppi futuri • Il linguaggio ACL • L’architettura Linguaggi di Programmazione (Complementi)

  27. <behavior>::= <pattern>+ <pattern>::= <message> [IF<cond>] <handler> | <cond> <handler> <handler>::= <reaction> | <reaction> ; <handler> <reaction>::= <local computation> | <communication> <communication> ::= [IF <cond>] <out-comm>| [IF <cond>] <out-comm>// <communication> <out-comm>::= send to <agent> : <message> <agent>::= all (<list>) | anyof (<list>) <list>::= <agent-type>+ | <agent-name>+ <message>::= tell (<data> [{<attribute: value>*}]) | ask (<info> [{<attribute: value>*}]) | create (<attribute: value>* [{<attribute: value>*}]) | define (<attribute: value>* [{<attribute: value>*}]) < data >::= <attribute: value>* | new-behavior: <behavior> < info >::= <attribute>* | behavior <value>::= <any-data-type>* ; <agent-type>* IL LINGUAGGIO ACL ACL (Agent Communication Language) Linguaggi di Programmazione (Complementi)

  28. <behavior>::= <pattern>+ <pattern>::= <message> <reaction> <reaction>::= <local computation> | <communication> <communication> ::= send to <agent-name> : <message> tell (<data> [{<attribute: value>*}]) | ask (<info> [{<attribute: value>*}]) | create (<attribute: value>* [{<attribute: value>*}]) | define (<attribute: value>* [{<attribute: value>*}]) <message>::= < data >::= <attribute: value>* | new-behavior: <behavior> < info >::= <attribute>* | behavior <value>::= <any-data-type>* IL LINGUAGGIO ACL Semplificazioni implementazione corrente: La sintassi dell’ACL è stata semplificata come mostrato in tabella Linguaggi di Programmazione (Complementi)

  29. User typologies System agents Application agents Description agents get behavior Template agents build behaviors Programmer Compound CM CM CM LI LI EI UA build CMs GUI CM-definer Wrapper agent EI put instances of CMs at work End user Compound CM CM CM LI LI EI Instance of Instance of Instance agents Compound CMn Compound CM1 L’ARCHITETTURA Linguaggi di Programmazione (Complementi)

  30. L’ARCHITETTURA Semplificazioni implementazione corrente: • Si è considerato un unico livello (senza distinguere tra applicazione e sistema); • Tutti gli agenti sono dello stesso tipo, non esistono differenze tra agenti utente, di sistema o interfaccia; ogni agente costituisce un’entità capace di connettersi ad altri agenti, di processare i messaggi che riceve e di assumere i comportamenti adeguati. • La comunicazione avviene in modo diretto, un agente A può mandare un messaggio all’agente B utilizzando un Projectorsenza bisogno di alcun agente interfaccia. Questo è possibile in quanto i nostri agenti hanno la capacità di redirezionare i messaggi ricevuti indirizzandoli all’agente destinatario senza che vengano elaborati (forward) Linguaggi di Programmazione (Complementi)

  31. IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP Demo implementazione corrente Linguaggi di Programmazione (Complementi)

More Related