Die Kommunikation zwischen Mensch und Computer ist in unterschiedlicher Weise beschränkt. Ein Problem ist, dass der Computer die Sprache der Menschen nicht verstehen, den Hintergrund und Situation des Benutzers nicht auffassen und somit die Welt nicht begreifen kann. Deshalb muss der Mensch die Informationen für den Computer bereitstellen, und zwar in expliziter Form. Dieser Prozess ist fehleranfällig, zeitaufwändig, und verringert die Benutzerakzeptanz (vgl. Haselhoff 2005a, S. 10). Die Vision der „selbst-Adaptivität“ oder „Kontextadaptivität“(„context-awareness“) zielt darauf ab, obiges Problem zu verringern, in dem die
Kommunikation zwischen Mensch und Maschine vereinfacht und effizienter wird. Diese wird in verschiedenen Forschungsbereichen, z.B. dem „Ubiquitous Computing” evident.
Das Interesse an anpassungsfähiger Software ist in den letzten Jahren angestiegen. Die Gründe dafür sind zum einen die zunehmende Verbreitung
leistungsfähiger mobiler Geräte wie PDA, Notebook und Smartphone. Zum anderen ermöglichen neue Softwaretechniken die Entwicklung von Kontextadaptivität in einer Anwendung: Software-Komponenten-Frameworks (z.B. .NET) erlauben es, dynamisch zur Laufzeit Komponenten hinzuzufügen oder zu entfernen, Komponenten zu migrieren und Komponentenverbindungen zu verändern.
Ziel dieser Arbeit ist es, einige Einsatzmöglichkeiten anpassungsfähiger Software vorzustellen, die bereits realisiert worden sind. Im Grundlagenteil wird zunächst selbst-adaptive Software definiert. Zudem wird ein kürzer Überblick über die Hauptideen von Mobile und Ubiquitous Computing gegeben. Das dritte Kapitel befasst sich allgemein mit den Rahmenbedingungen für selbst-adaptive Systeme und den Anforderungen an solche Systeme. Kapitel vier beginnt mit einer kurzen Begründung zur Auswahl von Anwendungsgebieten die daraufhin dargestellt werden.
Die Arbeit schließt mit einer Zusammenfassung und einem Ausblick ab.
Inhaltsverzeichnis
Abbildungsverzeichnis
Abkürzungsverzeichnis
1 Einleitung
2 Grundlagen
2.1 Mobile und Ubiquitous Computing
2.2 Selbst-adaptive Software
3 Rahmenbedingungen für selbst-adaptive Software
3.1 Aspekte der Selbst-Adaptivität
3.3 Anforderungen an selbst-adaptive Systeme
3.3.1 Softwareanforderungen und Designkriterien
3.3.2 Hardwareanforderungen
4 Anwendungsgebiete
4.1 Mobile Marketing
4.2 Ortsabhängige Dienste
4.3 Embedded Devices
4.4 Medizinisches Umfeld
4.5 Digital Signal Processing
4.6 Smart Home
5 Fazit und Ausblick
6 Literaturverzeichnis
Abbildungsverzeichnis
Abb. 4-1: Anwendungsgebiete in Bezug auf Klassen von Kontextinformationen (Quelle: eigene Darstellung)
Abb. 4-2: Kategorisierung ortsbezogener Dienste (Quelle: In Anlehnung an Turowski/Pousttchi 2004, S. 80)
Abkürzungsverzeichnis
Abbildung in dieser Leseprobe nicht enthalten
1 Einleitung
„Servicetechniker A beginnt morgens den Arbeitstag zu Hause... Er startet eine Anwendung auf seinen tragbaren Computer, die über den WLAN-basierten häuslichen Internetzugang auf seine Auftragsliste in der Datenbank seiner Firma zugreift. Während er beim Frühstück sitzt, lässt er sich die Aufträge per Sprachausgabe vorlesen. Dann fährt er mit der Bahn ins Büro. Die Anwendungen auf dem mobilen Computer passen sich an die neue Umgebung an: Die Daten werden jetzt per UMTS übertragen und erscheinen nur auf dem Bildschirm ohne Sprachausgabe. Im Büro erscheinen die Informationen nicht auf dem mobilen PC, sondern die Anzeige wechselt adaptiv auf den Bildschirm des stationären Schreibtisch-PCs...” (vgl. Geihs 2008, S. 133)
So könnte ein Anwendungsszenario für selbst-adaptive Anwendungen auf mobilen Computern aussehen. Das Interesse an anpassungsfähiger Software ist in den letzten Jahren angestiegen. Die Gründe dafür sind zum einen die zunehmende Verbreitung leistungsfähiger mobiler Geräte wie PDA, Notebook und Smartphone. Zum anderen ermöglichen neue Softwaretechniken die Entwicklung von Kontextadaptivität in einer Anwendung: Software-Komponenten-Frameworks (z.B. .NET) erlauben es, dynamisch zur Laufzeit Komponenten hinzuzufügen oder zu entfernen, Komponenten zu migrieren und Komponentenverbindungen zu verändern.
Ziel dieser Arbeit ist es, einige Einsatzmöglichkeiten anpassungsfähiger Software vorzustellen, die bereits realisiert worden sind. Im Grundlagenteil wird zunächst selbst-adaptive Software definiert. Zudem wird ein kurzer Überblick über die Hauptideen von Mobile und Ubiquitous Computing gegeben. Das dritte Kapitel befasst sich allgemein mit den Rahmenbedingungen für selbst-adaptive Systeme und den Anforderungen an solche Systeme. Kapitel vier beginnt mit einer kurzen Begründung zur Auswahl von Anwendungsgebieten die daraufhin dargestellt werden. Die Arbeit schließt mit einer Zusammenfassung und einem Ausblick ab.
2 Grundlagen
Die Kommunikation zwischen Mensch und Computer ist in unterschiedlicher Weise beschränkt. Ein Problem ist, dass der Computer die Sprache der Menschen nicht verstehen, den Hintergrund und Situation des Benutzers nicht auffassen und somit die Welt nicht begreifen kann. Deshalb muss der Mensch die Informationen für den Computer bereitstellen, und zwar in expliziter Form. Dieser Prozess ist fehleranfällig, zeitaufwändig, und verringert die Benutzerakzeptanz (vgl. Haselhoff 2005a, S. 10). Die Vision der „selbst-Adaptivität“ oder „Kontextadaptivität“ („context-awareness“) zielt darauf ab, obiges Problem zu verringern, in dem die Kommunikation zwischen Mensch und Maschine vereinfacht und effizienter wird. Diese wird in verschiedenen Forschungsbereichen, z.B. dem „Ubiquitous Computing” evident.
2.1 Mobile und Ubiquitous Computing
Mobile Computing
Mobile Computing ist als ein Paradigma aufgetaucht, in dem die Benutzer ihre Computer mit sich tragen können und gleichzeitig eine Konnektivität zu anderen Maschinen bewahren (vgl. Coulouris et al. 2006, S. 658). Unter Mobile Computing versteht man die mobile Verfügbarkeit oder Überall-Verfügbarkeit der Informationen und Dienste (vgl. Caus 2006, S. 6 f.). Es beschäftigt sich also mit zwei Gebieten der Computernutzung: Der Tragbarkeit und der Konnektivität. Die Tragbarkeit hat besonders seit Ende der achtziger Jahre, als die ersten Laptops entwickelt worden sind, die Wissenschaftler interessiert. Technologische Fortschritte in beiden Bereichen haben seitdem zur besseren Funktionalität und Performance geführt (vgl. Coulouris et al. 2006, S. 658). Eine Folge des Mobile Computing ist das „Continuous Computing“: Die Verfügbarkeit preisgünstiger mobiler Geräte und drahtloser Internet-Zugänge für alle schaffen ein neues Internet (Rousch 2005, S. 56).
Besonders in Anwendungsszenarien, in denen die Mobilität von Benutzern das Systemverhalten beeinflusst, lässt sich der Bedarf kontextadaptiver Systeme (Kapitel 2.2) einfach begründen. Die Umgebung eines mobilen Nutzers (Kontext) ändert sich stetig (Kapitel 3.1). Dazu gehören sein gegenwärtiger Aufenthaltsort, sowie Personen und Gegenstände etc. in seiner direkten Nähe.
Die Konzepte des Mobile Computing werden ganz besonders in Ubiquitous Computing benutzt.
Ubiquitous Computing
Ubiquitous Computing bezeichnet die Allgegenwärtigkeit der rechnergestützten Informationsverarbeitung im Alltag von Menschen. Diese wird als Ergebnis einer Entwicklung gesehen, an deren Anfang die Mainframe-Nutzung stand, die auf Dauer über die PC-Ära hinausreicht und hin zur Ubiquitous Computing-Ära führen wird. Diese drei Zeitphasen werden hier kurz erläutert:
1. Mainframe: Ein Computer, viele Anwender. Die Benutzer teilen sich eine kostbare Ressource. Sie sind Experten, die zur Benutzung der Maschine ausgebildet sind.
2. PC: Ein Computer, ein Anwender. Der Computer ist ein persönlicher Gegenstand. Jeder kann nach einem entsprechenden Training einen Computer benutzen.
3. Ubiquitous Computing: Ein Anwender, viele Computer. Die Computer werden so alltäglich und z.T. derart unsichtbar, dass sie nicht mehr wahrgenommen werden. Jeder kann sie benutzen.
Der Begriff „Ubiquitous Computing“ wurde zum ersten Mal Anfang der 90er Jahre von Mark Weiser verwendet. Er sprach von einem unsichtbaren und unaufdringlichen Computer welcher allgegenwärtig (ubiquitär) ist und den Menschen bei seinen Arbeiten und Tätigkeiten besser unterstützt und ihn von lästigen Routineaufgaben befreit. Generell soll der Computer als Gerät verschwinden, aber dessen informationsverarbeitende Funktionalität überall verfügbar sein (vgl. Mattern 2003, S. 3).
Krcmar hat einige Ansätze des Ubiquitous Computing wie folgt, dargestellt (vgl. Krcmar 2005, S. 507):
- Verschmelzung: Computer verschwinden als einzelne, identifizierbare Gegenstände, denen der Mensch gesonderte Aufmerksamkeit schenkt.
- Spezialisierung: Computer entwickeln sich von Universalmaschinen hin zu Spezialmaschinen die bestimmte Aufgaben erfüllen.
- Allgegenwart: Computer sollen orts- und zeitunabhängig verfügbar werden.
- Kontext: Computer werden mehr von der realen Welt erfassen können, anstatt alle Informationen vom Benutzer zu bekommen.
Wenn die Geräte kleiner werden, lassen sie sich unauffälliger in die physikalische Welt integrieren. Dieses führt zu einer größeren Mobilität der Geräte. Außerdem müssen die Computer vernetzt sein. Je verbreiteter Wireless connectivity wird, desto einfacher können diese Geräte miteinander verbunden werden.
Eine Integration von Geräten in die Umgebung setzt voraus, dass die Geräte über ihre Umgebung informiert sind, und sich somit der Umgebung anpassen können (vgl. Diekmann/Hagenhoff 2003, S. 11).
2.2 Selbst-adaptive Software
Selbst-Adaptivität erlaubt die Entwicklung von Anwendungen, die sich an die Situation eines Benutzers anpassen. Damit lassen sich nicht nur neue Anwendungstypen entwickeln, auch bereits bestehende Anwendungen lassen sich um diesen Aspekt erweitern.
Aber was ist selbst-adaptive Software ? In der Literatur sind folgende Definitionen zu finden:
„Self-adaptive Software modifies its own behavior in response to changes in its operating environment. By operating environment, we mean anything observable by the software system, such as end-user input, external hardware devices and sensors, or program instrumentation.“ (Oreizy et al. 1999, S. 54)
Robert Laddaga -wissenschaftlicher Mitarbeiter an der CSAI Lab, MIT- hat in seiner Arbeit für DARPA (Defense Advanced Research Projects Agency) im Jahre 1997 eine Definition erstellt, welche heute in der Literatur häufig zitiert wird:
„Self-adaptive software evaluates its own behavior and changes behavior when the evaluation indicates that it is not accomplishing what the software is intended to do, or when better functionality or performance is possible.“ (Laddaga/Robertson 2006, S. 1)
Bill N. Schilit hat die context-aware Software als eine Lösung für mobile verteilte Systeme betrachtet: „One challenge of mobile distributed computing is to exploit the changing environment with a new class of applications that are aware of the context in which they are run...” (Schilit et al. 1994, S. 1).
Solche Software fördert das Zusammenspiel von Menschen, Geräten und Computern. Dadurch entstehen neue Applikationen und Dienste für die Benutzer. Es ist beispielsweise durch eine selbst-adaptive in den Fahrzeug-Bordcomputer integrierte Software möglich, das Bremsenverhalten automatisch an das Wetter anzupassen, und den Fahrer mit Hilfe des Navigationssystems zum Ziel führen.
Eine selbst-adaptive Software soll sich dem Kontext anpassen. Die Interessantesten in der Umgebung sind was die Benutzer sehen, hören und anfassen (vgl. Kapitel 3.1), und genau diese sind die wichtigsten Informationen, die für ein solches Verhältnis zwischen Menschen und Maschinen notwendig sind (vgl. Schilit et al. 1994, S. 1).
Häufig gestellte Fragen
Was ist das Thema dieses Dokuments?
Dieses Dokument ist eine Sprachvorschau, die Titel, Inhaltsverzeichnis, Ziele, Hauptthemen, Kapitelzusammenfassungen und Schlüsselwörter enthält. Es befasst sich hauptsächlich mit selbst-adaptiver Software im Kontext von Mobile und Ubiquitous Computing.
Was sind die Hauptbestandteile des Inhaltsverzeichnisses?
Das Inhaltsverzeichnis umfasst folgende Punkte: Einleitung, Grundlagen (Mobile und Ubiquitous Computing, Selbst-adaptive Software), Rahmenbedingungen für selbst-adaptive Software, Anwendungsgebiete, Fazit und Ausblick, sowie das Literaturverzeichnis.
Welche Anwendungsgebiete werden in diesem Dokument behandelt?
Die behandelten Anwendungsgebiete sind: Mobile Marketing, Ortsabhängige Dienste, Embedded Devices, Medizinisches Umfeld, Digital Signal Processing und Smart Home.
Was versteht man unter Mobile Computing?
Mobile Computing bezeichnet die mobile Verfügbarkeit von Informationen und Diensten durch tragbare Geräte mit Konnektivität zu anderen Maschinen. Es befasst sich mit Tragbarkeit und Konnektivität.
Was ist Ubiquitous Computing?
Ubiquitous Computing beschreibt die Allgegenwärtigkeit der rechnergestützten Informationsverarbeitung im Alltag der Menschen, wobei Computer unauffällig in die Umgebung integriert werden.
Wie wird selbst-adaptive Software definiert?
Selbst-adaptive Software ist Software, die ihr eigenes Verhalten in Reaktion auf Veränderungen in ihrer Betriebsumgebung modifiziert. Sie bewertet ihr eigenes Verhalten und ändert es, wenn es nicht die beabsichtigten Ziele erreicht, oder wenn bessere Funktionalität oder Leistung möglich ist.
Welche Anforderungen werden an selbst-adaptive Systeme gestellt?
Das Dokument behandelt sowohl Softwareanforderungen und Designkriterien als auch Hardwareanforderungen an selbst-adaptive Systeme.
Was sind Beispiele für dynamische Adaption?
Ein Beispiel ist die automatische Anpassung der Bildschirmhelligkeit eines Laptops an die Umgebungslichtverhältnisse. Ein weiteres Beispiel ist das TCP-Protokoll im Internet, das die Größe des Übertragungsfensters an die Last- und Fehlersituation im Netzwerk anpasst.
Was ist der Zweck dieser Arbeit?
Ziel dieser Arbeit ist es, einige Einsatzmöglichkeiten von anpassungsfähiger Software vorzustellen, die bereits realisiert worden sind. Es soll ein kurzer Überblick über die Hauptideen von Mobile und Ubiquitous Computing gegeben werden, sowie die Rahmenbedingungen für selbst-adaptive Systeme und Anforderungen an solche Systeme, und ausgewählte Anwendungsgebiete dargestellt werden.
- Citar trabajo
- Ahmad Mirkhani (Autor), 2009, Anwendungsgebiete für Selbst-adaptive Software, Múnich, GRIN Verlag, https://www.grin.com/document/147059