platforma jade
DESCRIPTION
Platforma JadeTRANSCRIPT
Platforma JADE. Platforma JADE. Ciclul de viata al Ciclul de viata al
unui agentunui agent
Prezentare realizata de :Prezentare realizata de :Tapes CristinaTapes CristinaRomila Ana-MariaRomila Ana-MariaGrupa 242Grupa 242
CuprinsCuprins IntroducereIntroducere Standardele FIPA pentru sisteme multi-Standardele FIPA pentru sisteme multi-
agentagent Arhitectura unei platforme multi-agentArhitectura unei platforme multi-agent Pachetul JADE – AlcatuirePachetul JADE – Alcatuire Lansarea in executie a unui container Lansarea in executie a unui container
JADEJADE Ce este un agent? Ce este un agent? Caracteristicile agentilorCaracteristicile agentilor Ciclul de viata al unui agentCiclul de viata al unui agent ConcluziiConcluzii
IntroducereIntroducere
JADE (Java Agent Development JADE (Java Agent Development Framework)Framework) este un framework software este un framework software folosit pentru dezvoltarea de sisteme multi-folosit pentru dezvoltarea de sisteme multi-agent, ce corespunde specificatiilor FIPA agent, ce corespunde specificatiilor FIPA pentru agenti inteligenti. (Foundation for pentru agenti inteligenti. (Foundation for Intelligent Physical Agents)Intelligent Physical Agents)
JADE consta din doua produse: JADE consta din doua produse: 1.1.o platforma pentru sisteme multi-agent;o platforma pentru sisteme multi-agent;2.2.un cadru de dezvoltare al agentilor Java.un cadru de dezvoltare al agentilor Java.
Standardele FIPA pentru Standardele FIPA pentru sisteme multi-agentsisteme multi-agent
Sistemul multi-agentSistemul multi-agent este alcatuit este alcatuit din platforma si un set de agenti.din platforma si un set de agenti.
PlatformaPlatforma este alcatuita dintr-un este alcatuita dintr-un singur container de agenti singur container de agenti (MainContainer) sau un set de (MainContainer) sau un set de containere interconectate, distribuite containere interconectate, distribuite pe mai multe statii de lucru. pe mai multe statii de lucru.
Arhitectura unei platforme Arhitectura unei platforme multi-agentmulti-agent
Agent Management Agent Management SystemSystem – (AMS): detine – (AMS): detine dreptul de supervizare dreptul de supervizare al accesului si utilizarii al accesului si utilizarii platformei multi-agent platformei multi-agent
Directory FacilitatorDirectory Facilitator – – (DF): furnizeaza (DF): furnizeaza serviciul de "pagini serviciul de "pagini aurii" pentru platforma aurii" pentru platforma
Message Transport Message Transport System (Agent System (Agent Communication Communication Channel -ACC)Channel -ACC) )): : componenta software componenta software prin care se realizeaza prin care se realizeaza toate comunicarile intre toate comunicarile intre agenti. agenti.
Platforma multi-agentPlatforma multi-agent
La lansarea platformei, agentii AMS si La lansarea platformei, agentii AMS si DF sunt porniti automat, iar modulul ACC DF sunt porniti automat, iar modulul ACC este initializat pentru a permite este initializat pentru a permite comunicarea.comunicarea.
Containerul principal (unic in Containerul principal (unic in platforma) contine agentii de sistem AMS, platforma) contine agentii de sistem AMS, DF precum si registrul RMI-utilizat in DF precum si registrul RMI-utilizat in comunicarea intra-platforma. comunicarea intra-platforma.
La acesta se pot conecta alte La acesta se pot conecta alte containere de agenti (simple), aflate pe containere de agenti (simple), aflate pe statii diferite. statii diferite.
Pachetul JADE - Pachetul JADE - AlcatuireAlcatuire
Jade.jarJade.jar : clasele abstracte pentru definirea : clasele abstracte pentru definirea agentilor, a comportamentelor acestora, agentilor, a comportamentelor acestora, protocoalelor de interactiune, ontologiilor, etc; protocoalelor de interactiune, ontologiilor, etc; este obligatoriu pentru a putea porni platforma. este obligatoriu pentru a putea porni platforma.
JadeTools.jarJadeTools.jar : agentii utilitari (Introspector, : agentii utilitari (Introspector, DummyAgent,etc) si componente grafice. DummyAgent,etc) si componente grafice. Platforma nefiind un instrument vizual, au fost Platforma nefiind un instrument vizual, au fost dezvoltate separat anumite interfete pentru dezvoltate separat anumite interfete pentru aceasta.aceasta.
http.jarhttp.jar, , iiop.jariiop.jar, , commons-codec.jarcommons-codec.jar : contin : contin functionalitati pentru realizarea comunicarii functionalitati pentru realizarea comunicarii intre platforme.intre platforme.
Lansarea in executie a unui Lansarea in executie a unui container JADEcontainer JADE
Din linie de comandaDin linie de comanda - similar oricarui program - similar oricarui program Java: Java:
java java classpath=".\lib\jade.jar;.lib\http.jar" =".\lib\jade.jar;.lib\http.jar" jade.Boot [lista parametri] [lista jade.Boot [lista parametri] [lista AgentSpecifier]AgentSpecifier]
Dintr-un mediu de dezvoltareDintr-un mediu de dezvoltare (ex. (ex. JBuilderJBuilder, , EclipseEclipse). Pentru aceasta este necesara crearea ). Pentru aceasta este necesara crearea unui proiect nou si atasarea unei biblioteci care sa unui proiect nou si atasarea unei biblioteci care sa contina jar-urile specifice. contina jar-urile specifice.
In-process - In-process - prin accesarea runtime-ului JADE : prin accesarea runtime-ului JADE : fiind lansata din interiorul unui alt program:fiind lansata din interiorul unui alt program:
jade.core.Runtime rt = jade.core.Runtime rt = jade.core.Runtime.instance();jade.core.Runtime.instance();
rt.createMainContainer( new rt.createMainContainer( new jade.core.ProfileImpl() );jade.core.ProfileImpl() );
//sau//sau rt.createAgentContainer( new rt.createAgentContainer( new
jade.core.ProfileImpl(...) );jade.core.ProfileImpl(...) );
Ce este un agent? Ce este un agent?
Parte eficienta de cod care combina Parte eficienta de cod care combina proprietatiile executiei unui job a proprietatiile executiei unui job a unui limbaj de scripting cu unui limbaj de scripting cu capabilitatea unui obiect de a putea capabilitatea unui obiect de a putea comunica. Agentii pot executa task-comunica. Agentii pot executa task-uri specifice, repetitive si previzibile.uri specifice, repetitive si previzibile.
Este obiect activ. Concurenta inter-Este obiect activ. Concurenta inter-agenti este necesara. Comunicarea agenti este necesara. Comunicarea intre agenti se face asincron, peer-intre agenti se face asincron, peer-to-peer.to-peer.
Agentii inteligenti
Pastreaza proprietatile agentilor autonomi si, in plus, prezinta un comportament flexibil, caracterizat prin:
Reactivitate: capacitatea de a percepe propriul mediu si de a raspunde in timp util la schimbarile care apar in acesta;
Pro-activitate: capacitatea de a expune un comportament orientat spre scop prin preluarea initiativei;
Capacitatea sociala de a interactiona cu alti agenti si, eventual, cu utilizatori umani.
Ciclul de viata al unui Ciclul de viata al unui agentagent
ConcluziiConcluzii JADE (Java Agent Development Framework) este JADE (Java Agent Development Framework) este
un software folosit pentru dezvoltarea de un software folosit pentru dezvoltarea de sisteme multi-agent.sisteme multi-agent.
Arhitectura unei platforme multi-agent este Arhitectura unei platforme multi-agent este alcatuita din: Agent Management System, alcatuita din: Agent Management System, Directory Facilitator, Message Transport System.Directory Facilitator, Message Transport System.
Pachetul Jade este alcatuit din: jade.jar, Pachetul Jade este alcatuit din: jade.jar, jadetools.jar, http.jar, iiop.jarjadetools.jar, http.jar, iiop.jar
Lansarea in executie se poate realiza din linie de Lansarea in executie se poate realiza din linie de comanda, fie dintr-un mediu de dezvoltare, fie in-comanda, fie dintr-un mediu de dezvoltare, fie in-process.process.
Agentul este o instanta a unui utilizator definita Agentul este o instanta a unui utilizator definita intr-o clasa care extinde clasa de baza Agent.intr-o clasa care extinde clasa de baza Agent.
Intrebari…?Intrebari…?
Va multumim Va multumim pentru atentie!pentru atentie!