Entwurf und Implementierung eines Benachrichtigungsdienstes für Änderungen in einer Wissensdatenbank

  • Type:Studienarbeit
  • Supervisor:

    Dipl. Inform. Jürgen Reuter

  • Person in Charge:Mustafa Yilmaz
  • Im Rahmen des EU-Projektes „CHIL” sollen Umgebungen geschaffen werden, in denen Rechner Menschen behilflich sind, die mit anderen Menschen interagieren (im Gegensatz zum Mensch-Maschine-Dialog). Das hierfür relevante Wissen über die Umgebung wird in einer ontologischen Wissensdatenbank gespeichert. Verschiedene Teile des Systems wie perzeptuelle Komponenten greifen lesend und schreibend auf die Datenbank zu.

    Damit eine Komponente über Änderungen in der Wissensdatenbank auf dem Laufenden gehalten werden kann, ohne ständig lesend zugreifen zu müssen, soll ein Benachrichtigungsdienst entworfen und prototypisch implementiert werden. Eine Komponente meldet sich als Beobachter bei der Wissensdatenbank mit einer ontologischen Beschreibung der zu beobachtenden Eigenschaft an. Die Wissensdatenbank benachrichtigt den Beobachter bei Änderung dieser Eigenschaft. Als Eigenschaften kommen insbesondere konkrete Wert- oder Objekteigenschaften in Frage (z.B. Werteigenschaft „Anzahl der Personen in einem Raum”), aber auch die Existenz einer Instanz mit vorgegebenen Eigenschaften. Um die Gesamtkommunikationskosten im System gering zu halten, ist anstelle der Benachrichtigung bei jeder Änderung eines Wertes stattdessen auch das Verlassen oder Betreten eines vorgegebenen Wertebereichs denkbar.

    Wesentlicher Teil der Studienarbeit ist der Entwurf der Beschreibungssprache zur Kennzeichnung der zu beobachtenden Eigenschaft sowie die Implementierung der Anbindung auf Klienten- und Dienstgeberseite. Die Kommunikation soll, wie in CHIL üblich, in XML über TCP erfolgen und exemplarisch in Java implementiert werden.

    Da zum jetzigen Zeitpunkt unklar ist, ob und wie die Auswertung von Änderungen in der Wissensdatenbank im Kontext des ontologischen Schließens effizient implementiert werden kann, soll ggf. prototypisch ein einfacher Umwickler um die Datenbank gebaut werden, der bei jedem schreibenden Zugriff auf die Wissensdatenbank den Schließer für jeden angemeldeten Beobachter aufruft, um alle zu beobachtenden Eigenschaften erneut zu prüfen. Alternativ denkbar ist bei Einschränkung der Anfragesprache auf Beobachtung von Wert- und Objekteigenschaften das direkte Mitprotokollieren von eigenschaftsändernden Zugriffen auf die Wissensdatenbank und deren Auswertung ohne Nutzung von Schließmechanismen.