LinPadghamandMichaelWinikoff
RMITUniversityMelbourne,AUSTRALIA{linpa,winikoff}@cs.rmit.edu.au
April2004
1Introduction
“Oneofthemostfundamentalobstaclestolarge-scaletake-upofagenttechnologyisthelackofmaturesoftwaredevelopmentmethodologiesforagent-basedsystems.”[37,page11].
Itiswidelyacceptedintheagentresearchcommunitythatakeyissueinthetransitionofagentsfromresearchlabstoindustrialpracticeistheneedforamaturesoftwareengineeringmethodologyforspecifyinganddesigningagentsystems.InthischapterwedescribethePrometheus1methodologywhichaimstoaddressthisneed.
Prometheusisintendedtobeapracticalmethodology.Assuch,itaimstobecomplete:provid-ingeverythingthatisneededtospecifyanddesignagentsystems.OtherdistinguishingfeaturesofthePrometheusmethodologyare:
•Prometheusisdetailed–itprovidesdetailedguidanceonhowtoperformthevariousstepsthatformtheprocessofPrometheus.
•Prometheussupports(thoughisnotlimitedto)thedesignofagentsthatarebasedongoalsandplans.Webelievethatasignificantpartofthebenefitsthatcanbegainedfromagent-orientedsoftwareengineeringcomesfromtheuseofgoalsandplanstorealiseagentsthatareflexibleandrobust.•Prometheuscoversarangeofactivitiesfromrequirementsspecificationthroughtodetaileddesign.•Themethodologyisdesignedtofacilitatetoolsupport,andtoolsupportexistsintheformofthePrometheusDesignTool(PDT)whichisfreelyavailable.•Prometheusisaimedatindustrialsoftwaredevelopersandundergraduatestudents,notresearchersandpost-graduatestudents.•Prometheushasbeensuccessfullytaughttoundergraduatestudentsandusedbysummerstudents.Feedbackfromthesestudentshasbeenusedtoimprovethemethodology.WehavealsoworkedwithAgentOrientedSoftware,aninternationalcompanywithheadquartersinMelbourne,Australiawhichspecialisesinagenttechnology.
ThesefeaturesofPrometheusdistinguishitfromexistingmethodologies.Whiletherearemanyagentorientedsoftwareengineeringmethodologies(forexample[2–5,8,9,14,15,19–22,25,26,30,31,33–36,41,48,51,]and,ofcourse,theotherchaptersinthisbook),noneofthemhaveallofthefeaturesde-scribedabove.
WeshallnotattempttocomparePrometheustoexistingmethodologiesinthischapter.ComparisonsofPrometheuswithothermethodologiescanbefoundin[17,18].Othercomparisonsofagent-orientedmethodologiesinclude[12,48,49].
aftertheTitanwhowas,amongstotherthings,theprotectorofmankind.Prometheus,accordingtoGreekmythology,
stolefirefromZeusandgaveitasagifttohumanity;anactthathewaspunishedfor.(www.greekmythology.com).
1Named
1
IntheremainderofthischapterwedescribethePrometheusmethodology(section2),brieflyoutlineacasestudy(section3)anddiscussthestrengthsandweaknessesofPrometheus(section4)beforeconclud-ing(section5).OurdescriptionofPrometheusisnecessarilybrief–forafulldescriptionsee[44].
2ThePrometheusMethodology
BeforewepresentPrometheusitisimportanttoconsiderthequestion“whatisamethodology?”Thisisnotjustanacademicexercise:ifweviewamethodologyasconsistingpurelyofnotationsfordescribingdesignsorasconsistingonlyofahighlevelprocessthenweendupwithaverydifferentresult.
Weadoptapragmaticstance:ratherthandebatingwhatshouldandshouldnotbeconsideredpartofamethodologywesimplyincludeinPrometheuseverythingthatwethinkisnecessary.Inparticular,thePrometheusmethodologyasdescribedin[44]includesadescriptionofconceptsfordesigningagents,aprocess,anumberofnotationsforcapturingdesigns,aswellasmany“tips”ortechniquesthatgiveadviceonhowtocarryoutthestepsofPrometheus’process.
Sincedesignisahumanactivitythatisinherentlyabouttradeoffs,ratherthanaboutfindingthesinglebestdesign(whichoftendoesnotexist),itisnotpossibletoprovidehardandfastrules.However,itisimportanttoprovidedetailedtechniquesandguidelinesforcarryingoutsteps.
WewouldliketostressthatPrometheusisageneralpurposemethodology.Althoughthedetaileddesignphasemakessomeassumptionsabouttheagentarchitecture,therestofthemethodologydoesnotmaketheseassumptions.Itisnotpossibletoprovideadetailedmethodologythatproceedstodetaileddesignandtowardsimplementationwithoutmakingsomeassumptions.Forexample,Tropos[3,25]alsotargetsBDI2-likesystems.
2.1AgentConcepts
Beforeweproceedtopresenttheprocess,notations,andtechniquesthatareassociatedwiththePrometheusmethodologywebeginbydiscussingconcepts[53].
Thereasonwhyitisimportanttoconsideranddiscussconceptsisthattheconceptsarethefounda-tionwhichasoftwareengineeringmethodologybuildsupon.Forinstance,object-orientedmethodologiesassumethatthedesignerisfamiliarwithconceptssuchasobjects,classesandinheritance.
Theconceptsthatareappropriatefordesigningagentsare,notsurprisingly,differentfromthosethatareusedforobjects.Whereastheconceptsofobject-orientedprogrammingarewell-known,thoseassociatedwithagent-orientedprogrammingarenot,andsowefeelthatitisusefulandimportanttodiscussthem.Inconsideringwhatconceptsareappropriatefordesigningagentsystemswetakeasastartingpointthedefinitionofanintelligentagentasbeingsoftwarethatissituated,autonomous,reactive,proactive,flexible,robustandsocial[44,55].
Letusbeginwithabasicproperty:agentaresituatedinanenvironment.Asaresult,capturingtheagent’sinterfacewiththeenvironmentisimportant(andisdoneaspartofPrometheus’systemspecifi-cationphase).Theagent’sinterfaceisexpressedintermsof(percepts3)providinginformationfromtheenvironmentandactionswhichtheagent(s)canperformtochangetheenvironment.
Agentsarealsoproactiveandreactive.Aproactiveagentisonethatpursuesgoals,andsoakeydesign(andimplementation!)conceptthatisusedtobuildagentswiththispropertyisgoals.Areactiveagentisonethatrespondstosignificantoccurrences(events).Theseeventsmaybeperceptsfromtheenvironment,butmayalsobemessagesfromanotheragent,oreveninternaloccurrences.
Agentsarealsosocial.Therearemanyconceptsthatcouldbeusedtorealisesocialagentsincludingcommitments[11,56],norms[10],andteams[13].Forthemoment,Prometheusmerelydesignsintermsofmessagesbetweenagentsthatformpartofinteractionprotocols.
Therearetwootherconceptsthatwebelieveareimportanttodesigningintelligentagents:beliefsandplans.Beliefsareimportantbecauseagentsneedtostorestate,unlesstheyaretobepurelyreactive.Plansareimportantbecausethereisoftennotenoughtimetoplanfromfirstprinciples,andhavingalibraryofplanstoachievegoalsorrespondtoeventsenablesagentstorespondmorerapidly.
2Belief3From
DesireIntention
theLatin“perceptum”whichistherootoftheEnglishword“perceive”.
2
SystemSpecificationArchitecturalDesignDetailedDesign
DynamicModelsScenarios(interactiondiagrams)InteractionProtocolsProcessDiagramsStructuralOverviewModelsGoals(couplingdiagram)(agentacquaintance)SystemOverviewAgentOverviewCapabilityOverview
EntityDescriptorsFunctionalitiesactions&percepts
AgentsMessagesCapabilitiesPlans,Data,Events
Figure1:TheMajorModelsofPrometheus
OurexperiencewithteachingagentconceptshasbeenthattheconceptsetdiscussedissufficientinordertodesignBDIstyleagentsystemsandalsoeasiertounderstandthan,forexample,thestandardBDIconcepts(particularlyintentions).
Prometheus,asamethodology,isintendedtobeabletosupportdesignofBDIsystems,althoughitisnotlimitedtosuch:allbutthelowestlevelofdesign,leadingintocode,canbeusedequallywellfornon-BDIsystems.However,thelowestlevelneedstobemodifiedtoaccommodatetheparticularstyleofimplementationplatformbeingtargeted.ForinstanceifbuildingJADEagents,thelowestlevelwouldspecifybehavioursratherthanplans,andtherewouldbesomechangesindetails.
2.2OverviewofthePrometheusMethodology
WenowturntoconsideringtheoverallstructureofthePrometheusmethodology.ThesectionsbelowgothrougheachofPrometheus’threephasesinmoredetailandwilldiscussthenotationsusedbythemethodologyaswellassomespecifictechniques.
ThePrometheusmethodologyconsistsofthreephases:•SystemSpecification:wherethesystemisspecifiedusinggoalsandscenarios;thesystem’sinterfacetoitsenvironmentisdescribedintermsofactions,perceptsandexternaldata;andfunctionalitiesaredefined.
•Architecturaldesign:whereagenttypesareidentified;thesystem’soverallstructureiscapturedinasystemoverviewdiagram;andscenariosaredevelopedintointeractionprotocols.
•Detaileddesign:wherethedetailsofeachagent’sinternalsaredevelopedanddefinedintermsofcapabilities,data,eventsandplans;processdiagramsareusedasasteppingstonebetweeninteractionprotocolsandplans.
Eachofthesephasesincludesmodelsthatfocusonthedynamicsofthesystem,(graphical)modelsthatfocusonthestructureofthesystemoritscomponents,andtextualdescriptorformsthatprovidethedetailsforindividualentities.
Notetoeditor:figure2isfrom[44]andwillneedtohavea“usedwithpermission”note.Wewouldverystronglyprefertobeabletousethisfigure,butfigure1isanalternativeincasecopyrightissuesprohibituseofthisfigure.
Inthefollowingsectionswebrieflydescribetheprocessesandmodelsassociatedwitheachofthethreephases.Duetospacelimitationsandthedesiretodescribeallofthemethodology,thischaptercannotdojusticetoPrometheus.Inparticular,wecannotdescribearunningexampleindetail,andthedetailedtechniques,thatishowparticularstepsintheprocessareperformed,arenotdescribed.FormoreinformationonPrometheus,includingacompletedescription,see[44].
2.3SystemSpecification
Systemspecificationbeginswitharoughideaofthesystem,whichmaybesimplyafewparagraphsofroughdescription,andproceedstodefinetherequirementsofthesystemintermsof:
3
specificationSystemScenariosSystem goalsInitial FunctionalitydescriptorsActions, perceptsKeyfinal design artifactintermediatedesign toolcrosscheckderivesArchitectural designInteractiondiagramsagentacquaintanceData couplingmessagesshareddataProtocolsSystemOverviewAgent descriptorsDetaileddesignProcessAgentOverviewCapabilitydescriptorsCapabilityoverviewEventdescriptorsDatadescriptionsPlandescriptorsFigure2:ThephasesofthePrometheusmethodology
•Thegoalsofthesystem•Usecasescenarios•Functionalities,and
•Theinterfaceofthesystemtoitsenvironment,definedintermsofactionsandpercepts.
Wewouldliketostressthatthesearenotconsideredinsequence.Rather,workononeofthesewillleadtofurtherideasonanother.Forexample,thegoalsofthesystemareanaturalstartingpointfordevelopingusecasescenarios.Conversely,developingthedetailsofusecasescenariosoftensuggestsadditionalsub-goalsthatneedtobeconsidered.Thussystemspecificationisaniterativeprocess.
Sinceagentsareproactive,andhavegoals,itisnaturaltoconsiderusinggoalstodescriberequire-ments4.
Theprocessforcapturingthegoalsofthesystembeginsbycapturinganinitialsetofgoalsfromthehigh-levelsystemdescription.Forexample,fromadescriptionsuchas“wewishtodevelopagroupschedulingsystemthatallowsuserstobookmeetingswithotherusers...”wecanextractgoalssuchasschedulingmeetings,re-schedulingmeetings,andmanagingusers’calendars.
Theseinitialgoalsarethendevelopedintoamorecompletesetofgoalsbyconsideringeachgoalandaskinghowthatgoalcouldbeachieved[50],thisidentifiesadditionalsub-goals.Forexample,byaskinghowmeetingscanbescheduledwemayrealisethatweneedtofindacommonfreetime.Thisisanewsub-goalofthetoplevelgoalofschedulingameeting.
Inadditiontoidentifyingadditionalgoals,thesetofgoalsisalsorevisedascommonsub-goalsareidentified.Forexample,bothschedulingandre-schedulingmeetingsmayhaveasub-goalofdeterminingacommonfreetimefortheparticipants.
Thegoalsarerepresentedusingagoaldiagramthisdepictsgoalsasovalsandshowsthesub-goalrelationshipswitharrowsfromparentgoalstosub-goals.
4In
fact,therearealsootherreasonsforconsideringgoal-orientedrequirements[50].
4
Aswerevisethegroupingsofgoalsweareattemptingtoidentifywhatweterm“functionalities”–coherentchunksofbehaviourwhichwillbeprovidedbythesystem.Afunctionalityencompassesanumberofrelatedgoals,perceptsthatarerelevanttoit,actionsthatitperforms,anddatathatituses.Functionalitiescanbethoughtofas“abilities”thatthesystemneedstohaveinordertomeetitsdesignobjectives,indeed,oftenfunctionalitiesofthesystemendupascapabilitiesofagentsinthesystem.
Aninitialsetoffunctionalitiesisidentifiedbyconsideringgroupingsofgoals.Thefunctionalitiesareoftenthenrevisedasaresultofconsideringtheagenttypes(doneaspartofarchitecturaldesign).
Functionalitiesaredescribedusingdescriptors.Thesearejusttextualformsthatcapturenecessaryinformation.Inadditiontoa(brief)naturallanguagedescription,thedescriptorformforafunctionalityincludesthegoalsthatarerelatedtoit,theactionsthatitmayperform,and“triggers”–situationsthatwilltriggersomeresponsefromthefunctionality.Triggersmayincludepercepts,butmoregenerallywillincludeeventsaswell.Finally,thedescriptorformalsoincludesnotesontheinformationusedandproducedbythefunctionality.
Thethirdaspectofsystemspecificationisusecasescenarios.Usecasescenariosareadetailedde-scriptionofoneparticularexamplesequenceofeventsassociatedwithachievingaparticulargoal,orwithrespondingtoaparticularevent.
Scenariosaredescribedusinganame,description,andatriggeringevent.However,thecoreofthescenarioisasequenceofsteps.Eachstepconsistsofthefunctionalitythatperformsthatstep,thenameofthestep,itstype(oneofACTION,PERCEPT,GOAL,SCENARIOorOTHER)and,optionally,theinformationusedandproducedbythatstep.
Inaddition,scenariosoftenbrieflyindicatevariations.Forexample,whenschedulingameetingascenariomayincludeastepthatselectsapreferredtimefromalistofpossibletimes.Avariationofthisscenariomightbewherethereisonlyasingletimewhenallparticipantsareavailable.Inthiscase,theselectionstepisomitted.
Finally,theenvironmentwithinwhichtheagentsystemwillbesituatedisdefined.Thisisdonebydescribingtheperceptsavailabletothesystem,theactionsthatitwillbeabletoperform,aswellasanyexternaldatathatisavailableandanyexternalbodiesofcode.
Whenspecifyingperceptswealsoconsiderperceptprocessing.Oftenperceptswillneedtobepro-cessedinsomewaytoextractusefulinformation.Forexample,rawimagedataindicatingthatafireexistsatacertainlocationmaynotbesignificantiftheagentisalreadyawareofthisfire.
Whenagentsaresituatedinphysicalenvironmentsthenperceptprocessingcanbequiteinvolved.Forexample,extractingfeaturesofinterestfromcameraimages.Similarly,actionsmayalsobecomplexandrequiredesign.
2.4ArchitecturalDesign
•Decidingontheagenttypesinthesystem:whereagenttypesareidentifiedbygroupingfunction-alitiesbasedonconsiderationsofcoupling;andtheseareexploredusingacouplingdiagramandanagentacquaintancediagram.Onceagroupingischosentheresultingagentsaredescribedusingagentdescriptors.•Describingtheinteractionsbetweenagentsusinginteractiondiagramsandinteractionprotocols:whereinteractiondiagramsarederivedfromusecasescenarios;andthesearethenrevisedandgeneralisedtoproduceinteractionprotocols.
•Designingtheoverallsystemstructure:wheretheoverallstructureoftheagentsystemisdefinedanddocumentedusingasystemoverviewdiagram.Thisdiagramcapturestheagenttypesinthesystem,theboundariesofthesystemanditsinterfacesintermsofactionsandpercepts,butalsointermsofdataandcodethatisexternaltothesystem.
Inthearchitecturaldesignphasethefocusison:
Decidingontheagenttypesthatwillexistinthesystemisperhapsthemostimportantdecisionthatismadeinthisphase.Ideally,eachagenttypeshouldbecohesiveandcouplingbetweenagentsshouldbelow.
5
InPrometheusanagenttypeisformedbycombiningoneormorefunctionalities.Differentgroupingsoffunctionalitiesgivealternativedesignsthatareevaluatedbasedonthecohesivenessoftheagenttypes,andthedegreeofcouplingbetweenagents.
Somereasonsthatmightneedtobeconsideredwhengroupingagentsinclude:•Iftwofunctionalitiesareclearlyrelatedthenitmightmakesensetogroupthemtogetherinthesameagenttype.Conversely,iftwofunctionalitiesareclearlynotrelatedthentheyshouldperhapsnotbegroupedinthesameagenttype.
•Iftwofunctionalitiesneedthesamedatathentheyshouldperhapsbegroupedtogether.
Ausefultoolforsuggestinggroupingsoffunctionalitiesisthedatacouplingdiagram.Thisdepictseachfunctionality(asarectangle)andeachdatarepository(asadatasymbol)showingwherefunctionalitiesreadandwritedata.Itisoftenfairlyeasytoextractsomeconstraintsonthedesignbyvisuallyexaminingadatacouplingdiagram.
Theprocessofderivingagenttypesbygroupingfunctionalities,withtheaidofadatacouplingdiagram,canoftensuggestpossiblechangestothefunctionalities.Forexample,supposethatthedesignincludestwofunctionalitieswhichareunrelatedandwewouldliketoputthemintwodifferentagenttypes.However,thetwofunctionalitiesbothreadaparticulardatasource.Wecouldchangeoneofthefunctionalitiessothatratherthanreadthedatasourcedirectly,itsendsamessagetoanotheragentrequestingtheinformation.Theresultofthisprocessisanumberofpossibledesigns,eachdesignconsistingofagroupingoffunctionalitiesintoagenttypes.Wenowneedtoselectadesign.Onetechniquethatisusefulincomparingthecouplingofdifferentalternativesistheuseofagentacquaintancediagrams.Anagentacquaintancedia-gramshowstheagenttypesandthecommunicationpathwaysbetweenthem.Agentacquaintancediagramsprovideaconvenientvisualisationofthecouplingbetweentheagenttypes:thehigherthelinkdensity,thehigherthecoupling.
Onceagenttypeshavebeendecidedupontheyaredocumentedusinganagentdescriptor.Inadditiontocapturingtheinterfaceoftheagent,whatgoalsitachieves,whatfunctionalitieswerecombinedtoformit,andwhatprotocolstheagentisinvolvedwith;thedescriptorpromptsthedesignertothinkaboutlifecycleissues:whenareinstancesofthisagenttypecreated?whenaretheydestroyed?whatneedstobedonewhenagentsarecreated/destroyed?
Thenextstepinthearchitecturaldesignistoworkontheinteractionsbetweenagents.Thesearedevel-opedusinginteractiondiagramsandinteractionprotocols.Specifically,thenotationsusedareasimplifiedvariantofUMLsequencediagramsforinteractiondiagrams,andAUML(therevisedversion)[29]forinteractionprotocols5.
Interactiondiagramsarederivedfromusecasescenariosusingafairlymechanicalprocess(althoughnotcompletelymechanical).Inessence,ifstepNisperformedbyanagentA,andthisisfollowedbystepN+1performedbyadifferentagentB,thenamessageneedstobesentfromAtoB.
Likeusecasescenarios,interactiondiagramsshowexampleinteractionsratherthanallpossibleinter-actions.Inordertodefineplansthatwillhandleallnecessaryinteractionsweuseinteractionprotocolstocaptureallpossiblesequencesofmessages.
Oftenaninteractionprotocolwillcombineanumberofinteractiondiagrams.Forexample,iftherearethreeinteractiondiagramscorrespondingtodifferentcasesofschedulingameetingthentherewillbeaninteractionprotocolthatcoversallcasesandwhichsubsumestheinteractiondiagrams.Whenlookingattheusecasescenarioswealsoconsiderthedocumentedvariationsofthesescenarios.
Anotherusefultechniquefordevelopinginteractionprotocolsistoconsidereachpointintheinteractionsequenceandask“whatelsecouldhappenhere?”Iftheinteractiondiagramshowsanexamplesequencewherearequestforpossiblemeetingtimesisrepliedtowithanumberofpossibletimes,thenanalternativepossibilityisthattherewon’tbeanymeetingtimesavailable.
Theinteractionprotocolsareaccompaniedwithdescriptorsforboththeprotocolsandforthemessages.Thesedescriptorscaptureadditionalinformationsuchastheinformationcarriedbyamessage.
Finally,theoverallarchitectureofthesystemiscapturedusingasystemoverviewdiagram.ThesystemoverviewdiagramisoneofthemostimportantdesignartifactsproducedinPrometheusandisoftenagood
5Other
notationsthatcouldbeusedforthispurposeincludetheoriginalversionofAUML[41]andPetrinets[16,38,46].
6
Figure3:NotationusedinSystemOverviewDiagram
Figure4:NotationusedinAgentOverviewDiagrams
startingpointwhentryingtounderstandthestructureofasystem.Thesystemoverviewdiagramshowsagents,percepts,actions,messages,andexternaldataasnodes.Eachofthesenodetypeshasitsowndistinctvisualdepiction(seefigure3).Directedarrowsbetweennodesindicatemessagesbeingsentandreceivedbyagents,actionsbeingperformedbyagents,perceptsbeingreceivedbyagents,anddatabeingreadandwrittenbyagents.
2.5DetailedDesign
•Developingtheinternalsofagents,intermsofcapabilities(and,insomecasesdirectlyintermsofevents,plansanddata).Thisisdoneusingagentoverviewdiagramsandcapabilitydescriptors.•Developprocessdiagramsfrominteractionprotocols.
•Developthedetailsofcapabilitiesintermsofothercapabilitiesaswellasevents,plansanddata.Thisisdoneusingcapabilityoverviewdiagramsandvariousdescriptors.Akeyfocusisdevelopingplansetstoachievegoalsandensuringappropriatecoverage.
Detaileddesignconsistsof:
Capabilities[6,42]areastructuringmechanismakintomodules.Acapabilitycancontainplans,data,andevents.Itcanalsocontainothercapabilitiesallowingforahierarchicalstructure.
Inidentifyingthecapabilitiesthateachagenttypecontains,oneusuallystartsbyconsideringacapa-bilityforeachfunctionalitythatwasgroupedintheagenttype.Thisinitialdetaileddesignisthenrefinedbymergingcapabilitiesthataresimilarandsmall,splittingcapabilitiesthataretoolarge,andaddingcapa-bilitiesthatcorrespondtocommon“library”code.
Thestructureofeachagentisdepictedbyanagentoverviewdiagram.Thisissimilartothesystemoverviewdiagramexceptthatitdoesnotcontainagentnodesanddoesnot(usually6)containprotocolnodes.However,theagentoverviewdiagramdoes(usually)containcapabilitynodesand(sometimes)plannodes.Thenodetypesfoundinagentoverviewdiagramsareshowninfigure4.
Duringthearchitecturaldesignphasethesystem’sdynamicsweredescribedusinginteractionproto-cols.Theseareglobalinthattheydepicttheinteractionbetweentheagentsfroma“bird’seye-view”.Inthedetaileddesignphasewedevelopprocessdiagramsbasedontheinteractionprotocols.Theprocessdiagramsdepictlocalviewsforeachagent.Typicallyeachinteractionprotocolwillhavemultiplepro-cessdiagramscorrespondingtotheviewpointsofdifferentagents.ThenotationthatweuseforprocessdiagramsisanextensionofUMLactivitydiagrams[23];formoredetailssee[44,chapter8].
Thedesignofeachagentis,usually,intermsofcapabilities.Thesecapabilitiesarethenrefinedinturn.Eventuallythedesignofhoweachagentachievesitsgoalsisexpressedintermsofplans,eventsanddata.Atthispointthedesignprocessneedstomakecertainassumptionsabouttheimplementationplatform.
itmaymakesensetoallowprotocolnodesinagentoverviewdiagrams,thecurrentversionofthePrometheusDesign
Tooldoesnotsupportthis.
6Although
7
Specifically,weassumethattheagentsareimplementedusingaplatformthatsupportsplanswhicharetriggeredbygoals.SuchplatformsincludePRS[24],JAM[27],dMars[1],andJACK[7].
Designingappropriatesetsofplans,alongwithtriggeringeventsandsuitablecontextconditionsisadesigntaskuntoitself.However,weshallnotgointodetailshere–insteadwereferthereaderto[44,chapter9].
2.6ToolSupport
Wehaveattemptedtostresstheiterativenatureofdesign,bothacrossthephasesofPrometheusandwithinphases.Oneconsequenceoftheiterativenatureisthatthedesignisoftenmodified.Asthedesignbecomeslargeritbecomesmoredifficulttoensurethattheconsequencesofeachchangearepropagatedandthatthedesignremainsconsistent7.
Perhapsthesimplestexampleofintroducedinconsistencyisrenaminganentityandfailingtorenameiteverywhereitismentioned.Otherformsofinconsistencythatcanbeeasilyintroducedwhenmakingchangestoadesignincludeaddingamessagetoanagentinthesystemoverviewdiagram,butfailingtoensurethatthemessageappearsintheagentoverviewdiagramofthatagenttype.
Ourexperience,andtheexperienceofstudentswhousedthePrometheusmethodologyinitsearlierdays,wasthatdevelopingdesignsbyhand(usingonlystandardtoolssuchaswordprocessors)isquiteerrorproneandthattoolsupportisinvaluable.AsaresultthePrometheusDesignTool(PDT)wasdeveloped.ThePrometheusDesignTool(seefigure5)allowsuserstocreateandmodifyPrometheusdesigns.Itensuresthatcertaininconsistenciescannotbeintroducedandprovidescrosscheckingthatdetectsotherformsofinconsistency.Thetoolcanalsoexportindividualdesigndiagramsaswellasgenerateareportthatcontainsthecompletedesign.
FormoredetailsontoolsupportforPrometheussee[43].ThePrometheusDesignToolisfreelyavailable8andfurtherfunctionalityisunderdevelopment.
AnothertoolthatsupportsthePrometheusmethodologyistheJACK9DevelopmentEnvironment(JDE)whichprovidesadesigntoolthatallowsPrometheus-styleoverviewdiagramstobedrawn.TheJDEcanthengenerateskeletoncodefromthesediagrams.Thisfacilityhasprovenquiteuseful.
3CaseStudy:CalendarSystem
ThecasestudydescribedbelowwassetasthemainassignmentfortheundergraduateclassAgentOrientedProgrammingandDesign,runinthesecondhalfof2003.Studentsweregivenahigh-leveldescriptionofacalendarsystemandwererequiredtoproduceadesignusingPrometheusandtoimplementthesystemusingJACK.
Thedescriptionofthesystemprovidedwasessentiallythefollowing.
“Thecalendarsystemsupportsthescheduling,rescheduling,andcancellationofmeetingsinvolvingusers.Whenameetingisrequestedwithcertainusersthesystemattemptstofindasuitabletime.Findingsuchatimemayfail,mayrequirethatexistingmeetingsaremovedautomatically,ormaycreateadoublebookingforcertainusersthatmustbemanuallyresolved.Eachuserhastheirownapplicationinstancewithwhichtheyinteract.Theseapplicationscancontainmultipleagentsthatinteractwiththeapplicationsofotheruserstocoordinateandschedulemeetings.
Inschedulingmeetings,someusersmaybeessentialtothemeetingandothersmaynotbeessential.Ifanessentialuserpullsoutofameetingafteritisset(orcannotmakeaproposedtime)thenthemeetingneedstoberescheduled.
Settingorreschedulingmeetingsmaybeimpossiblewithoutchangingexistingmeetings.Do-ingthisshouldtakecaretoavoidcreatinga“cascade”whereinordertoschedulemeetingA,
thegeneralsense,notintheformalsenseofalogicaltheorybeingconsistent.www.cs.rmit.edu.au/agents/pdt
9JACKisacommercialagentdevelopmentplatformdevelopedbyAgentOrientedSoftware.
8From7In
8
Figure5:ThePrometheusDesignTool(PDT)
9
meetingBismovedwhichcreatesaclashwithmeetingCwhichismovedcreatingaclashwithDetc.Somepossibilitiesfordealingwiththissituationinclude(a)assigningprioritiestomeetings(andinparticularmarkingsomemeetingsasnotmovable,oronlymanuallymov-able);(b)usingtheheuristicthatwhereaclashiscreatedonlyameetingwithfewerpeople(orlessseniorpeople?)willbemoved.
Thesystemshouldallowuserstonominatewhentheyareavailable(andwhentheyarenotavailable)andshouldalsoallowforcertainconstraintstobespecifiedsuchasonlyschedulingamaximumof4hoursofmeetingsonacertainday(e.g.toallowtimetopreparealecture).Or,moregenerally,onlyschedulingNhoursofmeetingsinacertaintimeperiod(Mdays)”Thedesignthatwepresentinthissectionwasproducedbyastudent,JohnSietsma,aspartofthecourseandwasdevelopedusinganearlierversionofthePrometheusDesignTool.Inthischapterwereproduce(withpermission)selecteddiagramsfromJohn’sdesign.
Duetospacelimitationsweonlydiscusspartofthearchitecturaldesign.OneofthekeypartsofthearchitecturaldesignphaseinPrometheusisdecidingontheagenttypesthatwillexistinthesystem.Thisisdonebygroupingfunctionalities,and,asdiscussedinsection2.4,thedatacouplingdiagramisusefulinhelpingtoidentifypossiblegroupings.
Figure6showsadatacouplingdiagram10forthefollowingfunctionalities:•ContactManager:Inchargeofmanagingcontactinformationforotherusers.•ContactNotify:Providesameansofcommunicatingwithotherusers.•MeetingManager:Managesmeetinginformation.
•MeetingScheduler:Schedulesmeetingssubjecttoprovidedconstraintsanduserhabits/preferences.•Negotiator:Negotiateswithotheruserstodeterminemeetingtimes.ThisdiffersfromMeetingSchedulerinthatNegotiatorisaboutinter-userconstraints,whereasMeetingSchedulerisconcernedonlywiththeconstraintsofasingleuser.•UserInteraction:Interactswiththeuser(asopposedtointeractingwithotherusers,whichisdonebyContactNotify).•UserInformationManager:Managesinformationabouttheusersuchastheirpreferences.•UserMonitor:Observesuser,attemptingtolearntheirhabits.
•UserNotify:Remindsuserofevents.DiffersfromUserInteraction(a)inthatitusesarangeofcommunicationmediasuchasSMS,email,andsoon;butalso(b)inthatitwaitsforconditionstoariseandremindstheuser,ratherthanreceivinginputfromtheuser.Inthiscasethestudentchosetocreatefouragenttypes:
•UserInterface:combiningthefunctionalitiesofUserInteractionandUserNotify.Thisgroupingmadesensebecausebothfunctionalitiesareconcernedwithinteractionwiththeuser.
•ContactTracker:basedontheContactManagerfunctionalityandincludingtheContactInformationdatabase.AlthoughtheContactNotifyfunctionalitycouldhavebeenincludedinthisagenttype,itinteractsmorewiththefunctionalitiesconcernedwithschedulingmeetingsandsowasgroupedwiththemintheMeetingsagent.•Meetings:combiningthefunctionalitiesofMeetingScheduler,MeetingManager,NegotiatorandContactNotify;andincludingtheMeetingsDatabase.Thesefunctionalitiesarebothrelatedandinteractwitheachother.
10The
diagramisslightlymodifiedfromtheonethatwaspreparedbyJohn.
10
Figure6:DataCouplingDiagram.
•UserManager:combiningtheUserMonitorandUserInformationManagerfunctionalities;andincludingtheUserHabitsandUserPreferencesdatabases11.Oneresultofthisgroupingwasthatcertainagentswerewritingdatathatwasinotheragents.Forex-ample,theUserInteractionfunctionalitywithintheUserInterfaceagentwritestotheMeetingsDatabase.Thesewritesneedtobechangedtomessagestotheappropriateagentwhichthenupdatesitsowndata.Havingdecidedontheagenttypeswenowskipaheadtothedevelopingtheagentoverviewdiagramfromthesystemoverviewdiagram.Figure7showstheoveralldesignofthesystem.Itdepictsthefouragenttypesidentifiedandalsoshowsthemessagesbetweenthem,perceptsreceivedbytheUserInterfaceagentanddatareadandwritten.
IndevelopingtheagentoverviewdiagramfortheMeetingagentwebeginwithitsinterface:thedatathatitreadsandwrites,andtheincomingandoutgoingmessages.Thenextstepistodevelopcapabilitiesthatwilltogetherprovidetheagent’srequiredfunctionality,aswellasinternalmessagesbetweenthecapabilities.
4StrengthsandWeaknesses
Asdiscussedintheintroduction,Prometheusaimstobeapracticalmethodologythatcanbeusedbyundergraduatestudentsandindustrypractitioners.The(anecdotal)evidencesupportsourbeliefthatwehavesucceededinthisregard,andthisisakeystrengthofPrometheus.
Prometheushasbeendevelopedoveranumberofyears.Duringthistimeithasbeentaughttounder-graduatestudents,usedbystudentsdoingsummerprojects,andbeentaughtatindustryworkshops.Theseactivitiesyieldedfeedbackthathasbeenvaluableinrefiningandimprovingthemethodology.
Ontheindustrialside,aprototypeweatheralertingsystemdevelopedbyAgentOrientedSoftwarefortheAustralianBureauofMeteorology[39]usedPrometheusoverviewdiagramstocaptureanddocumentthedesign.ThesediagramswereproducedusingtheJACKDevelopmentEnvironment(JDE).
InordertoobtainaslightlymorereliableassessmentofPrometheus,wehaveontwooccasionssetsummerprojects12wherethestudentwasgivenwrittendescriptionofthePrometheusmethodology,in-11which12These
arerenamedinthefinalversionofthedesigntoUserHabitsDBandUserPreferencesDBrespectively.aredonebyundergraduatestudentsovereightweeksfulltimeduringthesummernon-teachingperiod.
11
Figure7:ExampleSystemOverviewDiagram
Figure8:ExampleAgentOverviewDiagram:MeetingAgent
12
tentionallylimitedsupportfromstaffmembers,andwasinstructedtodesignandbuildanagentsystem.Inthe2001/2002ChristmasvacationasecondyearstudentproducedadesignandimplementationforaHolonicmanufacturingsystem.Inthe2002/2003Christmasvacationa(different)studentproducedade-taileddesignforatourismapplication.Theseexperiencescontrastwithpre-Prometheusexperienceswheregraduatestudentsstruggledtodesignagentsystemsandrequiredconsiderablesupportfromstaff.
InourteachingwehavefoundthatthePrometheusmethodologyhasmadeasignificantdifference.Be-forethemethodologyhadbeendevelopedgraduatestudentsstruggledtodesignandimplementreasonableagentsystems,whereasnowwearesuccessfullyteachingPrometheusandJACKinaone-semestercourse.Thiscourse,whichistaughttoundergraduatestudents,seesmostofthemsuccessfullydesignandbuildreasonableagentsystemswithintheperiodofasemester.
TheseexperiencesprovideevidencethatPrometheusisusefulaswellasbeingusablebyitsintendedtargetaudience.
AnotherstrengthofthePrometheusmethodologyisthepossibilityandexistenceoftoolsupport.
However,Prometheusisnotwithoutweaknesses.Itssupportforthesocialaspectofagentsiscurrentlyfocussedonthelowestcommondenominator:messagesandprotocols.Extendingthemethodologytosupportmorespecifictypesofagentinteractionandrelationships,suchasteamsofagents[13]andopensocietiesofagents,isoneoftheareasthatwearecurrentlyfocussingon.Theareaofsoftwaremethodolo-giesfordesigningopenagentsystemsisquitenewandexciting.Existingworkthatweintendtobuildonincludes[28,32,40].
Prometheusalsodoesnotdealatallwithmobileagents.Thishasnotbeenapriorityaswedonotseemobilityascentralforintelligentagentsystems.However,ifadeveloperisdesigningasystemwheremobilityisasignificantaspect,thenPrometheusislikelytobeinadequateasadesignmethodology.
Prometheuscoversthesystemspecification,highleveldesign,anddetaileddesignactivitieswithsomediscussionofimplementationissues[44,chapter10].Therehasalsobeensomeworkonusingdesignmodelstohelpindebuggingagentsystems[46,47].However,thesupportforimplementation,testinganddebuggingislimitedatthemoment.Also,PrometheuscurrentlyhaslessfocusonearlyrequirementsandanalysisofbusinessprocessesthanamethodologysuchasTropos.ThesearehoweverallareasinwhichPrometheusisundergoingdevelopmentandcanbeexpectedtoevolve.
Finally,PrometheusisnotbasedonUML.Thiscanberegardedasbeingeitherastrengthoraweakness.Fromthepointofviewofdevelopingamethodologythatiswell-suitedtodesigningagents,wefeelthatnotstartingwithaperspectivethatisveryobject-centrichasbeenagooddecision.Ontheotherhand,UMLisclearlythestandardnotation13,whichmostdevelopersarefamiliarwith.WehavetriedtobuildonaspectsofUMLandObject-Orienteddesignwhereappropriate.Howeverthereareotherapproacheswhichdothistoagreaterextent[45,52].
5Conclusion
WehavebrieflypresentedthePrometheusmethodologyfordesigningintelligentsoftwareagentsandagentsystems.Themethodologyprovidesdetailedguidanceintermsofprocessesaswellasnotations.Itisnotintendedtobeprescriptive,butisratheranapproachwhichhasevolvedoutofexperience,andwhichtheauthorsexpecttobefurtheradapted,refinedanddevelopedtosuittheneedsofagentsoftwaredevelopers.RecentyearshaveseenasubstantialgrowthofactivityintheareaofSEmethodologiessuitedtoanagentprogrammingparadigm,Asthesematureanddevelop,andareincreasinglyusedbeyondtheimme-diatesphereofthedevelopers,weexpectthemtobearfruitintermsofincreaseduseofagenttechnology,andmorewidespreadfamiliaritywithbuildingofagentsystems.
isimportanttonotethatUMLisonlyanotation,notamethodology.However,itisoftenusedtogetherwiththeRationalUnifiedProcess(RUP).
13It
13
Acknowledgements
WewouldliketoacknowledgethesupportoftheAustralianResearchCouncil(ARC)undergrantCO010693414,anditscontinuation,grantLP045348615.
WewouldalsoliketothankJamesHarland,JohnThangarajahandDavidPoutakidisofRMITUni-versity;aswellasRalphR¨onnquist,AndrewLucas,AndrewHodgson,PaulMaisano,andJamieCurmiofAgentOrientedSoftware,aswellasthemanystudentsandworkshopparticipantswhohaveprovidedcomments,examplesandfeedback.
ThePrometheusDesignToolwasinitiallydevelopedbyAnnaEdbergandChristianAndersson.FurtherdevelopmenthasbeenbyClaireHennekamandJasonKhallouf.
References
[1]AAII.dMARSTechnicalOverview.ThedMARSV1.6.11SystemOverview,1996.
[2]F.M.T.Brazier,B.M.Dunin-Keplicz,N.R.Jennings,andJ.Treur.DESIRE:Modellingmulti-agentsystemsinacompositionalformalframework.IntJournalofCooperativeInformationSystems,6(1):67–94,1997.[3]PaoloBresciani,PaoloGiorgini,FaustoGiunchiglia,JohnMylopoulos,andAnnaPerini.Tropos:
Anagent-orientedsoftwaredevelopmentmethodology.TechnicalReportDIT-02-0015,UniversityofTrento,DepartmentofInformationandCommunicationTechnology,2002.[4]B.Burmeister.Modelsandmethodologyforagent-orientedanalysisanddesign.WorkingNotesof
theKI’96WorkshoponAgentOrientedProgrammingandDistributedSystems,1996.[5]P.BurrafatoandM.Cossentino.Designingamulti-agentsolutionforabookstorewiththePASSI
methodology.InProceedingsoftheFourthInternationalBi-ConferenceWorkshoponAgent-OrientedInformationSystems(AOIS-2002),Toronto,2002.Availablefromhttp://mozart.csai.unipa.it/passi/.[6]PaoloBusetta,NicholasHowden,RalphR¨onnquist,andAndrewHodgson.StructuringBDIagents
infunctionalclusters.InAgentTheories,Architectures,andLanguages(ATAL-99),pages277–2.Springer-Verlag,2000.LNCS1757.[7]PaoloBusetta,RalphR¨onnquist,AndrewHodgson,andAndrewLucas.JACKIntelligentAgents
-ComponentsforIntelligentAgentsinJava.Technicalreport,AgentOrientedSoftwarePty.Ltd,Melbourne,Australia,1998.Availablefromhttp://www.agent-software.com.[8]GeoffBush,StephenCranefield,andMartinPurvis.TheStyxagentmethodology.TheInformation
ScienceDiscussionPaperSeries2001/02,DepartmentofInformationScience,UniversityofOtago,NewZealand.,2001.Availablefromhttp://divcom.otago.ac.nz/infosci.[9]GiovanniCaire,FranciscoLeal,PauloChainho,RichardEvans,FranciscoGarijo,JorgeGomez,Juan
Pavon,PaulKearney,JamieStark,andPhilippeMassonet.AgentorientedanalysisusingMES-SAGE/UML.InMichaelWooldridge,PaoloCiancarini,andGerhardWeiss,editors,SecondInterna-tionalWorkshoponAgent-OrientedSoftwareEngineering(AOSE-2001),pages101–108,2001.[10]C.Castelfranchi,F.Dignum,C.Jonker,andJ.Treur.Deliberatenormativeagents:Principlesandar-chitectures.InN.JenningsandY.Lesp´erance,editors,IntelligentAgentsVI,pages3–378.Springer-Verlag,2000.[11]LawrenceCavedonandLizSonenberg.Onsocialcommitment,rolesandpreferredgoals.InInter-nationalConferenceonMulti-AgentSystems(ICMAS),1998.
14Simplifying15Advanced
theDevelopmentofAgent-OrientedSystems,ARCSPIRTGrant,2001-2003.
SoftwareEngineeringSupportforIntelligentAgentSystems,ARCLinkageGrant,2004-2006
14
[12]L.CernuzziandG.Rossi.Ontheevaluationofagentorientedmodelingmethods.InProceedings
oftheOOPSLA2002WorkshoponAgent-OrientedMethodologies,pages21–30,Seattle,November2002.[13]P.R.CohenandH.J.Levesque.Teamwork.Nous,25(4):487–512,1991.
[14]AnneCollinot,AlexisDrogoul,andPhilippeBenhamou.Agentorienteddesignofasoccerrobot
team.InProceedingsofICMAS’96,1996.[15]M.CossentinoandC.Potts.ACASEtoolsupportedmethodologyforthedesignofmulti-agent
systems.InProceedingsoftheInternationalConferenceonSoftwareEngineeringResearchandPractice(SERP’02),LasVegas,2002.Availablefromhttp://mozart.csai.unipa.it/passi/.[16]R.ScottCost,YeChen,TimFinin,YannisLabrou,andYunPeng.UsingcoloredPetri
netsforconversationmodeling.InWorkshoponAgentCommunicationLanguagesattheSix-teenthInternationalJointConferenceonArtificialIntelligence(IJCAI-99),1999.Availablefromhttp://www.csee.umbc.edu/∼jklabrou/.[17]KhanhHoaDam.Evaluatingagent-orientedsoftwareengineeringmethodologies.Master’sthesis,
SchoolofComputerScienceandInformationTechnology,RMITUniversity,Melbourne,Australia,2003.(supervisors:MichaelWinikoffandLinPadgham).[18]KhanhHoaDamandMichaelWinikoff.Comparingagent-orientedmethodologies.InPaoloGiorgini
andMichaelWinikoff,editors,ProceedingsoftheFifthInternationalBi-ConferenceWorkshoponAgent-OrientedInformationSystems,pages52–59,Melbourne,Australia,2003.[19]J.DebenhamandB.Henderson-Sellers.Fulllifecyclemethodologiesforagent-orientedsystems
–theextendedOPENprocessframework.InProceedingsofAgent-OrientedInformationSystems(AOIS-2002)atCAiSE’02,Toronto,2002.[20]ScottA.DeLoach,MarkF.Wood,andClintH.Sparkman.Multiagentsystemsengineering.Interna-tionalJournalofSoftwareEngineeringandKnowledgeEngineering,11(3):231–258,2001.[21]A.DrogoulandJ.Zucker.Methodologicalissuesfordesigningmulti-agentsystemswithmachine
learningtechniques:Capitalizingexperiencesfromtherobocupchallenge.TechnicalReportLIP61998/041,Laboratoired’InformatiquedeParis6,1998.[22]M.ElammariandW.Lalonde.Anagent-orientedmethodology:High-levelandintermediatemodels.
InG.WagnerandE.Yu,editors,Proc.ofthe1stInt.Workshop.onAgent-OrientedInformationSystems.,1999.[23]MartinFowlerandKendall.UMLDistilled:ABriefGuidetotheStandardObjectModelingLanguage
(thirdedition).ObjectTechnologySeries.Addison-Wesley,2003.[24]M.P.GeorgeffandA.L.Lansky.Proceduralknowledge.ProceedingsoftheIEEESpecialIssueon
KnowledgeRepresentation,74:1383–1398,1986.[25]FaustoGiunchiglia,JohnMylopoulos,andAnnaPerini.TheTropossoftwaredevelopmentmethodol-ogy:Processes,modelsanddiagrams.InThirdInternationalWorkshoponAgent-OrientedSoftwareEngineering,2002.[26]NorbertGlaser.TheCoMoMASmethodologyandenvironmentformulti-agentsystemdevelopment.
InChengqiZhangandDicksonLukose,editors,Multi-AgentSystemsMethodologiesandApplica-tions,pages1–16.SpringerLNAI1286,1996.SecondAustralianWorkshoponDistributedArtificialIntelligence.[27]MarcusJ.Huber.JAM:ABDI-theoreticmobileagentarchitecture.InProceedingsoftheThird
InternationalConferenceonAutonomousAgents,(Agents’99),pages236–243,Seattle,WA,1999.
15
[28]Marc-PhilippeHuget.Nemo:anagent-orientedsoftwareengineeringmethodology.InProceedings
oftheOOPSLA2002WorkshoponAgent-OrientedMethodologies,pages41–53,Seattle,2002.[29]Marc-PhilippeHuget,JamesOdell,ØysteinHaugen,Mariam“Misty”Nodine,StephenCranefield,
RenatoLevy,andLinPadgham.Fipamodeling:Interactiondiagrams.Onwww.auml.orgunder“WorkingDocuments”,2003.FIPAWorkingDraft(version2003-07-02).[30]CarlosIglesias,MercedesGarijo,andJos´eGonz´alez.Asurveyofagent-orientedmethodologies.In
J¨orgM¨uller,MunindarP.Singh,andAnandS.Rao,editors,Proceedingsofthe5thInternationalWorkshoponIntelligentAgentsV:AgentTheories,Architectures,andLanguages(ATAL-98),pages317–330.Springer-Verlag:Heidelberg,Germany,1999.[31]CarlosArgelIglesias,MercedesGarijo,Jos´eC.Gonz´alez,andJuanR.Velasco.Analysisanddesign
ofmultiagentsystemsusingMAS-commonKADS.InAgentTheories,Architectures,andLanguages,pages313–327,1997.[32]T.Juan,A.Pearce,andL.Sterling.ROADMAP:ExtendingtheGaiamethodologyforcomplex
opensystems.InProceedingsoftheFirstInternationalJointConferenceonAutonomousAgentsandMulti-AgentSystems(AAMAS2002),pages3–10.ACMPress,2002.[33]E.A.Kendall,M.T.Malkoun,andC.H.Jiang.Amethodologyfordevelopingagentbasedsystems.
InChengqiZhangandDicksonLukose,editors,FirstAustralianWorkshoponDistributedArtificialIntelligence,1995.[34]DavidKinnyandMichaelGeorgeff.Modellinganddesignofmulti-agentsystems.InIntelligent
AgentsIII:ProceedingsoftheThirdInternationalWorkshoponAgentTheories,Architectures,andLanguages(ATAL-96).LNAI1193.Springer-Verlag,1996.[35]DavidKinny,MichaelGeorgeff,andAnandRao.Amethodologyandmodellingtechniqueforsys-temsofBDIagents.InSeventhEuropeanWorkshoponModellingAutonomousAgentsinaMulti-AgentWorld,1996.[36]J¨urgenLind.Adevelopmentmethodformultiagentsystems.InCyberneticsandSystems:Proceed-ingsofthe15thEuropeanMeetingonCyberneticsandSystemsResearch,Symposium“FromAgent
TheorytoAgentImplementation”,2000.[37]MichaelLuck,PeterMcBurney,andChrisPreist.Agenttechnology:Enablingnextgener-ationcomputing:Aroadmapforagent-basedcomputing.AgentLinkreport,availablefromwww.agentlink.org/roadmap,2003.ISBN08327886.[38]NowostawskiM.,PurvisM.,andCranefieldS.Alayeredapproachformodellingagentconversations.
InProceedingsofthe2ndInternationalWorkshoponInfrastructureforAgents,MAS,andScalableMAS,5thInternationalConferenceonAutonomousAgents,Montreal,pages163–170,2001.[39]IanMathieson,SandyDance,LinPadgham,MalcolmGorman,andMichaelWinikoff.Anopen
meteorologicalalertingsystem:Issuesandsolutions.InVladimirEstivill-Castro,editor,Proceedingsofthe27thAustralasianComputerScienceConference,pages351–358,Dunedin,NewZealand,2004.[40]PhilippeMathieu,Jean-ChristopheRoutier,andYannSecq.Towardsapragmaticmethodologyfor
openmulti-agentsystems.InProceedingsofthe14thInternationalSymposiumonMethodologiesforIntelligentSystems(ISMIS),pages206–210,MaebashiCity,Japan,2003.[41]J.Odell,H.Parunak,andB.Bauer.ExtendingUMLforagents.InProceedingsoftheAgent-Oriented
InformationSystemsWorkshopatthe17thNationalconferenceonArtificialIntelligence.,2000.[42]LinPadghamandPatrickLambrix.Agentcapabilities:ExtendingBDItheory.InProceedingsof
SeventeenthNationalConferenceonArtificialIntelligence-AAAI2000,pages68–73,2000.
16
[43]LinPadghamandMichaelWinikoff.Prometheus:Apragmaticmethodologyforengineeringintelli-gentagents.InProceedingsoftheOOPSLA2002WorkshoponAgent-OrientedMethodologies,pages97–108,Seattle,2002.[44]LinPadghamandMichaelWinikoff.DevelopingIntelligentAgentSystems:APracticalGuide.John
WileyandSons,2004.ISBN0-470-86120-7.[45]M.PapasimeonandC.Heinze.ExtendingtheUMLfordesigningJACKagents.InProceedingsof
theAustralianSoftwareEngineeringConference(ASWEC01),2001.[46]DavidPoutakidis,LinPadgham,andMichaelWinikoff.Debuggingmulti-agentsystemsusingdesign
artifacts:Thecaseofinteractionprotocols.InProceedingsoftheFirstInternationalJointConferenceonAutonomousAgentsandMultiAgentSystems(AAMAS’02),2002.[47]DavidPoutakidis,LinPadgham,andMichaelWinikoff.Anexplorationofbugsanddebuggingin
multi-agentsystems.InProceedingsofthe14thInternationalSymposiumonMethodologiesforIntelligentSystems(ISMIS),pages628–632,MaebashiCity,Japan,2003.[48]OnnShehoryandArnonSturm.Evaluationofmodelingtechniquesforagent-basedsystems.In
ProceedingsoftheFifthInternationalConferenceonAutonomousAgents,pages624–631.ACMPress,2001.[49]ArnonSturmandOnnShehory.Aframeworkforevaluatingagent-orientedmethodologies.InPaolo
GiorginiandMichaelWinikoff,editors,ProceedingsoftheFifthInternationalBi-ConferenceWork-shoponAgent-OrientedInformationSystems,pages60–67,Melbourne,Australia,2003.[50]A.vanLamsweerde.Goal-orientedrequirementsengineering:Aguidedtour.InProceedingsofthe
5thIEEEInternationalSymposiumonRequirementsEngineering(RE’01),pages249–263,Toronto,2001.[51]L.Z.Varga,N.R.Jennings,andD.Cockburn.Integratingintelligentsystemsintoacooperating
communityforelectricitydistributionmanagement.IntJournalofExpertSystemswithApplications,7(4):563–579,1994.[52]GerdWagner.AUMLprofileforexternalAORmodels.InThirdInternationalWorkshoponAgent-OrientedSoftwareEngineering,2002.[53]MichaelWinikoff,LinPadgham,andJamesHarland.Simplifyingthedevelopmentofintelligent
agents.InAI2001:AdvancesinArtificialIntelligence.14thAustralianJointConferenceonArtificialIntelligence,pages555–568.Springer,LNAI2256,2001.[]M.Wooldridge,N.R.Jennings,andD.Kinny.TheGaiamethodologyforagent-orientedanalysisand
design.AutonomousAgentsandMulti-AgentSystems,3(3),2000.[55]MichaelWooldridge.AnIntroductiontoMultiAgentSystems.JohnWiley&Sons(Chichester,Eng-land),2002.ISBN047149691X,http://www.csc.liv.ac.uk/∼mjw/pubs/imas/.[56]PınarYolumandMunindarP.Singh.Flexibleprotocolspecificationandexecution:Applyingevent
calculusplanningusingcommitments.InProceedingsofthe1stJointConferenceonAutonomousAgentsandMultiAgentSystems(AAMAS),pages527–534,2002.
17
因篇幅问题不能全部显示,请点此查看更多更全内容
Copyright © 2019- xiaozhentang.com 版权所有 湘ICP备2023022495号-4
违法及侵权请联系:TEL:199 1889 7713 E-MAIL:2724546146@qq.com
本站由北京市万商天勤律师事务所王兴未律师提供法律服务