31
MODULO 1 MODULO 1 Linguaggi di Programmaz Linguaggi di Programmaz ione (Complementi) ione (Complementi) 1 IMPLEMENTAZIONE DEL IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA ABACO CON LA PIATTAFORMA RTP RTP

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

Embed Size (px)

Citation preview

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

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

11

IMPLEMENTAZIONE DEL IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE SISTEMA MULTI-AGENTE

ABACO CON LA PIATTAFORMA ABACO CON LA PIATTAFORMA RTPRTP

Page 2: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

22

ABACO: elementi base

ABACO è un’archittettura concettuale

Requisiti per implementare ABACO

RTP: introduzione

Contenuto lezione

IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTPABACO CON LA PIATTAFORMA RTP

Page 3: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

33

Implementazione di ABACO con RTP

Agenti ABACO con RTP

Comunicazione tra agenti

La strategia per gestire i comportamenti

Un esempio

Contenuto lezione

IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTPABACO CON LA PIATTAFORMA RTP

Page 4: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

44

Considerazioni per sviluppi futuri

Il linguaggio ACL

L’architettura

Demo implementazione corrente

Contenuto lezione

IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTPABACO CON LA PIATTAFORMA RTP

Page 5: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

55

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

ABACO (Agent-Based Architecture for Cooperation)

ABACO: ELEMENTI BASEABACO: ELEMENTI BASE

Page 6: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

66

localitálocalitá interazioneinterazione capacitá di percepire l’ambientecapacitá di percepire l’ambiente

La composizione di agenti da origineLa composizione di agenti da origine al meccanismo di coordinamento al meccanismo di coordinamento

Il Comportamento globale di tale meccanismo emerge Il Comportamento globale di tale meccanismo emerge da: da:

interazioni locali + reazione a stimoli dall’ambienteinterazioni locali + reazione a stimoli dall’ambiente

Agenti ABACOAgenti ABACO

CaratteristichCaratteristiche:e:

ABACO: ELEMENTI BASEABACO: ELEMENTI BASE

Page 7: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

77

Agenti ABACOAgenti ABACO

Struttura:Struttura:

Working memoryattribute

attribute

value

value

script

local data behavior

internal state

script

script

script

ABACO: ELEMENTI BASEABACO: ELEMENTI BASE

Page 8: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

88

ACL (Agent Communication Language)ACL (Agent Communication Language)

ABACO: ELEMENTI BASEABACO: ELEMENTI BASE

<any-data-type>* ; <agent-type>* <value>::=

<attribute>* | behavior < info >::=

<attribute: value>* | new-behavior: <behavior> < data >::=

tell (<data> [{<attribute: value>*}]) |ask (<info> [{<attribute: value>*}]) |create (<attribute: value>* [{<attribute: value>*}]) |define (<attribute: value>* [{<attribute: value>*}])

<message>::=

<agent-type>+ | <agent-name>+ <list>::=

all (<list>) | anyof (<list>) <agent>::=

send to <agent> : <message> <out-comm>::=

<local computation> | <communication> <reaction>::=

<reaction> | <reaction> ; <handler><handler>::=

<message> [IF<cond>] <handler> | <cond> <handler>

<pattern>::=

<pattern>+ <behavior>::=

<communication> ::=[IF <cond>] <out-comm> | [IF <cond>] <out-comm> // <communication>

Page 9: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

99

ABACO È UN’ARCHITTETTURA CONCETTUALEABACO È UN’ARCHITTETTURA CONCETTUALE

ABACO è un’architettura concettualeABACO è un’architettura concettuale

Non fa riferimento ad alcuna piattaforma esistente

Ricercare quale piattaforma concreta può essere utilizzata per l’implementazione

Page 10: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

1010

REQUISITI PER IMPLEMENTARE ABACOREQUISITI PER IMPLEMENTARE ABACO

Requisiti per implementare ABACORequisiti 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

Page 11: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

1111

Scelto piattaforma RTP (Real Time Performer)Scelto piattaforma RTP (Real Time Performer)

Paradigma component-connector

Altamente distribuita Definizione dinamica della

topologia Supporto per interazioni

dinamiche tra agenti

REQUISITI PER IMPLEMENTARE ABACOREQUISITI PER IMPLEMENTARE ABACO

Page 12: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

1212

RTP: INTRODUZIONERTP: INTRODUZIONE

RTP (Real Time Performer)RTP (Real Time Performer)Elementi messi a disposizione dalla Elementi messi a disposizione dalla piattaforma: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.

Page 13: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

1313

RTP: INTRODUZIONERTP: INTRODUZIONE

RTP (Real Time Performer)RTP (Real Time Performer)Un esempio di uso di RTPUn 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)

Page 14: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

1414

RTP: INTRODUZIONERTP: INTRODUZIONE

SAMPLE

COMPUTE

PRESENT

SYNC

SYNC

Topologist CREATE Strategist

add request(SAMPLE,FS1)

command performer

Engine

get request

Page 15: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

1515

IMPLEMENTAZIONE DI ABACO CON RTPIMPLEMENTAZIONE DI ABACO CON RTP

Implementare ABACO con RTPImplementare ABACO con RTP

Mappare gli elementi costitutivi di ABACOAGENTI (ed interazioni tra)

In termini di elementi costitutivi di RTPPerformer, Strategist, Topologist, Projector,

Engine,...

Cosa vuol dire:Cosa vuol dire:

Page 16: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

1616

IMPLEMENTAZIONE DI ABACO CON RTPIMPLEMENTAZIONE DI ABACO CON RTP

Implementare ABACO con RTPImplementare ABACO con RTPIn particolare per quel che riguarda i In particolare per quel che riguarda i

comportamenticomportamenti

ABACO

RTP

Agenti comportamenti (ACL)

Componenti comandi (1 o +)

Classi metodi

Page 17: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

1717

IMPLEMENTAZIONE DI ABACO CON RTPIMPLEMENTAZIONE DI ABACO CON RTP

Implementare ABACO con RTPImplementare ABACO con RTP

COME?COME?

Page 18: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

1818

AGENTI ABACO CON RTPAGENTI ABACO CON RTP

Agenti ABACO in termini di RTPAgenti ABACO in termini di RTPAgente=<Strategist, Topologist, Performer, Engine, Trace>

Agente

Strategist

Topologist

Engine

Performer

TraceStato

Comportamenti

Inputport

Outputport

Localport

Ogni Agente: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

Page 19: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

1919

La comunicazione La comunicazione avviene attraverso i avviene attraverso i messaggi composti da messaggi composti da primitiva, parametri e primitiva, parametri e destinatariodestinatario

Ogni agente puOgni agente può comunicare con altri comunicare con altri agenti attraverso un agenti attraverso un projector che collega la projector che collega la propria porta di Output propria porta di Output con la porta di Input con la porta di Input dell’agente a cui dell’agente a cui è destinato il messaggiodestinato il messaggio

Comunicazione tra AgentiComunicazione tra Agenti

Agente A

OutIn

Agente B

OutInPj

• Primitiva:Primitiva: CREAAGENTECREAAGENTE

• Parametri:Parametri: Nome-AgenteCNome-AgenteCTipo -IAgentTipo -IAgent

• Destinatario:Destinatario: NomeAgenteNomeAgente

Messaggio

COMUNICAZIONE TRA AGENTICOMUNICAZIONE TRA AGENTI

Page 20: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

2020

La StrategiaLa Strategia

LA STRATEGIA PER GESTIRE I COMPORTAMENTI

Strategist

TraceTrace

EngineOffOn

COPIAAZIONECOPIAAZIONE PerformerPerformer

MATCHMESSAGGIOMATCHMESSAGGIO PerformerPerformer

Performer

Input

messaggio

Topologist

MessageList

messaggio

Output Comportamenti

Messaggio reazione

Messaggio reazione

Messaggio reazione

Local

reazione

ActionList

reazione Reazione.primitivaReazione.primitiva PerformerPerformer

Page 21: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

2121

Un messaggio da inviare Un messaggio da inviare ad un altro agente: ad un altro agente: questo verrá copiato questo verrá copiato sulla porta di Outputsulla porta di Output

Un’azione locale o di Un’azione locale o di sistema, come sistema, come aggiornare attributi o aggiornare attributi o creare agenti: questa creare agenti: questa verrá copiata sulla porta verrá copiata sulla porta localelocale

ReazioniReazioni

LA STRATEGIA PER GESTIRE I COMPORTAMENTI

MessaggioMessaggio ReazioneReazione

MessaggioMessaggio Azione localeAzione locale

(da eseguire)(da eseguire)

MessaggioMessaggio MessaggioMessaggio

(da inviare)(da inviare)

La reazione ad un messaggio ricevuto puo’ La reazione ad un messaggio ricevuto puo’ essere:essere:

Page 22: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

2222

MessaggioMessaggio ReazioneReazioneAGGIUNGICOMPORTAMENAGGIUNGICOMPORTAMEN

TO TO <messaggio, <messaggio, reazione>reazione>

AGGIUNGICOMPORTAMENAGGIUNGICOMPORTAMENTOTO <messaggio, <messaggio,

reazione>reazione>

CREATE CREATE

<nome, tipo> <nome, tipo> CREAAGENTE CREAAGENTE

<nome, tipo><nome, tipo>

ASKASK<sender, richieste><sender, richieste>

TELLTELL<sender, richieste><sender, richieste>

DEFINEDEFINE<nome, valore><nome, valore>

AGGIUNGIATTRIBUTOAGGIUNGIATTRIBUTO<nome, valore><nome, valore>

Ogni Agente e’ in grado Ogni Agente e’ in grado di:di:

Aggiornare i propri Aggiornare i propri comportamenti e quelli comportamenti e quelli di altri Agentidi altri Agenti

Creare altri AgentiCreare altri Agenti Comunicare con altri Comunicare con altri

AgentiAgenti Aggiornare e Aggiornare e

aggiungere attributi aggiungere attributi propri e di altri Agentipropri e di altri Agenti

Funzionalita’ dell’AgenteFunzionalita’ dell’Agente

LA STRATEGIA PER GESTIRE I COMPORTAMENTI

Page 23: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

2323

E’ il meccanismo che permette ad ogni agente E’ il meccanismo che permette ad ogni agente che riceve un messaggio del quale non che riceve un messaggio del quale non è destinatario sulla propria porta di Input di destinatario sulla propria porta di Input di connettersi al destinatario tramite projector e connettersi al destinatario tramite projector e recapitare il messaggio recapitare il messaggio

Il meccanismo di ForwardIl meccanismo di Forward

LA STRATEGIA PER GESTIRE I COMPORTAMENTI

Agente A

PjOutputInput

Agente B

Input OutputMessaggio per Agente B

Page 24: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

2424

Ogni componente Ogni componente computazionale computazionale (Performers, (Performers, Projectors, Projectors, Topologists) di ogni Topologists) di ogni agente deve essere agente deve essere “battezzato” sul “battezzato” sul NameServer.NameServer.

Ogni componente Ogni componente battezzato battezzato è visibile visibile dagli altri dagli altri componenti del componenti del sistema.sistema.

Il NameServerIl NameServer

LA STRATEGIA PER GESTIRE I COMPORTAMENTI

NameServerNameServerRif#PerformeRif#Performe

rr““NomeAgente”NomeAgente”

Rif#TopologiRif#Topologistst

““NomeAgenteTopologist”NomeAgenteTopologist”

Rif#ProjectorRif#Projector ““NomeAgenteOut_NomeAgentNomeAgenteOut_NomeAgenteIN”eIN”

Page 25: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

2525

EsempioEsempio(Inizializzazione e Clonazione di un Agente)(Inizializzazione e Clonazione di un Agente)

UN ESEMPIO

Agente A

In Out

Messaggio

• Primitiva:Primitiva:

• Parametri:Parametri:

• Dest.:Dest.:

Mess=CREATE<nome,tipo>Mess=CREATE<nome,tipo>Reaz= CREAAGENTE<nome,tipo>Reaz= CREAAGENTE<nome,tipo>

AGGIUNGICOMPORTAMENTO

AgenteA

Messaggio

• Primitiva:Primitiva:

• Parametri:Parametri:

• Dest.:Dest.:

Nome=Agente BNome=Agente BTipo=AgentClassTipo=AgentClass

CREATE

AgenteA

Agente B

In Out

Messaggio

• Primitiva:Primitiva:

• Parametri:Parametri:

• Dest.:Dest.:

Mess=ASK<all, recipient>Mess=ASK<all, recipient>Reaz=TELL<all, recipient>Reaz=TELL<all, recipient>

AGGIUNGICOMPORTAMENTO

AgenteA

Messaggio

• PrimitivaPrimitiva::

•• ParametriParametri::

•• DestDest.:.:

BehavieurBehavieur=all=allRecipient=Recipient=AgenteBAgenteB

ASK

AgenteA

Messaggio

• PrimitivaPrimitiva::

•• ParametriParametri::

•• DestDest.:.:

BehavieurBehavieur=all=allRecipient=Recipient=AgenteBAgenteB

ASK

AgenteA

• PrimitivaPrimitiva::

•• ParametriParametri::

•• DestDest.:.:

BehavieurBehavieur=all=allRecipient=Recipient=AgenteBAgenteB

ASK

AgenteA

Pj

Messaggio

• PrimitivaPrimitiva::

•• ParametriParametri::

•• DestDest.:.:

BehavieurBehavieur=all=allRecipient=Recipient=AgenteBAgenteB

ASK

AgenteA

Messaggio

• PrimitivaPrimitiva::

•• ParametriParametri::

•• DestDest.:.:

BehavieurBehavieur=all=allRecipient=Recipient=AgenteBAgenteB

ASK

AgenteA

• PrimitivaPrimitiva::

•• ParametriParametri::

•• DestDest.:.:

BehavieurBehavieur=all=allRecipient=Recipient=AgenteBAgenteB

ASK

AgenteAPj

Page 26: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

2626

Il linguaggio ACL

L’architettura

Considerazioni per sviluppi futuri

CONSIDERAZIONI PER SVILUPPI FUTURICONSIDERAZIONI PER SVILUPPI FUTURI

Page 27: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

2727

ACL (Agent Communication Language)ACL (Agent Communication Language)

IL LINGUAGGIO ACLIL LINGUAGGIO ACL

<any-data-type>* ; <agent-type>* <value>::=

<attribute>* | behavior < info >::=

<attribute: value>* | new-behavior: <behavior> < data >::=

tell (<data> [{<attribute: value>*}]) |ask (<info> [{<attribute: value>*}]) |create (<attribute: value>* [{<attribute: value>*}]) |define (<attribute: value>* [{<attribute: value>*}])

<message>::=

<agent-type>+ | <agent-name>+ <list>::=

all (<list>) | anyof (<list>) <agent>::=

send to <agent> : <message> <out-comm>::=

<local computation> | <communication> <reaction>::=

<reaction> | <reaction> ; <handler><handler>::=

<message> [IF<cond>] <handler> | <cond> <handler>

<pattern>::=

<pattern>+ <behavior>::=

<communication> ::=[IF <cond>] <out-comm> | [IF <cond>] <out-comm> // <communication>

Page 28: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

2828

Semplificazioni implementazione corrente:Semplificazioni implementazione corrente:

IL LINGUAGGIO ACLIL LINGUAGGIO ACL

<any-data-type>*<value>::=

<attribute>* | behavior < info >::=

<attribute: value>* | new-behavior: <behavior> < data >::=

tell (<data> [{<attribute: value>*}]) |ask (<info> [{<attribute: value>*}]) |create (<attribute: value>* [{<attribute: value>*}]) |define (<attribute: value>* [{<attribute: value>*}])

<message>::=

send to <agent-name> : <message>

<local computation> | <communication> <reaction>::=

<message> <reaction><pattern>::=

<pattern>+<behavior>::=

<communication> ::=

La sintassi dell’ACL è stata semplificata come La sintassi dell’ACL è stata semplificata come mostrato in tabella mostrato in tabella

Page 29: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

2929

L’ARCHITETTURAL’ARCHITETTURA

End user

Description agents

UA

User typologies

Programmer

CM-definer

System agents Application agents

build behaviors

build CMs

put instances of CMs at work

GUI

Wrapper agent

Template agents

Instance agents

EI

LICM

EI LICM

Compound CM

LICM

EI LICM

Compound CM

get behavior

Compound CM1

Compound CMn

Instance of Instance of

Page 30: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

3030

Semplificazioni implementazione corrente:Semplificazioni implementazione corrente:

L’ARCHITETTURAL’ARCHITETTURA

Si è considerato un unico livello (senza distinguere tra applicazione e sistema);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 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 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 altri agenti, di processare i messaggi che riceve e di assumere i comportamenti adeguati.adeguati.

La comunicazione avviene in modo diretto, un agente La comunicazione avviene in modo diretto, un agente AA può mandare un può mandare un messaggio all’agente messaggio all’agente B B utilizzando un Projectorutilizzando un Projector senza bisogno di alcun agente senza bisogno di alcun agente interfaccia. Questo è possibile in quanto i nostri agenti hanno la capacità di interfaccia. Questo è possibile in quanto i nostri agenti hanno la capacità di redirezionare i messaggi ricevuti indirizzandoli all’agente destinatario senza che redirezionare i messaggi ricevuti indirizzandoli all’agente destinatario senza che vengano elaborati (vengano elaborati (forwardforward))

Page 31: MODULO 1 Linguaggi di Programmazione (Complementi) 1 IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTP

MODULO 1MODULO 1 Linguaggi di Programmazione (CLinguaggi di Programmazione (Complementi)omplementi)

3131

Demo implementazione correnteDemo implementazione corrente

IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE IMPLEMENTAZIONE DEL SISTEMA MULTI-AGENTE ABACO CON LA PIATTAFORMA RTPABACO CON LA PIATTAFORMA RTP