Mag Dipl Ing Dr Michael Sonntag Netzwerke und

  • Slides: 59
Download presentation
Mag. Dipl. -Ing. Dr. Michael Sonntag Netzwerke und Agenten Einführung, mobile Agenten, Arten von

Mag. Dipl. -Ing. Dr. Michael Sonntag Netzwerke und Agenten Einführung, mobile Agenten, Arten von Agenten, Übersicht E-Mail: sonntag@fim. uni-linz. ac. at WWW: http: //www. fim. uni-linz. ac. at/staff/sonntag. htm Copyright, 2002 © Michael Sonntag

? ? Fragen? ? ? Bitte gleich stellen! ? Michael Sonntag ? Netzwerke und

? ? Fragen? ? ? Bitte gleich stellen! ? Michael Sonntag ? Netzwerke und Agenten 2

Inhalt l Was sind Agenten èViele verschiedene Definitionen Warum überhaupt Agenten? l Mobilität -

Inhalt l Was sind Agenten èViele verschiedene Definitionen Warum überhaupt Agenten? l Mobilität - Was ist das? l èWas ist mobil èVorteile und Gefahren l Einteilung von Agenten èReaktiv, Deliberativ, …? l Übersicht über einige existierende Agentensysteme Michael Sonntag Netzwerke und Agenten 3

Was ist ein “Agent”? l Definitionen gibt es unzählige èJeder schafft seine eigene èAllgemein

Was ist ein “Agent”? l Definitionen gibt es unzählige èJeder schafft seine eigene èAllgemein anerkannt ist keine davon! l Verschiedenste Prioritäten èKommunikation mit anderen Entitäten èUnterstützung von Benutzern èAutonomes Handeln èIntelligenz / Expertensysteme èAktivität l Teilweise sehr inflationär verwendet! èProzess, der irgend etwas tut Soll schon Agent sein! Michael Sonntag Netzwerke und Agenten 4

Hier verwendete Definition l Alles nur in moderatem Ausmaß erforderlich: èSoftware: Keine Roboter èReaktivität:

Hier verwendete Definition l Alles nur in moderatem Ausmaß erforderlich: èSoftware: Keine Roboter èReaktivität: Sensoren für die Umwelt èAktivität: Einwirkung auf die Umwelt èProaktivität: Nicht-ausgelöste Aktionen möglich èAutonomie: Selbständige Wahl der Methode èZielorientierung: Für mehrere Ziele èKommunikativität: Austausch zwischen Agenten èInteraktivität: Kommunikation mit Anwender l Nicht: Intelligenz, Mobilität Michael Sonntag Netzwerke und Agenten 5

Notwendige Eigenschaften (1) l Autonomie: èSelbständig Entscheidungen treffen èSetzt mehrere Aktionsmöglichkeiten voraus èWichtigstes Element

Notwendige Eigenschaften (1) l Autonomie: èSelbständig Entscheidungen treffen èSetzt mehrere Aktionsmöglichkeiten voraus èWichtigstes Element l Reaktivität: èAgent nimmt seine Umwelt wahr, èund zieht Konsequenzen daraus (interner Zustand neu) èKein geschlossenes System: Input auch aus Umgebung èVerhindert das “vorprogrammieren”, da keine optimale Lösung im Vorhinein berechnet werden kann » Daher auch die Autonomie nötig! Michael Sonntag Netzwerke und Agenten 6

Notwendige Eigenschaften (2) l Aktivität: èBeeinflussung der Umwelt durch den Agenten èKein geschlossenes System:

Notwendige Eigenschaften (2) l Aktivität: èBeeinflussung der Umwelt durch den Agenten èKein geschlossenes System: Output in die Umgebung » “Umgebung” kann alles sein. Hier auf Software beschränkt. èÜber die Reaktivität führt dies zu Rückkoppelung l Zielorientierung: èÜbergeodnetes Ziel, das auf einem von mehreren Wegen (=Teilziele) erreicht werden soll èNicht fix vorgegeben; zumindest Ausgestaltung variabel èZiel bezieht sich auf die Umwelt Michael Sonntag » Aufrechterhalten, Herbeiführen oder Verhindern eines bestimmten Zustandes Netzwerke und Agenten 7

Optionale Eigenschaften (1) l Proaktivität: èInterner Zeitgeber ermöglicht Zustandsänderungen ohne Einfluß von Außen èErmöglicht

Optionale Eigenschaften (1) l Proaktivität: èInterner Zeitgeber ermöglicht Zustandsänderungen ohne Einfluß von Außen èErmöglicht vorausschauendes Handeln und Planen l Kommunikativität: èAustausch von Wissen/Plänen mit anderen Agenten èDirekt untereinander, nicht über die Umwelt èEinzelagenten sind nur selten besonders vorteilhaft » Erst Systeme von Agenten bringen charakteristische Vorteile! èVerwenden spezielle Sprachen Michael Sonntag » Je nach Ausgabengebiet / Zweck / Implementierung / … » Siehe später im Detail! Netzwerke und Agenten 8

Optionale Eigenschaften (2) l Interaktivität: èDirekte Kommunikation mit dem Benutzer èVereinfachung der Situation (

Optionale Eigenschaften (2) l Interaktivität: èDirekte Kommunikation mit dem Benutzer èVereinfachung der Situation ( Autonomie) èEv. indirekt über andere Agenten (Kommunikativität) èAuf hoher Ebene, wenig Details l Mobilität: èVerlegung der kompletten Berechnung an anderen Ort èDaten + Zustand (+ Programm) werden transferiert èErfolgt auch durch Agenten selbst èSiehe Lokalitätsprinzip sowie später! Michael Sonntag Netzwerke und Agenten 9

Optionale Eigenschaften (3) l Robustheit: èManchmal Unterpunkt von Autonomie èIst ein Lösungsweg versperrt, wird

Optionale Eigenschaften (3) l Robustheit: èManchmal Unterpunkt von Autonomie èIst ein Lösungsweg versperrt, wird ein anderer versucht èSinnvoller Umgang mit unerwarteten Zuständen » Sowohl innherhalb: Programm- / Systemfehler » Als auch außerhalb: Umgebung èDamit untrennbar verbunden: Effizienzverlust » Mangelnde Spezialisierung èAuch großer Einfluß des Software-Engineering hierauf èNicht alles kann berücksichtigt werden, daher müssen auch Standard-Reaktionen (“Flucht” zum Benutzer, aufgeben) implementiert werden Michael Sonntag Netzwerke und Agenten 10

Optionale Eigenschaften (4) l Intelligenz: èWichtiger Punkt zur Erreichung anderer Elemente » Insbesondere Autonomie,

Optionale Eigenschaften (4) l Intelligenz: èWichtiger Punkt zur Erreichung anderer Elemente » Insbesondere Autonomie, Robustheit, Zielorientierung èGrößter Streitpunkt: Wieviel ist nötig èReicht von fest programmiert bzw. einfachen Regeln bis hin zu Expertensystemen èMachmal auch nur “emergent behavior” » Durch Zusammenspiel “dummer” Elemente entsteht Intelligenz èGrößere Intelligenz beeinflußt manches negativ » Mobilität, Reaktionszeit, Robustheit (fehleranfällig), . . . Michael Sonntag Netzwerke und Agenten 11

Was ist KEIN Agent: (1) l Prozesse: èEines der Grundkonzepte, mit denen Agenten implementiert

Was ist KEIN Agent: (1) l Prozesse: èEines der Grundkonzepte, mit denen Agenten implementiert werden èAgentenmobilität Prozessmobilität » Verteiltes Betriebssystem ist noch kein System von Agenten! l Objekte: èMethoden werden einfach aufgerufen » Agenten nehmen Wünsche entgegen èDas Objekt hat keinen Einfluß darauf » Agenten entscheiden: Jetzt, später oder gar nicht ausführen èAgenten überprüfen Berechtigungen in der Regel selbst Michael Sonntag Netzwerke und Agenten 12

Was ist KEIN Agent: (2) l Applets: èKönnen Agenten sein, aber meist nicht »

Was ist KEIN Agent: (2) l Applets: èKönnen Agenten sein, aber meist nicht » Sandbox verhindert Kontakt zur Umwelt » Downloadgröße verhindert Autonomie und Intelligenz l Expertensysteme: èSehr intelligent, aber fast nie Autonomie èKeine Verbindung zur Umwelt èWichtige Grundlage (Methoden bzw. intelligente Agenten) l PDAs: èHardwaregeräte alleine sind keine Agenten èDarauf können jedoch Agenten implementiert werden Michael Sonntag Netzwerke und Agenten 13

Was ist KEIN Agent: (3) l Hilfesysteme (aka “Office Agent”): èKeine Intelligenz, eher Such-Schnittstelle

Was ist KEIN Agent: (3) l Hilfesysteme (aka “Office Agent”): èKeine Intelligenz, eher Such-Schnittstelle èUser-Interface und Usability wichtig èAutonomie eher unerwünscht! l Suchmaschinen: èSuchmaschine selbst: Autonomie? Intelligenz? Aktivität? èSpider, etc. sind meist normale Programme » » Michael Sonntag Eine Vielzahl von Prozessen wird gestartet Diese führen alle exakt das gleiche Programm aus Einziger Unterschied: Andere URLs Intelligenz? Aktivität? Robustheit? Autonomie? . . . Netzwerke und Agenten 14

Was ist KEIN Agent: (4) l Sehr vieles wird als Agent bezeichnet, weil. .

Was ist KEIN Agent: (4) l Sehr vieles wird als Agent bezeichnet, weil. . . èMarketinggründe: Gutes Assoziationen è“Neu” und “aktuell” èKlingt besser èIntelligenz ist bei Programmen immer gewünscht è…. Aber nur sehr weniges ist wirklich ein Agent! Michael Sonntag Netzwerke und Agenten 15

Warum überhaupt Agenten verwenden? l Programmierer-Sicht èAgenten können als Fortsetzung der objektorientierten Programmierung gesehen

Warum überhaupt Agenten verwenden? l Programmierer-Sicht èAgenten können als Fortsetzung der objektorientierten Programmierung gesehen werden » Aggregation auf noch höherer Ebene: Ganze Aufgaben » Ao. E: Agent-oriented Engineering èAugenmerk weniger auf konkrete Implementierung, als auf Interaktion der Elemente » Schnittstelle unwichtiger: Implementation weniger wichtig » Protokolle bedeutender: Interoperabilität wird verbessert èWeitere Abstraktionsschicht erleichert Großsysteme » Aufteilung in selbständige Sub-Aufgaben » Leichte Auswechselbarkeit dieser Michael Sonntag Netzwerke und Agenten 16

Warum überhaupt Agenten verwenden? l Anwender-Sicht èIntelligente Systeme sollen die Details abnehmen èAutonome Ausführung:

Warum überhaupt Agenten verwenden? l Anwender-Sicht èIntelligente Systeme sollen die Details abnehmen èAutonome Ausführung: Nicht alles spezifizieren müssen èRobustheit: Schwierigkeiten selbständig umgehen èMobilität erleichtert Verbindungsunterbrechungen èMischung zwischen Server- und Client-computing » Je nach augenblicklichem Bedarf kann verschoben werden èSelbständiges Lernen erleichtert die Konfiguration Michael Sonntag Netzwerke und Agenten 17

Das Lokalitätsprinzip l Daten dort verarbeiten, wo sie anfallen, entstehen oder gelagert sind èTransfer

Das Lokalitätsprinzip l Daten dort verarbeiten, wo sie anfallen, entstehen oder gelagert sind èTransfer der Verarbeitung zu den Daten statt umgekehrt Sinnvoll nur, wenn Ergebnisse geringeren Umfang haben (oder wertvoller sind) als die Anfangsdaten l Lokalitätsprinzip für Programme: l èNicht so strikt einzuhalten, nicht immer günstig èBeispiele: Ausnutzen von schnellen Spezialrechnern Transferkosten beachten! l Lokalität als Entwurfsmuster: Daten = Ort = Aufgabe = Programmteil l Michael Sonntag Netzwerke und Agenten 18

Erwartete Vorteile (1) l Automatische Personalisierung: èWiederholte Aktionen erkennen und vorschlagen bzw. selbst durchführen

Erwartete Vorteile (1) l Automatische Personalisierung: èWiederholte Aktionen erkennen und vorschlagen bzw. selbst durchführen èAnpassung an die Erfahrung des Benutzers èÜber mehrere Aufgaben hin Benutzerwünsche zusammenführen l Selbständige Anpassung an die Aufgabe: èLösungswege nach Erfahrung priorisieren èVorschläge für Toleranzwerte für Ergebnisse » z. B. nach der gefundenen Preisbandbreite » z. B. nach komplexeren Strategien (90 % Festplatte voll ist bei 1 GB gut; bei 20 GB aber sinnlos!) Michael Sonntag Netzwerke und Agenten 19

Erwartete Vorteile (2) l Erfahrungsaustausch zwischen Agenten: èAuf Daten-, Informations- und Wissenesebene èNeue oder

Erwartete Vorteile (2) l Erfahrungsaustausch zwischen Agenten: èAuf Daten-, Informations- und Wissenesebene èNeue oder bessere Lösungswege èProblem: Erkennen von (absichtlich) falschen Daten l Anpassung an die Umwelt: èAutomatische Konfiguration von Adaptern » z. B. bei XML nach Schemata èSelbständiges Nachladen von neuen/anderen Modulen èVerlagerung auf andere Rechner (näher/geringer belastet) Michael Sonntag Netzwerke und Agenten 20

Erwartete Vorteile (3) l Selbsttätige Konfiguration: èSelbständiger Zusammenschluß zu einem System èKommunikationsverbindungen automatisieren »

Erwartete Vorteile (3) l Selbsttätige Konfiguration: èSelbständiger Zusammenschluß zu einem System èKommunikationsverbindungen automatisieren » Naming- & Directory Services, Verhandlungen, … èSuchen von Alternativen bei Ausfall von Elementen l Gruppierung auf höherer Ordnung: èObjekte sind nur bis zu gewisser Größe sinnvoll èAgenten erlauben Gruppierung auf noch höherer Ebene èNoch abstrakter: Größere Aufgaben zusammenfassen » Genaue Spezifikation der Schnittstelle nicht mehr nach Programmiersprache, sondern Sprach-orientierter (Daten; ACL) Michael Sonntag Netzwerke und Agenten 21

Erwartete Vorteile (4) l Verbesserte Code-Wiederverwendung: èObjektorientierung 2 èWeniger Implementation-Spezifikation (OO), als vielmehr Aufgaben-Spezifikation

Erwartete Vorteile (4) l Verbesserte Code-Wiederverwendung: èObjektorientierung 2 èWeniger Implementation-Spezifikation (OO), als vielmehr Aufgaben-Spezifikation (Agenten) mit flexibler Interaktion » Verhalten beschreiben und nicht Schnittstelle » Mehr Dynamik als bei Objekten èSelbstbeschreibungsfähigkeit » Ermöglicht selbsttätige Konfiguration und erleichtert Wiederverwendung » Gruppierung nach der Aufgabe als Grundlage èSelbständigere Elemente » Siehe Vergleich Objekte Agenten! Michael Sonntag Netzwerke und Agenten 22

Anwendungsgebiete: Informationssammlung l Gewünschtes Ergebnis meist mehrere Teile èDiese müssen einzeln gesucht und kombiniert

Anwendungsgebiete: Informationssammlung l Gewünschtes Ergebnis meist mehrere Teile èDiese müssen einzeln gesucht und kombiniert werden l Initiale Suche in verschiedenen Quellen èWWW-Suchmaschinen, Newsgruppen, Datenbanken, . . . l Ausfiltern veralteter/ungültiger/falscher Ergebnisse èVerwendet z. B. Ähnlichkeitsmaße l Zusammenstellung zur Benutzerpräsentation èPriorisierung, Gruppierung; Caching l Vorteil von Agenten: Selbständige Durchführung èAufteilung auf mehrere Agenten möglich (Parallelität) Michael Sonntag Netzwerke und Agenten 23

Anwendungsgebiete: Informationsfilterung l “Persönlicher Assistent” / Personalisierung èE-Mail Filterung: Weiterleiten, Löschen, Dringlichkeit èTerminvereinbarungen: Sehr

Anwendungsgebiete: Informationsfilterung l “Persönlicher Assistent” / Personalisierung èE-Mail Filterung: Weiterleiten, Löschen, Dringlichkeit èTerminvereinbarungen: Sehr weit fortgeschritten èBuch/Musik - Auswahl: Siehe z. B. Amazon. com l Augenmerk hier auf Zusammenarbeit èWeniger automatisches ausführen als vorbereiten » Korrektheitsquote noch relativ niedrig, daher oft Fehler! èZusammenarbeit ermöglicht beobachten des Benutzers » Lernen aus dessen Aktionen l Problem: Vielen one-time-only Aufgaben èAgenten brauchen daher viel “Allgemeinwissen”! Michael Sonntag Netzwerke und Agenten 24

Anwendungsgebiete: Beratung l Mischung aus Informatiossammlung und -filterung èVerwendet oft Expertensysteme / KI èWichtiges

Anwendungsgebiete: Beratung l Mischung aus Informatiossammlung und -filterung èVerwendet oft Expertensysteme / KI èWichtiges Element: Begründung der Ergebnisse èRobustheit besonders wichtig » Fehlende Daten, unpassende (falsche? ) Einzeldaten, … èSpezialisierung von Agenten auf Teilaufgaben » Kein integriertes Gesamtsystem: Leichter wartbar / änderbar l Beispiel: Portfolio Management èVerschiedene Strategien verschiedene Agenten èGroße Datenmenge gleichzeitig mehrere Agenten èProblem dadurch: Widersprüchliche Ergebnisse Michael Sonntag Netzwerke und Agenten 25

Anwendungsgebiete: Groupware l Regelmäßige Überprüfung/Beaobachtung von Daten und Notifikation von Benutzern èZusammenfassung der Änderungen

Anwendungsgebiete: Groupware l Regelmäßige Überprüfung/Beaobachtung von Daten und Notifikation von Benutzern èZusammenfassung der Änderungen èKomplexe Hinweisvorgänge (z. B. SMS) Integration anderer Systeme durch Kapselung l “Socialware”: Eigene Gruppe, aber ähnlich l èHilfe für lose Gruppe von Benutzern » Schaffung interner Organisation, Kommunikationsvorschläge, … » Beispiel: Finden von Experten, Einteilung in Arbeitsgruppen èAgenten: Personen-“Stellvertreter” und “Treffpunkte” l Leichte Erweiterbarkeit/Skalierung Michael Sonntag Netzwerke und Agenten 26

Anwendungsgebiete: E-Commerce allgemein l Einsatz insbes. für Käufer: Vergleichsagenten èStandardisierte Güter mit wenigen Verkäufer-Kriterien

Anwendungsgebiete: E-Commerce allgemein l Einsatz insbes. für Käufer: Vergleichsagenten èStandardisierte Güter mit wenigen Verkäufer-Kriterien èBeobachtung von Verbrauch kann integriert werden èAgenten sind nicht auf Zusammenarbeit angewiesen » Informationen aus Webseiten filtern statt Datenanbindung l Problem: Bezahlung durch Agenten selbst èHervorragender Angriffspunkt, daher eher nur lokal èNur vertrauenswürdige Firmen: B 2 B und Kooperation l Mehr rationaler Vorgang der Beschaffung èSchon die genaue Definition der Kriterien oft hilfreich! Michael Sonntag Netzwerke und Agenten 27

Anwendungsgebiete: E-Commerce Auktionen l Teilweise sehr beliebt, teilweise verboten èIntegrierte “Agenten” zum Mitbieten èExterne

Anwendungsgebiete: E-Commerce Auktionen l Teilweise sehr beliebt, teilweise verboten èIntegrierte “Agenten” zum Mitbieten èExterne Agente zum bieten in letzter Sekunde l Sinnvolle Anwendung z. B. bei mehreren Auktionen èDrei Angebote, nur eines davon benötigt Gefahr: Dead-/Livelocks (Kontinuierliches bieten) l Große Verbreitung wegen geringer notwendiger Intelligenz für brauchbare Resultate l Michael Sonntag Netzwerke und Agenten 28

Anwendungsgebiete: Produktionssteuerung l Design-Koordination von Teilelementen èViele Abhängigkeiten und übergreifende Vorgaben èMarkt-Mechanismen » z.

Anwendungsgebiete: Produktionssteuerung l Design-Koordination von Teilelementen èViele Abhängigkeiten und übergreifende Vorgaben èMarkt-Mechanismen » z. B. “Verkauf” von Gewicht gegen Strom, … l Simulation komplexer Systeme èIntegration analog zu physikalischen Systemen l Kontrolle von Produktions-Systemen èRessourcen, Teile, Prozesse: Eigene Agenten » Umkonfiguration leichter l Fracht-Logistik » Vollkommene Planung praktisch unmöglich Michael Sonntag Netzwerke und Agenten 29

Anwendungsgebiete: Telekommunikation Agenten bereits verbreitet l Natürliche Verteilung: Leitungen, Vermittlungen, … l Keine Kommunikation

Anwendungsgebiete: Telekommunikation Agenten bereits verbreitet l Natürliche Verteilung: Leitungen, Vermittlungen, … l Keine Kommunikation möglich bei Problemen l èAutonome Lösung nötig! l Hauptaufgaben: èFinden und Aufbauen von Leitungen bei komplexen Anforderungen (z. B. Dienstqualität) èFehlerbehebung durch Rekonfiguration l Wichtig: Expertensysteme, Robustheit, Autonomie Michael Sonntag Netzwerke und Agenten 30

Anwendungsgebiete: Entertainment l Simulation von Gegnern èSiehe KI! l Avatare (Künstliche Persönlichkeiten) èSiehe HCI!

Anwendungsgebiete: Entertainment l Simulation von Gegnern èSiehe KI! l Avatare (Künstliche Persönlichkeiten) èSiehe HCI! l Beratung bei der Auswahl von Freizeitaktivitäten Michael Sonntag Netzwerke und Agenten 31

Mobilität (1) l Daten-Mobilität èTransfer von Daten: Üblich, hier nicht weiter interessant l Code-Mobilität

Mobilität (1) l Daten-Mobilität èTransfer von Daten: Üblich, hier nicht weiter interessant l Code-Mobilität èTransfer des Programmcodes » Remote Loading/Execution: Applets èTransfer der Programmausführung » Programm läuft auf einem Rechner und wird auf anderem fortgesetzt; Programmcode existiert oder wird mitgenommen èErfordert: Wiederherstellen von Programm, Heap, Stack, Daten, Kommunikationsbeziehungen » Sehr komplex, benötigt auch Betriebssystem-Unterstützung Michael Sonntag Netzwerke und Agenten 32

Mobilität (2) l Schwache Mobilität èProgrammcode und Daten werden übertragen èAgent ist selbst zuständig,

Mobilität (2) l Schwache Mobilität èProgrammcode und Daten werden übertragen èAgent ist selbst zuständig, an der korrekten Adresse weiterzumachen » Stack und PC, Register werden nicht übertragen èRelativ einfach l Starke Mobilität èNormales Statement für Verlagerung: Nach Transfer wird beim nächsten Statement weitergearbeitet èAlles wird übertragen èSehr kompliziert Michael Sonntag Netzwerke und Agenten 33

Mobilität: Vorteile èSoftware-Verteilung: Austausch/Erweiterung einfach èLastausgleich: Netzwerksbelastung-Verringerung » Gleichmäßige Verteilung der Belastung auf mehrere

Mobilität: Vorteile èSoftware-Verteilung: Austausch/Erweiterung einfach èLastausgleich: Netzwerksbelastung-Verringerung » Gleichmäßige Verteilung der Belastung auf mehrere Server èBeschleunigung: Kommunikationsdauer verkleinern èVerbindungsunterbrechung: Keine Dauerverbindung » Beispiel: PDAs èProtokoll-Kapselug: Protokollwechsel durch Agententausch èRobustheit: “Flucht” auf andere Rechner möglich » Nur bei Bedarf, daher kein Hot-Standby nötig Siehe auch allgemeine Vorteile von Agenten oben! Michael Sonntag » Insbesondere Lokalitätsprinzip Netzwerke und Agenten 34

Mobilität: Gefahren (1) l Komplexität: èNicht nur Implementierung sondern auch Verwendung » Abschätzung wann

Mobilität: Gefahren (1) l Komplexität: èNicht nur Implementierung sondern auch Verwendung » Abschätzung wann wohin oft schwierig èErfordert Anpassung vieler anderer Elemente » Temporäre Speicher, Kommunikation, UI, Fehlen von Soft- oder Hardware-Features, Wiederaufsetzen bei schwacher Mob. , . . . l Wie kontaktiere/kontrolliere ich entfernte Agenten? èBenutzer muß erfahren wo seine Agente sind èBenutzer muß sie auch noch kontrollieren können » Zumindest “heimholen” muß möglich sein! l Verlust von Agenten èWas, wenn Agent nicht mehr zurückkehren kann? Michael Sonntag Netzwerke und Agenten 35

Mobilität: Gefahren (2) l Sicherheit: Server èGefahr von unbekanntem Code, der hier ausgeführt wird

Mobilität: Gefahren (2) l Sicherheit: Server èGefahr von unbekanntem Code, der hier ausgeführt wird èGefahr für eine Server-Gruppe: Einzel-Last gering, insgesamt groß (z. B. dauernder Transfer im Kreis) l Sicherheit: Agenten èVor anderen Agenten: Neue Umgebung durch neue Ag. èDiskriminierung: Einzelne Agenten schlechter behandeln èVor dem Rechner: Rechner kontrolliert Agenten komplett » Ohne sichere Hardware kein verläßlicher Schutz möglich! » Für kurze Zeitspannen Schutz möglich – “Entschlüsselung” des Agenten im Nachhinein aber möglich Michael Sonntag Netzwerke und Agenten 36

Mobilität: Begriffe l Place (=Platz): èWo sich ein mobiler Agent aufhalten kann » Meist

Mobilität: Begriffe l Place (=Platz): èWo sich ein mobiler Agent aufhalten kann » Meist nach Zweck abgegrenzt und eigener Name/Adresse èSoftwareumgebung mit Transfer-Unterstützung l Agentsystem: Wie oben (Basissystem) èEin AS kann mehrere Plätze enthalten » z. B. Sicherheits-Trennung oder versch. Aufgaben l Mobile Agent (=Mobiler Agent): èAgent, der sich nicht nur potentiell, sondern in bestimmten Fällen tatsächlich verlagert Michael Sonntag Netzwerke und Agenten 37

Mobilität: Grundsätzlicher Aufbau l Art eigenes Betriebssystem (bzw. neue Schicht) èStellt Dienste zur Feststellung

Mobilität: Grundsätzlicher Aufbau l Art eigenes Betriebssystem (bzw. neue Schicht) èStellt Dienste zur Feststellung bzw. Neusetzen von Prozesszuständen bereit èJedoch kein verteiltes Betriebssystem » Dieses transportiert Prozesse transparent zu anderen CPUs » Agenten: Nicht transparent; mehr als nur Prozesse l Verschiedene Modelle/Standards èOft: Jeweils die eigene Idee/Format èStandardisiert z. B. MASIF » Mobile Agent System Interoperability Facilities Specification Michael Sonntag Netzwerke und Agenten 38

Mobilität: Grundsätzlicher Aufbau l Erforderliche Elemente: èErzeugen von Agenten èLaden benötigter Klassen » Lokal

Mobilität: Grundsätzlicher Aufbau l Erforderliche Elemente: èErzeugen von Agenten èLaden benötigter Klassen » Lokal oder Remote èAuflisten von Plätzen/Agenten » Nur lokal; kein echter Namensdienst! èSenden/Empfangen von Agenten èLebenszyklus von Agenten » Terminate, Inquire, (Suspend, Resume) l Sicherheitselemente: Sehr wichtig! èWoher/Was für ein Code? Daten unverändert? . . . Michael Sonntag Netzwerke und Agenten 39

Mobilität: Wichtige Elemente l Namensdienst: èFinden von Agentensystemen und Plätzen (oder Agenten) l Code-Transfer:

Mobilität: Wichtige Elemente l Namensdienst: èFinden von Agentensystemen und Plätzen (oder Agenten) l Code-Transfer: èWoher/Wie wird der Programmcode geladen? èNur wenn benötigt oder immer aller Code eines Agenten? èSonstige Resourcen (UI: Bilder, …)? l State store & restore: èStarke/schwache Mobilität èTransparente Kommunikation? èWas wird alles automatisch mitgenommen? Michael Sonntag Netzwerke und Agenten 40

Mobilität: Kommunikation l Nachverfolgung über mehrere Stufen nötig » Agent geht sonst “verloren”, wenn

Mobilität: Kommunikation l Nachverfolgung über mehrere Stufen nötig » Agent geht sonst “verloren”, wenn er während einer Kommunikation eine Verlagerung durchführt! l Möglichkeiten: èNamensdienst » Zentrales Register, wo welcher Agent ist – Problem: Updates nötig, bei jedem Sendeproblem nachfragen nötig èWeiterleitung » “Alter” Server leitet an “Neuen” und Sender weiter – Problem: Falls “alter” Server nicht mehr aktiv ist èManuell » Problem der Identifikation (sonst Hijacking sehr leicht!) Michael Sonntag Netzwerke und Agenten 41

Einteilung von Agenten Simpel - Intelligent l “Intelligenz” beruht hauptsächlich auf èReaktivität: Reflexe +

Einteilung von Agenten Simpel - Intelligent l “Intelligenz” beruht hauptsächlich auf èReaktivität: Reflexe + langfristige Planung èProaktivität: Vorausschauende Handlungen èAutonomie: Selbständige Entscheidungsfindung » Handlungsalternativen feststellen und bewerten » Reihenfolge / Kombination auswählen » Durchführen und Beobachten sowie Änderungen durchführen l Intelligenz ist zwar wünschenswert, aber oft sehr schwer zu realisieren èBegrenzte Aufgaben: Sehr gute Ergebnisse möglich! èAgenten sind eher Spezialisten als Universalisten Michael Sonntag Netzwerke und Agenten 42

Einteilung von Agenten Stationär - Mobil l Stationäre Agenten: Programmcode bleibt lokal èDaten von

Einteilung von Agenten Stationär - Mobil l Stationäre Agenten: Programmcode bleibt lokal èDaten von anderen Rechnern; eventuell remote gestartet l Mobile Agenten: Ausführungsprozess wandert èKann eigenständig oder auf Benutzerinteraktion erfolgen l Nicht unbedingt Eigenschaft des Agenten, sondern oft eine des Agentensystems èMobiler Agent KANN auch lokal bleiben! Siehe Abschnitt über Mobilität! Michael Sonntag Netzwerke und Agenten 43

Einteilung von Agenten Einzelagenten - MAS Agent = Einzelner Agent l Agentensystem = Basisprogramm,

Einteilung von Agenten Einzelagenten - MAS Agent = Einzelner Agent l Agentensystem = Basisprogramm, das es Agentern erlaubt, auf einem Rechner ausgeführt zu werden l èArt weitere Betriebssystemschicht èBasisumgebung, die Agentendienste bereitstellt » E: Agentsystem l System von Agenten = Mehrere Agenten die zusammen eine gemeinsame Aufgabe erfüllen » E: MAS (= Multi Agent System) èMüssen zusammenarbeiten und kommunizieren » Sonst nur ein “Haufen” von Agenten Michael Sonntag Netzwerke und Agenten 44

Einteilung von Agenten Gleichordnung-Hierarchie l Art der Hierarchie zwischen Agenten èGleichartige Bedingungen für alle

Einteilung von Agenten Gleichordnung-Hierarchie l Art der Hierarchie zwischen Agenten èGleichartige Bedingungen für alle » Arbeit im Auftrag anderer Agenten hier egal èEinige Agenten werden bevorzugt » Durch das Agentensystem: Berechtigungen, Möglichkeiten, … èErzeugungshierarchie: » “Kinder”-Agenten für Subaufgaben èWeisungshierarchie: » Berechtigung für Befehle (“Trusted” Agenten, Benutzeragenten) l Hierarchie je nach Design des MAS èHängt großteils von der Aufgabe ab Michael Sonntag Netzwerke und Agenten 45

Einteilung von Agenten Kooperation/Koexistenz (1) l Kooperativ: » In der Regel in geschlossenen Systemen

Einteilung von Agenten Kooperation/Koexistenz (1) l Kooperativ: » In der Regel in geschlossenen Systemen èJeder Agent hilft Anderen, auch falls für ihn nachteilig èBeste Ergebnisse, sofern die Kooperation gut geplant ist l Wettbewerb: » Als Designelement; ev. nur in bestimmten Bereichen èWird nur verwendet, wenn Kooperativ nicht möglich ist » Da etwa zu kompliziert (z. B. Unberechenbar) » Widersprechende Interessen, aber genaue Kontrolle èJeder Agent versucht, seinen Nutzen zu maximieren èKeine absichtliche Schädigung anderer Michael Sonntag Netzwerke und Agenten 46

Einteilung von Agenten Kooperation/Koexistenz (2) l Aggresiv: » In der Regel bei offenen Systemen

Einteilung von Agenten Kooperation/Koexistenz (2) l Aggresiv: » In der Regel bei offenen Systemen èWenn keine Annahmen/Kenntnis über Teilnehmer èEigene Nutzenmaximierung èSchaden für andere egal, ausnützen oder Ziel èGroße Auswirkungen auf Agentensystem und MAS! » Sicherheitsvorkehrungen und Beweissicherung nötig èErgebnisse immer suboptimal im Verhältnis zum erforderlichen Ressourceneinsatz! Michael Sonntag Netzwerke und Agenten 47

Innerer Aufbau: Reaktiv Eingangswerte werden direkt in Ausgangswerte umgewandelt; kein innerer Zustand l Rein

Innerer Aufbau: Reaktiv Eingangswerte werden direkt in Ausgangswerte umgewandelt; kein innerer Zustand l Rein reizorientiertes Verhalten l Intelligenz entsteht durch große Agentenzahl und Interaktion über die Umwelt (“Ameisen”) l Gute Ergebnisse in manchen Bereichen, aber sehr schwierige Planung! l Michael Sonntag Netzwerke und Agenten 48

Innerer Aufbau: Deliberativ (1) Agent besitzt internes Weltmodell l Reflektives Verhalten: Kennt eigene Fähigkeiten

Innerer Aufbau: Deliberativ (1) Agent besitzt internes Weltmodell l Reflektives Verhalten: Kennt eigene Fähigkeiten l Annahmen über andere Agenten (wie selbst) l Pläne werden erstellt und dann über einen gewissen Zeitraum ausgeführt l Heißen auch BDI-Agenten: l èBelief: Eigene Ansichten; Vorstellung von der Umwelt èDesire: Gewünschter Umgebungszustand; Ziele » Inkonsistenzen erlaubt (Goals: Annahme der Erreichbarkeit) èIntention: Kurzfristige Ziele (Einzelschritte) Michael Sonntag Netzwerke und Agenten 49

Innerer Aufbau: Deliberativ (2) Michael Sonntag Netzwerke und Agenten 50

Innerer Aufbau: Deliberativ (2) Michael Sonntag Netzwerke und Agenten 50

Innerer Aufbau: Hybrid (1) Kombination reaktiven und deliberativen Verhaltens l Reaktive “Reflexe” für einfache/Notfalls-Situationen

Innerer Aufbau: Hybrid (1) Kombination reaktiven und deliberativen Verhaltens l Reaktive “Reflexe” für einfache/Notfalls-Situationen (schnelle Reaktion, einfache Ausführung) l Deliberative Planung für komplexere Aufgaben l Schichtweise aufgebaut: l èWeltmodell und Verhaltensschicht: Sehr konkret (Reaktiv) èMentales Modell und lokale Planungsschicht: Abstrakteres Wissen, eigene Pläne (Deliberativ) èSoziales Modell und kooperative Planungsschicht: Wissen nur mehr über andere Agenten und deren Pläne, Abstimmung mit anderen Agenten (Deliberativ/Reflexiv) Michael Sonntag Netzwerke und Agenten 51

Innerer Aufbau: Hybrid (2) Michael Sonntag Netzwerke und Agenten 52

Innerer Aufbau: Hybrid (2) Michael Sonntag Netzwerke und Agenten 52

Überblick über einige Agentensysteme l Subjektive Auswahl: Es existiert eine große Anzahl mit jeweils

Überblick über einige Agentensysteme l Subjektive Auswahl: Es existiert eine große Anzahl mit jeweils (teilweise völlig) verschiedenen Schwerpunkten! èAglets: IBM Japan èGrasshopper: IKV Technologies AG èVoyager: Recursion Software Inc. (Früher: Object. Space) èHive: MIT Media Lab èJini: Java-Erweiterung (Sun) èMole: Universität Stuttgart (IPVR) Michael Sonntag Netzwerke und Agenten 53

Aglets Forschungsprojekt (jetzt inaktiv) l Komplett in Java (1. 1. x) geschrieben l Framework

Aglets Forschungsprojekt (jetzt inaktiv) l Komplett in Java (1. 1. x) geschrieben l Framework für mobile Agenten l èProxy-Objekte zum Weiterreichen von Nachrichten für transferierte Agenten Sicherheitsfunktionen nur rudimentär l Eigene Synchronisationskonzepte l Agententransfer nach OMG/MASIF oder proprietär l http: //www. trl. ibm. co. jp/aglets, http: //aglets. sourceforge. net/ l Michael Sonntag Netzwerke und Agenten 54

Grasshopper Kommerzielles System l Basiert auf Java l Strenge Trennung stationäre mobile Agenten l

Grasshopper Kommerzielles System l Basiert auf Java l Strenge Trennung stationäre mobile Agenten l Automatisches Agentenverzeichnis l Persistenz für längere Zeit inaktive Agenten l Kommunikation über Methodenaufruf l Sicherheitsmodell analog zu Java 2 l http: //www. grasshopper. de l Michael Sonntag Netzwerke und Agenten 55

Voyager Kommerzielles System l Eigentlich ein ORB für CORBA l èAgenten-Erweiterungen als Zusatz Basiert

Voyager Kommerzielles System l Eigentlich ein ORB für CORBA l èAgenten-Erweiterungen als Zusatz Basiert auf Java l Kommunikation über Methodenaufruf l èAuch Broad- und Multicasts möglich èTransparent: Egal ob lokal oder entfernt! l Verteilte GC und Transaktionsunterstützung l http: //www. recursionsw. com/products/voyager. asp Michael Sonntag Netzwerke und Agenten 56

Hive Forschungsprojekt (jetzt inaktiv) l Lokale Dienste werden als Shadows angeboten l èArt Agenten

Hive Forschungsprojekt (jetzt inaktiv) l Lokale Dienste werden als Shadows angeboten l èArt Agenten zweiter Klasse (z. B. immobil, kein Thread) Kein Sicherheitssystem enthalten l Agenten besitzen Selbstbeschreibungsfähigkeit l èImplementiert in XML èAgent kann zur Laufzeit die eigene Beschreibung ändern Matching-Service um passenden Agenten zu finden l http: //www. hivecell. net/ l Michael Sonntag Netzwerke und Agenten 57

Jini Klassenbibliothek für verteiltes Programmieren l Teil von Java l “Services” können auch Agenten

Jini Klassenbibliothek für verteiltes Programmieren l Teil von Java l “Services” können auch Agenten sein l Kommunikation mittels RMI l Sicherheitssystem: Java 2 l Transaktionen und Events l http: //wwws. sun. com/software/jini/ l Michael Sonntag Netzwerke und Agenten 58

Mole Forschungsprojekt (inzwischen beendet) l Basiert auf Java l Strenge Trennung stationäre mobile Agenten

Mole Forschungsprojekt (inzwischen beendet) l Basiert auf Java l Strenge Trennung stationäre mobile Agenten l Kommunikation über RPC und mittels Nachrichten l Teilweise selbstbeschreibungsfähig (“Badges”) l èKönnen selbst geändert werden èZur Kennzeichnung von Aufgaben oder Gruppen Sicherheitssystem sehr rudimentär l http: //mole. informatik. uni-stuttgart. de l Michael Sonntag Netzwerke und Agenten 59