Aufrufe
vor 5 Jahren

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

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

3. Die Prioritäten der

3. Die Prioritäten der Operatoren sind in aufsteigender Rangfolge (in Klammern bedeutet gleiche Priorität): ?, |, &,(==, / =, >, func(projector(on)) -> func(powerpoint(start, user.seat)) -> func(roomlights(0.0)) -> func(shutter(0.0)); Regel 2a: sequence(bp1,bp2,bp3) & context.uid == 123 => func(projector(on)); Regel 2b: sequence(bp1,bp2,bp3) & context.uid == 123 => func(powerpoint(start, user.seat)); Regel 2c: sequence(bp1,bp2,bp3) & context.uid == 123 => func(roomlights(0.0)); Regel 2d: sequence(bp1,bp2,bp3) & context.uid == 123 => func(shutter(0.0)); 237

Die hier vorgestellte regelgestützte Inferenzmaschine erlaubt die Realisierung von Interpreterkomponenten im Sinne der in Abbildung 73 a) definierten Basistopologie für Komponenten. Genau genommen verschweigen“ die hiermit beschreibbaren Regeln einen ” wichtigen Zwischenschritt. Aus der Analyse von Ereignissequenzen wird unter Einbeziehung von allgemeinen Kontextdaten und persönlichen Benutzerdaten sofort auf die auszuführenden Funktionsaufrufe geschlossen. Dies bedingt implizit die Feststellung eines Benutzerzieles (bzw. Umgebungszieles). Dieses Ziel wird hier nicht explizit definiert. Heider und Kirste [98, 99] und Kakas et al. [133] erläutern in ihren Entwicklungen zur ” goal-oriented assistance“ bzw. ihrem knowledge-goals-plans“-Ansatz diesen wichtigen ” Zwischenschritt im Detail. O.B.d.A. kann somit die hier vorgestellte Inferenzmaschine unmittelbar für Komponententopologien in der Definition der erweiterten Basistopologie (vgl.Abbildung 73 c)) verwendet werden. Hierbei wird der Konditionalteil einer Regel zuerst zu einem Umgebungsziel interpretiert und in der nachfolgenden Verarbeitungsstufe zu den aufzurufenden Funktionen, die von Aktuatoren auszuführen sind. Am Beispiel vonRegel1würde sich dies wie folgt gestalten. Regel 1-1: sequence(bp1,bp2,bp3) & context.uid == 123 => goal(presentation(user.seat)); Regel 1-2: goal(presentation(user.seat)) => func(projector(on)); -> func(powerpoint(start, user.seat)) -> func(roomlights(0.0)) -> func(shutter(0.0)); Regel 1-1 würde hierbei von einer Interpreterkomponente ausgeführt, Regel 1-2 von einer nachfolgenden Strategiekomponente. 8.2.3 Raumaktuatoren Nachdem die Erfassung von Benutzereingaben und die Einbindung und Erprobung von (virtuellen) Sensoren in einer dreidimensionalen Visualisierung sichergestellt ist (vgl. Kapitel 8.2.1) und für die nachfolgende Kontextinterpretation geeignete regelgestützte Inferenzmaschinen bereitgestellt wurden, besteht der letzte Schritt zur Realisierung einer reaktiven intelligenten Umgebung in der Bereitstellung geeigneter Geräte bzw. Aktuatoren. Der Besprechungsraum 220 im Haus der graphischen Datenverarbeitung verfügt hierbei über ein geeignetes Umfeld. Wie in Abbildung 124 illustriert ist in diesem Raum ein separater Rechner installiert, von dem aus zentral alle Funktionen des Raumes gesteuert werden können. Der hier fest installierte Raumserver – zur Klarstellung soll hier betont werden, dass dies die Grundausstattung des Raumes ist, und diese für die hier vorgestellte Arbeit verwendet wird – kann Befehle auf Basis des http-Protokolls empfangen und auf Basis der darin kodierten Information die Geräte im Raum ansteuern. Es ist in diesem Raum somit möglich, separat das Licht, den Rollladen, den Projektor anzusteuern, aber auch andere Funktionen, wie Schaltung der Bodentanks, Einschalten einer Internetkamera oder die Steuerung der Raumlautsprecher anzusprechen. Abbildung 124 verdeutlicht, 238

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