200 likes | 374 Views
Chatten mit Aglets. Seminar Softwareagenten Vortragende: Cengiz Balkan & Olaf Ziemann 21.11.2001. Inhaltsübersicht. Einleitung: Was ist Chatten? Was ist ein Aglet? IBM Aglets Software Development Kit Einsatz von Aglets beim Chatten Beispiel: Einfaches Chat-Aglet Exkurs: Chatbots
E N D
Chatten mit Aglets Seminar Softwareagenten Vortragende: Cengiz Balkan & Olaf Ziemann 21.11.2001
Inhaltsübersicht • Einleitung: Was ist Chatten? • Was ist ein Aglet? • IBM Aglets Software Development Kit • Einsatz von Aglets beim Chatten • Beispiel: Einfaches Chat-Aglet • Exkurs: Chatbots • Zukunftsvisionen
Was ist Chatten? • to chat (englisch): quatschen, tratschen, sich unterhalten • Austausch von Textnachrichten zwischen Anwendern • Chatraum: verteiltes Netz von Rechnern • Chatpartner ist in der Regel ein Mensch • - Einsatzgebiet: Zeitvertreib, Beratung, ...
Was ist ein Aglet? • Java Objekte in einem Netzwerk • bewegen sich von Host zu Host • Ortswechsel während der Ausführung • Programmfortsetzung auf entfernten Rechner • Programmcode und alle seine Zustände und Objekte werden mitgenommen
IBM Aglets Software Development Kit • Baukasten zur Agletentwicklung • Stellt wichtigste Methoden /Klassen zur Verfügung • Beispielaglets, die leicht an individuelle Vorstellungen angepasst werden können
Struktur Aglets Java: Libraries + Compiler Aglet-SDK: Libraries Tahiti: Environment Aglet Aglet Aglet
Hindernisse - Probleme • Ein Aglet läuft nur, wenn Tahiti läuft (lokal und entfernt) • Anwender muss zunächst einen User anlegen/registrieren • Aglets 1.1.x veraltet, nur Java Versionen < 1.2.x werden unterstützt • Neue Version Aglets 2.0ist nicht abwärtskompatibel
Installation des Aglets-SDK • Java 1.1.8+ muss vorhanden sein • Entpacken des Archives Aglets_1.1.0.zip • Setzen der Umgebungsvariablen JAVA_HOME und AGLETS_HOME • Setzen des Homeverzeichnisses in der Datei aglets.props • Starten mit agletsd
Einstellungen in aglets.props • Homeverzeichnis ( = AGLETS_HOME) • Pfad zum .aglet Konfigurationsverzeichnis (Sicherheitseinstellungen, Usereinstellungen und Cache) • Netzwerk/Protokolleinstellungen (default: atp :4434 ) • Klassenpfad aglets.class.pathund Exportpfadaglets.public.root • Aglet-Befugnisse und globale Sicherheitseinstellungen (Sandbox) • Tahiti-Einstellungen (Startup)
Einsatz von Aglets beim Chatten • Bote, der Nachrichten überbringt • Selbstständiger Chatter mit „menschlichen“ Eigenschaften mobiler Chatbot • Chatassistent, ähnlich den Mailagentensystemen sucht im Netz nach Chatpartnern, filtert Chatanfragen etc.
Beispiel: der Boteein einfaches ChatagletAnforderungen • Texteingabefeld für Anwender 1 • Adressatenauswahl (Anwender 2) • Aglet findet das richtige Ziel • Textnachricht wird bei Anwender 2 dargestellt
Ausführung des Aglets Message Create (durch User) Dispose (durch User) Message Dispatch durch TalkMaster TalkSlave wird dispatched Tahiti local TalkMaster Tahiti local Tahiti remote TalkSlave Tahiti remote Message Message Message, Dispose
Einblick in den relevanten Programmcode public class TalkMaster extends Aglet { ... public void onCreation(Object o) {...} public void dispatchSlave(String dest) { ... URL url = new URL(dest); remoteProxy = proxy.dispatch(url); ... } void sendText(String text) { ... remoteProxy.sendMessage(new Message("text", name+" : "+text)); ... } }
Exkurs: Chatbots künstliche Intelligenzen als Chatter Anforderungen: • Sprachanalyseprogramm z.B. Eliza (in 1960er entwickelt) • Sprachdatenbank um eine passende Antwort zu erstellen • Sprachverständnis/-erfahrung um Zusammenhänge zu erkennen • Gedächtnis Vertrauen des Anwenders steigt • Charakter
Beispiel für Chatbot: ALICEArtifical Linguistic Internet Computer Entity AIML Beispiel (Artifical Intelligence Markup Language) <category> <pattern>Ach so na ja *</pattern> <template>Na dann werde ich mal Deine Stimmung heben!</template> </category> Bot: Wie geht´s Dir heute? Mensch: Ach so na ja! Bot: Na dann werde ich mal Deine Stimmung heben! Mensch: Das wäre schön! Bot: Ich schicke Dir mal eine nette Postkarte per Mail, wenn Du mir Deine Email Adresse gibst! Mensch: Gut, dann schick die bitte an: name@domaene.de !
Einsatzgebiete von Chatbots • Forschung • Kompetenter Ansprechpartner im WWW begrüßt Besucher, bietet Hilfe an, kann an gewünschte Stellen vermitteln • Weiterentwicklung/Verbesserung von Onlinehilfesystemen Kostensenkung • Optimaler Callcenter Mitarbeiter • Spielerei • ...
Kombination von Chataglet und Chatbot Der Bote Ein Chataglet, das Nachricht von A nach B bringt ALICE Eine künstliche Chatterin kombiniere Hermes Ein mobiler, künstlicher Chatter, unterwegs im Auftrag des Herrn
ZukunftsvisionenKombination von Chatbot & Aglet • Mobile Unterstützung im Support, sucht selbstständig im Netz nach Problemen, befragt Anwender und gibt gebündelte Informationen an „Chef“ • Mobiles Werbeaglet, bewegt sich von PC zu PC und versucht, dem Anwender etwas aufzuschwatzen