Nästan 20 år efter den första workshopen om agentteorier, -arkitekturer och -språk (ATAL’94) vid ECAI’94, som många anser vara startpunkten för intensiv forskning om agentersystem, bad vi några av de mest framstående och aktiva forskarna på området att dela med sig av sina åsikter om några grundläggande frågor om mjukvaruagenter.
Svaren från Costin Badica, Lars Braubach, Giancarlo Fortino och Giovanni Rimassa ger en ganska sammansatt bild av statusen och perspektiven för forskningen om agenter och multiagentsystem, liksom av deras framtida tillämpningar.
- Bios
- Frågor
- Svar
- Fråga 1: Var finns forskningen om agentsystem idag och vart är den på väg? Vilka är de största framgångarna och misslyckandena hittills, och vilka är de viktigaste lärdomarna?
- Giovanni Rimassa
- Costin Badica
- Giancarlo Fortino
- Lars Braubach
- Fråga 2: Vilka är de mest framgångsrika tillämpningarna av mjukvaruagenter i den verkliga världen? Vilka är de nästa tillämpningsområdena för dem, och är människor redo att interagera med mjukvaruagenter i sin vardag?
- Lars Braubach
- Giancarlo Fortino
- Costin Badica
- Giovanni Rimassa
- Fråga 3: Hur ser du på standarder för agenter? Är FIPA:s nuvarande status som IEEE-organ tillfredsställande, eller behöver vi något annat?
- Giovanni Rimassa
- Costin Badica
- Giancarlo Fortino
- Lars Braubach
- Fråga 4: Vad saknas fortfarande inom området agentplattformar, språk och verktyg?
- Giancarlo Fortino
- Lars Braubach
- Costin Badica
- Giovanni Rimassa
Bios
Costin Badica är professor vid institutionen för dator- och informationsteknik vid universitetet i Craiova, Rumänien. Han har en doktorsexamen i kontrollsystem från universitetet i Craiova. Hans forskningsintressen ligger i skärningspunkten mellan artificiell intelligens, distribuerade system och programvaruteknik. Han har mer än 100 publikationer i form av tidskriftsartiklar, bokkapitel och konferensartiklar, mer än 10 gästredigerade specialnummer i tidskrifter samt flera redigerade böcker. Kontakta honom på [email protected].
Lars Braubach är senior forskare och projektledare i gruppen för distribuerade system vid Hamburgs universitet. Han har en doktorsexamen i datavetenskap från universitetet i Hamburg. Hans forskning syftar till att förbättra de programvarutekniska medlen för utveckling av distribuerade tillämpningar och är inriktad på tekniköverföring från forskning till industrin. Han är meduppfinnare av metoden med aktiva komponenter, som sammanför agenter med komponenter och tjänster, och han har varit en av Jadex agentplattformens huvudarkitekter sedan 2003. Han har stött flera tekniköverföringsprojekt med industriella partner som Daimler och Uniique AG och har publicerat mer än 80 artiklar vid internationella seminarier, konferenser och tidskrifter. Kontakta honom på [email protected].
Giancarlo Fortino är docent i datateknik vid avdelningen för informatik, modellering, elektronik och system (DIMES) vid Kalabriens universitet (Unical) i Rende, Italien. Han har en doktorsexamen i datateknik från Unical. Hans forskningsintressen omfattar distribuerad databehandling, trådlösa sensornätverk, mjukvaruagenter, molntjänster och multimedianätverk. Han har skrivit mer än 200 publikationer i tidskrifter, konferenser och böcker och sitter för närvarande i redaktionsråden för Journal of Networks and Computer Applications, Engineering Applications of Artificial Intelligence, Information Fusion och Multi Agent and GRID Systems. Han är medgrundare och VD för SenSysCal, en avknoppning av Unical, som utvecklar innovativa sensorbaserade system för e-hälsa och domotik. Han är seniormedlem i IEEE. Kontakta honom på [email protected].
Giovanni Rimassa är produktchef på Whitestein Technologies. Han har en doktorsexamen i informationsteknik från Università degli Studi di Parma. Hans professionella intressen omfattar intelligent hantering av affärsprocesser, agent middleware, produktinnovation och tekniköverföring. Han har varit aktiv inom agentbranschen sedan 1997 med sitt banbrytande arbete med JADE-plattformen och har publicerat mer än 60 artiklar i tidskrifter och på konferenser. Han är medlem i IEEE och IEEE Computer Society. Kontakta honom på [email protected].
Frågor
- Var befinner sig forskningen om agentsystem idag och vart är den på väg? Vilka är de största framgångarna och misslyckandena hittills, och vilka är de viktigaste lärdomarna?
- Vilka är de mest framgångsrika tillämpningarna av mjukvaruagenter i den verkliga världen? Vilka är nästa tillämpningsområden för dem, och är människor redo att interagera med mjukvaruagenter i sin vardag?
- Hur ser du på standarder för agenter? Är FIPA:s nuvarande status som IEEE-organ tillfredsställande, eller behöver vi något annat?
- Vad saknas fortfarande när det gäller plattformar, språk och verktyg för agenter?
Svar
Fråga 1: Var finns forskningen om agentsystem idag och vart är den på väg? Vilka är de största framgångarna och misslyckandena hittills, och vilka är de viktigaste lärdomarna?
Giovanni Rimassa
Med tanke på min yrkesmässiga bana under dessa 20 år, då jag gick från akademisk forskning till industriell forskning och sedan till produktförvaltning och innovation, tänker jag inte ge mig in på en detaljerad bedömning av forskningen om agentsystem i stort, vilket kan göras på ett mycket mer auktoritativt sätt av andra. Jag fokuserar hellre på frågor som den allmänna effekten av forskningen på området, eller tekniköverföring och eventuellt införande på den stora arenan för programvarutillverkning.
Från min specifika observationspunkt har forskningen om multiagentsystem helt klart blivit ett ganska moget område. Efter 90-talets boom verkar disciplinen ha lugnat ner sig. Det är förmodligen inte lika bekvämt i dag att välja ett doktorandämne om allmänna agentprinciper, och det är inte heller lätt att få t.ex. EU-finansiering för ett forskningsprojekt om infrastruktur för agentteknik eller testbäddar för öppna system. Med tanke på denna mognadsnivå förväntar jag mig att den framtida utvecklingen inom forskningen om agentsystem kommer att innebära en fortsättning av den teoretiska forskningen, där matematik och grundläggande datavetenskap tillämpas på schematiska problem med anknytning till fleragentsystem, men att de mer tillämpade och ingenjörsinriktade områdena kommer att behöva bli mer specialiserade och domäninriktade. Ett exempel, inspirerat av den senaste tidens världssituation, är tillämpningen av agentbaserad simulering för ekonomisk och finansiell riskbedömning och beslutsfattande. Med tanke på den senaste tidens skandaler om den amerikanska säkerhetsbyrån NSA:s globala spionage kanske folk börjar komma ihåg att Internet var tänkt att vara ett decentraliserat peer-to-peer-system snarare än ett enormt pyramidspel där användarna lämnar in sina uppgifter – och nu även beräkningar – till ett litet antal enorma IT-företag med tvivelaktig ansvarsskyldighet. Det är därför möjligt, och till och med troligt, att centrala datatekniska ämnen som rör nätverk (för verklig peer-to-peer) och programmeringsspråk (för att underlätta samtidig programmering på flerkärniga processorer) kommer att närma sig agenternas idéer av mycket pragmatiska skäl.
Jag kan inte säga att forskningen om mjukvaruagenter har varit helt framgångsrik, och under de senaste åren har jag till och med hört flera uttalanden om multiagentsystemens slutgiltiga misslyckande – även om de oftast inte har någon tydlig motivering (det roligaste fallet kom från en huvudtalare på en konferens om autonoma beräkningar). Jag tror att resultatet faktiskt är blandat och att det kräver en viss utredning. Agentteknikens största framgångar ligger i några av dess centrala begrepp och hur de har föregripit och i vissa fall till och med drivit utvecklingen av mainstream computing. Om vi jämför det typiska IT-landskapet i dag med hur det såg ut 1994 finner vi att många av de egenskaper som forskarna förespråkade i multiagentsystem då är vanliga i dag:
- Asynkron meddelandebaserad kommunikation;
- Komplexa, strukturerade scheman för meddelandeinnehåll;
- Ubiquitous concurrency;
- Mobila enheter med en mängd kontextkänslig information;
- Mobil kod, och
- Ökat utnyttjande av samhällsvetenskapliga idéer för att utforma programvara (organisationsmodeller, sociala nätverk, gemensam problemlösning, spelifiering).
I det område där jag är verksam – dvs. programvara för hantering av affärsprojekt för företag i olika branscher – har utvecklingen gått från traditionella middleware-synpunkter till mänskligt inriktad hantering av affärsprocesser (där BPM-sviter tillhandahåller artefakter för att förbättra samarbetet mellan mänskliga aktörer) till de nuvarande trenderna där man erkänner och betonar att programvara för hantering av affärsprojekt måste tillföra en viss intelligens och anpassningsförmåga av sig självt för att stödja kunskapsarbetare med egen kompetens. Det förväntade resultatet är inget mindre än multiagentsystem där vissa mänskliga agenter och vissa mjukvaruagenter samarbetar för att föra affärsprocesserna framåt.
Det kanske mest intressanta misslyckandet är att agenttekniken aldrig blev ”nästa OOP” (med andra ord den dominerande programmeringsstilen). Jag finner det särskilt ironiskt att många nu kallar funktionell programmering för räddningen när de pekar på begränsningarna i objektorienterade metoder. Agentssystem – med drag från aktörsprogrammeringsmodellen – borde vara det självklara steget framåt från OOP i samtidiga och distribuerade miljöer (grundläggande ”design by contract” ogiltigförklaras när fler exekveringstrådar är inblandade).
Enligt min åsikt har två huvudfaktorer bidragit till att hindra agenttekniken från att bli den accepterade mainstream-utvecklingen av OOP. För det första var forskarsamhället inte särskilt programmerarcentrerat; det var främst intresserat av algoritmer, protokoll och formella ramar, medan programvaruteknikens fokus låg på metoder och middleware. I jämförelse med OOP-samhället gjordes inte mycket inom området programmeringsspråk och utvecklingsverktyg. Med detta sagt har situationen delvis förändrats, med en dedikerad undergrupp som nu strävar efter att etablera mjukvaruagenter som ett programmeringsparadigm.
För det andra, och kanske ännu viktigare, har det skett en betydande försämring av tekniköverföringen till branschpraktiker eller tillfälliga programmerare. Även i dag har de flesta som är bekanta med fleragentsystem varit involverade i den akademiska forskningen eller (för yngre personer) fått universitetskurser i ämnet. Jämför detta med objektorientering, där flera nivåer av människor och institutioner vidarebefordrar, upprepar och ibland förvränger kärnforskningens grundläggande resultat. En programmerare som tillämpar Factory Method-mönstret, till exempel, känner ofta inte ens till den ursprungliga posten i Gang of Four-boken (E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994). Jag känner inte att samma sak kan sägas om till exempel Contract Net Protocol.
Costin Badica
Den största delen av den nuvarande forskningen är spridd inom områdena formell modellering och logik för multiagentsystem, spelteori (med relaterade ämnen, såsom mekanismdesign) och lärande. Det finns också intresse för angränsande områden, t.ex. robotik och simulering.
Jag anser att de mest lovande områdena är spelteori och inlärning. Formell logik är trevligt, men de verkliga tillämpningarna är begränsade. Robotik och simulering visar också intresse för tillämpningar.
Det är troligt att agentorienterad programmering är mycket långt ifrån vad som ursprungligen förväntades. Agentorienterad programvaruteknik är också ganska långt ifrån vanlig programvaruteknik.
Det är viktigt att utvärdera resultaten från forskningen om autonoma agenter (AA) och multiagentsystem (MAS) inom ramen för en sund datavetenskap. Vi bör inte behandla dem som något ”exotiskt” utan snarare utvärdera dem enligt datavetenskapliga regler. Agenter bör inte bara behandlas som ett nytt tekniskt paradigm utan också som en metod för analys och utformning av komplexa system. I slutändan kan ett system som utformas med hjälp av agentparadigmet genomföras med den senaste tekniken, inte nödvändigtvis med hjälp av middleware eller plattformar för agenter. Icke desto mindre kan agentplattformar vara mycket användbara för simulering och prototyper.
Giancarlo Fortino
Forskare fokuserar huvudsakligen på samma frågor som för tio år sedan: att tillhandahålla metoder och algoritmer för att hantera modellering och analys av (naturliga och artificiella) komplexa system ur olika perspektiv. Naturligtvis har agenternas tillämpningsområden förändrats en del i takt med att ny teknik och nya tillämpningsområden har dykt upp.
Det är svårt att säga vart fältet är på väg. Jag tror faktiskt att det inte finns någon enda riktning. Forskare fokuserar på samma viktiga teoretiska sammanhang (formella språk, tekniska metoder, förhandlingsalgoritmer, spelteori, simuleringsdriven analys av framväxande beteende och så vidare), och ibland flyttar de till nya tillämpningsområden – Internet of Things är ett aktuellt exempel – för att ta itu med specifika frågor genom att utnyttja ”agenter”.
Efter 20 år har vi fortfarande inte någon enhetlig agensmodell – ett faktum som har minskat det agentorienterade tillvägagångssättets attraktionskraft, särskilt i icke-akademiska sammanhang. Å andra sidan har en betydande mängd forskning (och viss utveckling) bedrivits, och många algoritmer och metoder finns faktiskt tillgängliga för användning inom ett stort antal (även icke-agentorienterade) tillämpningsområden. Dessutom är agentparadigmets effektivitet när det gäller att modellera distribuerade och komplexa system kanske dess största framgång.
Agentparadigmet är effektivt när det gäller att hantera öppna dynamiska distribuerade komplexa system. Det är dock inte det ”dödande paradigmet”, även om forskare framgångsrikt har föreslagit metoder, algoritmer och system på olika abstraktionsnivåer. Vissa, t.ex. Java Agents Development framework (JADE), har till och med använts i verkliga industriella tillämpningar och inte bara i akademiska sammanhang.
Lars Braubach
Forskning om agentsystem kommer från många olika håll. Därav de många olika typer av definitioner av begreppet agent som har uppstått sedan agentforskningen började, och som till exempel har fokuserat på AI, programvaruteknik, personliga assistenter och mentalistiska begrepp (mänskliga egenskaper som övertygelser och mål när de används för att beskriva programvaruagenter). Agentforskningen omfattar dessutom många olika ämnesområden. Detta breda spektrum av forskning är en av de största styrkorna för multiagentsystem, men det är också ett grundläggande problem. Det är en styrka eftersom det stödjande samfundet är brett och framsteg inom många olika delområden görs oberoende av varandra. Å andra sidan leder denna bredd naturligt till heterogenitet inom området, inklusive artefakter som programmeringsspråk och verktyg, vilket gör resultaten svårare att bedöma. Enligt min uppfattning har forskningens inriktning skiftat avsevärt sedan början.
Under de första åren var agentbaserad programvaruteknik ett mycket aktivt forskningsområde (inspirerat t.ex. av Yoav Shohams banbrytande artikel om agentorienterad programmering), och forskarna föreslog många agentprogrammeringsspråk, verktyg och metoder. Men i takt med att SE:s grunder blev stabila och implikationerna i praktiken förblev låga, minskade den relativa betydelsen i forskarsamhället. Numera ser jag en betoning på formella grunder och tekniker för planering, inlärning och samordning av flera agenter (om man till exempel tittar på de accepterade artiklarna från den 12:e internationella konferensen om autonoma agenter och fleragentsystem som en indikator).
En viktig framgång för multiagentsystem är ett skifte i sättet att se på komplexa system. Det uppmuntrar decentraliserade arkitekturer och utgör det första dedikerade paradigmet för distribuerade system. Ett stort misslyckande för agentforskningen är oförmågan att etablera agenter som ett accepterat paradigm för utveckling av SE. Trots betydande inledande ansträngningar har tekniken i stort sett misslyckats med att nå ut till programvarupersoner utanför själva agentgruppen. Enligt min åsikt beror detta misslyckande till stor del på det relativt stora konceptuella avståndet mellan agentbaserad programvaruteknik och väletablerade paradigm med objekt- och komponentorientering.
Detta avstånd manifesterar sig på olika nivåer i programmeringsspråken för enstaka agenter jämfört med agenternas organisations- och samordningstekniker. Men min huvudsakliga kritik här gäller antagandet att agenterna endast bör kommunicera genom asynkrona talaktsbaserade meddelanden. Detta gör agenttekniken oacceptabel för många utövare som kräver explicita systemgränssnitt och metodsignaturer. Här misstolkas det konceptuella kravet på att hålla en agent autonom på ett alltför tekniskt sätt. Flera erkända forskare har uppmärksammat problemet med meddelandebaserad kommunikation, och arbetet med alternativ har lett till flera olika förslag, bland annat åtagande- och målbaserade interaktioner, artefakter och aktiva komponenter.
När det gäller lärdomar kommer mitt svar från ett mycket personligt programvaruteknikperspektiv, eftersom jag aktivt har utvecklat agenttillämpningar och en plattform sedan 2003. För mig är en viktig lärdom att agenttekniken måste förenklas och närma sig objektorientering och SOA för att bli användbar i praktiken. Detta innebär att forskarna bör sträva efter att minska heterogeniteten och komplexiteten i stället för att ständigt öka dem genom att uppfinna nya tillvägagångssätt på alla nivåer. För närvarande är agentprogramvara inte väl lämpad för snabb prototypframställning av komplexa system eftersom den omfattar alltför många förberedande aktiviteter, t.ex. utformning av protokoll och ontologi.
Fråga 2: Vilka är de mest framgångsrika tillämpningarna av mjukvaruagenter i den verkliga världen? Vilka är de nästa tillämpningsområdena för dem, och är människor redo att interagera med mjukvaruagenter i sin vardag?
Lars Braubach
I motsats till prognosen i färdplanen för agentteknik från 2005, som förutspådde en långsam men kontinuerligt förbättrad spridning av agentteknik (som skulle nå mainstream från och med 2010), har den faktiska spridningen inte ökat märkbart, och det är fortfarande bara några få tillämpningar i den verkliga världen som har installerats. Den goda nyheten är att många av de ursprungliga agentföretagen, däribland Intelligent Automation (Cybele), Whitestein (Living Systems), TILAB (JADE), AOS (JACK), Cougaar Software och SOAR Tech, fortfarande framgångsrikt tillämpar agenttekniken i specialiserade marknadssegment, t.ex. telekommunikationer, logistik, arbetsflöden, kontroll av självstyrande fordon, satellitkontroll och intelligenta stödsystem.
Procedural Reasoning System (PRS) – ursprunget till BDI-system – utvecklades vid NASA och tillämpades framgångsrikt i flera rymdtillämpningar, bl.a. ett system för upptäckt av fel i rymdfärjans reaktionskontrollsystem. NASA:s programvara för uppdragskontroll genomfördes också på ett agentorienterat sätt med hjälp av Brahms-ramen.
Simulering är ett annat starkt tillämpningsområde för multiagentsystem. Massive Softwares skapande av filmscener med konstgjorda skådespelare i Sagan om ringen var till exempel ett imponerande exempel på hur man tillämpar agenternas simuleringsteknik.
Användningen av den kognitiva arkitekturen SOAR i (militära) träningstillämpningar är också anmärkningsvärd, eftersom den visar hur agenterna effektivt kan simulera mänskligt beteende i verkliga scenarier. Inom det militära området hittar vi flera andra användningsområden för agentteknik. Ett exceptionellt exempel är den mycket komplexa logistikhanteringsprogramvaran i det DARPA-finansierade UltraLog-projektet, som ledde till utvecklingen av agentplattformen Cougaar.
Autonomisk och molnbaserad databehandling, scenarier med stora datamängder och robotteknik tenderar att vara mycket lovande områden. Jag tror att intelligent mjukvara för molninfrastruktur som en tjänst (IaaS) och plattform som en tjänst (PaaS) i stor utsträckning skulle kunna dra nytta av agentteknik – till exempel för helt decentraliserad samordning. Trots denna möjlighet använder dock de stora molnleverantörerna som Google och Amazon andra alternativ till agenter i sina lösningar.
Scenarier för stora data, som vanligtvis innebär distribuerad databehandling, erbjuder andra möjligheter. Inom robotteknik flyttas problemen alltmer från ett perspektiv med en enda robot till ett perspektiv med flera robotar. Här har multiagenttekniken goda möjligheter att på ett fruktbart sätt kombineras med programvara för robotoperativsystem.
Interaktion med autonoma system kommer att bli alltmer väletablerad. Till exempel har flera webbplatser redan avatarer som imiterar mänskliga rådgivare. Interaktion med virtuella karaktärer innebär naturligtvis inte nödvändigtvis att agentteknik används bakom kulisserna.
Giancarlo Fortino
Innses det någon framgångsrik agentbaserad (i strikt mening) tillämpning? Kanske kan vi peka på webbcrawlare, som inte är mjukvaruagenter i strikt mening, eller JADE, som verkligen är en plattform för att bygga tillämpningar. Det finns många agentbaserade tillämpningar inom olika områden, men det är svårt att identifiera ”framgångsrika” tillämpningar. Nästa tillämpningsområde för agenter är sannolikt smarta städer och sakernas Internet. När det gäller interaktion med mjukvaruagenter tror jag att användarna kommer att anpassa sig till dem om de integreras i interaktiva grafiska användargränssnitt. Människor använder redan Facebook, Twitter och många andra tillämpningar. Det beror på användbarhet och användningsfrekvens.
Costin Badica
Simulering och säkerhet är troliga områden för agenttillämpningar. Människor är dock förmodligen ännu inte redo att interagera med agenter i det dagliga livet. Vi bör också titta på vad den traditionella forskningen om gränssnitt mellan människa och dator (HCI) kräver och försöka förstå vilka resultat som skulle passa eller skulle kunna tillämpas på interaktion mellan människa och agent.
Giovanni Rimassa
Mjukvaruagenter har tillämpats i praktiken inom många områden. Från min personliga erfarenhet kan jag peka på Whitesteins logistiklösning, som DHL har infört i 27 länder; jag tror att det är det största multiagentsystemet som någonsin har införts för produktionsbruk, räknat i antal användare. Vi får också mycket god respons på vår agentorienterade svit för affärsprocesshantering (BPM) inom finansiella tjänster och tillverkningsindustrin.
Och även om vår svit redan är framgångsrik, har området för BPM-programvara som helhet ännu inte uttryckligen tagit till sig agentidéer. Gartner ändrade dock sin Magic Quadrant för BPM-sviter förra året och introducerade begreppet intelligent BPMS (förkortat iBPMS), och det är en nyhet från september 2013 att Jim Sinur (som drev iBPMS-idéerna på Gartner), Jim Odell (tidigare FIPA-ordförande) och andra har en bok om nästa våg av BPM, som med deras ord kommer att bli agentorienterad BPM. Jag skulle vilja placera affärsprocesshantering i första ledet av de kommande områdena för tillämpning av agentteknik. Andra områden kommer från agentbaserad simuleringsanvändning på grund av betoningen på stora datamängder och snabbt anpassningsbart beslutsfattande: under de senaste två till tre åren har vi fått förfrågningar från energi-, flyg- och finansföretag som alla letade efter komplexa beslutsstödsystem med betydande simuleringsmöjligheter.
Det är mycket svårt att bedöma hur redo användarna är för en teknik. Å ena sidan, om tekniken medför verklig innovation kan användarna per definition inte vara redo. Icke desto mindre kommer de sätt på vilka människor konkret använder nya verktyg att ge feedback som i sin tur formar verktygen: missbruk och missbruk är kännetecken för framgång. Jag är försiktigt optimistisk, för jag ser ett komplext scenario med många möjligheter, där de politiska och sociala trenderna snarare än de tekniska kärndragen kommer att göra den största skillnaden. Intressant nog koncentrerar sig årets Gartner Emerging Technologies Hype Cycle på det framväxande förhållandet mellan människa och maskin.
Fråga 3: Hur ser du på standarder för agenter? Är FIPA:s nuvarande status som IEEE-organ tillfredsställande, eller behöver vi något annat?
Giovanni Rimassa
Standarder för agentteknik är i allmänhet lika användbara som standarder för andra delar av datavetenskap och IT. Deras effektivitet beror på mycket mer än kvaliteten på de tekniska specifikationerna, för att inkludera stödkonsortier, nätverkseffekter och lätthet att smälta in i andra förhärskande metoder och tekniker. För middleware är den sista punkten ännu viktigare.
De flesta specifikationerna från Foundation for Intelligent Physical Agents (FIPA) var vettiga år 2000, då den vanligaste IT-branschen inte riktigt fattade de begrepp som krävdes av en agentinfrastruktur; numera har världen inte bara gått vidare utan även gjort framsteg i exakt den riktning som FIPA förespråkade. Därför skulle det vara meningslöst att inte bara använda de gamla standarderna som de är utan även att försöka uppdatera dem för att skapa vår egen smak av det som alla andra redan gör ändå.
Att ha FIPA inom IEEE är ett mycket bra drag ur organisationens och trovärdighetens synvinkel, men jag skulle vilja att FIPA omarbetar sitt ursprungliga uppdrag (driftskompatibilitet) i en värld där de grundläggande tjänsterna för agentplattformar och agentmiljöer redan är en självklarhet. Det första steget bör vara en analys av bristerna: Vad finns ännu inte som skulle göra det lättare att förverkliga multiagentsystem i konkreta tillämpningar? Vilka delar av denna lista skulle gynnas av standardisering från tredje part? Å andra sidan var den senaste och mest aktiva FIPA-arbetsgrupp jag minns inriktad på metodik och designprocess, vilket verkar vara att sätta vagnen före hästen lite grann.
Costin Badica
Vi behöver inte nödvändigtvis följa standarder, som FIPA. Deras spridning var populär under ”interoperabilitetseran”. Jag tycker att FIPA är okej, men jag tror inte att det behövs fler standarder.
Giancarlo Fortino
Vi har, låt oss säga, ”standarder”, men agenterna är inte starkt fördjupade i den kommersiella eller industriella världen – så behöver vi verkligen standarder i det här fallet? FIPA har varit fryst sedan 2005 års beslut i Budapest att flytta det till IEEE. Jag ansåg – och anser fortfarande – att FIPA och agenttekniken i sig inte var tillräckligt mogna för att flyttas till IEEE. Jag tror att vi måste starta om organisationen (kanske med ett annat namn, även om FIPA redan är känt i agentgemenskapen) som en (nästan) frivillig insats om vi vill skapa en kritisk massa för standardisering av agenter – men det kanske ingen bryr sig om!
Lars Braubach
Standarder är alltid viktiga för att främja acceptansen av en teknik och befria kunderna från potentiell leverantörsinlåsning. När det gäller agentteknik behandlar FIPA-standarderna i första hand kommunikation mellan agenter och ser till att olika agentplattformar kan kommunicera. År 2013 har världen helt enkelt inte det problemet eftersom endast ett fåtal agenttillämpningar används och det inte finns något världsomspännande nätverk av installerade agentplattformar i AgentCities anda. Så dessa standarder är mestadels irrelevanta i praktiken. Dessutom har tekniken för webbtjänster framgångsrikt åstadkommit driftskompatibilitet i distribuerade system. I detta avseende är det av stor praktisk betydelse att låta agentplattformar smidigt externalisera funktioner som webbtjänster och använda befintliga webbtjänster för att integrera med andra system. Detta inbegriper standardspråket WSDL (Web Service Definition Language) samt ett växande antal RESTful-webbtjänster i takt med att stora aktörer som Google och Yahoo erbjuder fler API:er via REST. Enligt min åsikt kommer ett nytt initiativ för rena agentstandarder inte att bidra särskilt mycket till att tekniken införs, eftersom de behandlar ett oviktigt problem. Istället behöver vi främst standarder som föreslår integration med etablerad teknik.
Fråga 4: Vad saknas fortfarande inom området agentplattformar, språk och verktyg?
Giancarlo Fortino
Vi har en hel del saker. Jag tror att vi måste tillämpa och utvärdera dem. Naturligtvis måste vi i branschvärlden fokusera på en (begränsad) uppsättning referensmodeller och relaterade CASE-verktyg (inklusive en referensmetodik). Jag tror att detta är nyckeln till en bredare acceptans av agentteknik.
Lars Braubach
Jag tror att flera saker saknas – till att börja med agentprogrammeringsspråk som är tätt integrerade med vanliga objektorienterade språk. Vi bör också ha distribuerade infrastrukturer i industriklass inom grid- och molnområdena som använder sig av agentteknik. Särskilt inom området plattform som tjänst (PaaS) behövs nya programmeringsmetoder för att utveckla distribuerade tillämpningar. Här skulle metoder med flera agenter kunna hjälpa till att fylla denna lucka. Relaterat till denna aspekt är att vi fortfarande saknar omfattande metoder och verktyg för felsökning och testning av distribuerade system.
Costin Badica
Vi måste knyta an till mer traditionell forskning och metoder inom samhällsvetenskap och undvika att i onödan uppfinna saker och ting på nytt under agentparaplyet – vilket AOSE eller AOP ibland försöker göra.
Giovanni Rimassa
Agentplattformar bör utformas på nytt med den ytterligare begränsningen att inte förorena den vanliga IT-infrastrukturen: de bör vara glänsande på grund av sina avancerade funktioner men mycket tråkiga när det gäller mekanismerna. De bör inte uppvisa någon persistens förutom med relationella databashanteringssystem eller NoSQL-databaser, och inte utföra någon meddelandeöverföring förutom med Java Message Service, SOAP eller RESTful-webbtjänster. När det gäller språk och verktyg bör den nuvarande vågen av forskning som försöker sammanföra aktörs- och agentprogrammeringsspråk bli starkare, med målet att ta fram en eller flera kompletta utvecklingsmiljöer som verkligen lämpar sig för massanvändning. Min personliga önskan skulle vara att ha ett aktörs-/agentspråk med ett modernt typsystem som skiljer mellan agent, artefakter/tjänster och kunskap/data.