Anwendungsgebiete für Selbst-adaptive Software


Hausarbeit, 2009

29 Seiten


Leseprobe


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).

Einfache Formen der „dynamischen Adaption“ (Kapitel 3.2) sind schon seit langem in Rechnersystemen bekannt. Beispielsweise kann ein Laptop die Helligkeit des Bildschirms automatisch an die Lichtverhältnisse der Umgebung anpassen. Dabei muss es sich nicht notwendigerweise um eine durch Software gesteuerte Adaption handeln. Ein weithin bekanntes Beispiel von in Software implementierter Adaptivität ist im Transmission Control Protocol (TCP) des Internet enthalten. TCP passt die Größe des sogenannten Übertragungsfensters an die Last- und Fehlersituation im Netzwerk an (vgl. Geihs 2008, S. 134).

Ende der Leseprobe aus 29 Seiten

Details

Titel
Anwendungsgebiete für Selbst-adaptive Software
Hochschule
Georg-August-Universität Göttingen  (Institut für Wirtsschaftsinformatik)
Autor
Jahr
2009
Seiten
29
Katalognummer
V147059
ISBN (eBook)
9783640664894
ISBN (Buch)
9783640665228
Dateigröße
568 KB
Sprache
Deutsch
Schlagworte
Anwendungsgebiete, Selbst-adaptive, Software
Arbeit zitieren
Ahmad Mirkhani (Autor:in), 2009, Anwendungsgebiete für Selbst-adaptive Software, München, GRIN Verlag, https://www.grin.com/document/147059

Kommentare

  • Noch keine Kommentare.
Blick ins Buch
Titel: Anwendungsgebiete für Selbst-adaptive Software



Ihre Arbeit hochladen

Ihre Hausarbeit / Abschlussarbeit:

- Publikation als eBook und Buch
- Hohes Honorar auf die Verkäufe
- Für Sie komplett kostenlos – mit ISBN
- Es dauert nur 5 Minuten
- Jede Arbeit findet Leser

Kostenlos Autor werden