Aufrufe
vor 5 Jahren

8 Werkzeuge f¨ur Rapid Prototyping mit verteilten Soft - tuprints

8 Werkzeuge f¨ur Rapid Prototyping mit verteilten Soft - tuprints

Regeln sind ähnlich

Regeln sind ähnlich denen im Easy-Living-Projekt von Microsoft beschriebenen Regeln (vgl. Kapitel 2.1.5). Krumm et al. unterscheiden hier zwischen ” sense context“ (im Sinne des aktuellen Zustandes einer Person oder eines Objektes) und ” sense intentional user interface commands“ im Sinne von ausgelösten Ereignissen [146]. Die Beispielregeln oben zeigen, dass zumindest zwei unterschiedliche Kontextobjekte zur Referenzierung des allgemeinen Kontextes (context) und zur Referenzierung des beteiligten Benutzers (user) verwendet werden sollen. Einen möglichen Satz an Benutzerprofildaten für multi-modale Umgebungen findet sich in Hellenschmidt et al. [103] auf der Basis der Anforderungen und verwendeten Daten im EMBASSI-Projekt (vgl. Kapitel 2.1.1). Zur Interpretation von Kontextdaten und dem daraus folgenden Schließen von Folgerungen sind unterschiedliche Lösungen auf der Basis verschiedener Technologien und Theorien in der Vergangenheit entwickelt worden. Im Grundsatz können hierbei drei Ansätze unterschieden werden. Zum Einen gibt es die konnektionistischen und heuristischen Ansätze für stationäre Optimierungen wie z. B. neuronale Netze [119]. Neuere Entwicklungen auf diesem Gebiet kombinieren hierbei Technologien der neuronalen Netze mit semantischen Wissensrepräsentationen um intelligentes Verhalten zu modellieren (vgl. [222]). Zum Anderen gibt es die symbolischen Ansätze (z. B. Planungssysteme), die rekursiv angelegte Probleme lösen helfen und die regelgestützten Ansätze wie Expertensysteme: Bei diesen wird eine sogenannte Vorwärtsinterpretation von Kontextdaten auf der Basis von (unabhängigen) Regeln durchgeführt. Bekannte Beispiele hier sind das OPS5-System [81], das auf LISP basierende CLIPS-System 85 und das Fast-Forward- Planungssystem von Hoffmann und Nebel [118]. Ein anderes bekanntes System ist die JESS - Java Expert System Shell [86] die laut Kulkarni [147] für die Implementation des Intelligent Room am Massachusetts Institute of Technology (MIT) (vgl. Kapitel 2.1.7) verwendet wurde. JESS verwendet wiederum einen erweiterten Rete-Algorithmus (vgl. [82]). Basierend auf den konnektionistischen, heuristischen und symbolischen Ansätzen sind weitere Systeme entstanden. Das CommonRules-System [93] macht es möglich Prioritäten von Regeln zu definieren und das KGP-Modell (Knowledge, Goals and Plans) erlaubt die ” Dreiteilung“ von Ausführungsregeln um konkrete Pläne aus einem gegebenen Satz an Umgebungsvariablen zu inferieren [133]. Auch Realisierungen auf der Basis von Bayeschen Netzen wurden veröffentlicht [94]. Der interactive Context-aware Application Prototyper (iCAP) [51] erlaubt die Definition von fünf verschiedenen Arten von Regeln (u.a. ” if-then“-Regeln, Regeln mit Zugriff auf persönliche Daten und Regeln mit Bezug auf Beziehungen (z. B. ” Freund von...“)). Dabei kann der Konditionalteil einer Regel aus zwei unabhängigen Teilen bestehen, die untereinander mittels einer AND- oder OR-Verknüpfung verbunden werden. Die Zielgruppe dieser Anwendung ist der sog. End- Benutzer, der mit Hilfe dieses Werkzeuges das Verhalten seiner Umgebung bestimmen kann (z. B.: ” If I leave the house, turn off the lights“, siehe [51]). Ereignissequenzen, temporäre oder räumliche Vergleiche und mehrere Verknüpfungen innerhalb des Konditionalteils einer Regeln können bei iCAP nicht konfiguriert werden. Generell zeichnen sich die bekannten Technologien zur Interpretation von Kontextdaten dadurch aus, dass für 85The C-Language Integrated Production System, verfügbar unter: http://www.ghg.net/clips/CLIPS.html (2005), Stand Frühjahr 2007 229

den Entwickler eine gewisse Einarbeitungszeit erforderlich ist. Viele Systeme, z. B. die Planungssysteme haben zudem die Eigenschaften von ” Quereffekten“ die das Modellieren des Raumverhaltens unnötig erschweren. Es sei jedoch dazu gesagt, dass mit den oben erwähnten Technologien ein Systemverhalten modellierbar ist, das weit über die in diesem Kapitel und den in dieser Arbeit beschriebenen Szenarios hinausgeht. Ob dieses potentielle Systemverhalten den Anforderungen vernünftiger Ambient-Intelligence-Szenarios im Sinne intelligenter Unterstützung von Benutzern innerhalb ihrer Umgebungen noch entspricht ist jedoch nicht Gegenstand dieser Arbeit. Gleichwohl erfüllen die eben erwähnten Technologien oftmals nicht den in dieser Arbeit aufgestellten Anforderungen. Um Regeln wie in den in diesem Abschnitt formulierten Beispielregeln zu formulieren wäre in allen Technologien umfangreiche Änderungen bzw. Nach- oder Vorbereitung von Daten erforderlich. Angelehnt an die Syntax der Extended Backus-Naur Form (ENBF) (vgl. Wirth [219] und Scowen [189]) wurde im Rahmen dieser Arbeit eine Inferenzkomponente zur Interpretation von Regeln spezifiziert und implementiert (vgl. Hellenschmidt [111] und Hellenschmidt/Wichert [112]). Dabei besteht ein kompletter Satz voneinander unabhängiger Regeln aus der Aneinanderreihung von Regeln die voneinander mittels eines Semikolons getrennt sind (Abbildung 118 a)). Eine Regel besteht aus einem Regelnamen, dem der Konditionalteil der Regel folgt (Abbildung 118 b)). Dem Konditionalteil kann ein Aktionsteil folgen. Dieser wird ausgeführt im Falle dass der Konditionalteil der Regel wahr ist. Der Aktionsteil besteht aus einer Abfolge von Funktionsaufrufen. Dabei enthält der Aktionsteil mindestens einen Funktionsaufruf (Abbildung 118 c)). Ein Funktionsaufruf besteht aus dem Schlüsselsymbol func gefolgt von einem Funktionsnamen und mehreren möglichen internen Parametern. Ein Funktionsaufruf ähnelt folglich der Definition von Methodennamen mit internen Methodenparametern (Abbildung 118 e)). Der Konditionalteil einer Regel enthält genau einen Ausdruck (der zu wahr evaluiert werden muss). Ausdrücke bestehen entweder aus relativen Ausdrücken (Abbildung 119 a)) die voneinander mit und (&) oder mit oder (|) getrennt sind oder aus Ausdrücken in Form einer ” if-then-else“-Anweisung. Relative Ausdrücke können aus zweierlei unterschiedlichen Formen bestehen (Abbildung 119 b)). Sie können zum Einen auf die Auswertung von Sequenzen von Ereignissen verweisen oder auf den Vergleich von arithmetischen Ausdrücken verweisen, die wiederum allgemeinen Kontextdaten, mathematischen Ausdrücken oder atomaren Ausdrücken entsprechen können. Als Vergleichsymbole sind hier die bekannten Gleich-, Kleiner-, Größer-, und Ungleichsymbole verwendbar. Die Definition einer Sequenz erfolgt durch die Angabe des Schlüsselwortes sequence gefolgt von einer Abfolge von Ausdrücken (Abbildung 119 c)). Ein arithmetischer Ausdruck ist hierbei die Verknüpfung von atomaren Größen mittels grundsätzlicher Rechenmethodiken (Abbildung 120 a)). Ein atomarer Ausdruck kann eine atomare Größe sein oder eine fest definierte Rechenfunktion (Abbildung 120 b)). Als fest implementierte Rechenfunktionen stehen die Maximums- und Minimumsfunktion, die Fakultät und die Invertierungsfunktion sowie eine Funktion zur Ermittelung von Zufallszahlen zur Verfügung (Abbildung 120 c)). Atomare Größen sind definiert als ein Literal oder eine Referenz auf ein internes Objekt (Abbildung 121 a)). Als interne Objekte sind ein Verweis auf allgemeine Kontextdaten sowie ein Verweis auf den gerade aktuellen Benutzer (Abbildung 121 b)) möglich. 230

eine infrastruktur f ¨ur das management von verteilten ... - DVS