Advanced Programming Languages

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

page1ACOMPARISONANDREVIEWOFJAVABASEDMOBILEAGENTDEVELOPMENTFRAMEWORKSGlennHuebscherDecember4,1997AdvancedProgrammingLanguagesABSTRACTThewidespreadacceptanceofSunMicrosystem’sJava(tm)languageprovidestheessentialgroundworkuponwhichanagentbasedframeworkcanbebuilt.ThreesuchframeworksareIBMAglets(tm)Workbench,GeneralMagicOdyssey(tm)andMitsubishiElectric’sConcordia.Eachframeworkpromotesadifferentconceptinagentprogramming.Theuseofabstractionsvaries,aswellastheactualcapabilitiesprovidedbyeachclasslibrary.Thebenefitsofsomeoftheseabstractionsandcapabilitiesarearguable.Acomparisonofthesedifferencesprovidesageneralpictureoflow-levelagentapplicationimplementationissues.page2INTRODUCTIONTOMOBILEAGENTSAsoftwareagentinageneralsenseisasoftwareprogramcapableofperformingactionsonbehalfofitsuser.Typically,theactionsareperformedwithlittleuserinteractionexceptfordefiningthetaskstheagentistoperform,theproceduresitistofollow,andareviewoftheagent’sperformanceandresults.Inasinglemachineenvironment,theagent’sactivitieswouldincludemachinemaintenance,batchprocessing,dataanalysis,andothersimilartasksinwhichtheinformationrequiredtocompletethetaskislocaltothemachineandimmediatelyavailable.Inanetworkedenvironment,theagentcouldalsoperforminformationqueriesonremotemachinesandusedistantresourcesusingcommonremoteprocedurecallprotocols.However,theinteractionswithremotemachinesusingtypicalnetworkclient/serverarchitecturespresentsseveraldrawbacksparticularlyconcerningtheissuesofnetworkreliabilityandthroughput.MitsubishiElectric’swhitepaperMobileAgentComputing[1]providesfurtherdiscussiononthelimitationsoftheclient/serverarchitecture.Animprovementtotheefficiencyofsoftwareagentactivitiesistoaddthecapabilityofmovement;thusmakingthesoftwareagentamobileagent.Mobilityallowstheagenttoactautonomously,followingitsownsetofinstructionsandtogowherethenecessarydataandresourcesarelocated.Asynchronousoperationwiththebasehostbecomesthenorm,therebyfreeingbasehostresourceswhiletheagentworkselsewhere.Sinceanetworkconnectionisonlyrequiredwhentheagenttravels,thequalityoftheconnectionisoflessimportance.Thispaperexaminesthecapabilitiesandconceptsofthreecommerciallyavailableandpotentiallyviablemobileagentsystemsandtheirassociatedinterfacelanguages.TheselectedsystemsareIBMAglets(tm),GeneralMagic’sOdyssey(tm)andMitsubishiElectric’sConcordia(tm).Severalcommonelementsdistinguishthesesystems:*EachiscompletelyimplementedinJavaasasetofJavaclasslibraries.ThelanguageassociatedwiththesesystemsisJavaextendedwiththemethodsoftheagentclasslibraries.*Theagentsaremobileandcanrelocatethemselvestoanymachinehostingasuitableagentserver.*Anagentcaninteractwithotheragents.*Eachsystemhascommercialbacking.Eachofthesesystemsisavailableforfreedownloadforacademicuse,referencestotheirwebsitesaregivenattheendofthisdocument.page3AGENTSYSTEMARCHITECTUREAtypicaldeployedagentsystemconsistsofanetworkedcollectionofagentservers.EachserverisaJavaruntimewithinwhichexecuteJavaobjectsdefiningtheserver’sservicesandfunctionality.Likewise,anagent’sapplicationcode,whichisalsoaJavaobject,executeswithinthesameJavaruntime.Ahostmachinemayhaveasingleagentserverinstalledonitormultipleagentservers.Locally,throughtheserverapplication’suserinterface,theservercanbemonitoredandmaintained,agentservicesaddedorremovedandagentscreatedanddestroyed.Theserveralsoincludesasetofdaemonsormanagersthatmonitorthemachine’sportsforincomingrequests.Theserequestscanincludemessagestocreateanewagent,sendanagenttoanotherlocation,disableanagent,createacopyofanagent,getinformationabouttheserver,etc.Therequestsmustbephrasedinasuitableprotocol.Severalprotocolshavebeendevelopedandarecurrentlybeingexperimentedwith.Forexample,IBMAgletsuseaprotocolcalledATP(AgentTransferProtocol),whichissimilarinconcepttoHTTP(HypertextTransferProtocol).[2]Essentially,itisacontaineridentifyingaspectsabouttherequest,suchasitssize,itsidentification,andabytearrayoftherequestcontent.Thecontentmaysimplybeamessageoritcanbeaserializedobject,suchastheclassdefinitionsanddataofatravellingagent.Anindustrywidestandardizationofacommonagenttransferprotocolisyettoexistandeachofthesystemsinvestigatedimplementstheirownprotocol.Sinceagentstravel,specializedclassloadersareimplementedtodownloadclasslibrariesfromtheagent’ssource.Anagent’scodewillincludereferencestostandardJavaandagentserverclassesresidentonthehostmachine.However,theagentwillalsohavereferencestoitsowncustomizedclassdefinitions.Theseclassesmayormaynottravelwiththeagentdependingupontheagentsystemimplementation.Thusinsomecases,theclassdefinitionoftheagentmayneedtobedownloadedfromitssourcehostmachine,orinotherwords,itscodebase.Alternatively,allclassdefinitionsmaytravelwiththeagent.Eveninthiscase,optimizationispossiblebyhavingaclassloadercachedownloadedclasses.Whenanewclassisreferenced,theclassloadercanchecktoseeifitwaspreviouslydownloaded.Ifso,thecachedcopycanbeusedinsteadofdownloadingitagain.TheIBMAgletsclassloadersworkinthismanner.[2]Theagletclassloaderattemptstoensurethattheclasseshandledinthismannerarecompatiblebetweenthecach

1 / 23
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功