Download An Introduction to Multiagent Systems: Lecture 10 and more Study notes Electrical and Electronics Engineering in PDF only on Docsity! LE C T U R E 10: M E T H O D O LO G IE S A n Introduction to M ultiagentS ystem s h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / Lecture 10 A n Introduction to M ultiagentS ystem s 1 P itfalls ofA gentD evelopm ent Lots of(single and m ulti-) agentprojects ... butagent-oriented developm entrecvd little attention. W e now consider pragm atics ofA O softw are projects. Identifies key pitfalls. S even categories: – political; – m anagem ent; – conceptual; – analysis and design; – m icro (agent) level; – m acro (society) level; – im plem entation. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 1 Lecture 10 A n Introduction to M ultiagentS ystem s 1.3 D on’tK now W hy You W antA gents A gents = new technology = lots ofhype! “A gents w illgenerate U S $2.6 billion in revenue by the year 2000” M anagerialreaction: “w e can get10% ofthat”. M anagers often propose agentprojects w ithouthaving clear idea aboutw hat“having agents” w illbuy them . N o business plan for the project: – pure research? – technology vendor? – solutions vendor? – ... h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 4 Lecture 10 A n Introduction to M ultiagentS ystem s O ften,projects appear to be going w ell. (“W e have agents!”) B ut no vision aboutw here to go w ith them . T he lesson: understand your reasons for attem pting an agent developm entproject,and w hatyou expectto gain from it. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 5 Lecture 10 A n Introduction to M ultiagentS ystem s 1.4 D on’tK now W hatA gents A re G ood F or H aving developed som e agenttechnology,you search for an application to use them . P utting the cartbefore the horse! Leads to m ism atches/dissatisfaction T he lesson: be sure you understand how and w here your new technology m ay be m ostusefully applied. D o notattem ptto apply itto arbitrary problem s & resist tem ptation to apply itto every problem . h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 6 Lecture 10 A n Introduction to M ultiagentS ystem s 1.7 B elieve A gents S ilver B ullet H oly grailofsoftw are engineering is a “silver bullet”: a order of m agnitude im provem entin softw are developm ent. Technologies prom oted as the silver bullet: – C O B O L :-) – autom atic program m ing; – expertsystem s; – graphicalprogram m ing; – form alm ethods (!) A genttechnology is nota silver bullet. G ood reasons to believe thatagents are usefulw ay oftackling som e problem s. B utthese argum ents largely untested in practice. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 9 Lecture 10 A n Introduction to M ultiagentS ystem s U sefuldevelopm ents in softw are engineering: abstractions. A gents are another abstraction. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 10 Lecture 10 A n Introduction to M ultiagentS ystem s 1.8 C onfuse B uzzw ords & C oncepts T he idea ofan agentis extrem ely intuitive. E ncourages developers to believe thatthey understand concepts w hen they do not. (T he A I& party syndrom e: everyone has an opinion. H ow ever uninform ed.) G ood exam ple: the belief-desire-intention (B D I) m odel. – theory ofhum an practicalreasoning (B ratm an etal); – agentarchitectures (P R S ,dM A R S ,...); – serious applications (N A S A ,...); – logic ofpracticalreasoning (R ao & G eorgeff). Label“B D I” now been applied to W W W pages/perlscripts. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 11 Lecture 10 A n Introduction to M ultiagentS ystem s B utalm ostany principled softw are developm enttechnique is better than none. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 14 Lecture 10 A n Introduction to M ultiagentS ystem s F orgetits distributed D istributed system s = one ofthe m ostcom plex classes of com puter system to design and im plem ent. M ulti-agentsystem s tend to be distributed! P roblem s ofdistribution do notgo aw ay,justbecause a system is agent-based. Typicalm ulti-agentsystem w illbe m ore com plex than a typical distributed system . R ecognise distributed system s problem s. M ake use ofD S expertise. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 15 Lecture 10 A n Introduction to M ultiagentS ystem s 1.10 D on’tE xploitR elated Technology In any agentsystem ,percentage ofthe system thatis agent-specific is com paratively sm all. T he raising bread m odelofW inston. T herefore im portantthatconventionaltechnologies and techniques are exploited w herever possible. D on’treinventthe w heel. (Yetanother com m unication fram ew ork.) E xploitation ofrelated technology: – speeds up developm ent; – avoids re-inventing w heel; – focusses efforton agentcom ponent. E xam ple: C O R B A. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 16 Lecture 10 A n Introduction to M ultiagentS ystem s 1.13 T hink Your A rchitecture is G eneric Ifyou do develop an architecture,resisttem ptation to believe itis generic. Leads one to apply an architecture to problem for w hich itis patently unsuited. D ifferentarchitectures good for differentproblem s. A ny architecture thatis truly generic is by definition notan architecture ... Ifyou have developed an architecture thathas successfully been applied to som e particular problem ,understand w hy it succeeded w ith thatparticular problem . O nly apply the architecture to problem s w ith sim ilar characteristics. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 19 Lecture 10 A n Introduction to M ultiagentS ystem s 1.14 U se Too M uch A I Tem ptation to focus on the agentspecific aspects ofthe application. R esult: an agentfram ew ork too overburdened w ith experim ental A Itechniques to be usable. F uelled by “feature envy”,w here one reads aboutagents that have the ability to learn,plan,talk,sing,dance... R esistthe tem ptation to believe such features are essentialin your agentsystem . T he lesson: build agents w ith a m inim um ofA I;as success is obtained w ith such system s,progressively evolve them into richer system s. W hatE tzionicalls “usefulfirst” strategy. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 20 Lecture 10 A n Introduction to M ultiagentS ystem s 1.15 N otE nough A I D on’tcallyour on-offsw itch an agent! B e realistic: itis becom ing com m on to find everyday distributed system s referred to as m ulti-agentsystem s. A nother com m on exam ple: referring to W W W pages thathave any behind the scenes processing as “agents”. P roblem s: – lead to the term “agent” losing any m eaning; – raises expectations ofsoftw are recipients – leads to cynicism on the partofsoftw are developers h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 21 Lecture 10 A n Introduction to M ultiagentS ystem s 1.18 Too few agents S om e designers im agine a separate agentfor every possible task. O thers don’trecognise value ofa m ulti-agentapproach atall. O ne “allpow erful” agent. R esultis like O O program w ith 1 class. Fails softw are engineering testofcoherence. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 24 Lecture 10 A n Introduction to M ultiagentS ystem s 1.19 Im plem enting infrastructure T here are no w idely-used softw are platform s for developing agentsystem s. S uch platform s w ould provide allthe basic infrastructure required to create a m ulti-agentsystem . T he result: everyone builds there ow n. B y the tim e this is developed,projectresources gone! N o effortdevoted to agent-specifics. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 25 Lecture 10 A n Introduction to M ultiagentS ystem s 1.20 S ystem is anarchic C annotsim ply bundle a group ofagents together. M ostagentsystem s require system -levelengineering. F or large system s,or for system s in w hich the society is supposed to actw ith som e com m onality ofpurpose,this is particularly true. O rganisation structure (even in the form ofform alcom m unication channels) is essential. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 26 Lecture 10 A n Introduction to M ultiagentS ystem s 1.23 Ignore de facto standards T here are no established agentstandards. D evelopers often believe they have no choice butto design and build allagent-specific com ponents from scratch. B uthere are som e de facto standards. E xam ples: – C O R B A ; – H T M L; – K Q M L; – F IPA . h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 29 Lecture 10 A n Introduction to M ultiagentS ystem s 2 M obile A gents R em ote procedure calls (a) versus m obile agents (b): client com puter server com puter client process server process netw ork (b) client com puter server com puter client process server process netw ork (a) agent h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 30 Lecture 10 A n Introduction to M ultiagentS ystem s W hy m obile agents? – low -bandw idth netw orks (hand-held P D A s,such as N E W T O N ); – efficientuse ofnetw ork resources. T here are m any issues thatneed to be addressed w hen building softw are tools thatcan supportm obile agents... – security for hosts and agents; – heterogeneity ofhosts; – dynam ic linking. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 31 Lecture 10 A n Introduction to M ultiagentS ystem s S ecurity for A gents A gents have a rightto privacy! W e often do notw antto send outour program s,as to do so: m ightenable the recipientto determ ine its purpose,and hence our intent. T he agentm ightbe m odified (sabotaged!) in som e w ay,w ithout its ow ners know ledge or approval. A n agentcan be protected in transitby using conventional encryption techniques (e.g.,P G P ). In order to ensure thatan agentis nottam pered w ith,itis possible to use digitalw aterm arks — rather like check digits. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 34 Lecture 10 A n Introduction to M ultiagentS ystem s H eterogeneity ofH osts U nless w e are happy for our agents to be executed on justone type ofm achine (M ac,P C ,S PA R C ,...),then w e m ustprovide facilities for executing the sam e agenton m any differenttypes of m achine. T his im plies: – interpreted language: com piled languages im ply reduction to m achine code,w hich is clearly system dependent— reduced efficiency;(perhaps use virtualm achine technology); – dynam ic linking: libraries thataccess localresources m ustprovide a com m on interface to differentenvironm ents. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 35 Lecture 10 A n Introduction to M ultiagentS ystem s A Typology for M obile A gents W e can divide m obile agents into atleastthree types: – autonom ous; – on-dem and; – ‘active m ail’-type h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 36 Lecture 10 A n Introduction to M ultiagentS ystem s ‘A ctive-M ail’A gents T he idea here is to ‘piggy-back’agentprogram s onto m ail. T he best-know n exam ple ofthis w ork is the m im e extension to em ail,allow ing S afe-T clscripts to be sent. W hen em ailis received,the ‘agent’is unpacked,and the script executed... hence the em ailis no longer passive,butactive. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 39 Lecture 10 A n Introduction to M ultiagentS ystem s 2.1 Telescript T E L E S C R IP T w as a language-based environm entfor constructing m obile agentsystem s. T E L E S C R IP T technology is the nam e given by G eneralM agic to a fam ily ofconcepts and techniques they have developed to underpin their products. T here are tw o key concepts in T E L E S C R IP T technology: – places;and – agents. P laces are virtuallocations occupied by agents. A place m ay correspond to a single m achine,or a fam ily ofm achines. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 40 Lecture 10 A n Introduction to M ultiagentS ystem s A gents are the providers and consum ers ofgoods in the electronic m arketplace applications that T E L E S C R IP T w as developed to support. A gents are interpreted program s,rather like T C L. A gents are m obile — they are able to m ove from one place to another,in w hich case their program and state are encoded and transm itted across a netw ork to another place,w here execution recom m ences. In order to travelacross the netw ork,an agentuses a ticket, w hich specifies the param eters ofits journey: – destination; – com pletion tim e. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 41 Lecture 10 A n Introduction to M ultiagentS ystem s Justas operating system s can lim itthe access provided to a process (e.g.,in U N IX ,via access rights),so an engine lim its the w ay an agentcan access its environm ent. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 44 Lecture 10 A n Introduction to M ultiagentS ystem s E ngines continually m onitor agent’s resource consum ption,and killagents thatexceed theilim it. E ngines provide (C /C + + ) links to other applications via application program interfaces (A P Is). A gents and places are program m ed using the T E L E S C R IP T language: – pure objectoriented language — everything is an object— apparently based on S M A L L T A L K ; – interpreted; – tw o levels — high (the ‘visible’language),and low (a sem i-com piled language for efficientexecution); – a ‘process’class,ofw hich ‘agent’and ‘place’are sub-classes; – persistent; h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 45 Lecture 10 A n Introduction to M ultiagentS ystem s G eneralM agic claim thatthe sophisticated builtin com m unications services m ake T E L E S C R IP T idealfor agent applications! h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 46 Lecture 10 A n Introduction to M ultiagentS ystem s T C L/T K com bined,m ake an attractive and sim ple to use G U I developm enttool;how ever,they have features thatm ake them m uch m ore interesting: – T C L itis an interpreted language; – T C L is extendable — itprovides a core setofprim itives, im plem ented in C /C + + ,and allow s the user to build on these as required; – T C L/T K can be em bedded — the interpreter itselfis available as C + + code,w hich can be em bedded in an application,and can itselfbe extended. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 49 Lecture 10 A n Introduction to M ultiagentS ystem s T C L program s are called scripts. T C L scripts have m any ofthe properties that U N IX shellscripts have: – they are plain textprogram s,thatcontain controlstructures (iteration,sequence,selection) and data structures (e.g., variables,lists,and arrays) justlike a norm alprogram m ing language; – they can be executed by a shellprogram (t c l s h or w i s h ); – they can callup various other program s and obtain results from these program s (cf.procedure calls). A s T C L program s are interpreted,they are very m uch easier to prototype and debug than com piled languages like C /C + + — they also provide m ore pow erfulcontrolconstructs... – ... butthis pow er com es atthe expense ofspeed. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 50 Lecture 10 A n Introduction to M ultiagentS ystem s – A lso,the structuring constructs provided by T C L leave som ething to be desired. h t t p : / / w w w . c s c . l i v . a c . u k / ˜ m j w / p u b s / i m a s / 51