Nahe 20 Jahre nach dem ersten Workshop über Agententheorien, -architekturen und -sprachen (ATAL’94) auf der ECAI’94, den viele als Ausgangspunkt intensiver Agentensystemforschung ansehen, haben wir einige der prominentesten und aktivsten Forscher auf diesem Gebiet gebeten, ihre Ansichten zu einigen grundlegenden Fragen über Softwareagenten mitzuteilen.
Die Antworten von Costin Badica, Lars Braubach, Giancarlo Fortino und Giovanni Rimassa geben einen umfassenden Überblick über den Stand und die Perspektiven der Forschung zu Agenten und Multi-Agenten-Systemen sowie über ihre zukünftigen Anwendungen.
- Bios
- Fragen
- Antworten
- Frage 1: Wo steht die Forschung zu Agentensystemen heute und wohin geht sie? Was sind die größten Erfolge und Misserfolge, und was sind die wichtigsten Erkenntnisse?
- Giovanni Rimassa
- Costin Badica
- Giancarlo Fortino
- Lars Braubach
- Frage 2: Welche sind die erfolgreichsten Anwendungen von Software-Agenten in der realen Welt? Welches sind die nächsten Anwendungsbereiche für sie, und sind die Menschen bereit, in ihrem Alltag mit Software-Agenten zu interagieren?
- Lars Braubach
- Giancarlo Fortino
- Costin Badica
- Giovanni Rimassa
- Frage 3: Wie sehen Sie die Standards für Agenten? Ist der derzeitige Status der FIPA als IEEE-Gremium zufriedenstellend, oder brauchen wir etwas anderes?
- Giovanni Rimassa
- Costin Badica
- Giancarlo Fortino
- Lars Braubach
- Frage 4: Was fehlt noch im Bereich der Agentenplattformen, -sprachen und -werkzeuge?
- Giancarlo Fortino
- Lars Braubach
- Costin Badica
- Giovanni Rimassa
Bios
Costin Badica ist Professor an der Fakultät für Computer und Informationstechnologie der Universität Craiova, Rumänien. Er hat an der Universität von Craiova in Kontrollsystemen promoviert. Seine Forschungsinteressen liegen an der Schnittstelle von künstlicher Intelligenz, verteilten Systemen und Softwaretechnik. Er hat mehr als 100 Veröffentlichungen in Zeitschriftenartikeln, Buchkapiteln und Konferenzbeiträgen, mehr als 10 als Gastredakteur herausgegebene Sonderausgaben von Zeitschriften sowie mehrere herausgegebene Bücher. Kontaktieren Sie ihn unter [email protected].
Lars Braubach ist Senior Researcher und Projektleiter in der Distributed Systems Group an der Universität Hamburg. Er hat in Informatik an der Universität Hamburg promoviert. Seine Forschung zielt auf die Verbesserung der softwaretechnischen Mittel für die Entwicklung verteilter Anwendungen und auf den Technologietransfer von der Forschung zur Industrie. Er ist Miterfinder des Active-Components-Ansatzes, der Agenten mit Komponenten- und Service-Charakteristiken zusammenbringt, und er ist seit 2003 einer der Kernarchitekten der Jadex Agentenplattform. Er hat mehrere Technologietransferprojekte mit Industriepartnern wie Daimler und Uniique AG unterstützt und mehr als 80 Beiträge auf internationalen Workshops, Konferenzen und in Fachzeitschriften veröffentlicht. Kontaktieren Sie ihn unter [email protected].
Giancarlo Fortino ist außerordentlicher Professor für Computertechnik in der Abteilung für Informatik, Modellierung, Elektronik und Systeme (DIMES) der Universität von Kalabrien (Unical) in Rende, Italien. Er hat einen Doktortitel in Computertechnik von der Unical. Zu seinen Forschungsinteressen gehören verteiltes Rechnen, drahtlose Sensornetzwerke, Software-Agenten, Cloud Computing und Multimedia-Netzwerke. Er hat mehr als 200 Veröffentlichungen in Fachzeitschriften, Konferenzen und Büchern verfasst und ist derzeit Mitglied der Redaktionsausschüsse von Journal of Networks and Computer Applications, Engineering Applications of Artificial Intelligence, Information Fusion und Multi Agent and GRID Systems. Er ist Mitbegründer und CEO von SenSysCal, einem Spin-off von Unical, das innovative sensorbasierte Systeme für E-Health und Domotik entwickelt. Er ist IEEE Senior Mitglied. Kontaktieren Sie ihn unter [email protected].
Giovanni Rimassa ist Produktmanager bei Whitestein Technologies. Er hat in Informationstechnik an der Università degli Studi di Parma promoviert. Seine beruflichen Interessen umfassen intelligentes Geschäftsprozessmanagement, Agenten-Middleware, Produktinnovation und Technologietransfer. Seit 1997 ist er mit seiner bahnbrechenden Arbeit an der JADE-Plattform in der Agentenszene aktiv und hat mehr als 60 Beiträge in Fachzeitschriften und auf Konferenzen veröffentlicht. Er ist Mitglied der IEEE und der IEEE Computer Society. Kontaktieren Sie ihn unter [email protected].
Fragen
- Wo steht die Forschung über Agentensysteme heute und wohin geht sie? Was sind die größten Erfolge und Misserfolge, und was sind die wichtigsten Erkenntnisse?
- Welches sind die erfolgreichsten Anwendungen von Software-Agenten in der realen Welt? Welches sind die nächsten Anwendungsbereiche für sie, und sind die Menschen bereit, in ihrem Alltag mit Software-Agenten zu interagieren?
- Wie sehen Sie die Standards für Agenten? Ist der derzeitige Status der FIPA als IEEE-Gremium zufriedenstellend, oder brauchen wir etwas anderes?
- Was fehlt noch im Bereich der Agentenplattformen, -sprachen und -werkzeuge?
Antworten
Frage 1: Wo steht die Forschung zu Agentensystemen heute und wohin geht sie? Was sind die größten Erfolge und Misserfolge, und was sind die wichtigsten Erkenntnisse?
Giovanni Rimassa
Angesichts meines beruflichen Werdegangs in diesen 20 Jahren, in denen ich von der akademischen in die industrielle Forschung und dann in das Produktmanagement und die Innovation wechselte, werde ich mich nicht auf eine detaillierte Bewertung der Agentensystemforschung im Allgemeinen einlassen, die von anderen sehr viel kompetenter durchgeführt werden kann. Ich konzentriere mich lieber auf Fragen wie die allgemeinen Auswirkungen der Forschung in diesem Bereich oder den Technologietransfer und die eventuelle Übernahme in der großen Arena der Softwareentwicklung.
Aus meiner spezifischen Sicht ist die Forschung im Bereich der Multiagentensysteme eindeutig ein ziemlich ausgereiftes Gebiet. Nach dem Boom der 90er Jahre scheint die Disziplin zur Ruhe gekommen zu sein. Wahrscheinlich ist es heute nicht mehr so einfach, ein Promotionsthema über allgemeine Agentenprinzipien zu wählen, und es ist auch nicht mehr so leicht, z.B. EU-Mittel für ein Forschungsprojekt über die Infrastruktur der Agententechnologie oder über offene Testsysteme zu bekommen. In Anbetracht dieses Reifegrades erwarte ich, dass die zukünftige Entwicklung in der Forschung zu Agentensystemen eine Fortsetzung der theoretischen Forschung sehen wird, die Mathematik und grundlegende Informatik auf schematische Probleme im Zusammenhang mit Multiagentensystemen anwendet, aber die mehr angewandten und ingenieurwissenschaftlichen Bereiche werden sich stärker spezialisieren und auf den jeweiligen Bereich konzentrieren müssen. Ein Beispiel, das durch die aktuelle Weltlage inspiriert wurde, ist die Anwendung der agentenbasierten Simulation für die Bewertung wirtschaftlicher und finanzieller Risiken und die Entscheidungsfindung. Angesichts der jüngsten Skandale um die weltweite Spionagetätigkeit der Nationalen Sicherheitsagentur der USA (NSA) werden sich die Menschen vielleicht wieder daran erinnern, dass das Internet eigentlich ein dezentrales Peer-to-Peer-System sein sollte und nicht ein riesiges Schneeballsystem, bei dem die Nutzer ihre Daten – und jetzt sogar ihre Berechnungen – einer kleinen Zahl riesiger IT-Unternehmen mit zweifelhafter Verantwortlichkeit überlassen. Es ist daher möglich und sogar wahrscheinlich, dass sich die Kernthemen der Informatik, nämlich Netzwerke (für echte Peer-to-Peer-Systeme) und Programmiersprachen (für eine einfachere gleichzeitige Programmierung auf Multicore-Prozessoren), aus sehr pragmatischen Gründen den Ideen von Agentensystemen noch weiter annähern werden.
Ich kann nicht sagen, dass die Software-Agenten-Forschung völlig erfolgreich war, und in den letzten Jahren habe ich sogar mehrfach Aussagen über das endgültige Scheitern von Multiagentensystemen gehört – wenn auch meist ohne klare Beweggründe (der lustigste Fall war von einem Hauptredner auf einer Konferenz über autonomes Rechnen). Ich glaube, das Ergebnis ist tatsächlich gemischt und bedarf einer näheren Erläuterung. Die größten Erfolge der Agententechnologie liegen in einigen ihrer zentralen Konzepte und in der Art und Weise, wie sie die Entwicklung des Mainstream-Computing vorweggenommen und in einigen Fällen sogar vorangetrieben haben. Wenn wir die typische IT-Landschaft von heute mit der von 1994 vergleichen, stellen wir fest, dass viele Merkmale, die Forscher damals für Multiagentensysteme befürworteten, heute alltäglich sind:
- Asynchrone, nachrichtenbasierte Kommunikation;
- Komplexe, strukturierte Schemata für Nachrichten-Nutzdaten;
- Gleichzeitigkeit;
- Mobile Geräte mit einer Vielzahl kontextabhängiger Informationen;
- Mobiler Code; und
- Verstärkte Nutzung sozialwissenschaftlicher Ideen zur Gestaltung von Software (Organisationsmodelle, soziale Netzwerke, kollaborative Problemlösung, Gamification).
In dem Bereich, in dem ich tätig bin – d.h. Software für das Management von Unternehmensprojekten in einer Vielzahl von Branchen – ging die Entwicklung von traditionellen Middleware-Ansichten zum menschenzentrierten Geschäftsprozessmanagement (in dem BPM-Suiten Artefakte zur Verbesserung der Zusammenarbeit zwischen menschlichen Agenten bereitstellen) zu den aktuellen Trends, die erkennen und betonen, dass BPM-Software eine gewisse eigene Intelligenz und Anpassungsfähigkeit mitbringen muss, um befähigte Wissensarbeiter zu unterstützen. Das angestrebte Ergebnis sind Multiagentensysteme, in denen menschliche Agenten und Softwareagenten zusammenarbeiten, um Geschäftsprozesse voranzubringen.
Der vielleicht interessanteste Punkt des Scheiterns ist, dass die Agententechnologie nie zum „nächsten OOP“ (d.h. zum dominierenden Programmierstil) wurde. Ich finde es besonders ironisch, dass viele jetzt die funktionale Programmierung zur Rettung aufrufen, wenn sie auf die Grenzen der objektorientierten Ansätze hinweisen. Agentensysteme – in Anlehnung an das Modell der Akteursprogrammierung – sollten der offensichtliche Schritt vorwärts von OOP in nebenläufigen und verteilten Umgebungen sein (das grundlegende „Design by Contract“ ist hinfällig, wenn mehr Ausführungsstränge beteiligt sind).
Meiner Ansicht nach haben zwei Hauptfaktoren dazu beigetragen, dass die Agententechnologie nicht zur akzeptierten Mainstream-Evolution von OOP wurde. Erstens war die Forschungsgemeinschaft nicht besonders programmiererzentriert; sie war hauptsächlich an Algorithmen, Protokollen und formalen Rahmenwerken interessiert, während der Schwerpunkt der Softwareentwicklung auf Methodologien und Middleware lag. Im Vergleich zur OOP-Gemeinschaft wurde auf dem Gebiet der Programmiersprachen und Entwicklungswerkzeuge nicht viel getan. Allerdings hat sich die Situation teilweise geändert, und eine eigene Untergruppe bemüht sich nun, Software-Agenten als Programmierparadigma zu etablieren.
Zweitens, und das ist vielleicht noch wichtiger, gab es eine erhebliche Beeinträchtigung des Technologietransfers in Richtung Industriepraktiker oder Gelegenheitsprogrammierer. Auch heute noch sind die meisten Menschen, die mit Multiagentensystemen vertraut sind, an der akademischen Forschung beteiligt oder haben (bei jüngeren Menschen) Universitätskurse zu diesem Thema besucht. Vergleichen Sie dies mit der Objektorientierung, bei der mehrere Ebenen von Personen und Institutionen die grundlegenden Ergebnisse der Kernforschung weitergeben, aufbereiten und manchmal auch verfälschen. Ein Programmierer, der das Factory-Methode-Muster anwendet, wird zum Beispiel oft nicht einmal den ursprünglichen Eintrag im Gang of Four-Buch kennen (E. Gamma, R. Helm, R. Johnson, J. Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994). Ich glaube nicht, dass man das Gleiche z.B. über das Contract Net Protocol sagen kann.
Costin Badica
Die meisten aktuellen Forschungsarbeiten liegen in den Bereichen formale Modellierung und Logik für Multiagentensysteme, Spieltheorie (mit verwandten Themen wie dem Entwurf von Mechanismen) und Lernen. Es besteht auch Interesse an angrenzenden Gebieten wie Robotik und Simulation.
Ich denke, die vielversprechendsten Gebiete sind Spieltheorie und Lernen. Formale Logik ist schön, aber die realen Anwendungen sind begrenzt. Robotik und Simulation zeigen auch Interesse an Anwendungen.
Wahrscheinlich ist die agentenorientierte Programmierung sehr weit von dem entfernt, was ursprünglich erwartet wurde. Auch die agentenorientierte Softwareentwicklung ist weit entfernt vom Mainstream der Softwareentwicklung.
Es ist wichtig, die Ergebnisse der Forschung zu autonomen Agenten (AA) und Multiagentensystemen (MAS) im Kontext einer soliden Informatik zu bewerten. Wir sollten sie nicht wie etwas „Exotisches“ behandeln, sondern sie nach den Regeln der Informatik bewerten. Agenten sollten nicht nur als ein neues technologisches Paradigma, sondern auch als eine Methode zur Analyse und zum Entwurf komplexer Systeme betrachtet werden. Letztendlich kann ein System, das mit dem Agentenparadigma entworfen wurde, mit modernsten Technologien implementiert werden, nicht unbedingt mit Agenten-Middleware oder -Plattformen. Dennoch können Agentenplattformen für die Simulation und das Prototyping sehr nützlich sein.
Giancarlo Fortino
Die Forscher konzentrieren sich hauptsächlich auf die gleichen Themen wie vor 10 Jahren: die Bereitstellung von Methoden und Algorithmen für die Modellierung und Analyse von (natürlichen und künstlichen) komplexen Systemen aus verschiedenen Perspektiven. Natürlich haben sich die Anwendungsbereiche der Agenten etwas verändert, da neue Technologien und Anwendungsbereiche aufgetaucht sind.
Es ist schwierig zu sagen, wohin sich das Feld entwickelt. Ich glaube sogar, dass es keine einheitliche Richtung gibt. Die Forscher konzentrieren sich auf dieselben wichtigen theoretischen Zusammenhänge (formale Sprachen, technische Methoden, Verhandlungsalgorithmen, Spieltheorie, simulationsgestützte emergente Verhaltensanalyse usw.), und manchmal wenden sie sich neuen Anwendungsbereichen zu – das Internet der Dinge ist ein aktuelles Beispiel -, um spezifische Probleme durch die Nutzung von „Agenten“ anzugehen.
Nach 20 Jahren haben wir immer noch kein einheitliches Agentenmodell – eine Tatsache, die die Attraktivität des agentenorientierten Ansatzes insbesondere in nicht-akademischen Kontexten verringert hat. Auf der anderen Seite wurde viel geforscht (und entwickelt), und viele Algorithmen und Methoden sind für eine breite Palette von (auch nicht-agentenorientierten) Anwendungsbereichen verfügbar. Außerdem ist die Effektivität des Agentenparadigmas bei der Modellierung verteilter und komplexer Systeme vielleicht sein größter Erfolg.
Das Agentenparadigma ist effektiv im Umgang mit offenen, dynamischen, verteilten und komplexen Systemen. Es ist jedoch nicht das „Killer-Paradigma“, auch wenn Forscher erfolgreich Methoden, Algorithmen und Systeme auf verschiedenen Abstraktionsebenen vorgeschlagen haben. Einige, wie z.B. das Java Agents Development Framework (JADE), wurden sogar in realen industriellen Anwendungen und nicht nur in akademischen Kontexten eingesetzt.
Lars Braubach
Die Forschung zu Agentensystemen kommt aus vielen verschiedenen Richtungen. So gibt es seit den Anfängen der Agentenforschung viele verschiedene Definitionen des Begriffs „Agent“, die sich z.B. auf KI, Software-Engineering, persönliche Assistenten und mentalistische Begriffe (menschliche Eigenschaften wie Überzeugungen und Ziele bei der Beschreibung von Software-Agenten) konzentrieren. Darüber hinaus umfasst die Agentenforschung viele verschiedene Themenbereiche. Dieses breite Forschungsspektrum ist eine der größten Stärken von Multiagentensystemen, stellt aber auch ein grundlegendes Problem dar. Es ist eine Stärke, weil die unterstützende Gemeinschaft breit ist und Fortschritte in vielen verschiedenen Teilbereichen unabhängig voneinander erzielt werden. Andererseits führt diese Breite natürlich zu einer Heterogenität im Feld, einschließlich der Artefakte wie Programmiersprachen und Werkzeuge, was die Bewertung der Ergebnisse erschwert. Meiner Meinung nach hat sich der Forschungsschwerpunkt seit den Anfängen erheblich verschoben.
In den ersten Jahren war das agentenbasierte Software-Engineering ein sehr aktives Forschungsgebiet (z.B. inspiriert durch Yoav Shohams bahnbrechenden Artikel über agentenorientierte Programmierung), und die Forscher schlugen viele Agentenprogrammiersprachen, Werkzeuge und Methoden vor. Aber als sich die Grundlagen von SE festigten und die Auswirkungen in der Praxis gering blieben, nahm die relative Bedeutung in der Forschungsgemeinschaft ab. Heutzutage liegt der Schwerpunkt auf formalen Grundlagen und Planungs-, Lern- und Koordinierungstechniken für Multiagenten (ein Indikator dafür sind die akzeptierten Beiträge der 12th International Conference on Autonomous Agents and Multiagent Systems).
Ein wichtiger Erfolg der Multiagentensysteme ist ein Umdenken bei der Betrachtung komplexer Systeme. Sie fördern dezentralisierte Architekturen und stellen das erste spezielle Paradigma für verteilte Systeme dar. Ein großer Misserfolg der Agentenforschung besteht darin, dass es nicht gelungen ist, Agenten als akzeptiertes SE-Entwicklungsparadigma zu etablieren. Trotz erheblicher anfänglicher Bemühungen ist es der Technologie weitgehend nicht gelungen, Softwareentwickler außerhalb der Agentengemeinschaft selbst zu erreichen. Meiner Meinung nach ist dieses Scheitern größtenteils auf die relativ große konzeptionelle Distanz zwischen agentenbasierter Softwareentwicklung und etablierten Paradigmen mit Objekt- und Komponentenorientierung zurückzuführen.
Diese Distanz manifestiert sich auf verschiedenen Ebenen in den Programmiersprachen für Einzelagenten und den Organisations- und Koordinationstechniken für Agenten. Mein Hauptkritikpunkt ist jedoch die Annahme, dass Agenten nur durch asynchrone sprachbasierte Nachrichten kommunizieren sollten. Dies macht die Agententechnologie für viele Praktiker, die explizite Systemschnittstellen und Methodensignaturen benötigen, inakzeptabel. Hier wird die konzeptionelle Anforderung, einen Agenten autonom zu halten, auf eine zu technische Art und Weise fehlinterpretiert. Mehrere anerkannte Forscher haben das Problem der nachrichtenbasierten Kommunikation erkannt, und die Arbeit an Alternativen hat zu mehreren verschiedenen Vorschlägen geführt, einschließlich verpflichtungs- und zielbasierter Interaktionen, Artefakten und aktiver Komponenten.
Was die gelernten Lektionen angeht, so kommt meine Antwort aus einer sehr persönlichen Software-Engineering-Perspektive, da ich seit 2003 aktiv Agentenanwendungen und eine Plattform entwickelt habe. Eine wichtige Lehre ist für mich, dass die Agententechnologie vereinfacht und näher an die Objektorientierung und SOA herangeführt werden muss, um in der Praxis nutzbar zu sein. Das bedeutet, dass Forscher darauf abzielen sollten, Heterogenität und Komplexität zu reduzieren, anstatt sie durch die Erfindung neuer Ansätze auf allen Ebenen ständig zu erhöhen. Gegenwärtig ist Agentensoftware für das Rapid Prototyping komplexer Systeme nicht gut geeignet, da sie zu viele vorbereitende Aktivitäten wie Protokoll- und Ontologie-Design beinhaltet.
Frage 2: Welche sind die erfolgreichsten Anwendungen von Software-Agenten in der realen Welt? Welches sind die nächsten Anwendungsbereiche für sie, und sind die Menschen bereit, in ihrem Alltag mit Software-Agenten zu interagieren?
Lars Braubach
Im Gegensatz zur Roadmap für Agententechnologie aus dem Jahr 2005, die eine langsame, aber stetig zunehmende Verbreitung der Agententechnologie (bis zum Erreichen des Mainstreams ab 2010) vorhersagte, hat die tatsächliche Verbreitung nicht sichtbar zugenommen, und es wurden nur wenige Anwendungen in der realen Welt installiert. Die gute Nachricht ist, dass viele der ursprünglichen Agentenunternehmen, darunter Intelligent Automation (Cybele), Whitestein (Living Systems), TILAB (JADE), AOS (JACK), Cougaar Software und SOAR Tech, die Agententechnologie immer noch erfolgreich in spezialisierten Marktsegmenten wie Telekommunikation, Logistik, Arbeitsabläufe, autonome Fahrzeugsteuerung, Satellitensteuerung und intelligente Unterstützungssysteme einsetzen.
Das Procedural Reasoning System (PRS) – der Ursprung der BDI-Systeme – wurde bei der NASA entwickelt und erfolgreich in mehreren Raumfahrtanwendungen eingesetzt, darunter ein Fehlererkennungssystem für das Reaktionskontrollsystem des Space Shuttle. Auch die Missionskontrollsoftware der NASA wurde mit Hilfe des Brahms-Frameworks agentenorientiert implementiert.
Simulation ist ein weiterer wichtiger Anwendungsbereich für Multiagentensysteme. Beispielsweise war die Erstellung von Filmszenen mit künstlichen Schauspielern im Herrn der Ringe durch Massive Software ein beeindruckendes Beispiel für die Anwendung der Agentensimulationstechnologie.
Der Einsatz der kognitiven Architektur SOAR in (militärischen) Trainingsanwendungen ist ebenfalls bemerkenswert, da sie zeigt, wie Agenten menschliches Verhalten in realen Szenarien effizient simulieren können. Im militärischen Bereich gibt es eine Reihe weiterer Anwendungen der Agententechnologie. Ein herausragendes Beispiel ist die sehr komplexe Logistikmanagement-Software in dem von der DARPA finanzierten Projekt UltraLog, das zur Entwicklung der Agentenplattform Cougaar führte.
Autonomic und Cloud Computing, Big-Data-Szenarien und Robotik sind vielversprechende Bereiche. Ich glaube, dass intelligente Cloud-Infrastructure-as-a-Service (IaaS) und Platform-as-a-Service (PaaS) Steuerungssoftware stark von der Agententechnologie profitieren könnte – zum Beispiel für eine vollständig dezentrale Koordination. Trotz dieser Möglichkeit setzen die großen Cloud-Anbieter wie Google und Amazon in ihren Lösungen jedoch andere Alternativen zu Agenten ein.
Big-Data-Szenarien, die typischerweise eine verteilte Datenverarbeitung beinhalten, bieten weitere Möglichkeiten. In der Robotik verlagern sich die Probleme zunehmend von der Ein-Roboter- zur Multi-Roboter-Perspektive. Hier hat die Multiagententechnologie gute Chancen, mit Roboterbetriebssystemsoftware fruchtbar kombiniert zu werden.
Die Interaktion mit autonomen Systemen wird sich zunehmend etablieren. So gibt es auf verschiedenen Websites bereits Avatare, die menschliche Berater imitieren. Natürlich bedeutet die Interaktion mit virtuellen Charakteren nicht zwangsläufig, dass hinter den Kulissen Agententechnologie eingesetzt wird.
Giancarlo Fortino
Gibt es eine erfolgreiche agentenbasierte (im engeren Sinne) Anwendung? Vielleicht können wir auf Web-Crawler verweisen, die keine Software-Agenten im engeren Sinne sind, oder auf JADE, das in der Tat eine Plattform zur Erstellung von Anwendungen ist. Es gibt viele agentenbasierte Anwendungen in verschiedenen Bereichen, aber es ist schwierig, „erfolgreiche“ Anwendungen zu identifizieren. Die nächsten Anwendungsbereiche für Agenten werden wahrscheinlich intelligente Städte und das Internet der Dinge sein. Was die Interaktion mit Software-Agenten angeht, denke ich, dass sich die Benutzer an sie gewöhnen werden, wenn sie in interaktive Benutzeroberflächen integriert werden. Die Menschen nutzen bereits Facebook, Twitter und viele andere Anwendungen. Es hängt von der Benutzerfreundlichkeit und der Nutzungshäufigkeit ab.
Costin Badica
Simulation und Sicherheit sind wahrscheinliche Bereiche für Agentenanwendungen. Allerdings sind die Menschen wahrscheinlich noch nicht bereit, mit Agenten im täglichen Leben zu interagieren. Wir sollten auch untersuchen, was die traditionelle Human-Computer-Interface-Forschung (HCI) fordert und versuchen zu verstehen, welche Ergebnisse auf die Mensch-Agent-Interaktion passen oder angewendet werden könnten.
Giovanni Rimassa
Software-Agenten wurden in der Praxis in vielen Bereichen eingesetzt. Aus meiner persönlichen Erfahrung kann ich auf die Logistiklösung von Whitestein verweisen, die DHL in 27 Ländern eingesetzt hat; ich glaube, dass es sich dabei um das größte Multiagentensystem handelt, das je für den produktiven Einsatz eingesetzt wurde, gemessen an der Zahl der Nutzer. Auch unsere agentenorientierte Business Process Management (BPM)-Suite stößt bei Finanzdienstleistern und in der Fertigungsindustrie auf sehr gute Resonanz.
Obwohl unsere Suite bereits erfolgreich ist, hat der Bereich der BPM-Software insgesamt den Agentengedanken noch nicht explizit aufgegriffen. Allerdings hat Gartner letztes Jahr seinen Magic Quadrant für BPM-Suiten geändert und das Konzept des intelligenten BPMS (kurz iBPMS) eingeführt, und seit September 2013 ist bekannt, dass Jim Sinur (der die iBPMS-Ideen bei Gartner vorangetrieben hat), Jim Odell (ehemaliger FIPA-Vorsitzender) und andere ein Buch über die nächste BPM-Welle geschrieben haben, die nach ihren Worten agentenorientiertes BPM sein wird. Ich würde das Geschäftsprozessmanagement an die Spitze der nächsten Anwendungsbereiche der Agententechnologie stellen. In den letzten zwei bis drei Jahren haben wir Anfragen von Unternehmen aus den Bereichen Energie, Luft- und Raumfahrt und Finanzen erhalten, die alle nach komplexen Systemen zur Entscheidungsunterstützung mit umfangreichen Simulationsfunktionen suchten.
Es ist sehr schwierig zu beurteilen, wie bereit die Benutzer für eine Technologie sind. Einerseits können die Anwender per Definition nicht bereit sein, wenn die Technologie eine echte Innovation darstellt. Nichtsdestotrotz wird die Art und Weise, wie die Menschen neue Werkzeuge konkret einsetzen, ein Feedback liefern, das wiederum diese Werkzeuge prägt: Missbrauch und Fehlanwendung sind Kennzeichen des Erfolgs. Ich bin vorsichtig optimistisch, denn ich sehe ein komplexes Szenario mit vielen Möglichkeiten, in dem eher die politischen und gesellschaftlichen Trends als die technologischen Kerneigenschaften den größten Unterschied ausmachen werden. Interessanterweise konzentriert sich der diesjährige Emerging Technologies Hype Cycle von Gartner auf die sich entwickelnde Mensch-Maschine-Beziehung.
Frage 3: Wie sehen Sie die Standards für Agenten? Ist der derzeitige Status der FIPA als IEEE-Gremium zufriedenstellend, oder brauchen wir etwas anderes?
Giovanni Rimassa
Normen für Agententechnologie sind im Allgemeinen genauso nützlich wie die in anderen Bereichen der Informatik und IT. Ihre Wirksamkeit hängt nicht nur von der Qualität der technischen Spezifikationen ab, sondern auch von der Unterstützung durch Konsortien, von Netzwerkeffekten und von der Möglichkeit, sie mit anderen vorherrschenden Verfahren und Technologien zu kombinieren. Für Middleware ist dieser letzte Punkt sogar noch wichtiger.
Die meisten Spezifikationen der Foundation for Intelligent Physical Agents (FIPA) waren im Jahr 2000 sinnvoll, als die Mainstream-IT die von einer Agenteninfrastruktur geforderten Konzepte noch nicht wirklich verstand; heute hat sich die Welt nicht nur weiterentwickelt, sondern ist genau in die von der FIPA propagierte Richtung gegangen. Daher wäre es sinnlos, die alten Standards nicht nur unverändert zu verwenden, sondern sogar zu versuchen, sie zu aktualisieren, um unsere eigene Variante dessen zu schaffen, was alle anderen ohnehin schon tun.
Die Unterbringung der FIPA im IEEE ist aus Sicht der Organisation und der Glaubwürdigkeit ein sehr guter Schritt, aber ich würde mir wünschen, dass die FIPA ihre ursprüngliche Aufgabe (Interoperabilität) in einer Welt neu formuliert, in der die grundlegenden Dienste von Agentenplattformen und -umgebungen bereits selbstverständlich sind. Der erste Schritt sollte eine Lückenanalyse sein: Was gibt es noch nicht, was die Realisierung von Multiagentensystemen in konkreten Anwendungen vereinfachen würde? Welche Elemente aus dieser Liste würden von einer Standardisierung durch Dritte profitieren? Andererseits konzentrierte sich die letzte und aktivste FIPA-Arbeitsgruppe, an die ich mich erinnere, auf die Methodik und den Entwurfsprozess, was ein wenig das Pferd von hinten aufzäumen scheint.
Costin Badica
Wir müssen nicht unbedingt Standards wie FIPA folgen. Ihre Verbreitung war in der „Interoperabilitäts-Ära“ populär. Ich denke, dass FIPA in Ordnung ist, aber ich denke nicht, dass mehr Standards benötigt werden.
Giancarlo Fortino
Wir haben, sagen wir, „Standards“, aber Agenten sind nicht stark in die kommerzielle oder industrielle Welt eingetaucht – brauchen wir in diesem Fall also wirklich Standards? Die FIPA ist seit der Entscheidung von Budapest 2005, sie in die IEEE zu überführen, eingefroren. Ich war – und bin immer noch – der Meinung, dass die FIPA und die Agententechnologie selbst nicht ausgereift genug waren, um in das IEEE überführt zu werden. Ich denke, wir müssen die Organisation (vielleicht mit einem anderen Namen, obwohl FIPA in der Agentengemeinschaft bereits bekannt ist) als (fast) freiwillige Bemühung neu starten, wenn wir eine kritische Masse für die Standardisierung von Agenten schaffen wollen – aber vielleicht interessiert das ja niemanden!
Lars Braubach
Standards sind immer wichtig, um die Akzeptanz einer Technologie zu fördern und die Kunden von einer möglichen Anbieterbindung zu befreien. Bei Agententechnologien befassen sich die FIPA-Standards in erster Linie mit der Kommunikation von Agent zu Agent und stellen sicher, dass verschiedene Agentenplattformen miteinander kommunizieren können. Im Jahr 2013 hat die Welt dieses Problem einfach nicht, da nur wenige Agentenanwendungen eingesetzt werden und kein weltweites Netzwerk von Agentenplattformen im Sinne von AgentCities existiert. Daher sind diese Standards für die Praxis weitgehend irrelevant. Darüber hinaus hat die Web-Services-Technologie erfolgreich Interoperabilität in verteilten Systemen erreicht. In dieser Hinsicht ist es von großer praktischer Bedeutung, dass Agentenplattformen ihre Funktionalitäten nahtlos als Webdienste auslagern und bestehende Webdienste zur Integration mit anderen Systemen nutzen können. Dazu gehören die Standard Web Service Definition Language (WSDL) sowie eine wachsende Zahl von RESTful Web Services, da große Unternehmen wie Google und Yahoo immer mehr APIs über REST anbieten. Meiner Ansicht nach wird eine neue Initiative für reine Agentenstandards nicht viel zur Verbreitung der Technologie beitragen, da sie ein unwichtiges Problem anspricht. Stattdessen brauchen wir in erster Linie Standards, die eine Integration mit etablierten Technologien vorschlagen.
Frage 4: Was fehlt noch im Bereich der Agentenplattformen, -sprachen und -werkzeuge?
Giancarlo Fortino
Wir haben eine Menge Material. Ich denke, wir müssen sie anwenden und auswerten. Natürlich müssen wir uns in der Industrie auf einen (begrenzten) Satz von Referenzmodellen und zugehörigen CASE-Tools (einschließlich einer Referenzmethodik) konzentrieren. Ich denke, dass dies der Schlüssel für eine breitere Akzeptanz der Agententechnologie ist.
Lars Braubach
Ich denke, dass mehrere Dinge fehlen – angefangen mit Agentenprogrammiersprachen, die sich eng in die gängigen objektorientierten Sprachen integrieren. Wir sollten auch industrietaugliche verteilte Infrastrukturen im Grid- und Cloud-Bereich haben, die Agententechnologien einsetzen. Vor allem im Bereich der Platform-as-a-Service (PaaS) werden neue Programmieransätze benötigt, um verteilte Anwendungen zu entwickeln. Hier könnten Multi-Agenten-Ansätze helfen, diese Lücke zu schließen. Damit verbunden ist, dass es noch immer an umfassenden Debugging- und Testansätzen und -werkzeugen für verteilte Systeme mangelt.
Costin Badica
Wir müssen an traditionellere CS-Forschung und -Methoden anknüpfen und vermeiden, die Dinge unter dem Agenten-Dach unnötigerweise neu zu erfinden – wie es AOSE oder AOP manchmal zu tun versuchen.
Giovanni Rimassa
Agentenplattformen sollten mit der zusätzlichen Einschränkung entworfen werden, die Standard-IT-Infrastruktur nicht zu verschmutzen: Sie sollten durch ihre fortschrittlichen Funktionen glänzen, aber sehr langweilig sein, was die Mechanismen angeht. Sie sollten keine Persistenz aufweisen, außer mit relationalen Datenbankmanagementsystemen oder NoSQL-Datenbanken, und keine Nachrichtenübermittlung durchführen, außer mit Java Message Service, SOAP oder RESTful Web Services. Bei den Sprachen und Werkzeugen sollte die derzeitige Forschungswelle, die versucht, Akteur- und Agentenprogrammiersprachen zusammenzubringen, verstärkt werden, mit dem Ziel, eine oder mehrere vollständige Entwicklungsumgebungen zu schaffen, die wirklich für die Massenanwendung geeignet sind. Mein persönlicher Wunsch wäre eine Akteur-/Agentensprache mit einem modernen Typensystem, das zwischen Agent, Artefakten/Diensten und Wissen/Daten unterscheidet.