Entwicklungswerkzeuge und -methoden. Architekturen: Überblick. Deliberative Agenten: Grundlagen



Ähnliche Dokumente
Klassifizierung von Agenten Verteilt-kooperative Informationssysteme 1

Reaktive und Hybride Agenten

16.4 Wiederverwendung von COTS-Produkten

Mobile Agenten am Beispiel JADE (Java Agent DEvelopment Framework) Vorstellung in der Übung zu Konzepte Verteilter Systeme

Thema. Intelligente Agenten im Web

Übungsklausur vom 7. Dez. 2007

Business Process Model and Notation

paluno Software & CPS Matthias Book Innovationsworkshop Horizon 2020 ICT

ActiveCharts. Verknüpfung von Modellen und Code bei der modellgetriebenen Softwareentwicklung mit UML 2.0

Modellierung verteilter Systeme Grundlagen der Programm und Systementwicklung

Use Cases. Die Sicht des Nutzers. Fortgeschrittenenpraktikum SS 2004

BPMN. Suzana Milovanovic

Copyright 2014 Delta Software Technology GmbH. All Rights reserved.

Integrationsprozesse. cross component BPM - Steuerung systemübergreifender Szenarien. Konrad Lubenow, FHTW Berlin, Juli 2007

Ein Beispiel. Ein Unternehmen will Internettechnologien im Rahmen des E- Business nutzen Welche Geschäftsprozesse?

3D Visualisierung von UML Umgebungsmodellen

Folgende Voraussetzungen für die Konfiguration müssen erfüllt sein:

Workflow, Business Process Management, 4.Teil

Man liest sich: POP3/IMAP

Programmierparadigmen. Programmierparadigmen. Imperatives vs. objektorientiertes Programmieren. Programmierparadigmen. Agenda für heute, 4.

VBA-Programmierung: Zusammenfassung

Autorisierung. Sicherheit und Zugriffskontrolle & Erstellen einer Berechtigungskomponente

SDD System Design Document

Mobile-Szenario in der Integrationskomponente einrichten

Anforderungen an die HIS

OSEK/VDX NM (Network Management)

OSEK-OS. Oliver Botschkowski. PG AutoLab Seminarwochenende Oktober AutoLab

KIP Druckerstatus Benutzerhandbuch KIP Druckerstatus Installations- und Benutzerhandbuch

Einführung in Eclipse und Java

Microsoft SharePoint 2013 Designer

Workflow Systeme mit der Windows Workflow Foundation

Jürgen Schwab, debis Systemhaus

Intelligente Agenten

Kapitel 10 Aktive DBMS

BSI Technische Richtlinie

JetSym. Programmierung in Hochsprache ST nach IEC We automate your success.

AMS Alarm Management System

Dr. Klaus Körmeier BlueBridge Technologies AG

Programmieren Formulierung eines Algorithmus in einer Programmiersprache

Scheduling Mechanisms for the Grid

SERVICE SUCHE ZUR UNTERSTÜTZUNG

7HVWHQYRQ6$3$QZHQGXQJHQPLWGHP([WHQGHG &RPSXWHU$LGHG7HVW7RROH&$77

MOC Entwicklung von ASP.NET MVC 4 Webapplikationen

Ein einfaches Modell zur Fehlerfortpflanzung

Software-Engineering SS03. Zustandsautomat

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

5.2 Neue Projekte erstellen

Business Application Framework für SharePoint Der Kern aller PSC-Lösungen

ANDROID. Analyse der Android Plattform. Andre Rein, Johannes Florian Tietje. 28. Oktober FH-Gieÿen-Friedberg Android Praktikum

Document Management. Überblick DM

EINFÜHRUNG IN DIE WIRTSCHAFTSINFORMATIK -ÜBUNGEN- Marina Tropmann-Frick

RUP Analyse und Design: Überblick

Einrichten des IIS für VDF WebApp. Einrichten des IIS (Internet Information Server) zur Verwendung von Visual DataFlex Web Applications

Beschreibung EtherNet/IP Prozessschnittstelle

Mobile Echtzeitkontrolle von Kommunikationskanälen

QDB AddOn. Eine NetIQ AppManager Erweiterung von generic.de

Fassade. Objektbasiertes Strukturmuster. C. Restorff & M. Rohlfing

Windows Server 2012 R2 Essentials & Hyper-V

Grundbegriffe der Informatik

CENIT Beschwerdemanagement Beschwerden bearbeiten, analysieren und vermeiden. Stefan Jamin, Leiter ECM Zürich,

Laufzeitverifikation

Diplomarbeit. Konzeption und Implementierung einer automatisierten Testumgebung. Thomas Wehrspann. 10. Dezember 2008

Sales Management Center

BUILDNOTES TOPAL FINANZBUCHHALTUNG

Oracle GridControl Tuning Pack. best Open Systems Day April Unterföhring. Marco Kühn best Systeme GmbH

Installation von NetBeans inkl. Glassfish Anwendungs-Server

Database Exchange Manager. Infinqa IT Solutions GmbH, Berlin Stralauer Allee Berlin Tel.:+49(0) Fax.:+49(0)

Ordner Berechtigung vergeben Zugriffsrechte unter Windows einrichten

Vorlesung Objektorientierte Softwareentwicklung. Kapitel 0. Java-Überblick

Blitzlicht: MES Produktionsplanung und Unternehmensmodelle IEC Integration von Unternehmensführungs und Leitsystemen

GI-Technologien zur Umsetzung der EU-Wasserrahmenrichtlinie (WRRL): Wissensbasen. Teil 1: Einführung: Wissensbasis und Ontologie.

Kurzanleitung zur Softwareverteilung von BitDefender Produkten...2

Software Engineering. Sommersemester 2012, Dr. Andreas Metzger

Erfassung von Umgebungskontext und Kontextmanagement

Definition Informationssystem

Design Patterns 2. Model-View-Controller in der Praxis

Testplan. Hochschule Luzern Technik & Architektur. Software Komponenten FS13. Gruppe 03 Horw,

Grundzüge der Programmierung. Konzepte der objektorientierten Programmierung (oop) OBJEKTE - KLASSEN

Beschreibung und Bedienungsanleitung. Inhaltsverzeichnis: Abbildungsverzeichnis: Werkzeug für verschlüsselte bpks. Dipl.-Ing.

IAWWeb PDFManager. - Kurzanleitung -

Upgrade auf die Standalone Editionen von Acronis Backup & Recovery 10. Technische Informationen (White Paper)

Qualitätssicherung bei der mobilen Datenerfassung

TISIS - Industrie 4.0. Ereignis, Ort, Datum

SOL-IT insurancecube. Verwalten. Verbinden. Überblicken.

System Center Essentials 2010

Mai Hauptseminar: Nichtrelationale Datenbanken Historisch-Kulturwissenschaftliche Informationsverarbeitung Universität zu Köln

Abschlussklausur Geschäftsprozessmodellierung und Workflowmanagement

Daniel Warneke Ein Vortrag im Rahmen des Proseminars Software Pioneers

Sof o t f waretechn h o n l o og o i g en n f ü f r ü v e v rteilte S yst s eme Übung

Dialognetze. Ziel : Beschreibung von Methoden und Beschreibungstechniken für den Entwurf und die Dokumentation von Dialogabläufen

Was bisher geschah. Aufgaben: Diagnose, Entscheidungsunterstützung Aufbau Komponenten und Funktion

Urlaubsregel in David

Erstellen einer in OWA (Outlook Web App)

Requirements Engineering für IT Systeme

Vom Konzept direkt ins Cockpit: Optimierte HMI-Entwicklung mittels automatischer Codegenerierung

ZENITY - Die Software für Ihre Unternehmens-Releaseplanung

Use Cases. Use Cases

Vortrag von: Ilias Agorakis & Robert Roginer

Eignet sich Eclipse RCP als Enterprise Plattform? 2. Mai 2006 Lars Stucki & Edwin Steiner

SEP 114. Design by Contract

Transkript:

Entwicklungswerkzeuge und -methoden ƒ Architekturen für Agentensysteme Deliberative Agenten Reaktive Agenten Hybride Agenten ƒ Agentensprachen Aspekte und Anforderungen Agentenorientierte Programmierung ƒ Entwicklungswerkzeuge IBM Agent Building Environment Zeus, AgentBuilder ƒ Standardisierung FIPA Vorlesung Softwareagenten 9-1 Architekturen: Überblick Paradigma Deliberative Agenten Systemarchitektur BDI (Rao, Georgeff) Reaktive Agenten Hybride Agenten Subsumption Architecture (Brooks) Interrap (Müller) Vorlesung Softwareagenten 9-2 Deliberative Agenten: Grundlagen ƒ explizites symbolisches Modell der Umwelt: Umweltmodell bildet Wissensbasis des Agenten ƒ Vorab-Modellierung der Umwelt notwendig ƒ Fähigkeit zur Schlußfolgerung: Verwendung des Wissens aus Umweltmodell zur Änderung des internenen Zustandes ƒ interner Zustand := mentaler Zustand Belief, Desire, Intention ƒ neuere Ansätze: Erweiterung um Ziele und Pläne Vorlesung Softwareagenten 9-3 1

Komponenten des mentalen Zustandes ƒ Überzeugungen (belief): grundlegende Ansichten des Agenten zur Umwelt: Erwartungen über künftige Zustände der Umwelt ƒ Wünsche (desire): Beurteilung künftiger Umweltsituationen: Wunsch nach Eintritt oder Vermeidung bestimmter Umweltzustände ƒ Ziele (goal): Untermenge der Wünsche: realisierbar, nicht in Konflikt stehend repräsentieren den potentiellen Handlungsspielraum Vorlesung Softwareagenten 9-4 Komponenten des mentalen Zustandes ƒ Intentionen (intention): Untermenge der Ziele: Verfolgung eines Zieles: Ziel Intention priorisierte Ziele ƒ Pläne (plan): Zusammenfassung der Intentionen zu konsistenten Einheiten Intention = Teilplan Vorlesung Softwareagenten 9-5 Komponenten des mentalen Zustandes Wissen Überzeugungen Wünsche Ziele Intentionen Pläne Vorlesung Softwareagenten 9-6 2

Architektur deliberativer Agenten Aktionen Ausführer Scheduler Planer Manager Reasoner Intentionen Ziele Wünsche Wahrnehmungen Inform ationsempfänger Wissensbasis Vorlesung Softwareagenten 9-7 Architektur deliberativer Agenten ƒ Reasoner: Schlußfolgerungskomponente ƒ Planer: Übernahme der Intentionen und Ableitung des Gesamtplanes (dynamisch, inkrementell) Anpassung bestehender Pläne an Situationen, die durch neue Intentionen enstehen ƒ Scheduler: Auswahl von auszuführenden Aktionen der aktuellen Pläne Berücksichtigung der verfügbaren Intentionen Vorlesung Softwareagenten 9-8 BDI-Modell ƒ zu jedem Zeitpunkt: verschiedene Möglichkeiten der Weiterentwicklung der Umgebung Vielzahl möglicher Aktionen, die Agent ausführen kann ƒ Agent und Umgebung nichtdeterministisches System Vorlesung Softwareagenten 9-9 3

BDI-Modell: Repräsentationsform ƒ jeder Zweig entspricht möglichem Ausführungspfad ƒ Knoten: Umweltzustand ƒ Kanten: primitive Aktionen des Agenten oder Ereignisse in der Umwelt ƒ Wahl-Knoten: Agent hat Wahl zwischen verschiedenen Aktionen ƒ Chancen-Knoten: Unvorhersehbarkeit ƒ konkreter Pfad = Ziel des Agenten Auswahl eines Pfades bestimmt auszuführende Schritte ƒ für Ausführung: Eliminierung der Chancen-Knoten Vorlesung Softwareagenten 9-10 Possible Worlds Semantik ƒ für jede aus einem Chancen-Knoten abgehende Verbindung: Generierung eines neuen Baumes Wahlknoten Chancenknoten Vorlesung Softwareagenten 9-11 Possible Worlds Semantik ƒ Ergebnis: Menge von Entscheidungsbäumen; jeder repräsentiert potentiell möglichen Umweltzustand (possible world) ƒ für jeden Baum: Wahrscheinlichkeitswert: Belief-accessibility-Funktion (Eintrittswahrscheinlichkeit des repräsentierten Umweltzustandes) Erlöswerte für jeden Pfad: Desire-accessibility-Funktion (Gewinn des Agenten) ƒ Auswahl des bestmöglichen Aktionspfades mit Hilfe dieser Funktionen ƒ Abbildung der Aktionspfade: Intention-accessibility- Funktion Vorlesung Softwareagenten 9-12 4

BDI-Interpreter ƒ Event-Queue: auftretende Ereignisse ƒ dynamische Strukturen für Wünsche, Überzeugungen und Intentionen ƒ Option: Menge möglicher Ziele (abhängig von Umweltsituation) ƒ Auswahl der Optionen, die mit verfügbaren Ressourcen den größten Nutzen bringen ƒ Entfernen der erzielten bzw. unmöglichen und nichterfüllbaren Wünsche/Intentionen Vorlesung Softwareagenten 9-13 BDI-Interpreter: Hauptschleife initialize-state (); repeat options := option-generator (event-queue); selected-options := deliberate (options); update-intentions (selected-options); execute (); get-new-external-events (); drop-successful-attitudes (); drop-impossible-attitudes (); end-repeat Vorlesung Softwareagenten 9-14 BDI-Modell: Bewertung ƒ aus klassischem Ansatz der KI abgeleitet (symbolisches Modell) ƒ Integration neuer Erkenntnisse zur Umwelt schwierig: nur bedingt für dynamische Umgebungen geeignet ƒ starre Struktur, symbolische Algorithmen (Korrektheit vor Effizienz) ƒ Einsatz unter Echtzeitbedingungen fraglich ƒ hohe Komplexität der Beweismechanismen Vorlesung Softwareagenten 9-15 5

Reaktive Agenten: Grundlagen ƒ Annahmen: Intelligenz liegt nicht innerhalb einzelner Systeme vor, sondern implizit in der gesamten Umgebung Intelligenz entsteht und vergrößert sich durch Interaktion von Systemen ƒ kein internes symbolisches Modell ƒ Verzicht auf Fähigkeit zur komplexen Schlußfolgerung Vorlesung Softwareagenten 9-16 Reaktive Agenten: Grundlagen ƒ Intelligenz durch Interaktion mit der Umwelt ƒ Beobachtung der Umwelt ƒ Erkennung von Abhängigkeiten und Grundsätzen ƒ System := Menge aufgabenspezifischer Module, die Umwelt auf Eintreten bestimmter Situationen überprüfen und ggf. direkte Reaktion auslösen Vorlesung Softwareagenten 9-17 Architektur ƒ dezentrale Struktur: keine zentrale Komponente ƒ parallele Arbeit der Kompetenzmodule ƒ Interaktion der Module möglich direkt über Umwelt Vorlesung Softwareagenten 9-18 6

Architektur Kompetenzmodul Wahrnehmung Sensoren Kompetenzmodul Aktuatoren Aktionen Kompetenzmodul Vorlesung Softwareagenten 9-19 Kompetenzmodul ƒ Modul für klar abgegrenzten, einfachen Aufgabenbereich ƒ besitzt alle zur Bearbeitung seiner Aufgabe benötigten Fähigkeiten ƒ erhält Informationen vom Sensor ƒ Bsp.: Module eines Informationsagenten Suchen von Quellen Ausführung der Suchanfrage Sammeln und Aufbereiten von Ergebnissen Vorlesung Softwareagenten 9-20 Subsumption Architektur von Brooks ƒ hierarchische Anordnung aufgabenorientierter Kompetenzmodule ƒ Kompetenzmodule für konkrete Verhaltensweise zuständig ƒ Module der unter Ebene: primitive Aufgaben ƒ nach oben zunehmende Komplexität der Verhaltensweisen ƒ autonome Arbeitsweise der Module: Wettstreit um Kontrolle des Agenten ƒ Beschreibung der Module mit Hilfe einer Subsumption - Sprache (basierend auf endlichen Zustandsautomaten) Verhalten fest vorgegeben und nicht dynamisch anpaßbar Vorlesung Softwareagenten 9-21 7

Beispiel: Roboter ƒ Kompetenzmodul 0: Fähigkeit zur Vermeidung von Kontakten bzw. Zusammenstößen mit anderen Objekten ƒ Kompetenzmodul 1: Fähigkeit zum Umherwandern - Nutzung der Aufgaben von Modul 0 zur Vermeidung von Zusammenstößen ƒ Kompetenzmodul 2: Erkundung der Umwelt - Nutzung der Fähigkeit zum Umherwandern Vorlesung Softwareagenten 9-22 Subsumption Architektur ƒ Hierarchische Anordnung: übergeordnete Module schließen Aufgaben der untergeordneten Module ein, d.h. überwachen und beeinflussen Ein-und Ausgaben der untergeordneten Module Übernahme der Funktionalität untergeordneter Module durch Einfügen von y Unterdrückungsknoten: Modifikation von Eingabesignalen y Verbotsknoten: Modifikation von Ausgabesignalen Vorlesung Softwareagenten 9-23 Subsumption Architektur Kompetenzmodul Kompetenzmodul Unterdrückungsknoten Verbotsknoten Vorlesung Softwareagenten 9-24 8

Reaktive Agenten: Bewertung ƒ geeignet für hochdynamische Umgebungen ƒ robust, fehlertolerant durch dezentrale Struktur ƒ implizite Ziele in Kompetenzmodulen ƒ keine Planung ƒ für komplexes Verhalten große Zahl von Modulen notwendig hoher Synchronisationsund Verwaltungsaufwand Vorlesung Softwareagenten 9-25 Hybride Agenten: Grundlagen ƒ Verbindung der Vorteile deliberativer und reaktiver Agenten reaktive Komponente zur Interaktion mit Umwelt deliberative Komponente zur Planung und Entscheidungsfindung ƒ hierarchische Schichtenstruktur untere Ebene: Erfassung von Rohinformationen durch reaktive Komponente obere Ebenen: Zielfindung und Planung durch deliberative Komponente Vorlesung Softwareagenten 9-26 Interrap-Agentenmodell (Müller) Sensoren Überzeugung Situation Ziele soziales Modell kooperativ kooperativ mentales Modell lokal lokal Weltmodell Routine Reaktion Aktuatoren Intention kooperativ lokal Reaktion Optionen kooperativ lokal Reaktion operationale Prim itive gemeinsame Pläne lokale P läne Verhaltensmuster Vorlesung Softwareagenten 9-27 9

Interrap: Konzeptionelles Modell ƒ 3 Schichten verhaltensbasierte Schicht (reaktiv) lokale Planungsschicht (deliberativ) kooperative Planungsschicht (Kommunikation/Kooperation in Multiagentensystemen) ƒ über Sensoren wahrgenommene Fakten Basis für Überzeugungen ƒ zur Laufzeit: Entstehung neuer Überzeugungen, Modifikation bzw. Löschen existierender Überzeugungen Vorlesung Softwareagenten 9-28 Interrap: Konzeptionelles Modell ƒ Überzeugungen Weltmodell: grundlegende Überzeugungen bzgl. der Umwelt für reaktive Verhaltensweisen mentales Modell: Überzeugungen, die Agent über sich selbst hat für deliberative Zwecke soziales Modell: Überzeugungen über andere Agenten für Kooperation mit anderen Agenten ƒ Modelle korrespondieren mit 3 Schichten Vorlesung Softwareagenten 9-29 Interrap: Konzeptionelles Modell ƒ Ableitung von Situationen aus Überzeugungen ƒ Situationen Untermenge der Überzeugungen Repräsentation der für Agenten interessanten Zustände ƒ Schichten von Situationen einfache Routinesituationen Situationen, die lokale Planung erfordern Situationen, die globale Planung erfordern Vorlesung Softwareagenten 9-30 10

Interrap: Konzeptionelles Modell ƒ Ziele Reaktion: kurzfristiges Ziel, das durch Ereignisse ausgelöst wird und schnelle Reaktion erfordert lokales Ziel kooperatives Ziel Verbindung von reaktiven und deliberativen Systemen ƒ Eintreten einer Situation aktiviert ein oder mehrere Ziele ƒ Option: Menge der zu einer Situation passenden Ziele ƒ Ableitung von ausführbaren Intentionen aus Optionen durch Verwendung von operationalen Primitiven Vorlesung Softwareagenten 9-31 Interrap: Architektur Wissensbasis soziales Modell mentales Modell Weltmodell Kontrolleinheit 6= 36 6= 36 6= 36 Kooperative Planungsschicht Lokale Planungsschicht Verhaltensbasierte Schicht Sensoren Kommunikation Aktuatoren Weltschnittstelle Vorlesung Softwareagenten 9-32 Interrap: Architektur ƒ Schichtenstruktur der Kontrollprozesse und der Wissensbasis ƒ Kontrolle wird von unten nach oben weitergereicht, wenn Fähigkeiten nicht genügen ƒ Ausführung von oben nach unten ƒ jede Schicht nutzt operationale Primitive der untergeordneten Schicht zur Erreichung ihrer Ziele Vorlesung Softwareagenten 9-33 11

Interrap: Architektur ƒ Kontrolleinheit: verhaltensbasierte (reaktive) Schicht kommt in zeitkritischen Situationen zum Einsatz lokale und kooperative (deliberative) Planungsschicht kommen zum Einsatz, wenn Fähigkeiten der reaktiven Schicht überstiegen werden sowie zur längerfristigen Planung nutzt zur Erfüllung der Aufgaben nur die zugeordnete bzw. die untergeordneten Schichten der Wissensbasis Vorlesung Softwareagenten 9-34 Interrap: Architektur ƒ Kontrolleinheit bestehend aus jeweils 2 Modulen: Situationserkennungs-/Zielaktivierungsmodul y Schritte bis zur Optionserzeugung Planungs-/Scheduling-Modul: y Planungsprozeß y Aufstellung von Intentionen y Scheduling Vorlesung Softwareagenten 9-35 Anwendungsbeispiel ƒ Szenario: simulierter Verladebahnhof ƒ Agenten: automatisierte Gabelstapler zum Verladen von Gütern aus verschiedenen Regalen ƒ Anforderungen: schnelle Reaktion bei Konflikten längerfristige, kooperative Planung, z.b. zum effizienten Beladen von LKWs Vorlesung Softwareagenten 9-36 12

Zusammenfassung und Vergleich ƒ Deliberative Agenten reflektives Verhalten, das auf Verarbeitung von Wissen über seine eigenen Fähigkeiten und die Umwelt beruht Verarbeitung der Eingaben anhand des Weltmodells: liefert Beschreibung des aktuellen Zustandes des Agenten sowie der Umwelt wissensbasierte Erstellung, Auswahl und Ausführung von Plänen Vorlesung Softwareagenten 9-37 Zusammenfassung und Vergleich ƒ Deliberative Agenten Zustandsbeschreibung Plan Sensor Weltmodell Planer Ausführer Aktuator Vorlesung Softwareagenten 9-38 Zusammenfassung und Vergleich ƒ Reaktive Agenten reizorientiertes Verhalten Eingaben über Sensoren bestimmen über einfaches Reiz-Reaktionsschema die auszuführenden Aktionen Vorlesung Softwareagenten 9-39 13

Zusammenfassung und Vergleich ƒ Reaktive Agenten Sensor Reiz- Reaktionsschema Aktuator Vorlesung Softwareagenten 9-40 Zusammenfassung und Vergleich ƒ Hybride Agenten Komponenten für reaktives und deliberatives Verhalten Wechselwirkung beider Komponenten y reaktive Komponente beobachtet deliberative Komponente und reagiert mit der Auslösung von Aktionen y deliberative Komponente verändert Reiz- Reaktionsschema der reaktiven Komponente Vorlesung Softwareagenten 9-41 Zusammenfassung und Vergleich ƒ Hybride Agenten Deliberative Komponente Sensor Beobachtungen Reaktive Komponente Änderungen Aktuator Vorlesung Softwareagenten 9-42 14

Agentensprachen ƒ Aufgabe: Unterstützung der Entwicklung von Agentensystemen ƒ Aspekte Mobilität, Migration (Telescript, Agent-Tcl,..) Kommunikation (KQML) Intelligenz Vorlesung Softwareagenten 9-43 Agentensprachen: Anforderungen ƒ Objektorientierung: Agent = Objekt, Information Hiding ƒ Plattformunabhängigkeit Portierbarkeit, Migration ƒ Kommunikationsfähigkeit Multi-Agentensysteme, Kommunikation mit der Umwelt ƒ Sicherheit Verschlüsselung, Sicherheit in mobilen Umgebungen ƒ Code-Manipulation Senden, Empfangen, Überprüfen von Code Vorlesung Softwareagenten 9-44 Agentenorientierte Programmierung: Agent-0 ƒ Überblick Shoham (Stanford) 1989/93 Pradigma zur Entwicklung von Softwareagenten (im KI-Sinn) Agent: Entität, deren Zustand mentale Komponenten umfaßt (Überzeugungen, Fähigkeiten, Auswahl, Verpflichtungen) Agentenorientierte Programmierung (AOP) als Spezialisierung von OOP Vorlesung Softwareagenten 9-45 15

Agentenorientierte Programmierung OOP AOP Basiselement Objekt Agent Parameter der Zustandsbeschreibung Verarbeitungsprozeß Nachrichtentypen unbeschränkt Nachrichtenaustausch unbeschränkt Überzeugungen, Fähigkeiten, Auswahl, Verpflichtungen Nachrichtenaustausch inform, request, offer Vorlesung Softwareagenten 9-46 AOP-Framework ƒ formale Sprache zur Beschreibung von mentalen Zuständen ƒ interpretierbare Programmiersprache für Agenten mit Kommandoprimitiven Request, Inform,... ƒ Agentifizierer : Konvertierung von Nicht- Agenten -Modulen in Agenten Vorlesung Softwareagenten 9-47 Generischer Interpreter für Agenten 1. Lies die aktuellen Nachrichten und aktualisiere den mentalen Zustand (einschl. Überzeugungen und Verpflichtungen 2. Führe die Verpflichtungen für die aktuelle Zeit aus, evtl. mit Änderungen der Überzeugungen (Verpflichtungen := Kommunikationsaktionen) Vorlesung Softwareagenten 9-48 16

Generischer Interpreter für Agenten Datenfluß Kontrollfluß Initialize mental state and capabilities Define rules for making new commitments Incoming messages Clock Update mental state Representation of mental state and capabilities Execute commitments for current time Outgoing messages Vorlesung Softwareagenten 9-49 Agent-0 ƒ Agent-0 := einfache Programmiersprache mit Interpreter als Implementierung des generischen Interpreters ƒ Agentenprogramm Fähigkeiten (mögliche Aktionen) initiale Überzeugungen (Fakten) Verpflichtungsregeln (Bedingungen Aktionen) Vorlesung Softwareagenten 9-50 Agent-0: Syntax ƒ Fakten beschreiben Inhalt von Aktionen oder Bedingungen (t: Zeitpunkt) Beispiel: (t (employee smith acme)) ƒ Private Aktionen Ausführungsprimitive Syntax: (DO t p-action) Vorlesung Softwareagenten 9-51 17

Agent-0: Syntax ƒ Kommunikative Aktionen Interaktion mit anderen Agenten Senden einer Nachricht fact an Agenten a (INFORM t a fact) Anfordern der Ausführung der Aktion action von Agenten a (REQUEST t a action) Beispiel: (REQUEST 1 a (DO 10 update_db)) Vorlesung Softwareagenten 9-52 Agent-0: Syntax ƒ Bedingte Aktionen Ausführung von Aktionen in Abhängigkeit vom mentalen Zustand Syntax: (IF mntlcond action) mentale Bedingung mntlcond: logische Kombination von Mentalmustern Mentalmuster y Fakt (B fact) y oder Obligation (Verbindlichkeit) ((CMT a) action) Vorlesung Softwareagenten 9-53 Agent-0: Syntax ƒ Variablen Ersetzung durch Agentennamen, Fakten, mentale Zustände Syntax:?var Universalquantor:?!var Beispiel: liefert alle Angestellten von acme (IF (B (t (employee?!x acme))) (INFORM a (t (employee?!x acme)))) Vorlesung Softwareagenten 9-54 18

Agent-0: Syntax ƒ Verpflichtungsregeln Ausführung einer Aktion in Abhängigkeit von der eintreffenden Nachricht und dem mentalen Zustand Syntax: (COMMIT msgcond mntlcond (agent action)*) Nachrichtenbedingung msgcond: logische Kombination von Nachrichtenmustern Vorlesung Softwareagenten 9-55 Agent-0: Syntax ƒ Verpflichtungsregeln (fort.) Nachrichtenmuster (From Type Content) Nachricht von Sender From des Types (INFORM, REQUEST,...) mit Inhalt Content (Fakt) Beispiel: (COMMIT (? REQUEST?action) (B (now (myfriend?a))) (?a?action)) ƒ Agentenprogramm: Sequenz von Verpflichtungsregeln Vorlesung Softwareagenten 9-56 Beispiel: Flugreservierung ƒ Interaktion Kunde - Airline Agent smith airline Aktion (query_which 1mar/1:00 smith airline (18apr/?!time (flight sf ny?!num))) (INFORM 1mar/2:00 smith (18apr/8:30 (flight sf ny #354))) airline smith smith airline... (INFORM 1mar/2:00 smith (18apr/10:00 (flight sf ny #293))) (REQUEST 1mar/3:00 airline (issue_np smith #354 18apr/8:30)) (query_whether 1mar/4:00 smith airline ((CMT smith) (issue_bp smith #354 18apr/8:30))) (INFORM 1mar/5:00 smith (NOT ((CMT smith) (issue_bp smith #354 18apr/8:30)))) Vorlesung Softwareagenten 9-57 19

Flugreservierung: Airline-Agent ƒ Fähigkeiten Bordkarte ausstellen ((issue_bp?a?flight?time) true) Anzahl der freien Sitzplätze ändern ƒ Überzeugungen Flugplan (time (flight from to number)) Anzahl der freien Sitzplätze (time (remaining_seats time1 flight_no seats)) Vorlesung Softwareagenten 9-58 Flugreservierung: Airline-Agent ƒ Verpflichtungsregeln (COMMIT (?pass REQUEST (IF (B,?p) (INFORM (?t?pass?p))) true?pass (IF (B,?p) (INFORM?t?pass?p))) (COMMIT (?cust REQUEST (issue_bp?pass?flight?time)) (AND (B?time (remaining_seats?flight?n))) (?n>0) (NOT ((CMT?anyone) (issue_bp?pass?anyflight?time)))) (myself (DO (+ now 1) (update_remaining_seats?time?flight -1))) (?cust (issue_bp?pass?flight?time))) Vorlesung Softwareagenten 9-59 Entwicklungswerkzeuge ƒ Plattformen für mobile Agenten Telescript, Voyager, Aglets ƒ Entwicklungsumgebungen für intelligente Agenten Zeus: für kollaborative Agenten http://www.labs.bt.com/projects/agents/zeus/index.htm AgentBuilder: für intelligente Agenten http://www.agentbuilder.com ƒ Toolkits IBM Agent Building Environment (ABE) Vorlesung Softwareagenten 9-60 20

IBM Agent Building Environment ƒ Toolkit zur Integration von Agententechnologien in Applikationen ƒ Schwerpunkt: Intelligente Agenten ƒ C++-Bibliothek mit Java-Schnittstelle ƒ verfügbar für AIX, Windows, OS/2 ƒ URL: http://www.research.ibm.com/iagents/ Vorlesung Softwareagenten 9-61 ABE: Komponenten Views Library Engine(s) Agent Control Adapters Vorlesung Softwareagenten 9-62 ABE: Komponenten ƒ Agent Control: Initialisierung und Steuerung des Agenten ƒ Engine(s): Interpretation der Instruktionen des Agenten regelbasierte Engine (RAISE) ƒ Adapters: Verbindung von Anwendung und Agent Bereitstellung der Aktionen, die Agent ausführen kann (NNTP, HTTP, Dateisystem, Zeitdienste) Vorlesung Softwareagenten 9-63 21

ABE: Komponenten ƒ Views: Erstellung bzw. Änderung der Agenteninstruktionen graphischer Regeleditor ƒ Library: Verwaltung und Speicherung der Agenteninstruktionen (Regeln, Fakten), die Views produzieren und Engines nutzen Vorlesung Softwareagenten 9-64 ABE: Architektur ƒ Plug-and-Play der Komponenten Konfiguration von Adaptern, Engines und Libraries zur Laufzeit unabhängige Nutzung der Views ƒ View-Separation logische Trennung der Views von Agenten Einsatz nutzerfreundlicher bzw. applikationsspezifischer Mechanismen zur Instruktion des Agenten ƒ Separation und Autonomie der Komponenten Spezialisierung der Komponenten auf einen Aspekt Adapter für abgeschlossenen Problembereich Vorlesung Softwareagenten 9-65 Engine ƒ RAISE-Inferenz-Engine ƒ Forward-Chaining ƒ Regeln in KIF-Syntax KIF := Knowledge Interchange Format Standard für Austausch des Inhaltes von Wissensbasen (Inferenzregeln) Vorlesung Softwareagenten 9-66 22

KIF-Syntax ƒ Regeln Notation: (=> (Vorbedingung) (Konsequenz)) Vorbedingung/Konsequenz: Ausdruck, der aus logischen Atomen aufgebaut ist ƒ Atom Notation: (Prädikat Termliste) Prädikat: Symbol für Beziehungen von Objekten oder Eigenschaften eines Objektes Term: y Konstante (Symbol, String, Integer, Real) y Variable y logische Verknüpfung mit AND, OR Vorlesung Softwareagenten 9-67 KIF-Syntax ƒ Fakten Atome, die Auswertung von Regeln unterstützen Aussagen Langzeitfakten: persistent gespeichert Kurzzeitfakten: Teil von Ereignismeldungen ƒ Beispiele Fakten: (FromName Betty) (Manager Fred) Regeln: (=> (AND (FromName?x) (Manager?x)) (Mail?x)) Vorlesung Softwareagenten 9-68 Regelauswertung Regelauswertung Zeit Eintritt Vorbedingung Konsequenz Ereignismeldung Fakt 1 Fakt 2 Fakt 3 Hinzufügen bei Eintritt Faktenbasis Hinzufügen bei Initialisierung Adapter abgeleiteten Fakt hinzufügen (bei erfolgreicher Regelauswertung) Langzeitfakten Library Vorlesung Softwareagenten 9-69 23

Adapter ƒ Ereignisbenachrichtigung ƒ Überwachung von Bedingungen ƒ Ausführung von Aktionen ƒ Beispiel: HTTP-Adapter Änderung an einem Dokument (URL) Ereignismeldung Holen eines Dokumentes Aktion ƒ Sensoren: Ereignisse ƒ Effektoren: Aktionen Vorlesung Softwareagenten 9-70 Zeus ƒ Entwicklungswerkzeug für Multiagentensysteme (British Telecom) Entwurf, Entwicklung und Einsatz von Agenten Plattform: Java ƒ Komponenten Agenten-Komponentenbibliothek Integrierte Entwicklungsumgebung Visualisierungswerkzeuge Vorlesung Softwareagenten 9-71 Zeus: Agenten-Komponentenbibliothek ƒ Message-Passing-Mechanismus (Austausch von FIPA- ACL-Performativen) ƒ Bibliothek von vordefinierten Koordinationsstrategien (rekursive Transitionsnetze) ƒ Koordinationsmaschine zur Ausführung ƒ Planning- und Scheduling-Mechanismus ƒ Repräsentation für Austausch und Speicherung von Informationen zu Aufgaben und Ontologiekonzepten ƒ Basisdienste (Namensdient, Datenbankzugriff usw.) Vorlesung Softwareagenten 9-72 24

Zeus: Entwicklungsumgebung ƒ Ontology Editor: Definition von Konzepten, Attributen und Constraints eines Problembereichs ƒ Agent Definition Editor: Definition einzelner Agenten (Aufgaben, Ressource, Planungsfähigkeiten etc.) ƒ Task Description Editor: Definition der Attribute von Aufgaben ƒ Organisation Editor: Definition der Beziehungen zwischen Agenten sowie der Überzeugungen zu den Fähigkeiten anderer Agenten ƒ Co-ordination Editor: Auswahl des Koordinationsprotokolls Vorlesung Softwareagenten 9-73 Zeus: Visualisierungswerkzeuge ƒ Society Viewer: Sicht auf alle Agenten, ihre Beziehungen und ausgetauschten Nachrichten ƒ Report Tool: Dekomposition und Verteilung der Aufgaben Stand der Ausführung ƒ Statistics Tool: Statistiken zu Agenten ƒ Agent Viewer: Beobachtung des internen Zustandes von Agenten ƒ Control Tool: Manipulation des internen Zustandes Vorlesung Softwareagenten 9-74 AgentBuilder ƒ Entwicklungswerkzeug für intelligente Agenten ƒ Plattform: Java ƒ Komponenten Toolkit: Unterstützung des Entwicklungsprozesses (Analyse, Entwurf, Implementierung, Fehlersuche und Test) Laufzeitsystem: Ausführungsumgebung Vorlesung Softwareagenten 9-75 25

AgentBuilder: Toolkit ƒ Werkzeuge zur Steuerung des Projektablaufs Definition und Pflege von Ontologien (Konzepte, Beziehungen) Konstruktion von Agentengesellschaften (Agency) Spezifikation der Kommunikationsnachrichten Definition des mentalen Agentenmodells und des Verhaltens Vorlesung Softwareagenten 9-76 AgentBuilder: Agentenmodell ƒ Modell: Reticular Agent Mental Model Erweiterung des Agent-0-Modells Beliefs: y Repräsentation des internen Zustandes der inneren und äußeren Welt Capabilities: y Konstrukt zur Verbindung von Aktion und notwendigen Vorbedingungen Action: MakeQuery (database,?query) Preconditions: database.status IS Online Commitment: y Vereinbarung zur Ausführung einer bestimmten Aktion zu einer bestimmten Zeit y Wird an anderen Agenten gesendet Vorlesung Softwareagenten 9-77 AgentBuilder: Agentenmodell ƒ Modell (fort.) Behavioral Rules: y Verhaltensregeln: WHEN-IF-THEN y WHEN: Nachrichtenbedingung, Ereignis y IF: mentale Bedingung y THEN: Aktion Änderung des mentalen Zustandes Kommunikationsaktionen Private Aktionen Vorlesung Softwareagenten 9-78 26

AgentBuilder: Laufzeitsystem ƒ Agentendefinition in RADL (Reticular Agent Definition Language) Spezifikation des Verhaltens und des mentalen Modells Agent Engine: Inferenzengine ƒ Ausführung von Agentenprogrammen Agentenspezifikation (RADL) Project Accessory Classes (PAC): Hilfsklassen zur Implementierung von Aktionen und Benutzerschnittstellen in Java Vorlesung Softwareagenten 9-79 Standardisierung: FIPA ƒ FIPA - Foundation for Intelligent Physical Agents ƒ Website: http://www.fipa.org ƒ Non-Profit-Konsortium von Firmen und Forschungseinrichtungen ƒ gegründet 1996 ƒ Spezifikation von Agententechnologien erste Spezifikation: FIPA 97 Version 1.0 aktuell: FIPA 97 V. 20, FIPA 98, FIPA 99 ƒ Standardisierungsarbeiten normativ: Spezifikation informativ: Erläuterung zur Nutzung der spezifizierten Technologie Vorlesung Softwareagenten 9-80 FIPA: Ziele ƒ Konstruktion und Verwaltung von Agentensystemen, die aus verschiedenen Agenten bestehen und u.u. von unterschiedlichen Entwicklern erstellt wurden ƒ Kommunikation/Interaktion von Agenten zur Erreichung eines individuellen oder gemeinsamen Zieles ƒ Nutzung von Legacy-Systemen durch Agenten Vorlesung Softwareagenten 9-81 27

FIPA: Inhalt 1. Agent Management definiert Framework für Verwaltungsfunktionen eins Agentensystems y Kommunikationskanäle y Registrierung y Lebenszyklus y Lokationsdienste Referenzmodell 2. Agent Communication Language (ACL) basierend auf Sprechakttheorie definiert Nachrichtentypen High-Level-Interaktionsprotokolle (Contract-Net) Vorlesung Softwareagenten 9-82 FIPA: Inhalt 3. Agent/Software Integration Verbindung von Agent und Legacy-Applikation über Wrapper 4. Personal Travel Assistance Reiseplanung und -durchführung 5. Personal Assistant Terminkalender Sortierung und Filterung von E-Mail Informationssuche Vorlesung Softwareagenten 9-83 FIPA: Inhalt 6. Audio/Video Entertainment & Broadcasting intelligente, adaptive Schnittstelle für Filterung und Retrieval von audiovisuellen Informationen 7. Network Management & Provisioning Realisierung von Virtual Private Network- Diensten Vorlesung Softwareagenten 9-84 28

FIPA Part 1: Agent Management ƒ Agentenplattform ƒ Dienste: Registrierung Message Passing Lebenszyklus ƒ Intra-Plattform-Nachrichtenprotokoll: IIOP (OMG) Vorlesung Softwareagenten 9-85 FIPA Part 1: Agent Management Software Agent Agent Platform Agent Management System Directory Facilitator ACC Internal Platform Message Transport Vorlesung Softwareagenten 9-86 FIPA Part 1: Agent Management ƒ Agent := Akteur auf einer Agentenplattform, die einen oder mehrere Dienste in einem einheitlichen und integrierten Ausführungsmodell kombiniert und den Zugriff auf externe Software, Nutzer und Kommunikationsmechanismen beinhaltet ƒ Directory Facilitator Verzeichnisdienst ( Yellow Pages ) Vorlesung Softwareagenten 9-87 29

FIPA Part 1: Agent Management ƒ Agent Management System: verwaltet Aktivitäten einer Agentenplattform Erzeugung, Löschen, Migration von Agenten Kontrolle der Registrierung Index aller aktiven Agenten ƒ Agent Communication Channel (ACC) Nachrichtenverbindung zwischen Agenten einer Agentenplattform (AP) bzw. zwischen verschiedenen Aps alle Agenten haben Zugriff auf mindestens einen ACC unterstützt IIOP Vorlesung Softwareagenten 9-88 FIPA Part 5: Personal Assistant ƒ Anwendungsszenarien Verwaltung eines Terminkalenders Filterung/Sortierung von Email Verwaltung einer Desktop-Umgebung Suchen und Zustellen von Informationen Entertainment-Empfehlungen Reiseplanung ƒ Referenzmodell ƒ Applikation: Vereinbarung von Treffen mehrerer Teilnehmer, die unterschiedliche Terminmanagersysteme nutzen Vorlesung Softwareagenten 9-89 30