The FAME project – Middleware Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 1 Inhalt 1. 2. 3. 4. 5. Middleware Anforderungen an die Middleware Vergleich OAA – CORBA Implementierung Fragen Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 2 general speech recogniser special speech recogniser people tracker camera man video stream audio acquisition (speech segmenter) audio segments general speech hypothesis lecture tracker special speech hypothesis lecturer descriptor (position, gaze, ...) focus-of-attention classifyer lecture speech room control speech lecture status X10 room controler dialog manager room status room control commands information retrieval requests devices devices devices devices devices retrieved documents presentation documents information retrieval system turn output manager Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 audio I/O (soundcard) Beamer 3 Middleware = „vermittelnde Software in vernetzten Systemen.“ [Informatik-Duden] Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 4 Beispielkommunikation Komponente 1 Komponente 2: - Dienst 1 - Dienst 2 Antwort Anfrage nach Dienst 2 Middleware Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 5 Anforderungen an die Middleware Schnell Einfaches An- und Abmelden von Komponenten, einfaches Lokalisieren von Komponenten Relativ einfach zu nutzen Open-Source, kostengünstig Leicht administrierbar; Aufbau einer Hierarchie von Subsystemen möglich Möglichst viele Programmiersprachen; Unterstützung von Linux, Windows Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 6 Vergleich OAA - CORBA Mit besonderem Blick auf Schnittstellen und Kommunikation Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 7 Open Agent Architecture (OAA) Für spezielles Anwendungsszenario (cooperative problem solving) entworfen Von 1 Organisation (SRI) entwickelt Direkte Verbindungen zwischen Komponenten möglich OS: Linux, Windows Programmiersprachen: Java, C, Prolog Source: OpenSource, kostenlos Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 8 CORBA Standard für Middleware, kein Programm Wird von OMG standardisiert, aber von vielen Firmen entwickelt Sehr vielfältig einsetzbar; ABER: komplex OS: Linux, Windows, ... Programmiersprachen: Java, C, Perl, ... Source: einzelne Systeme OpenSource, kostenlos; auch GPL Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 9 Schnittstellen OAA Werden vom Agenten zur Laufzeit festgelegt Keine zentrale Verwaltung vorgesehen => Muss selbst nachgebildet werden CORBA Werden vor Kompilierung des Programms in spezieller Datei festgelegt, aber auch dynamisch Kann zentral verwaltet werden Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 10 Kommunikation OAA CORBA 1. Anmelden Anmelden Dann jeweils: 2. Für bestimmte 1. Komponente suchen Nachrichtentypen registrieren 2. Funktion aufrufen 3. Antwort abwarten Dann: Nachrichten empfangen + Nachrichtendienst : 1. Registrieren beliebige schicken 2. Nachricht schicken + empfangen 1. Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 11 Zusammenfassung OAA CORBA + für das Anwendungsszenario entwickelt + Übersichtlich, einfach + beliebig anpassbar, sehr viele Funktionen + breites Angebot - Schnittstellenverwaltung - Overkill Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 12 Implementierung „Switch on light...“ System als „black box“ Sprachaufnahme Spracherkennung Dialog Manager Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 13 Sprach- OAA Java aufnahme (C) Socket Dialog Manager (Java) Java Socket Stub Spracherkennung (TCL) Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 Programm 14 Sprach- OAA Java aufnahme (C) Socket Dialog Manager (Java) Java Socket Stub Spracherkennung (TCL) Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 Programm 15 Sprach- OAA Java aufnahme (C) Socket Dialog Manager (Java) Java Socket Stub Spracherkennung (TCL) Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 Programm 16 Fragen vom Publikum Tobias Kluge: FAME Middleware / Karlsruhe / 14.5.2003 17