FIPA e JADE
This presentation is the property of its rightful owner.
Sponsored Links
1 / 15

FIPA e JADE PowerPoint PPT Presentation


  • 127 Views
  • Uploaded on
  • Presentation posted in: General

FIPA e JADE. Una breve introduzione. Vasco Gallotti. Email: [email protected] Battle plan…. Prima Parte. FIPA. La specifica SC00023J. AMS DF MTS. ACL. Rappresentazione messaggi ACL. Protocolli di invio. Seconda Parte. Cos’è JADE. Installazione JADE. Servizi forniti da JADE.

Download Presentation

FIPA e JADE

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Fipa e jade

FIPA e JADE

Una breve introduzione

Vasco Gallotti

Email: [email protected]


Fipa e jade

Battle plan…

Prima Parte

FIPA

La specifica SC00023J

  • AMS

  • DF

  • MTS

ACL

Rappresentazione messaggi ACL

Protocolli di invio

Seconda Parte

Cos’è JADE

Installazione JADE

Servizi forniti da JADE

Scriviamo un agente in JADE


Fipa e jade

Cos’è JADE?

JADE: Java Agent DEvelopment framework è una piattaforma, altamente ingegnerizzata, scritta in Java, per la creazione e gestione di agenti intelligenti.

La caratteristica principale è la struttura distribuita del sistema stesso,

esso genera un “contenitore” (Container) nel qual gli agenti esistono e

convivono.

Ogni Istanza di JADE DEVE avere un contenitore principale

(“MainContrainer”) il cui ruolo è quello fondamentale di organizzare la

Comunicazione tra gli agenti.

Ad ogni main può essere associato uno o più container residenti sulla

stessa macchina o in qualsiasi altro posto nella rete…anche in internet!

Altro aspetto fondamentale: JADE è “FIPA Compliant”


Fipa e jade

FIPA

FIPA: Foundation for Intelligent and Phisycal Agent

È un’organizzazione che si è impegnata nella stesura degli standard che regolano la vita di un agente intelligente.

Essa ha definito una serie di standard tra cui

  • Ciclo di vita di un agente

  • Protocolli di interazione tra agenti e altri agenti, e tra agenti e piattaforma

  • Struttura di un sistema multiagente

  • ACL

ACL è un linguaggio grazie al quale vengono scritti i messaggi tra gli

agenti, esso si basa sullo “stato intenzionale” dell’agente.


Fipa e jade

Specifica SC00023J

La specifica SC00023J fornisce gli standard per tutto ciò che concerne il “management” di un agente. E’ la specifica più importante per la gestione e creazione di una piattaforma:

Software

Agent

Agent

Management

System

Directory

Facilitator

Message Transport System


Fipa e jade

Agent

Un agente può trovarsi in vari stati durante la sua esistenza, FIPA formalizza questo concetto:


Fipa e jade

AMS

L’ams (Agent Mangement Service) è un servizio che deve esistere in ogni

piattaforma per agenti. Deve esistere necessariamente solo un AMS per ogni piattaforma. L’ams è responsabile della gestione delle operazioni di una piattaforma per agenti intelligenti:

  • Creazione di un nuovo agente

  • Eliminazione di un agente

  • Migrazione di un agente

  • Mantenimento del ciclo di vita di un agente

L’ams contiene al suo interno anche la lista degli agenti attualmente presenti nel residenti nella piattaforma.

Va notato che un agente che si trova su una stessa piattaforma non è detto che stia su di una stessa macchina.


Fipa e jade

DF

  • La Directory Facilitator è un servizio associato ad una piattaforma per agenti grazie al quale un agente registra il servizio da lui stesso offerto.

  • E’ possibile paragonarlo alle pagine gialle.

  • Ad un agente è possibile:

  • Registrare un servizio

  • Modificare un suo servizio

  • Eliminare una voce dal registro

  • Cercare per trovare un agente associato ad un servizio

    La DF è opzionale, può esistere una piattaforma senza una DF; in una piattaforma possiamo trovare anche più di una DF.


Fipa e jade

MTS

Il Message Transport Service fornisce un meccanismo per trasferire messaggi ACL tra agenti.

Ecco la struttura che deve avere:

Nella sua forma astratta un messaggio è composto da una “envelope” e da un “payload”.

L’”envelope” contiene solo informazioni utili alla consegna del messaggio.

L’MTS non deve in nessun caso alterare il payload del messaggio.

Il payload è rappresentato da un messaggio ACL


Fipa e jade

ACL Messagge

ACL (Agent Communication Language) è il linguaggio utilizzato dagli agenti per scambiare messaggi.

ACL viene utilizzato anche tra agente e piattaforma per scopi interni.

La specifica SC00061G definisce in dettaglio i parametri dei messaggi ACL.

Un messaggio ACL è composto da una serie di parametri e deve contenere obbligatoriamente il performative-act, sender, receiver e content.


Fipa e jade

Atti comunicativi

Un agente che vuole inviare un messaggio ad un altro deve esprimere la sua intenzione.

Questo viene realizzato iniziando ogni messaggio con delle parole chiave che rappresentano l’intenzione dell’agente che ha inviato il messaggio stesso.

Gli atti comunicativi sono:


Fipa e jade

ACL Messagge in “String Mode”

Un messaggio ACL può essere rappresentato usando una serie di stringhe disposte in un preciso modo

Message = “(” MessaggeType

MessageParameter* “)”.

MessageParameter = “:sender” AgentIdentifier

| “:receiver” AgentIdentifierSet

| “:content” String

| “:reply-with” Expression

| “:reply-by” DateTime

| “:in-reply-to” Expression| “reply-to” AgentIdentifierSet

| “:language” Expression

| “:encoding” Expression

| “:ontology” Expression

| “:protocol” Word

| “:convesation-id” Expression.

La specifica SC00070J definisce il modo in cui scrivere messaggi ACL usando una grammatica ben definita.

Vediamo alcune regole di questa grammatica…


Fipa e jade

Altre regole indispensabili sono:

AgentIdentifier= “(” “agent-identifier”

“:name” word

[“:addresses” URLSequence]

[“:reslvers” AgentIdentifierSequence]

AgentIdentifierSequence = “(” “sequence” AgentIdentifier* “)”.

AgentIdentifierSet = “(” “set” AgentIdentifier* “)”.

Queste tre regole servono per generare tutto ciò che riguarda gli identificativi agenti (AID). Questi possono servire in più parti del messaggio ACL.


Fipa e jade

Vediamo alcuni esempi di messaggio in String mode:

(INFORM

:sender ( agent-identifier :name [email protected]:1099/JADE :addresses (sequence IOR:000000000000001149444C3A464950412F4D54533A312E3000000000000000010000000000000060000102000000000A3132372E302E302E3100042600000019AFABCB0000000002E88E33210000000800000000000000000A0000000000000100000001000000200000000000010001000000020501000100010020000101090000000100010100 ))

:receiver (set ( agent-identifier :name [email protected]:1099/JADE :addresses (sequence IOR:000000000000001149444C3A464950412F4D54533A312E3000000000000000010000000000000060000102000000000A3132372E302E302E3100042600000019AFABCB0000000002E88E33210000000800000000000000000A0000000000000100000001000000200000000000010001000000020501000100010020000101090000000100010100 )) )

:content “Hallo Homer!!!"

:reply-with [email protected]:1099/JADE1107708472917 )

(QUERY-IF

:sender ( agent-identifier :name [email protected]:1099/JADE

:addresses (sequence IOR:000000000000001149444C3A464950412F4D54533A312E3000000000000000010000000000000060000102000000000A3132372E302E302E3100042600000019AFABCB0000000002E88E33210000000800000000000000000A0000000000000100000001000000200000000000010001000000020501000100010020000101090000000100010100 ))

:receiver (set ( agent-identifier :name [email protected]:1099/JADE ))

:content “Homer goes to hollywood"

:in-reply-to homer

:language English

:conversation-id "23" )


Fipa e jade

Inviare messaggi ACL

Esistono vari protocolli per inviare dei messaggi tra agenti, sia residenti sulla stessa piattaforma, sia residenti su piattaforme distinte.

FIPA fornisce glil standard per inviare messaggi ACL usando i seguenti protocolli:

HTTP

IIOP

WAP

Tutti questi protocolli sono delegati al trasporto di messaggi ACL, la scelta di quale usare è lasciata al programmatore della piattaforma per agenti.


  • Login