
Palm-Handheld Universalfernbedienung
Dokumentinformationen
Autor | Ralph Dietzel |
instructor | Dipl.-Inf. Detlef Streitferdt |
Schule | Technische Universität Ilmenau |
Fachrichtung | Informatik und Automatisierung |
Dokumenttyp | Diplomarbeit |
Sprache | German |
Format | |
Größe | 446.00 KB |
Zusammenfassung
I.Anforderungen und Konzept einer innovativen Universalfernbedienung
Diese Arbeit befasst sich mit der Entwicklung einer innovativen Universalfernbedienung mit erweiterter Funktionalität. Der Fokus liegt auf der Geräteintegration und der Integration von EPG-Daten (Electronic Program Guide). Ein zentrales Konzept ist die Verwendung eines Merkmalmodells zur modularen Gestaltung der Softwarearchitektur. Die Mehrnutzerverwaltung und individuelle Gestaltungsmöglichkeiten der Fernbedienung sind weitere wichtige Anforderungen. Die Entwicklung basiert auf dem Palm OS und nutzt Infrarot zur Kommunikation. Die Arbeit untersucht verschiedene Bedienkonzepte und bestehende Lösungen von Firmen wie Bang & Olufsen und Philips (iPronto) als Vergleichsbasis.
1. Bestehende Fernbedienungs Konzepte und deren Limitationen
Der einleitende Abschnitt analysiert zunächst die Entwicklung des Fernsehens und die damit verbundene Evolution von Fernbedienungen. Es wird hervorgehoben, dass die Integration digitaler Technologien neue Möglichkeiten eröffnet hat, aber die meisten bestehenden Fernbedienungen lediglich die grundlegende Steuerung von Geräten ermöglichen. Die existierenden Konzepte werden kritisch beleuchtet: Die direkte Zuordnung jeder Funktion zu einer Taste führt zu Unübersichtlichkeit, während Mehrfachbelegungen die Handhabung erschweren. Innovative Ansätze wie Sprachsteuerung werden zwar erwähnt, aber ihre Unreife und die Abhängigkeit von klaren Sprachbefehlen und störungsfreier Umgebung werden als Limitationen genannt. Der Bedarf an flexibleren und benutzerfreundlicheren Lösungen, insbesondere im Hinblick auf die Integration von zusätzlichen Funktionen wie EPG-Daten und die Möglichkeit, Geräte über eine Internetverbindung anzusteuern, wird deutlich. Beispiele für bestehende Lösungen von Firmen wie Bang & Olufsen (mittels umfassender Geräteintegration) und Philips (iPronto, inklusive EPG und Internetbrowser-Funktionalität) werden als Vergleichsbasis herangezogen. Diese Beispiele illustrieren den aktuellen Stand der Technik und die Lücke, die die geplante Universalfernbedienung schließen soll.
2. Anforderungen an eine innovative Universalfernbedienung
Dieser Abschnitt definiert die konkreten Anforderungen an die zu entwickelnde Universalfernbedienung. Im Vordergrund steht die flexible Ansteuerung eines VDR-Systems (Video Disk Recorder) und die Integration von EPG-Daten (Electronic Program Guide). Ein weiteres wichtiges Kriterium ist die Fähigkeit zur Ansteuerung und Integration weiterer Geräte der Unterhaltungselektronik. Die Mehrnutzerverwaltung, die es mehreren Benutzern ermöglicht, individuelle Profile und Einstellungen zu verwenden, stellt ebenfalls eine zentrale Anforderung dar. Zusätzlich soll die Fernbedienung individuelle Gestaltungsmöglichkeiten bieten, um den unterschiedlichen Ansprüchen der Benutzer gerecht zu werden. Es wird betont, dass die Lösung sowohl die einfache Steuerung von Geräten als auch die Nutzung von EPG-Daten und die Möglichkeit, verschiedene Datenbanken über eine Internetverbindung zu nutzen, umfassen soll. Die flexible Auslösung von Funktionen, inspiriert von Konzepten aus dem PC-Bereich, ist ebenfalls Teil der Anforderungen. Die Notwendigkeit, die verschiedenen Übertragungsvarianten für EPG-Daten und Programmierungsdaten zu berücksichtigen, wird hervorgehoben, ebenso der Aspekt, dass die Art und Anzahl der Funktionen zur Bedienung eines Fremdgeräts nicht vorhersagbar sind und der Nutzer die Möglichkeit haben muss, Funktionen Tasten zuzuordnen.
3. Das Digitale Video Projekt und der VDR
Der Text beschreibt das 'Digitale Video Projekt', in dessen Kontext die Arbeit entsteht. Ein wichtiger Bestandteil ist der Video Disk Recorder (VDR), ein System zum Aufnehmen und Verwalten von Fernsehsendungen. Es wird erläutert, dass das VDR-System Sendungen aufzeichnen und auf verschiedene Medien exportieren kann und sowohl als Einzelplatzlösung als auch im Netzwerkbetrieb mit mehreren TV-Clients einsetzbar ist. Die Bereitstellung von programmbegleitenden Informationen (EPG-Daten) ist ebenfalls eine wichtige Funktion. Der Fokus liegt auf der Entwicklung einer Software, die in Zusammenarbeit mit Treibern DVB-Karten ansteuert und ein benutzerfreundliches Bedienkonzept bietet. Die Integration der EPG-Daten in die Fernbedienung wird als zentrales Ziel hervorgehoben, sodass die Informationen auch außerhalb der Reichweite des VDR-Systems abrufbar sind. Die Möglichkeit, die Programminformationen anzusehen, zu speichern, Erinnerungen (Reminder) basierend auf EPG-Daten zu setzen und den Videorekorder über die EPG-Daten zu programmieren, wird als Kernfunktionalität definiert. Der Platzbedarf der EPG-Daten wird grob abgeschätzt und die Notwendigkeit einer Mehrnutzerverwaltung und eines Tastatureditors zur individuellen Anpassung der Benutzeroberfläche wird erwähnt.
II.Architektur und Design der Universalfernbedienung
Die Softwarearchitektur basiert auf einer Systemfamilie, die durch das Merkmalmodell definiert wird. Jedes Merkmal (z.B. EPG-Anzeige, Ansteuerung anderer Geräte) wird in einem separaten Paket implementiert. Die Modularisierung ermöglicht einfache Wartung und Erweiterung. Die Kommunikation erfolgt über Infrarot-Signale. Die Funktionale Architektur und Prozessarchitektur werden detailliert beschrieben, inklusive der Datenflüsse zwischen den Paketen. Es werden verschiedene Pakete wie Grundfunktionen
, EPG
, Mehrnutzer
und Tastatureditor
eingeführt. Wichtig ist die flexible und erweiterbare Datenbank-Struktur zur Speicherung von EPG-Daten und Nutzerprofilen.
1. Merkmalmodell und Systemfamilien Architektur
Die Architektur der Universalfernbedienung basiert auf dem Prinzip von Systemfamilien und einem Merkmalmodell. Dieses Modell fasst die Gemeinsamkeiten und Unterschiede verschiedener Anwendungen (Familienmitglieder) zusammen und ermöglicht die Ableitung einer einheitlichen Architektur. Dieser modulare Aufbau bietet den Vorteil, dass neue Funktionen (Merkmale) einfach hinzugefügt und bestehende Komponenten ohne großen Aufwand verändert werden können. Der Text beschreibt, wie das Merkmalmodell in die Softwarearchitektur übersetzt wird, wobei jedes Merkmal in einem separaten Paket implementiert wird. Dies fördert die Modularität und Wartbarkeit des Systems. Die Vorteile dieser Architektur liegen in der einfachen Generierung verschiedener Anwendungen (Familienmitglieder) mit geringem Mehraufwand und der guten Wartbarkeit durch die unabhängige Modellierung der einzelnen Pakete. Die Möglichkeit, Basispakete zu schaffen, erleichtert die Modellierung neuer Merkmale. Die Kombination der Pakete ist innerhalb der durch das Merkmalmodell gesetzten Grenzen frei wählbar.
2. Funktionale und Prozessarchitektur der Software
Die Beschreibung der funktionalen Architektur konzentriert sich auf die Datenflüsse zwischen den einzelnen Paketen. Es werden Beispiele für wichtige Pakete genannt, wie Grundfunktionen
, EPG
, Mehrnutzer
, und Tastatureditor
, und ihre Interaktion wird skizziert. Der Fokus liegt auf der Darstellung, wie Befehle von der Fernbedienung an das VDR-System gesendet und verarbeitet werden. Dabei wird der Datenfluss zwischen den Komponenten und die Zusammenstellung der Infrarotsequenzen detailliert erläutert. Die Prozessarchitektur beleuchtet die Abläufe bei der Ereignisverarbeitung, der Erstellung neuer Programmierungsdaten und der Bearbeitung von Steuerelementen. Es wird beschrieben, wie auf Basis der gedrückten Taste die Funktion ermittelt und der entsprechende Befehl (Infrarotsequenz) zusammengestellt und gesendet wird. Die Abbildungen (4-3, 4-5, 4-14, 4-18, 4-24) visualisieren die Datenflüsse und Prozesse in den Paketen Grundfunktionen
, EPG
und Mehrnutzer
. Der Text erklärt, wie neue Programmierungsdaten erzeugt und wie Steuerelemente erzeugt und gelöscht werden können, inklusive der Speicherung der relevanten Daten in Datenbanken.
3. Datenbankdesign und Ereignisverarbeitung
Die Datenbankstrukturen spielen eine wichtige Rolle im Systemdesign. Der Text beschreibt, wie Daten dauerhaft gespeichert werden und wie die Organisation der Daten in Records und Datenbanken erfolgt. Es wird erwähnt, dass die Integration des Merkmals 'Mehrnutzerverwaltung' Änderungen in den Datenbanken erfordert, um die Zuordnung von Steuerelementen und Seiten zu den einzelnen Nutzern zu ermöglichen. Dadurch wird das Attribut NID
(Nutzer-ID) in die Datenbanken integriert. Die Ereignisverarbeitung wird über den handleEvent
-Mechanismus abgebildet. Dieser Mechanismus bestimmt die aktuell eingeblendete Seite und das aktive Steuerelement, extrahiert die dazugehörigen IDs (Steuerelement-ID und Merkmal-ID) und ermöglicht gegebenenfalls die Aktualisierung von Seiten oder Steuerelementen. Der Text erklärt die Funktion der handleEvent
-Methode und ihren Zusammenhang mit der Benutzeroberfläche, um die Funktionalität zu verdeutlichen. Die Beschreibung der Datenbankstrukturen und der Ereignisverarbeitung verdeutlicht die Implementierung der Architektur und ihre Interaktion mit der Benutzeroberfläche.
4. Bewertung der Architektur und Designrichtlinien
Die Bewertung der Architektur betont die Vorteile der gewählten modularen Struktur und deren Auswirkungen auf die Wartbarkeit. Die direkte Abbildung der Merkmale auf die einzelnen Pakete ermöglicht Veränderungen an einzelnen Komponenten, ohne andere Teile des Systems zu beeinflussen. Die Schaffung von Basispaketen vereinfacht die Modellierung neuer Merkmale. Eine einheitliche Designrichtlinie für die merkmalmodellierenden Pakete wird eingeführt, die die Schaffung einer zentralen Klasse pro Paket mit einer doIt
-Methode vorsieht. Diese Richtlinie sichert die Konsistenz und erleichtert die Entwicklung. Der Text beschreibt die Struktur des Pakets Familie
und die Basisklasse cMerkmal
mit den Methoden getFID
und getFParam
. Die Struktur des Pakets Nutzerschnittstelle
wird erläutert, inklusive der Verwaltung von Steuerelementen und Fenstern. Die Klasse cNutzerschnittstelle
verwaltet die Seiten und Steuerelemente. Die Implementierung ausgewählter Pakete wird kurz angerissen, ebenso die Funktionsweise der Aktivierung und Deaktivierung von Merkmalen. Der Text zeigt, dass die Architektur die Anforderungen erfüllt und eine einfache Generierung von verschiedenen Anwendungen ermöglicht. Im Abschnitt Struktur & Design ausgewählter Pakete
werden die Strukturen und Klassen einzelner Pakete (z.B. Grundfunktionen
, Datenbank
) näher erläutert.
III.Implementierung und Bewertung der Architektur
Die Implementierung nutzt objektorientierte Programmierung und spezifische Palm OS-Funktionalitäten. Der Abschnitt beschreibt die Implementierung ausgewählter Pakete und die Struktur der verwendeten Datenbanken. Die Mehrnutzerverwaltung führt zu Änderungen in den Datenbanken (Hinzufügen von Nutzer-IDs). Die Ereignisverarbeitung wird detailliert erläutert, inklusive der handleEvent
-Funktion. Die Bewertung der Architektur hebt die Vorteile der Modularisierung und Wartbarkeit hervor. Die Einhaltung der im Merkmalmodell definierten Beschränkungen sichert die Kompatibilität der Pakete. Ein erstellter Prototyp demonstriert die grundsätzliche Funktionsfähigkeit, weist aber aufgrund von Einschränkungen der Palm API und IrDA-Dokumentation noch Entwicklungspotenzial auf.
1. Implementierung ausgewählter Pakete und Datenbankstrukturen
Dieser Abschnitt befasst sich mit der Implementierung einzelner Pakete der Softwarearchitektur. Es wird erläutert, wie die einzelnen Merkmale aktiviert und deaktiviert werden. Die Struktur der Datenbanken, die für die Implementierung notwendig sind, wird beschrieben. Besondere Aufmerksamkeit wird der Datenbankstruktur im Zusammenhang mit der Mehrnutzerverwaltung gewidmet. Die Integration der Mehrnutzerverwaltung erfordert Änderungen in den Datenbanken, um die Zuordnung von Steuerelementen und Seiten zu den einzelnen Nutzern zu ermöglichen. Daher wird das Attribut NID (Nutzer-ID) hinzugefügt. Der Abschnitt liefert Einblicke in die Funktionsweise der Software, indem er bestimmte Funktionen bestimmter Pakete detailliert beschreibt. Die Beschreibung der Datenbankstrukturen und die Erläuterung, wie einzelne Merkmale aktiviert und deaktiviert werden, geben dem Leser ein umfassenderes Verständnis der Implementierung. Zusätzliche Datenbanken, die nur für spezifische Pakete relevant sind, werden ebenfalls erwähnt, wobei ihre Strukturen in den jeweiligen Abschnitten detailliert erläutert werden. Die Abbildung 5-8 veranschaulicht die Verarbeitung von Ereignissen in der handleEvent
-Funktion.
2. Ereignisverarbeitung und Datenbankzugriff
Die Ereignisverarbeitung erfolgt über einen Event-Loop und zugehörige Handler. Der handleEvent
-Methode führt eine Vorverarbeitung des Ereignisses durch, ermittelt die aktuell eingeblendete Seite und das aktive Steuerelement, extrahiert die IDs und ermöglicht gegebenenfalls die Aktualisierung. Die handleEvent
-Methode ist also zentral für die Interaktion des Nutzers mit der Fernbedienung. Der Datenbankzugriff erfolgt über die in der Datenbank
modellierten Strukturen. Die Datenbanken speichern die Informationen zu den einzelnen Merkmalen, Funktionen und deren Parametern. Der Zugriff auf die Datenbank ist notwendig, um die zugehörige Funktion zu einem bestimmten Steuerelement zu ermitteln. Die handleEvent
-Funktion liefert also die notwendigen Informationen, um den korrekten Datenbankzugriff zu ermöglichen und die entsprechende Aktion auszuführen. Der Text zeigt den Ablauf vom Ereignis über die handleEvent
-Methode bis hin zum Datenbankzugriff auf, um die Funktionsweise der Ereignisverarbeitung zu verdeutlichen. Die beschriebenen Methoden und Datenstrukturen verdeutlichen den Ablauf der Ereignisverarbeitung und den Datenzugriff aus der Datenbank, welche für die Funktionalität der Universalfernbedienung entscheidend sind.
3. Bewertung der Architektur und des Prototyps
Dieser Abschnitt bewertet die entwickelte Architektur und den erstellten Prototyp. Es wird hervorgehoben, dass die Architektur die Konzepte der Systemfamilien-Entwicklung erfolgreich umsetzt und durch die Modularisierung eine hohe Wartbarkeit gewährleistet. Die Unabhängigkeit der einzelnen Pakete ermöglicht Veränderungen, ohne andere Pakete zu beeinflussen. Die Architektur ermöglicht die einfache Generierung verschiedener Anwendungen. Der entwickelte Prototyp demonstriert die grundsätzliche Funktionsfähigkeit der Architektur, entspricht aber nicht vollständig den Erwartungen. Unerwartete Schwierigkeiten bei der Programmierung der modellierten Strukturen und Funktionen traten auf, da die vollständige Umsetzung des objektorientierten Paradigmas in der Palm-API nicht vorhanden war und die Dokumentation zur IrDA-Schnittstelle unzureichend war. Der hohe Zeitaufwand für die Einarbeitung in die IrDA-Schnittstelle wird als ein Grund für die unvollständige Implementierung genannt. Trotz der Einschränkungen zeigt der Prototyp die Machbarkeit des Konzepts.
IV.Fazit und Ausblick
Die Arbeit zeigt die Notwendigkeit einer innovativen Universalfernbedienung mit erweiterter Funktionalität wie EPG-Integration und Mehrnutzerverwaltung. Der entwickelte Prototyp demonstriert das Konzept einer flexiblen und erweiterbaren Softwarearchitektur basierend auf einem Merkmalmodell. Zukünftige Arbeiten sollten sich auf die vollständige Implementierung der geplanten Funktionen und die Verbesserung der Benutzerfreundlichkeit konzentrieren, wobei die Herausforderungen bei der Objektorientierten Programmierung im Rahmen der Palm API und der IrDA-Schnittstelle zu berücksichtigen sind. Die Arbeit liefert eine solide Grundlage für die Entwicklung zukünftiger, erweiterter Universalfernbedienungen.
1. Zusammenfassung der Ergebnisse und Bewertung des Prototyps
Das Fazit fasst die zentralen Ergebnisse der Arbeit zusammen. Es wird festgestellt, dass zwar viele Bedienkonzepte und Fernbedienungen existieren, die Geräteintegration jedoch im Vordergrund steht, während die Erweiterung der Funktionalität über die reine Gerätesteuerung hinaus bisher wenig Beachtung findet. Insbesondere die Mehrnutzerverwaltung und die individuelle Gestaltung der Fernbedienung werden als Bereiche mit unzureichenden Lösungen identifiziert. Der entwickelte Prototyp der Universalfernbedienung demonstriert die grundsätzliche Funktionsfähigkeit der Architektur, erreicht aber nicht die im Vorfeld angestrebte, weiterreichende Implementierung. Dies wird auf unerwartete Schwierigkeiten bei der Programmierung zurückgeführt, die insbesondere durch eine unvollständige Umsetzung des objektorientierten Paradigmas in der Palm-API und eine unzureichende Dokumentation der IrDA-Schnittstelle verursacht wurden. Der hohe Zeitaufwand für die Einarbeitung in die IrDA-Schnittstelle wird als ein limitierender Faktor genannt. Trotz der unvollständigen Implementierung wird der Prototyp als erfolgreicher Beweis für die grundsätzliche Funktionsfähigkeit der Architektur bewertet.
2. Ausblick auf zukünftige Entwicklungen
Der Ausblick auf zukünftige Entwicklungen konzentriert sich auf die notwendigen Schritte zur Vervollständigung der Implementierung. Die unerwarteten Schwierigkeiten bei der Programmierung, die vor allem auf die Palm-API und die IrDA-Schnittstelle zurückzuführen sind, sollen in zukünftigen Arbeiten adressiert werden. Die vollständige Implementierung der geplanten Funktionen und die Verbesserung der Benutzerfreundlichkeit werden als zentrale Ziele genannt. Die Arbeit selbst liefert eine solide Grundlage für die Entwicklung zukünftiger, erweiterter Universalfernbedienungen. Die Modularität der Architektur, basierend auf dem Merkmalmodell und der Systemfamilien-Ansatz, bieten eine gute Ausgangsbasis für weitere Entwicklungen und Erweiterungen. Die Erfahrungen aus dem Prototypenbau zeigen Wege auf, wie die Implementierung verbessert und die Funktionalität erweitert werden kann. Zukünftige Arbeiten sollten die gesammelten Erfahrungen nutzen, um eine umfassendere und voll funktionsfähige Universalfernbedienung zu entwickeln.