einführung in die agententechnologie – forschung, implementierung und beispiele
DESCRIPTION
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) - PowerPoint PPT PresentationTRANSCRIPT
J. Bilek, Bauinformatikforum 2001 München
Einführung in die Agententechnologie – Einführung in die Agententechnologie – Forschung, Implementierung und BeispieleForschung, 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 weltweitAgentensoftware/-forschung weltweit
Kommerzielle Software
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
Akademische ProjekteAgent 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
J. Bilek, Bauinformatikforum 2001 München
Agentenforschung/-projekte in DeutschlandAgentenforschung/-projekte in Deutschland
#
#
#
#
#
#
#
#
#
#
##
#
#
#
# #
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
#
MOLE, Universität Stuttgart
ARA, Universität Kaiserslautern
BASAR, GMD, St. Augustin
WASP, TU Darmstadt
DFG-SPP1083, „Intelligente Softwareagenten und betriebswirtschaftliche Anwendungsszenarien“, ganz Deutschland
AMETAS, Universität Frankfurt
ACE, RWTH Aachen
MAGENTA, TU Berlin
AVALANCHE, Universität Freiburg
MSA, European Computing-Industry Research Center (ECRC) GmbH, München
AAPI, Fernuniversität Hagen
DFKI-Forschergruppe, Uni Saarbrücken/Kaiserslautern
J. Bilek, Bauinformatikforum 2001 München
Wichtige Quellen zur AgententechnologieWichtige 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)Foundation for Intelligent Physical Agents (FIPA)
Ergebnisse bisher:
• 93 FIPA-Spezifikationen in den Bereichen
• Kommunikation (Agent-User-Software)
• Aufbau von Agentenplattformen
• Software-Integration
• bereits implementierte, FIPA-konforme Agentensysteme3
Ergebnisse bisher:
• 93 FIPA-Spezifikationen in den Bereichen
• Kommunikation (Agent-User-Software)
• Aufbau von Agentenplattformen
• Software-Integration
• bereits implementierte, FIPA-konforme Agentensysteme3
Ziel:
Entwicklung von Software-Standards für heterogene und interaktive Agenten und agenten-basierte Systeme.
Ziel:
Entwicklung von Software-Standards für heterogene und interaktive Agenten und agenten-basierte Systeme.
1 Hewlett Packard, 2 British Telecom 3 z.B. JADE, ZEUS, FIPA-OS
Mitglieder:• Firmen: u.a. Siemens, IBM, Sun, NASA, Intel, HP1, BT2
• Universitäten: University of Helsinki, West Florida u.v.m.
Mitglieder:• Firmen: u.a. Siemens, IBM, Sun, NASA, Intel, HP1, BT2
• Universitäten: University of Helsinki, West Florida u.v.m.
Gegründet 1996, Sitz Genf, Schweiz Gegründet 1996, Sitz Genf, Schweiz
http://www.fipa.org
J. Bilek, Bauinformatikforum 2001 München
Spezifikationen der FIPASpezifikationen der FIPA
Applications
Abstract Architecture
Agent Communicatio
n
Agent Management
Agent Message Transport
u.a. FIPA Agent Software Integration Specification
u.a. FIPA Abstract Architecture Specification
Interaction Protocols
Content Languages
Communicative Acts
u.a. FIPA Contract Net Interaction Protocol Specification,
FIPA Request Interaction Protocol Specification
FIPA Communicative Act Library Specification
u.a. FIPA CCL Content Language Specification
FIPA KIF Content Language Specification
J. Bilek, Bauinformatikforum 2001 München
FIPA-Spezifikation: Agent Management Reference FIPA-Spezifikation: Agent Management Reference ModelModel
Agent Platform (AP):
• physische Infrastruktur für Agenten
Directory Facilitator (DF):
• „Yellow pages service“
• jede AP hat mindestens einen DF
Agent PlatformAgent
ManagementSystem
Message Transport System
Agent
Software
Directory Facilitator
Agent Management System (AMS):
• ein AMS je Agentenplattform
• Administration der Agentenplattform
• „Whitepages service“
Message Transport System (MTS):
• Default-Kommunikationsmechanismus
Agent Platform
Message Transport System
J. Bilek, Bauinformatikforum 2001 München
FIPA Agent Communication Language (FIPA-ACL)FIPA Agent Communication Language (FIPA-ACL)
Beispiel für eine FIPA-Message:
(inform sender:
AgentA receiver:
AgentBreply-with:id1language:anACLontology: femcontent:
(Inhalt ...))
FIPA-Sprechakte:
inform, agree, cancel, confirm, refuse, request, subscribe, propose, query, failure, u.a.
FIPA-ACL-Nachrichte
n
Agent A Agent B
Kommunikation zwischen Agent A und B
Kommunikation nach der Theorie der Sprechakte
Nachricht
Nachrichten-kopf Inhalt
Aufbau einer FIPA-Nachricht
J. Bilek, Bauinformatikforum 2001 München
FIPA-Interaction-ProtocolsFIPA-Interaction-Protocols
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
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 Request Interaction Protocol
Initiator Participant
not-understood
request
refuseX
agree
X
failure
inform-done
inform-ref
[agreed]
Initiator,Participantrequest,refuse*,not-
understood*,agree,failure*,inform-done : inform*
inform-ref : inform
J. Bilek, Bauinformatikforum 2001 München
FIPA Agent Software Integration SpecificationFIPA Agent Software Integration Specification
Zweck der Spezifikation:
“This specification defines how software resources can be described, shared and dynamically controlled in an agent community.”
Client Agent
WrapperAgent
Software System
ARB
query
invoke
Outside Scope of FIPA
Allgemeines Agenten-
Software-Integrationsszenario
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
IIOP
Wrapper Agent
Wrapper Agent
Wrapper Agent
Wrapper Agent
Wrapper Agent
Client Agent
SQL Databas
eWeb
Server
CORBA Databas
e
Java Component Server
Legacy Databas
e
Dedicated Mapping
ORB
HTTP
RMI
Beispielhaftes Szenario für Wrapper- Agenten und
Softwaresysteme
J. Bilek, Bauinformatikforum 2001 München
Beispiel: einfacher AgentenhostBeispiel: einfacher Agentenhost
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“
Agent-Runtim
e
AgentAgent-Runtim
e
Agent
ankommende mobile Agenten
abgehende mobile
Agenten
AMS
Agent-Runtim
e
Agent
GUI für Agentenhost
J. Bilek, Bauinformatikforum 2001 München
Beispiel: AgentenBeispiel: Agenten
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
Agent
ExampleACLAgent
instance of
ACLAgent ExampleAgent
instance of
J. Bilek, Bauinformatikforum 2001 München
1. Beispiel: Kommunikation mittels eines einfachen 1. Beispiel: Kommunikation mittels eines einfachen mobilen Agentenmobilen Agenten
Auftrag an mobilen Message-Agenten (über dessen GUI):- migriere zu Agentenhost 2- bringe Information „Info“ mitMessage
-AgentMessage-Agent
Agent „taucht auf“ mit Information „Info“
Ablauf des Szenarios
User A
User B
Rechner von User A
Agentenhost 1
Rechner von User B
Agentenhost 2
Socket-Verbindung
Ortswechsel
J. Bilek, Bauinformatikforum 2001 München
Mobilität auf Basis von Serialisierung und Sockets in JavaMobilität auf Basis von Serialisierung und Sockets in Java
ObjectOuputStream
MyMessageAgent-Objekt serialisieren
Agent
MessageAgent interface
Serializable implements
MyMessageAgent
instance of
Agentenhost... server = new Socket(host,port);out = new ObjectOutputStream
(new BufferedOutputStream(server.getOutputStream()));
out.writeObject(agent);out.flush();out.close(); ....
ClientSocket ServerSocket
Agentenhost
Socket client = server.accept(); ObjectInputStream in = new ObjectInputStream(
new BufferedInputStream(client.getInputStream()));
Agent agent = (Agent)in.readObject(); ...
ObjectInputStream
MyMessageAgent-Objekt deserialisieren
MyMessageAgent
J. Bilek, Bauinformatikforum 2001 München
Statisches System für FEM-BeispieleStatisches System für FEM-Beispiele
10.0 m
10
.0 m
FELT – Eingabedatei
problem descriptiontitle=„Rahmentragwerk“ nodes=5 elements=4
analysis=static
nodes1 x=0.0 y=0.0 constraint=fixed_y2 x=0.0 y=10.0 constraint=free3 x=5.0 y=10.0 constraint=free4 x=10.0 y=10.0 constraint=free5 x=10.0 y=0.0 constraint=fixed_xy
beam elements1 nodes=[1,2] material=steel2 nodes=[2,3] material=steel load=load_q3 nodes=[3,4] material=steel load=load_q4 nodes=[4,5] material=steel
material propertiessteel A=0.00285 E=21e7 Ix=142e-6
distributed loadsload_q direction=perpendicular values=(1,20)(2,20)
constraintsfixed_y Tx=U Ty=C Rz=Ufixed_xy Tx=C Ty=C Rz=Ufree Tx=U Ty=U Rz=U
end
Profilwerte
IPE 200
A = 28.5 cm2
Iz-z = 142 cm4
q=20 KN/m
Material:
ST 37-2
E = 210000 N/mm2
1
2 3 4
5
J. Bilek, Bauinformatikforum 2001 München
Ergebnis des FEM-BerechnungErgebnis des FEM-BerechnungFELT – 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
250 KNm
0 KN
100 KN 100 KN
NORMALKRAFT - ZUSTANDSLINIE
- -100 KN 100 KN
51
2 3 4
J. Bilek, Bauinformatikforum 2001 München
- öffne GUI
- zeige Ergebnis
Mobiler
Agent
2. Beispiel: FEM-Berechnung mittels eines mobilen FEM-2. Beispiel: FEM-Berechnung mittels eines mobilen FEM-AgentenAgenten
Auftrag an mobilen FEM-Agenten:- gehe zu Agentenhost auf FEM-Server- berechne Eingabedatei mit Programm „FElt“- komme zurück mit Ergebnis - zeige Ergebnis
Mobiler Agent
Ablauf des Szenarios
Rechner von User A
Agentenhost 1
FEM-Server
Agentenhost 2
Socket-Verbindung
Statiker
OrtswechselOrtswechsel
Mobiler Agent
• starte Berechnung
• warte auf Ergebnis
• gehe zurück
J. Bilek, Bauinformatikforum 2001 München
Mobiler FEM-Agent
2. Beispiel: Aufbau und Funktionsweise des mobilen FEM-2. Beispiel: Aufbau und Funktionsweise des mobilen FEM-AgentenAgenten
Inferenz-Maschine
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
Interner Zustand
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
Wissens-basis
start, cont, stop, killSensor/
Aktion Agentenhost
Agentenhost
Orts-wechsel
StatikerGUI
Lade Eingabedatei, startezeige Ergebnis
J. Bilek, Bauinformatikforum 2001 München
3. Beispiel: FEM-Berechnung mittels 2er 3. Beispiel: FEM-Berechnung mittels 2er kommunizierender FEM-Agentenkommunizierender FEM-Agenten
Auftrag an Agenten:
lasse Eingabedatei mit Programm „FElt“ berechnen
Ablauf des Szenarios
Rechner von User A
Agentenhost 1
FEM-Server
Agentenhost 2
Socket-Verbindung
User A
Agent an User A:
Ergebnis der Berechung oder Fehlermeldung
Agenten-Kommunikatio
n auf Basis von FIPA-ACL
- starte Berechnung,- warte auf Prozessende,- hole Ergebnis,- sende Ergebnis
Agenten-Kommunikatio
n auf Basis von FIPA-ACL
stationärer Agent von User
A
stationärer Wrapper-
Agent
J. Bilek, Bauinformatikforum 2001 München
Agent User A FEMWrapperKonkretisierung aus Beispiel-Kommunikation
3. Beispiel: Kommunikationsablauf3. Beispiel: Kommunikationsablauf
FEMConv
Initiator Participantinitiation
request
refuse reason
not-understood
agree
X
cancel
inform input
inform result
failure reason
X
X
3. inform input
4. inform result
1. request
(request sender: FEMRequestorAgent receiver: FEMWrapperAgent reply-with: id1 language: anACL ontology: FEM content: (-cmd felt))
Nachricht 1
2. agree
(request sender: FEMWrapperAgent receiver: FEMRequestorAgent reply-with: id2 in-reply-with:id1 language: anACL ontology: FEM content: (-action sendinputdata))
Nachricht 2
J. Bilek, Bauinformatikforum 2001 München
EndeEnde
Vielen Dank für Ihre Aufmerksamkeit !
Mirko TheißSascha AldaJochen Bilek