Aufrufe
vor 5 Jahren

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

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

Abbildung 124:

Abbildung 124: Unterschiedliche voneinander unabhängige Aktuatoren steuern die Funktionen des Besprechungsraumes 220. Die Richtung der Pfeile erfolgt gemäß den Definitionen von Kapitel 5. Die Aktuatoren sind demzufolge in der Lage Remote Procedure Calls aus dem Funktionskanal zu verarbeiten. wie auf Basis der hier vorgefundenen Rauminstallation unterschiedlichste Aktuatorkomponenten realisiert wurden, die dann wiederum mittels geeigneter http-Aufrufe die Raumfunktionen ansteuern können. Zum Anfang wurden fünf unterschiedliche Aktuatorkomponenten realisiert: • Beleuchtung (vorne): Diese Komponente schaltet die Deckenbeleuchtung direkt an der Projektsfläche. Sie versteht den Funktionsaufruf projectorlights(real intensity), wobei intensity ein Wert zwischen 0.0 und 1.0 darstellt. Der Wert 1.0 bedeutet hierbei volle Beleuchtungsstärke. • Beleuchtung (Raum): Diese Komponente schaltet die Raumbeleuchtung. Sie versteht den Funktionsaufruf roomlights(real intensity), wobei intensity wiederum einen Wert zwischen 0.0 und 1.0 erlaubt. Der Wert 1.0 entspricht analog der Definition der anderen Beleuchtungskomponente wiederum der vollen Beleuchtungsstärke. • Projektor: Diese Komponente steuert den Projektor und schaltet ihn an oder aus. Sie versteht hierbei den Funktionsaufruf projector(String status), wobei status entweder auf on oder off gesetzt werden kann. • Bodentank: Der Raum 220 verfügt über fünf unterschiedliche Einstellungen für die Quelle von VGA-Ausgaben, die auf den Projektor gegeben werden können. Dies sind BT 1 – BT 4, sowie der sog. Presenter-PC. Die Komponente Bodentank 239

ist somit in der Lage die Quelle von Präsentationen zu schalten. Sie versteht den Funktionsaufruf source(String source), wobei die interne Variable source auf bt1, bt2, bt3, bt4 oder presenter gesetzt werden kann. • Rollladen (Verdunkelung): Diese Komponenten steuert die elektrische Verdunkelung im Raum. Sie versteht den Funktionsaufruf shutter(real hight), wobei die Variable hight einen Wert zwischen 0.0 und 1.0 annehmen darf. Der Wert 1.0 bedeutet, dass die Verdunkelung vollständig geöffnet ist, der Wert 0.0 bedeutet entsprechend, dass der Rollladen komplett heruntergelassen ist. Zusätzlich wurden im Rahmen dieser Arbeit zwei weitere Aktuatoren implementiert und eingesetzt: • Präsentationskomponente: Gewöhnlich werden Präsentationen mittels des Programms Microsoft Power Point erstellt und gehalten. Zur Unterstützung dieser Verfahrensweise wurde folglich eine Komponente implementiert, die unter Verwendung des Java Native Interfaces (JNI) 86 in der Lage ist, Microsoft Power Point auf einem unter Windows (2000, XP) betriebenen Rechner zu starten und zu steuern. Die Implementierung auf diese Art und Weise ist nötig, da die in dieser Arbeit vorgestellte Software-Infrastruktur auf Basis der Programmiersprache Java realisiert wurde 87 . Die hier verwendete Komponente unterstützt die Funktionsaufrufe open- Presentation(String filename), openPresentation(), closePresentation(), firstSlide(), lastSlide(), nextSlide(), und previousSlide(). Die hier eingesetzte Präsentationskomponente ist auf Basis der von Microsoft veröffentlichten COM-Schnittstelle entstanden. Es soll aber nicht unerwähnt bleiben, dass es weiter reichende Implementationen auf OpenSource-Basis gibt, die in der Lage sind Microsoft Programme in Java einzubinden und einen sehr hohen Funktionsumfang zur Verfügung stellen 88 . • Filmkomponente: Dies ist eine Komponente, die in der Lage ist, einen Film als MPEG-Datei bzw. eine Tondatei als MP3-Datei wiederzugeben. Sie entspricht den Medienwiedergabe-Aktuatoren aus Kapitel 7.2. Die Komponente versteht dabei die Funktionsaufrufe startMedia(String filename) und startMedia(). 8.2.4 Anwendungsbeispiele In diesem Abschnitt sollen zwei Beispiele gegeben werden, die die Verwendung der eben beschriebenen Applikationen verdeutlichen und erläutern sollen. Das Szenario entspricht 86 Für weitere Details wird hier auf die von Sun herausgegebene Dokumentation unter http://java.sun.com/j2se/1.3/docs/guide/jni/ (Stand Frühjahr 2007) verwiesen. 87 Im Projekt DYNAMITE, im Rahmen dessen die wichtigsten Ergebnisse dieser Arbeit erstellt wurden, wurde sich auf die Programmiersprache Java geeinigt, um eine möglichst große Portierbarkeit bei der Verwendung unterschiedlicher Betriebssysteme (Windows, Linux, und Mac OS) sicherzustellen. 88 Das bekannteste Projekt dieser Art dürfe das Jacob-Projekt sein. Diese JAva-COm-Bridge erlaubt den Zugriff auf weite Bereiche der Win32-Bibliotheken des Windows-Betriebssystems. Unter http://sourceforge.net/projects/jacob-project/ finden sich die aktuellen Versionen dieses Projektes (zuletzt V1.13 vom 17. Mai 2007, Stand Frühjahr 2007). 240

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