版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
IntroductionofJavaAgentDevelopmentEnvironment(JADE)
余萍
yuping@
?Introduction
§FoundationforIntelligentPhysicalAgents(FIPA)
§JavaAgentDevelopmentEnvironment(JADE)
?RunningJADEPlatform
§
§
§
InstallJADEPlatform
RunJADEPlatform
RunAgentonJADEPlatform
2
?IEEEComputerSocietystandardsorganization
§Abodyfordevelopingandsettingcomputersoftwarestandardsforheterogeneousandinteractingagentsandagent-basedsystems.
§
/
?Asoftwareagent
§
Apieceofsoftwarethatactsforauserorotherprogramin
arelationshipofagency
3
?Agent
?LifecycleManagement
?MessageTransport
?MessageStructure
?Inter-agentInteractionProtocols
?Ontologies
?Security
4
5
6
7
(df-agent-description
:name(agent-identifier
:name
dummy@
:addresses(sequenceiiop:///acc))
:protocolsfipa-request
:ontologies(setfipa-agent-management)
:languages(setfipa-sl0)
:lease-time+00000000T600000000T
)
8
?Agentmessagetransportcomprisestwo
levels:
§
TheMessageTransportProtocol(MTP)carries
outthephysicaltransferofmessagesbetweentwoACCs.
TheMessageTransportService(MTS)isprovidedbytheAPtowhichanagentisattached.TheMTSsupportsthetransportofFIPAACLmessagesbetweenagentsonanygivenAPandbetweenagentsondifferentAPs.
§
9
Normativeservices
Optionalservices
10
MessageTransportservice
HumanAgentInteraction
Yellowpageservice
OntologyService
Whitepageservice
Agent-SoftwareIntegration
LifecycleManagement
AgentPlatform
provides
Service
11
?JADEisanenablingtechnology,a
middlewareforthedevelopmentandrun-timeexecutionofpeer-to-peerapplicationswhicharebasedontheagentsparadigmandwhichcanseamlessworkandinteroperatebothinwiredandwirelessenvironment.
§distributedsystemtopologywithpeer-to-peernetworking
§softwarecomponentarchitecturewithagentparadigm
12
FIPA-compliantdistributedagentplatformwhichcanbesplitontoseveralhosts.
JavaApplicationProgrammer’sInterface.
LibraryofFIPAinteractionprotocols,suchasContractNet,readytobeused.
GraphicalUserInterfacetomanageseveralagentsfromthesameRemoteManagementAgent.
Availableat
?
?
?
?
?
§
§
Latestversion:Jade4.5(08/06/2017)
JADEisfreesoftwareandisdistributedbyTelecomItalia
13
?MobileApplications
?InternetApplications
?CorporateApplications
?Machine-to-MachineApplications
14
15
host1.it
host2.jp
host3.us
JadedistributedAgentPlatform
JadeMain-container
JadeAgentContainer
JadeAgentContainer
Networkprotocolstack
16
ApplicationAgent
ApplicationAgent
ApplicationAgent
ApplicationAgent
ApplicationAgent
ApplicationAgent
ApplicationAgent
JRE
JRE
JRE
17
Inter-PlatformsMessageTransport(IIOP,HTTP,…)
Inter-ContainersMessageTransport(JavaRMI)
Intra-ContainerMessageTransport(Javaevents)
AgentCommunicationChannel
cacheofagentaddresses
DirectoryFacilitator
Yellowpageservice
AgentManagementSystem
Whitepageservice
18
?ProvidesaYellowPagesservicebymeansof
whichanagentcanfindotheragents
providingtheservicesherequiresinordertoachievehisgoals.
19
20
?Providesthenamingservice
§Ensuresthateachagentintheplatformhasauniquename
?Representstheauthorityintheplatform
§
Tocreate/killagentsonremotecontainersby
requestingthattotheAMS
21
?ProvidetheGUItocontrolagents’lifecycle
22
23
?AgentCommunicationChannel(ACC)
§
§
AgenttoAgent
AgentPlatformtoAgentPlatform
24
Intra-ContainerMessageTransport(Javaevents)
Inter-ContainersMessageTransport(JavaRMI)
Inter-PlatformsMessageTransport(IIOP,HTTP,…)
AgentCommunicationChannel
cacheofagentaddresses
DirectoryFacilitator
Yellowpageservice
AgentManagementSystem
Whitepageservice
?controlstheagent’sprivatequeueofACLmessages
?designedasachameleon
§
thetransportmechanismisselectedaccordingtothesituation
toachievethelowestcostformessagepassing
theoverheadsdependonthereceiver’slocationandthecachestatus
?distributedAgentCommunicationChannel
§
§
themaincontainerisnotabottle-neck,thankstothedistributedcaches
MessageTransportProtocols(MTP)canbeactivated/deactivatedatrun-timeonanycontainerviatheGUI
?
?
IIOPbasedontheORBimplementationofSun
IIOPbasedontheORBacusimplementation
allowstomakepersistenttheobjectreference
allowsamorefriendlyURL-formatcorbaloc:iiop:hostname:port/nameHTTPMTPprovidedbyEPFLunderLGPL
?
§
multipleACLencodingshavebeenimplemented
String-based,XML-based(EPFL),bit-efficient(Sonera)
25
agentisautonomous
?
§
itcompletelycontrolsitsthreadofexecution
?hasaprivateproxyofthelife-cyclemanager
decidesitselfwhentoreadmessagesandwhichmessagestoread
?thetransportmechanismfillsaprivatequeuebutitdoesnotcalltheagentcode(noautomaticcallback)
§
agentneedsconcurrency
?
§
§
canengagemultiplesimultaneousconversations
canexecuteseveralconcurrenttasks
?Javamulti-threador/and
?JADEbehaviourswithcooperativescheduling
?onethread-per-agentratherthanonethread-per-task/conversation.
?
ProgrammingModel
§
AJADEagentismappedontoanuserdefinedJavaclass,thatmustsubclass
Agentclassinjade.corepackage.
AgenttasksaremappedontouserdefinedsubclassesofBehaviourclassin
jade.core.behaviourspackage.
§
26
?Agentssend/receiveJavaobjects,thatrepresentACLMessages,withinthescopeofinteractionprotocols
§
JADEhidesallmessagecoding(encoding/parsing)
?
Envelopelevel
String-based,XML-based
AgentCommunicationLanguagelevel
String-based,XML-based,bit-efficient
ContentLanguagelevel
FIPASL-0+APItoregisteruser-definedcontentlanguages
supportforBase64-encodeddirectJavaobjectserialization
Ontologylevel
FIPA-AgentManagement;JADEAgentManagement
APItoregisteruser-definedcontentlanguages
theframeworkcanbeextendedbyusers
alllevelsprovideAPIstoimplement/registernewcodecs
workisinprogresstoimproveCLandontologylevelextendibility
?
?
?
?
§
JADEprovidesalibraryofcommoninteractionprotocols
?
?
usersjustneedtoimplementthehandlemethods
userscancomposeagenttaskslikesuper-statesofFSM
27
?JADEsupportsintra-platformmobilityandcloning
§
Aplatformcanbedistributedacrossmultiplehosts
eachhostisanagentcontainerAgentscanmigratebetweencontainersAgentscancloneacrosscontainers
Self-initiated
doMove(Location)/doClone(Location,String)
§
§
§
before/afterMove()
before/afterClone()
§
Requestedtotheplatform(viatheAMS)
Fipa-requestinteractionprotocol
jade.domain.MobilityOntologydefinesalltheconceptsandactionsneededtosupportagentmobilityandcloning
28
?RMA(RemoteMonitoringAgent)
§
§
§
§
tobrowsethewhiteservice
tocontroltheagentlife-cycle(e.g.remotecreation,agentmigration,…)
toactivate/deactivateMTPsoncontainers
tobrowsewhiteservicesofremoteagentplatforms
?DFGUI
§
§
tobrowsetheyellowservice
tomakeDFfederationsandbrowseremoteDF’s
?DummyAgent
§
send/receivestore/saveACLMessages
?SnifferAgent
§
tosniff,debug,savetofile,multi-agentconversations
?IntrospectorAgent
§
todebuganagent:queueofsent/receivedmessages,queueofbehaviours,…
29
?Configurationofaplatform
§
fromoneMASonasinglehost
single-hostplatform
§tooneagentonasinglehost
agentplatformonaclusterofhosts
§configurationcanbechangedatrun-time
hotrestartingispossiblethankstothelocalcaches
agentisreferredbyname=>noneedtogetnewreference
?Isthemain-containerabottle-neck?
§theAgentCommunicationChannelisdistributed
§themaincontainerisinvolvedonlywhenstrictlynecessary
30
?noneedtoimplementtheAgentPlatform
§
AMS,DF,andACCautomaticallylaunchedatstart-up
?noneedtoimplementagent-managementontologyandfunctionalities
§
anagentisregisteredwiththeAPbytheJavaconstructoritself
itisgivenanameandanaddress
theAgentclassprovidesasimplifiedinterfacetoaccesstheservicesoftheDF
(registration,searching,…)
§
?noneedtoimplementMessageTransportandParsing
§
automatically(andpossiblyefficiently)donebytheframeworkwhen
sending/receivingmessages
?noneedtoimplementInteractionProtocols
§
theymustonlybeextendedviahandlemethods
31
?BookSeller&BookBuyer
Seller1
Seller2
Buyer
32
33
?senderofthemessage
?listofreceivers
?communicativeintention(or“performative”)
?content
?contentlanguage
?ontology
?somefields
34
?ReceivingMessages
35
36
37
38
?BookSellerAgentextendsAgent
§
§
importjade.core.Agent;
Initialprocess
Setup()
addBehaviour(newOfferRequestsServer());
addBehaviour(newPurchaseOrdersServer());
AgentBehaviour
importjade.core.behaviours.*;
PurchaseOrdersServerextendsCyclicBehaviour
OfferRequestsServerextendsCyclicBehaviour
§
39
ServiceRegistration
ServiceName
ServiceType
AddBehaviour
40
Servicederegistration
41
?Thisabstractclassprovidesanabstractbase
classformodellingagenttasks,anditsets
thebasisforbehaviourschedulingasitallowsforstatetransitions(i.e.starting,blockingandrestartingaJavabehaviourobject).
42
43
?classSimpleBehaviour
§
Thisabstractclassmodelssimpleatomicbehaviours.Itsreset()
methoddoesnothingbydefault,butitcanbeoverriddenbyuserdefinedsubclasses.
classOneShotBehaviour
§
?
Thisabstractclassmodelsatomicbehavioursthatmustbeexecutedonlyonceand
cannotbeblocked.So,itsdone()methodalwaysreturnstrue.
§
classCyclicBehaviour
?
Thisabstractclassmodelsatomicbehavioursthatmustbeexecutedforever.Soits
done()methodalwaysreturnsfalse.
44
45
46
?classWakerBehaviour
§Thisabstractclassimplementsaone-shottaskthatmustbeexecutedonlyoncejustafteragiventimeoutiselapsed.
?classTickerBehaviour
§
Thisabstractclassimplementsacyclictaskthat
mustbeexecutedperiodically.
47
?classCompositeBehaviour
§
Thisabstractclassmodelsbehavioursthataremadeupby
composinganumberofotherbehaviours(children).Sotheactualoperationsperformedbyexecutingthisbehaviourarenotdefinedinthebehaviouritself,butinsideitschildrenwhilethecompositebehaviourtakesonlycareofchildrenschedulingaccordingtoagivenpolicy.
classSequentialBehaviour
§
?
ThisclassisaCompositeBehaviourthatexecutesitssub-behaviourssequentially
andterminateswhenallsub-behavioursaredone.Usethisclasswhenacomplextaskcanbeexpressedasasequenceofatomicsteps(e.g.dosomecomputation,thenreceiveamessage,thendosomeothercomputation).
48
§
classParallelBehaviour
?
ThisclassisaCompositeBehaviourthatexecutesitssub-behavioursconcurrently
andterminateswhenaparticularconditiononitssub-behavioursismet.ProperconstantstobeindicatedintheconstructorofthisclassareprovidedtocreateaParallelBehaviourthatendswhenallitssub-behavioursaredone,whenanyoneamo
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 新版通 用規(guī)范對設(shè)計(jì)影響交流分享
- 2025年撫順師范高等??茖W(xué)校高職單招高職單招英語2016-2024歷年頻考點(diǎn)試題含答案解析
- 山西省孝義市高三上學(xué)期入學(xué)摸底考試語文試題(含答案)
- 滬教版(上海)七年級地理第一學(xué)期中國區(qū)域篇(上)1.2《臺灣省》聽課評課記錄
- 中班幼兒系列活動策劃方案五篇
- 2025年科學(xué)儀器行業(yè)技術(shù)革新與發(fā)展前景
- 鋼材購銷合同范文年
- 代償協(xié)議與擔(dān)保合同
- 跨境貿(mào)易線上支付服務(wù)合同
- 投資公司借款的合同樣本
- 醫(yī)保政策與健康管理培訓(xùn)計(jì)劃
- 無人化農(nóng)場項(xiàng)目可行性研究報(bào)告
- 2024屆上海市金山區(qū)高三下學(xué)期二模英語試題(原卷版)
- 學(xué)生春節(jié)安全教育
- 2024-2025年校長在教研組長和備課組長會議上講話
- 宏觀利率篇:債券市場研究分析框架
- 橋梁頂升移位改造技術(shù)規(guī)范
- 六年級語文(上冊)選擇題集錦
- 《游戲界面設(shè)計(jì)專題實(shí)踐》課件-知識點(diǎn)5:圖標(biāo)繪制準(zhǔn)備與繪制步驟
- MOOC 材料科學(xué)基礎(chǔ)-西安交通大學(xué) 中國大學(xué)慕課答案
- 復(fù)產(chǎn)復(fù)工試題含答案
評論
0/150
提交評論