Aufrufe
vor 5 Jahren

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

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

Assistent Einstufung

Assistent Einstufung nach Eigenschaft Sheridan Adaptiver Film- 2,3 und 4 Berater- und Auswahlassistent Filterassistenz (Kapitel 7.1) Inferenzmaschine 3 reine Filterassistenz Reiseradar ohne weitere Einflussnahme (Kapitel 7.3) Inferenzmaschine 9–10 Automatische Steuerung (Kapitel 8.2.2) der Umgebung Dialogmanager 5 Bietet Auswahl möglicher (Kapitel 7.2) Optionen und bestätigt Handlung nach Dialogende Tabelle 3: Tabellarische Übersicht der in dieser Arbeit diskutierten Assistenten und deren Einstufung nach Sheridan. gelwerken [147]. ” Gäbe es eine Regel, die besagen würde, dass das Licht im Raum angehen soll, sobald eine Person den Raum betritt, so würde immer das Licht angehen, auch wenn schon Personen im Raum sind. Würden diese gerade eine Präsentation ansehen, würde sie das angehende Licht nur stören. Würde jetzt eine Zusatzregel eingebaut, die besagt, dass die Regel nicht gilt, sobald schon Personen im Raum sind, würde dieser Fehler behoben werden. Soll der Raum aber beim Eintritt bestimmter Personen (z. B. der Institutsleiter) immer das Licht anmachen, so sind weitere Zusatzregeln nötig (aus dem Original)“. Laut Kulkarni wird so ein Regelsystem gewissermaßen ” wirr“ und somit nicht mehr wartbar und von Dritten nicht mehr zu verstehen sein. Zur Behebung (besser Milderung) dieser Effekte schlägt Kulkarni mehrere Regelebenen vor, in der Regeln die einer höheren Ebene angehören Regeln unterer Ebenen überschreiben können. Ein ähnliches Verfahren findet sich bei Grosof [93] der mittels Courteous Logic die Priorisierung von Regeln erlaubt. Auch die in dieser Arbeit beschriebene Möglichkeit (vgl. Kapitel 7.3) in Regeln auf vorher evaluierte Regeln zu verweisen nimmt sich dieser Herausforderung an, eine höhere Übersichtlichkeit innerhalb eines Regelwerkes zu schaffen. 9.3 Weitere Aspekte verteilter Komponentenensembles Nicht nur die prinzipielle Art der Kommunikation und den dahinterliegenden technischen Prinzipien und Kommunikationsstrategien, die z. B. die Entscheidung für die Unterscheidung von Events und Remote Procedure Calls bedingen oder die Vorgehensweise bzgl. Service Discovery und Service Composition bzw. die Evaluierungsmethodiken der UtilityValue-Funktionen und der darauf aufbauende Mechanismus der Konfliktlösungsstrategien, muss in verteilten (sprich: kommunizierenden) Ensembles definiert werden, sondern auch die Syntax der einzelnen Kommunikationsakte. In dieser Arbeit finden sich die Definition der Syntax der Rückgabewerte der UtilityValue-Funktionen im Falle der 257

Konfliktlösungsstrategien zur Zuteilung von Ereignissen (vgl. Kapitel 6.2.1) und zur Auswahl im Falle von konkurrierenden Komponenten (vgl. Kapitel 6.2.2). Die eigentliche Syntax der Nachrichten ist Teil der Applikationsentwicklung. Die in dieser Arbeit vorgestellten Applikationen (siehe Kapitel 7 und Kapitel 8.2) verwenden keine spezielle Ontologie und basieren im Wesentlichen auf dem Austausch von Strings, die von den jeweiligen Komponenten mit einfachsten Mittels interpretiert werden können. Es war nicht Aufgabe dieser Arbeit eine vollständige Ontologie für die Kommunikation von Komponenten in intelligenten Umgebungen zu entwickeln. Ontologien, die als Basis für die Syntax von auszutauschenden Nachrichten dienen, wurden z. B. im EMBASSI-Projekt (vgl. [101]) entwickelt. In diesem Projekt wurde auch gezeigt (vgl. Forkl und Hellenschmidt [83]), wie bei einer fest definierten Ontologiebeschreibung das unterlagerte Kommunikationssystem von Komponenten ausgehende Nachrichten auf ihre Syntaxeinhaltung prüfen kann. Die Erweiterung der SODAPOPD(AEMON)s nach Definition einer solchen Ontologie ist somit ohne Weiteres möglich. Die Erfahrungen im EMBASSI-Projekt zeigen zudem, dass eine solche Überprüfung der verwendeten Ontologie bei verteilt agierenden Entwicklergruppen zeitraubendes Fehlersuchen und Diskussionen ersparen kann und somit den Entwicklungsprozess von Komponentenensembles zu verkürzen hilft. Die Erfahrungen im Rapid- Prototyping-Umfeld in dieser Arbeit zeigen, dass auch mit eher proprietären Ansätzen zur Beschreibung der Nachrichtensyntax bereits anspruchsvolle Anwendungen entstehen können. Die Entwicklung von Ontologien im Bereich Hausgeräte und Unterhaltungssystemen ist auch ein besonderer Schwerpunkt des AMIGO-Projektes (vgl. Kapitel 3.1). Hier wird zwischen der Service Description Ontology“ zur Beschreibung der Dienste ” und der Deployment Ontology“ zur Anwendung der angebotenen Dienste unterschieden ” [15]. Ein anderer Punkt, der in dieser Arbeit bisher unerwähnt geblieben ist, ist die Unterscheidung von architektonischer und operationaler Integration. Dies soll an einem Beispiel konkretisiert werden: Die in dieser Arbeit beschriebene Software-Infrastruktur ermöglicht es, Komponenten und Geräte ad-hoc bereits bestehenden Komponenten- und Geräteensembles hinzuzufügen. Dies würde z. B. bedeuten dass ein Aktuator eines DVD- Rekorders sich an ein bereits bestehendes System (in welchem sich z. B. bereits ein DVD- Rekorder befindet) konnektieren kann (vgl. erweiterte Basistopologie für Ambient Intelligence aus Abbildung 73). Beide – der neue und der alte DVD-Rekorder-Aktuator – können sich nun auf dem Funktionskanal um Aufträge bewerben, um DVDs wiederzugeben oder DVDs zu beschreiben. Die architektonische Integration in den Kommunikationsfluss und die dynamische Berücksichtigung bei der Auftragsvergabe ist gelungen. Jedoch könnten die beiden DVD-Geräte nun auch neben den Funktionen abspielen“ und ” ” beschreiben“ die Funktion kopieren“ (von DVD auf DVD) anbieten. Durch das Hin- ” zufügen des neuen DVD-Rekorders ist prinzipiell die Möglichkeit einer neuen – vorher unbekannten – Funktion entstanden. Diese operationale Integration ist in der hier vorliegenden Arbeit nicht berücksichtigt, sie findet sich jedoch an mehreren Stellen dieser Arbeit implizit wieder. Zum einen sind die in Kapitel 6 definierten Konfliktlösungsstrategien hinreichend generisch (so verlangt die Konfliktlösungsstrategie zur Auswahl unter konkurrierenden Konkurrenten keinerlei Vorkenntnisse über die verwendete Semantik der 258

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