210 likes | 321 Views
Einführung in die Agententechnologie – Forschung, Implementierung und Beispiele. Übersicht über die Agentenforschung Agentenforschung weltweit Agentenforschung in Deutschland Wichtige Ressourcen zur Agententechnologie Foundation for Intelligent Physical Agents (FIPA)
E N D
Einführung in die Agententechnologie – Forschung, Implementierung und Beispiele Übersicht über die Agentenforschung Agentenforschung weltweit Agentenforschung in Deutschland Wichtige Ressourcen zur Agententechnologie Foundation for Intelligent Physical Agents (FIPA) Überblick über die FIPA und die FIPA-Spezifikationen FIPA Agentensystemaufbau FIPA Agentenkommunikation und Interaktionsprotokolle FIPA Software Integration Beispiele Aufbau und Funktionsweise des Beispiel-Agentensystems 1. Beispiel: Kommunikation mittels eines einfachen mobilen Agenten 2. Beispiel: FEM-Berechnung mittels eines mobilen FEM-Agenten 3. Beispiel: FEM-Berechnung mittels 2er kommunizierender Agenten J. Bilek, Bauinformatikforum 2001 München
Agentensoftware/-forschung weltweit Kommerzielle Software Akademische Projekte Agent Factory, University of Dublin, Ireland DECAF, University of Delaware, USA Gypsy, TU Wien, Österreich dMars, Inertial Science, USA MAST, TU Madrid, Spanien JATLite, Stanford University SOMA, University of Bologna, Italien JAFMAS, University of Cincinnati, USA JADE, University of Parma, Italien Retsina, Carnegie Mellon University, USA Hive, Massachusetts Institut of Technology,USA AgentBuilder, Reticular Systems, USA Voyager, Objectspace, Dallas Agentx, International Knowledge Systems Concordia, Mitsubishi Electric Aglets, IBM, Japan Bee-gent, Toshiba, Japan coAbsGrid, Globalinfothek, USA Grasshopper, IKV++, Zürich Zeus, British Telecommunications Labs Intelligent Agent Library, Bits&Pixels, Texas UMPRS, Intelligent Reasoning Systems J. Bilek, Bauinformatikforum 2001 München
Agentenforschung/-projekte in Deutschland DFG-SPP1083, „Intelligente Softwareagenten und betriebswirtschaftliche Anwendungsszenarien“, ganz Deutschland MAGENTA, TU Berlin AAPI, Fernuniversität Hagen ACE, RWTH Aachen WASP, TU Darmstadt DFKI-Forschergruppe, Uni Saarbrücken/Kaiserslautern AMETAS, Universität Frankfurt BASAR, GMD, St. Augustin ARA, Universität Kaiserslautern MOLE, Universität Stuttgart AVALANCHE, Universität Freiburg MSA, European Computing-Industry Research Center (ECRC) GmbH, München J. Bilek, Bauinformatikforum 2001 München
Wichtige Quellen zur Agententechnologie • Internet-Portale: • http://agents.umbc.edu, University of Maryland, USA • http://multiagent.com, University of South Carolina, USA • http://www.agentlink.org, EU-gefördertes Netzwerk aus 150 Teilnehmern • Konferenzen und Workshops: • „Autonomous Agents“-Konferenz, Schwerpunkt auf Entwicklung einzelner Agenten • ICMAS1, Schwerpunkt Interaktion und Koordination ganzer Agentensysteme • PAAM2, Schwerpunkt liegt auf Anwendungen der Agententechnologie • Organisationen: • Foundation for Intelligent Physical Agents (FIPA), http://www.fipa.org • GMD3-Forschungszentrum Informationstechnik GmbH , http://vki.first.gmd.de • 1 International Conference on Multi-Agent-Systems • 2 Practical Applications of Agent Technology and Multiagent Systems • 3 Gesellschaft für Mathematik und Datenverarbeitung J. Bilek, Bauinformatikforum 2001 München
Foundation for Intelligent Physical Agents (FIPA) Gegründet 1996, Sitz Genf, Schweiz • Mitglieder: • Firmen: u.a. Siemens, IBM, Sun, NASA, Intel, HP1, BT2 • Universitäten: University of Helsinki, West Florida u.v.m. Ziel: Entwicklung von Software-Standards für heterogene und interaktive Agenten und agenten-basierte Systeme. • Ergebnisse bisher: • 93 FIPA-Spezifikationen in den Bereichen • Kommunikation (Agent-User-Software) • Aufbau von Agentenplattformen • Software-Integration • bereits implementierte, FIPA-konforme Agentensysteme3 http://www.fipa.org 1 Hewlett Packard, 2 British Telecom 3 z.B. JADE, ZEUS, FIPA-OS J. Bilek, Bauinformatikforum 2001 München
Spezifikationen der FIPA Applications u.a. FIPA Agent Software Integration Specification Abstract Architecture u.a. FIPA Abstract Architecture Specification Agent Communication Agent Management Agent Message Transport Interaction Protocols • u.a. FIPA Contract Net Interaction Protocol Specification, • FIPA Request Interaction Protocol Specification Communicative Acts FIPA Communicative Act Library Specification Content Languages • u.a. FIPA CCL Content Language Specification • FIPA KIF Content Language Specification J. Bilek, Bauinformatikforum 2001 München
FIPA-Spezifikation: Agent Management Reference Model Software Agent Platform Agent Directory Facilitator Agent Management System Message Transport System Message Transport System Agent Platform • Agent Platform (AP): • physische Infrastruktur für Agenten • Agent Management System (AMS): • ein AMS je Agentenplattform • Administration der Agentenplattform • „Whitepages service“ • Directory Facilitator (DF): • „Yellow pages service“ • jede AP hat mindestens einen DF • Message Transport System (MTS): • Default-Kommunikationsmechanismus J. Bilek, Bauinformatikforum 2001 München
FIPA Agent Communication Language (FIPA-ACL) Kommunikation nach der Theorie der Sprechakte Kommunikation zwischen Agent A und B Aufbau einer FIPA-Nachricht FIPA-ACL-Nachrichten Agent A Agent B Nachrichten-kopf Beispiel für eine FIPA-Message: (inform sender: AgentA receiver: AgentB reply-with:id1 language:anACL ontology: fem content: (Inhalt ...)) Inhalt Nachricht FIPA-Sprechakte: inform, agree, cancel, confirm, refuse, request, subscribe, propose, query, failure, u.a. J. Bilek, Bauinformatikforum 2001 München
FIPA-Interaction-Protocols FIPA Request Interaction Protocol Initiator,Participant request,refuse*,not- understood*,agree,failure*, inform-done : inform* inform-ref : inform Initiator Participant request not-understood refuse X agree failure inform-done X [agreed] inform-ref FIPA Request Interaction Protocol : “The FIPA Request Interaction Protocol (IP) simply allows one agent to request another to perform some action and the receiving agent to perform the action or reply, in some way, that it cannot.” • FIPA Protokoll-Spezifikationen: • FIPA Request Interaction Protocol • FIPA Query Interaction Protocol • FIPA Contract Net Interaction Protocol • FIPA Request When Interaction Protocol • FIPA Iterated Contract Net Interaction Protocol • FIPA English Auction Interaction Protocol • FIPA Dutch Auction Interaction Protocol • FIPA Brokering Interaction Protocol • FIPA Recruiting Interaction Protocol • FIPA Propose Interaction Protocol J. Bilek, Bauinformatikforum 2001 München
FIPA Agent Software Integration Specification Allgemeines Agenten-Software-Integrationsszenario Outside Scope of FIPA ARB query Beispielhaftes Szenario für Wrapper- Agenten und Softwaresysteme invoke Client Agent WrapperAgent Software System Wrapper Agent Legacy Database Dedicated Mapping • Agent Resource Broker (ARB) Agent: • beantwortet Anfragen nach vorhandener • Software • vermittelt Software-Beschreibungen an • interessierte Agenten • Wrapper-Agenten: • bedienen Client-Agenten mit Software • besitzen direkte Schnittstelle zur Software Wrapper Agent SQL Database Client Agent Wrapper Agent Web Server Wrapper Agent Java Component Server Wrapper Agent CORBA Database RMI IIOP ORB HTTP Zweck der Spezifikation: “This specification defines how software resources can be described, shared and dynamically controlled in an agent community.” J. Bilek, Bauinformatikforum 2001 München
Beispiel: einfacher Agentenhost GUI für Agentenhost Agent-Runtime Agent-Runtime Agent-Runtime Agent Agent Agent AMS ankommende mobile Agenten abgehende mobile Agenten • Aufgaben: • Bereitstellung einer physischen Infrastruktur für Agenten (AgentRuntime) • Agenten-Management-System (AMS): • erzeugen, starten, stoppen, entfernen, etc. von Agenten • Informationen über Agenten, die sich auf dem Agentenhost aufhalten • Empfangen und Versenden von mobilen Agenten • „Whitepages“ J. Bilek, Bauinformatikforum 2001 München
Beispiel: Agenten instance of Agent ExampleAgent ACLAgent instance of ExampleACLAgent • ACL-Agenten: • Kommunikationssprache: FIPA-ACL • Kommunikationsprotokoll: Object-Transmission-Protocol (OTP) • jeder Agent besitzt einen eigenen Kommunikationskanal (Port) • Agentenhost besitzt keinen zentraler Messagerouter • Mögliche Agenten-Eigenschaften: • Autonomie • Mobilität • Delegation • Reaktivität • Proaktivität • Kommunikation J. Bilek, Bauinformatikforum 2001 München
1. Beispiel: Kommunikation mittels eines einfachen mobilen Agenten Ablauf des Szenarios User A User B • Auftrag an mobilen Message-Agenten (über dessen GUI): • migriere zu Agentenhost 2 • bringe Information „Info“ mit Agent „taucht auf“ mit Information „Info“ Message-Agent Message-Agent Agentenhost 1 Agentenhost 2 Rechner von User A Rechner von User B Ortswechsel Socket-Verbindung J. Bilek, Bauinformatikforum 2001 München
Mobilität auf Basis von Serialisierung und Sockets in Java interface Serializable MessageAgent Agent implements instance of MyMessageAgent MyMessageAgent MyMessageAgent-Objekt serialisieren MyMessageAgent-Objekt deserialisieren ObjectOuputStream ObjectInputStream ClientSocket ServerSocket Agentenhost ... server = new Socket(host,port); out = new ObjectOutputStream (new BufferedOutputStream( server.getOutputStream())); out.writeObject(agent); out.flush(); out.close(); .... Agentenhost Socket client = server.accept(); ObjectInputStream in = new ObjectInputStream( new BufferedInputStream( client.getInputStream())); Agent agent = (Agent)in.readObject(); ... J. Bilek, Bauinformatikforum 2001 München
Statisches System für FEM-Beispiele • FELT – Eingabedatei • problem description • title=„Rahmentragwerk“ nodes=5 elements=4 analysis=static • nodes • x=0.0 y=0.0 constraint=fixed_y • x=0.0 y=10.0 constraint=free • x=5.0 y=10.0 constraint=free • x=10.0 y=10.0 constraint=free • x=10.0 y=0.0 constraint=fixed_xy • beam elements • 1 nodes=[1,2] material=steel • 2 nodes=[2,3] material=steel load=load_q • 3 nodes=[3,4] material=steel load=load_q • 4 nodes=[4,5] material=steel • material properties • steel A=0.00285 E=21e7 Ix=142e-6 • distributed loads • load_q direction=perpendicular values=(1,20)(2,20) • constraints • fixed_y Tx=U Ty=C Rz=U • fixed_xy Tx=C Ty=C Rz=U • free Tx=U Ty=U Rz=U • end q=20 KN/m 2 3 4 10.0 m 1 5 10.0 m Material: ST 37-2 E = 210000 N/mm2 Profilwerte IPE 200 A = 28.5 cm2 Iz-z = 142 cm4 J. Bilek, Bauinformatikforum 2001 München
Ergebnis des FEM-Berechnung FELT – AUSGABEDATEI **Rahmentragwerk** Nodal Displacements -------------------------------------------------------------------------------------------- Node # DOF1 DOF2 DOF3 DOF4 DOF5 DOF6 -------------------------------------------------------------------------------------------- 1 0.55891 0 0 0 0 0.02795 2 0.27945 0.00167 0 0 0 0.02795 3 0.27945 0.089 0 0 0 1.331e-16 4 0.27945 0.00167 0 0 0 -0.02795 5 0 0 0 0 0 -0.02795 Element Stresses ----------------------------------------------------------------------------------------------------- 1 -100 1.1963e-14 2.1427e-14 100 -1.1963e-14 4.2855e-14 2 -3.2863e-12 -100 -4.2633e-14 3.2863e-12 9.9476e-13 -250 3 -3.2863e-12 -9.5213e-13 250 3.2863e-12 -100 -9.8836e-12 4 -100 1.0049e-12 9.8816e-12 100 -1.0049e-12 3.8469e-14 Reaction Forces --------------------------------------------------------- Node # DOF Reaction Force --------------------------------------------------------- 1 Ty -100 5 Tx -9.9707e-13 5 Ty -100 MOMENTEN - ZUSTANDSLINIE 2 3 4 + 250 KNm 1 5 NORMALKRAFT - ZUSTANDSLINIE - - 100 KN 100 KN 0 KN 100 KN 100 KN J. Bilek, Bauinformatikforum 2001 München
2. Beispiel: FEM-Berechnung mittels eines mobilen FEM-Agenten Ablauf des Szenarios Statiker • starte Berechnung • warte auf Ergebnis • gehe zurück • Auftrag an mobilen FEM-Agenten: • gehe zu Agentenhost auf FEM-Server • berechne Eingabedatei mit Programm „FElt“ • - komme zurück mit Ergebnis • - zeige Ergebnis • öffne GUI • zeige Ergebnis Mobiler Agent Mobiler Agent Mobiler Agent Agentenhost 1 Agentenhost 2 Rechner von User A FEM-Server Ortswechsel Socket-Verbindung Ortswechsel J. Bilek, Bauinformatikforum 2001 München
2. Beispiel: Aufbau und Funktionsweise des mobilen FEM-Agenten Mobiler FEM-Agent Lade Eingabedatei, starte Statiker Interner Zustand GUI zeige Ergebnis start, cont, stop, kill Inferenz-Maschine Orts-wechsel Wissens-basis Sensor/ Aktion Agentenhost • Interner Zustand des Agenten (Mentalität): • - action: aktuell ausgeführte Aktion • - destHost: Ziel-Agentenhost • homeHost: Start-Agentenhost • haltAtHost: stoppe/starte bei Ankunft am Ziel-Agentenhost • - command: auszuführender FEM-Programm-Befehl • - isMovable : TRUE=mobiler Agent, FALSE=stationärer Agent • Regeln: • - Regeln zur Aktionsreihenfolge • Aktions-Zustände: • OPEN_INPUT_GUI : öffne Dialog-GUI • GO2DEST : schließe GUI und gehe zu FEM-Server • COMPUTE : starte Berechnung und warte auf Ergebnis • GOHOME : kehre zurück • OPEN_RESULT_GUI : öffne Dialog-GUI mit Ergebnis J. Bilek, Bauinformatikforum 2001 München
3. Beispiel: FEM-Berechnung mittels 2er kommunizierender FEM-Agenten Ablauf des Szenarios User A - starte Berechnung, - warte auf Prozessende, - hole Ergebnis, - sende Ergebnis Auftrag an Agenten: lasse Eingabedatei mit Programm „FElt“ berechnen Agent an User A: Ergebnis der Berechung oder Fehlermeldung stationärer Agent von User A stationärer Wrapper-Agent Agenten-Kommunikation auf Basis von FIPA-ACL Agenten-Kommunikation auf Basis von FIPA-ACL Agentenhost 1 Agentenhost 2 Rechner von User A FEM-Server Socket-Verbindung J. Bilek, Bauinformatikforum 2001 München
3. Beispiel: Kommunikationsablauf FEMConv Agent User A FEMWrapper initiation Konkretisierung aus Beispiel-Kommunikation 1. request Initiator Participant request 2. agree refuse reason 3. inform input not-understood X agree 4. inform result cancel X inform input failure reason Nachricht 2 X inform result (request sender: FEMWrapperAgent receiver: FEMRequestorAgent reply-with: id2 in-reply-with:id1 language: anACL ontology: FEM content: (-action sendinputdata)) Nachricht 1 (request sender: FEMRequestorAgent receiver: FEMWrapperAgent reply-with: id1 language: anACL ontology: FEM content: (-cmd felt)) J. Bilek, Bauinformatikforum 2001 München
Ende Vielen Dank für Ihre Aufmerksamkeit ! Mirko Theiß Sascha Alda Jochen Bilek J. Bilek, Bauinformatikforum 2001 München