diplomarbeit im studiengang software-technik ang ...ubicomp/... · diplomarbeit eingereicht im...

78
Fakultät Technik und Informatik Faculty of Engineering and Computer Science Department Informatik Department of Computer Science Rosa Schmidt Ubiquitous Computing Bestandteile einer Intelligenten Wohnung Diplomarbeit

Upload: others

Post on 12-Aug-2020

3 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Fakultät Technik und Informatik Faculty of Engineering and Computer ScienceDepartment Informatik Department of Computer Science

Rosa Schmidt

Ubiquitous ComputingBestandteile einer Intelligenten Wohnung

Diplomarbeit

Page 2: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Diplomarbeit eingereichtim Studiengang Informatikam Department Informatikder Fakultät Technik und Informatikder Hochschule für Angewandte Wissenschaften Hamburg

Betreuender Prüfer: Prof. Dr. rer. nat. Kai von LuckZweitgutachter: Prof. Dr. rer. nat. Gunter Klemke

Rosa Schmidt

Ubiquitous ComputingBestandteile einer Intelligenten Wohnung

Page 3: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Rosa Schmidt

Thema der DiplomarbeitUbiquitous Computing Bestandteile einer Intelligenten Wohnung

StichworteUbiquitous Computing, iFlat, intelligente Wohnung, intelligente Umgebung

KurzzusammenfassungDiese Arbeit stellt einige aktuelle Forschungsprojekte zum Thema Ubiquitous Com-puting vor, untersucht verschiedene Technologien zum Einsatz in einer intelligentenWohnung und schlägt eine Architektur für dieses Einsatzgebiet vor.

Title of the paperUbiquitous Computing Consituent Parts of an Intelligent Flat

KeywordsUbiquitous Computing, iFlat, smart home, smart enviroment

AbstractThis thesis presents some current research projects in the field of Ubiquitous Com-puting, investigates the usability of different technologies in an intelligent flat und sug-gests an architecture for this domain.

Page 4: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Danksagung

Mein Dank gilt den beiden Professoren Kai von Luck und Gunter Klemke.

Herrn Gunter Klemke danke ich für die prompte Zusage, die Aufgabe des Zweitgutachterszu übernehmen.

Mein ganz besonderer Dank gilt Kai von Luck für die ausgezeichnete Betreuung mit wertvol-len fachlichen Hinweisen und motivierender Kritik.

Ein Dankeschön geht an Sven Stegelmeier und Piotr Wendt wie auch an die Masterstuden-ten und Absolventen, die im iFlat-Projekt voller Elan tätig sind, für ihre Hilfsbereitschaft undihr Engagement.

Ich wünsche Euch allen weiterhin viel Erfolg!!!

Page 5: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Inhaltsverzeichnis

Abbildungsverzeichnis 7

1. Einleitung 81.1. Ziele und Motivation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

2. Grundlagen von Ubiquitous Computing 102.1. Vision von Mark Weiser . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.2. Ubiquitous Computing versus Virtuelle Realität . . . . . . . . . . . . . . . . 19

3. Architekturen 203.1. Blackboard-Architekturen . . . . . . . . . . . . . . . . . . . . . . . . . . . 223.2. Client / Server . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 243.3. Multiagentensysteme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26

3.3.1. Software-Agent . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 263.3.1.1. Kognitive und reaktive Agenten . . . . . . . . . . . . . . . . 27

3.3.2. Multiagentenkonzept . . . . . . . . . . . . . . . . . . . . . . . . . . 293.3.3. Agentenarchitekturen . . . . . . . . . . . . . . . . . . . . . . . . . . 303.3.4. Interaktion mit FIPA . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

3.4. JADE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 353.4.1. JADE-Plattform-Details . . . . . . . . . . . . . . . . . . . . . . . . . 363.4.2. JADEX . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.4.3. BDI-Architekturen . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

3.5. iROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.5.1. Tuple Space . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3.6. Serviceorientierte Architekturen (SOA) . . . . . . . . . . . . . . . . . . . . 463.6.1. Interaktionsstruktur der serviceorientierte Architektur . . . . . . . . . 473.6.2. Definition von SOA Komponenten . . . . . . . . . . . . . . . . . . . 483.6.3. Enterprise Service Bus ESB . . . . . . . . . . . . . . . . . . . . . . 493.6.4. Technische Komponenten . . . . . . . . . . . . . . . . . . . . . . . 503.6.5. Architektonische Umsetzung . . . . . . . . . . . . . . . . . . . . . . 503.6.6. Migration mit SOA . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.6.7. eXtensible Markup Language (XML) . . . . . . . . . . . . . . . . . . 52

3.6.7.1. SOAP und WDSL . . . . . . . . . . . . . . . . . . . . . . . 54

Page 6: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Inhaltsverzeichnis 6

3.6.8. Zusammenfassung und Ausblick . . . . . . . . . . . . . . . . . . . . 55

4. Exemplarische Projekte 564.1. Pilotprojekt am Frauenhofer-Institut . . . . . . . . . . . . . . . . . . . . . . 56

5. iFlat: das intelligente Haus der HAW 585.1. Zielgruppe . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 605.2. Szenarien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.2.1. Szenario 1: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 625.2.2. Szenario 2: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

5.3. Funktionale Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . . . 655.4. Nichtfunktionale Anforderungen . . . . . . . . . . . . . . . . . . . . . . . . 66

5.4.1. Skalierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.4.2. Portierbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 665.4.3. Verfügbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.4.4. Erweiterbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.4.5. Zuverlässigkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.4.6. Fehlertoleranz . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 675.4.7. Benutzbarkeit . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

5.5. Vorschläge für eine Architektur . . . . . . . . . . . . . . . . . . . . . . . . . 68

6. Fazit 706.1. Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 706.2. Ausblick . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Literaturverzeichnis 71

Glossar 76

A. Abkürzungen 77

Page 7: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Abbildungsverzeichnis

2.1. Trend in der Informatik [Quelle: Weiser] . . . . . . . . . . . . . . . . . . . . 112.2. Mark Weiser . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.3. PARC Tab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4. PARCTab in Aktion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.5. Pad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.6. Xerox Liveboard . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.7. ”Kindle” von Amazon . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

3.1. Schematische Darstellung einer Blackboard-Architektur [Quelle: Erman u. a.[1980] . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3.2. Client/Server Architektur [Quelle: Tanenbaum und van Steen [2008]] . . . . . 243.3. Kognitive und reaktive Agenten [Quelle:Ferber [2001] S. 40] . . . . . . . . . 273.4. Grundkonzepte eines Agenten . . . . . . . . . . . . . . . . . . . . . . . . . 283.5. Aufbau eines Agenten . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293.6. Blackboard Architektur Linnhoff-Popien [2007] . . . . . . . . . . . . . . . . . 303.7. Belief-Desire-Intention BDI [Quelle Hasselbach [2005]] . . . . . . . . . . . . 323.8. FIPA-Architektur [Quelle: fipa.org] . . . . . . . . . . . . . . . . . . . . . . . 333.9. FIPA-Ontologie-Einsatz [fipa.org] . . . . . . . . . . . . . . . . . . . . . . . . 353.10.JADE Benutzer Obelfläche [Quelle: jade.tilab.com] . . . . . . . . . . . . . . 363.11.JADE Laufzeitumgebung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.12.JADE Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.13.BDI Architektur Quelle: Hasselbach [2005] . . . . . . . . . . . . . . . . . . 413.14.Jade Plattform . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.15.Componenten Struktur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 443.16.SOA Servicezugriff [Quelle: Endrei u. a. [2004]] . . . . . . . . . . . . . . . . 473.17.SOA Schichten und Service Modellierung Zimmermann [2005] . . . . . . . 483.18.Enterprise Service Bus Zimmermann [2005] . . . . . . . . . . . . . . . . . . 493.19.Lebenszyklus serviceorientierter Anwendungen [Quelle: Kirchner [2007]] . . 52

5.1. Geräte-Landschaft des iFlat-Projektes entw. von Piotr Wendt HAW Hamburg 585.2. Adaptives Ubiquitous Computing System [Quelle: TAUCIS ] . . . . . . . . . . 655.3. Blackboard und die Deveces (Agenten) . . . . . . . . . . . . . . . . . . . . 685.4. Architektur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Page 8: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

1. Einleitung

Seit Menschengedenken versuchen wir, uns das Leben so angenehm wie möglich zu ge-stalten. Erfindungsgeist ist gefragt, um Werkzeuge und Hilfsmittel zu erschaffen, die uns dasLeben erleichtern. Durch moderne Technologien und Geräte werden wir heute von vielen(wiederkehrenden) Routineaufgaben entlastet, und dieser Trend hält an. Computertechno-logie ist bereits in viele Bereiche unseres Lebens vorgedrungen. Inzwischen ist sie aus un-serem modernen Leben nicht mehr wegzudenken. In absehbarer Zukunft werden wir vonunsichtbaren und gleichzeitig allgegenwärtigen Computersystemen umgeben sein:

• kommunizierende Sensoren, die die Umwelt erfassen und quasi selbständige Aktionendurchführen

• Netzwerktechnologien und technische Möglichkeiten einzelner Endgeräte entwickelnsich im rasanten Tempo

Eine Herausforderung bleibt die Interaktion zwischen Mensch und Technik.Vernetzte Computersysteme wirken intelligent aber unsichtbar im Hintergrund. Computerwerden nicht nur immer kleiner, billiger und leistungsfähiger, sie verstecken sich auch zu-nehmend in Alltagsobjekten.

”Die kommende Welt des Ubiquitous Computing wird eine Welt der Paradoxe sein, eine Welt,in der der Computer scheinbar verschwindet, aber gleichzeitig doch überall ist und sogar inviele gewöhnliche Gegenstände eindringt.Die Auswirkungen einer umfassenden Informatisierung der Welt, in der ”smarte” Dinge dasInternet nutzen und zahllose kleinste Sensoren ihre Umgebung beobachten, lassen sich nurerahnen.” Mattern [2007a]

1.1. Ziele und Motivation

In dieser Arbeit wird ein Schritt in Richtung Ubiquitous Computing unternommen. Zu diesemZweck werden einige der aktuellen Forschungsarbeiten der führenden Unternehmen undForschungszentren des Bereiches ”Intelligentes Haus” (Wohnen in intelligenten Umgebun-gen) vorgestellt.

Page 9: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

1. Einleitung 9

Einige Softwarearchitektur-Muster und Technologien, die zur Realisierung der Projekte aufdem Gebiet eingesetzt werden, werden erläutert.

Es wird ein Architektur-Konzept vorgeschlagen, welches für das iFlat-Projekt an der HAW(Hochschule für angewandte Wissenschaften) Hamburg für weitere Entwicklung genutzt wer-den kann.

Page 10: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

2. Grundlagen von UbiquitousComputing

Der Begriff ”Ubiquitous Computing” (im Nachfolgenden UbiComp) wurde im Jahre 1988 vonMark Weiser, dem leitenden Wissenschaftler der Forschungsprojekte am Xerox Palo AltoResearch Center, Kalifornien, erstmalig verwendet. Aktuell wird das Portal zum Thema ”Ubi-quitous Computing” von Tom Rodden Universität Nottigaham-UK geleitet. Rodden

Die Idee des UbiComp ist der Versuch, die Geräte ”intelligent” zu machen, so dass wir künf-tig nicht nur mit anderen Menschen, sondern auch mit den Gegenständen kommunizierenkönnen.

Das Ziel ist, mit Hilfe moderner Informationstechnologien viele kleine Rechner im Umfeldeines Menschen so anzupassen, dass sie ihn unaufdringlich im Hintergrund als nützlichekleine Werkzeuge unterstützen.

Die Vision von Ubiquitous Computing stellt einen Paradigmenwechsel dar.

Die Entwicklung begann mit dem Einsatz von Großrechnern (Mainframe-Systeme) Anfangder 60er Jahre. Mehrere Anwender nutzten einen Mainframe. Sie waren mittels Terminalsmit dem Großrechner verbunden und mussten sich dessen Ressourcen teilen.

Anfang der 80er wurde der zentrale Ansatz aufgebrochen. Der Großrechner wurden nachund nach durch Einzelplatzrechner (PC = Personal Computer) ersetzt. Jetzt konnte jederNutzer mit Hilfe des abgeschlossenen Computersystems über die für seine Arbeit notwendi-gen Ressourcen unabhängig von anderen verfügen.

Möglich machte dies eine rasante Entwicklung im Bereich der Hardwarekomponenten undderen Miniaturisierung, verbunden mit einem raschen Preisverfall.Im Ubiquitous Computing wird die Verkleinerung der Hardware immer weiter fortgesetzt.So stehen hier einem Anwender mehrere Rechner zur Verfügung, wobei jeder der Rechnerseine spezielle Aufgabe zu erledigen hat.

Die Entwicklungsrichtung der Computerisierung zeichnet sich im folgenden Graphen ab.

Page 11: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

2. Grundlagen von Ubiquitous Computing 11

Abbildung 2.1.: Trend in der Informatik [Quelle: Weiser]

Heutzutage verbindet das Internet fast alle Computer weltweit (die Zahl wird auf ca. 50 Mil-lionen geschätzt). Der Personal Computer mit seiner Peripherie steht nicht mehr im Mittel-punkt.

Inzwischen hat das Internet eine dominante Rolle übernommen. Oft wird ein Personal Com-puter bzw. Notebook angeschafft, weil damit erst der Zugang zum Internet für private Nutzermöglich ist.

Der Trend geht dahin, den Zugang zum World Wide Web von überall zu ermöglichen.

Die aktuelle Entwicklung der Computertechnologie könnte man als Ubiquitous-Computing-Ära bezeichnen.

Die Dezentralisierung der Rechner von Mainframe (1:n Relation) über PC-Ära (1:1 Relation)zu der modernen Entwicklung mit immer kleiner werdender Hardware (n:1 Relation), wo dieAusstattung eines Nutzers mit vielen kleinen Geräten ermöglicht, geht weiter voran.

Die Entwicklung des Ubiquitous Computing ist nur deswegen möglich, da die Basistechnolo-gien im Bereich der Hardware, Netzwerke und der Software die geeignete Grundlage dafürgeschaffen haben. Diese wesentlichen Einflussfaktoren werden hier etwas genauer betrach-tet.

Page 12: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

2. Grundlagen von Ubiquitous Computing 12

Hardware: Smart Devices

Ein Smart Device ist ein Gerät oder ein Baustein, der dafür konstruiert wurde, um bestimmteAufgaben zu erledigen. Einige Anwendungen sind z. B:

• Brille, die die Orte und Personen wieder erkennt

• Musikanlage, die nach der Stimmung des Bewohners die passenden Musikstücke aus-sucht

• Intelligente Kleidung, die Blutdruck, Puls, Körpertemperatur des Bewohners misst undnach Bedarf den Arzt bzw. den Notruf informiert.

Zur Zeit gibt es einige Projekte der führenden Unternehmen, die sich mit der Entwicklung derSmart Devices befassen:

Der Bereich ”intelligente” Kleidung - Wearable Computing - beschäftigt sich mit den tragbarenComputersystemen, welche während der Anwendung am Körper des Benutzers befestigtsind.

Das ”wearIT@work Projekt wurde von der europäischen Kommission als integriertes Pro-jekt aufgesetzt, um Wearable Computing als in Kleidung integrierte Computer Systeme alsTechnologie zu erforschen. Das Projekt hat 36 Partner mit einem Projektvolumen von etwa23,7 Millionen Euro und Förderung von etwa 14,6 Millionen Euro. Es ist das weltweit größteProjekt für Wearable Computing.” Gerling [2008]

Wearable Computing wird sowohl im privaten als auch in professionellem Umfeld genutzt.Die Entwicklung dieser Systeme wird z.B. in der Feuerwehr in Such- und Rettungsmissioneneingesetzt. Vor allem ist es wichtig, dass durch die Nutzung der technischen Möglichkeiten,Unfälle vermieden werden können.

Eine ausführliche Beschreibung zu dem Thema kann aus der Masterarbeit von Mirco Gerlingentnommen werden. Gerling [2008]

Speziell für ältere Menschen und Menschen mit Behinderung wird im Bereich Ambiente As-sistent Living (AAL) geforscht. Mit Hilfe der fortgeschrittenen Technologien wird dieser Ziel-gruppe ermöglicht, in deren gewohnten Umgebung ihren Tagesablauf selbst zu bestimmenund die gewünschte Unabhängigkeit zu behalten.

Bei den Smart Devices geht es um die Fähigkeiten der Geräte, digitale Informationen zuverarbeiten und eventuell mit anderen Geräten auszutauschen, wenn der Bedarf besteht.Diese Geräte besitzen meist eine Benutzer-Schnittstelle.

An der Stelle ist es wichtig, sich dessen bewusst zu sein, dass gewisse Anforderungen andie Hardware erfüllt werden müssen:

Page 13: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

2. Grundlagen von Ubiquitous Computing 13

• Smart Devices müssen absolut robust sein, die Ausfallmöglichkeit einzelner Devicessoll bedacht sein

• Die Wartung der Smart Devices soll per Fernsteuerung möglich sein

• Geräte, die per Batteriebetrieb funktionieren, sollten so wenig wie möglich Energieverbrauchen.

• Optimal wäre es, wenn die Smart Devices ihre Batterien wieder aufladen können, in-dem sie aus den genutzten Gegenständen bzw. benutzen Möbelstücken die benötigteEnergie wieder beziehen, wie z.B. Schaukelstuhl oder Feder-Mechanismus in einemSchuh (damit können z.B. PDAs oder Handys aufgeladen werden)

Netzwerke:

Mobilfunks haben die Entwicklungsstufe erreicht, wo neben der Sprache auch MultimedialeDaten in Heim- als auch Weitverkehrsbereich möglich ist. Bekannter Standard ist UMTS.

Einen flexiblen Einsatz bieten Ad-Hoc-Netze. Die Vernetzung ist relativ einfach realisiert.Es existiert keine Basisstation, die Geräte konfigurieren sich selbst für einen bestimmtenZeitraum. Die Komplexität liegt bei den Endgeräten. Der bekanntester Vertreter der Ad-hoc-Netze ist Bluetooth und kann spontan mit Handys, PDAs, Notebooks kommunizieren (Pico-netze). So können bis zu 8 Geräte miteinander in Kontakt treten. Bluetooth ist gut geeignet,um UMTS-Netze zu ergänzen.

Software: Kontextunabhängigkeit

In einem Ubiquitous Computing System soll es möglich sein, dass die einzelnen Komponen-ten ihre Funktionalitäten starten, ohne von einer zentralen Komponente abhängig zu sein.”Ein System heißt kontextunabhängig, wenn es den Kontext verwendet, um den Benutzer mitrelevanten Informationen und Diensten zu versorgen. Dabei ist Relevanz von der Aufgabedes Benutzers abhängig” Linnhoff-Popien [2007]

Ubiquitäre Endgeräte

Mobiltelefone haben sich von einem ursprünglich einfachen Gerät, welches nur zum Telefo-nieren gedacht war, zu einem leistungsfähigen Netz-Clienten entwickelt.

Page 14: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

2. Grundlagen von Ubiquitous Computing 14

Inzwischen verfügen die Handys über mehrere nützliche Funktionalitäten. Neben der übli-chen Sprachkommunikation gibt es Möglichkeiten, Daten in Form von SMS, MMS zu ver-schicken.

• SMS, der Short Message Service (meistens bis 160 Zeichen)

• MMS, der Multimedia Message Service überträgt digitale Bilder

• WAP, das Wireless Application Protocol ist ein Standard zum Übertragen eines speziellformatierten Inhalts von einem Webbrowser auf Handys. Interaktion mit dem Internetist möglich.

Der Trend der Entwicklung bei den Mobile-Phones geht in Richtung Smart-Phones:all-in-one Kommunikationssystem und Screen Phones, einem Handy, das einfach zubenutzen und dient sowohl zum Telefonieren als auch zum mobilen Internetzuganggenutzt werden kann. (nach: Linnhoff-Popien [2007])

Page 15: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

2. Grundlagen von Ubiquitous Computing 15

2.1. Vision von Mark Weiser

Bereits Ende der 80er Jahre sah der Visionär Mark Weiser voraus, dass der Computer we-nige Jahre später in allen Bereichen der Technik und Industrie sowie im privatem Gebrauchallgegenwärtig sein würde. Weiser [1991]

Abbildung 2.2.: Mark Weiser

Er prophezeite, dass es kaum Haushalte ohne Computer bzw. Notebook geben würde. Man-chen Nutzern hingegen erschien der Computer als eine ”eigene Welt”, die ihnen mit einer”geheimnisvollen Aura” umgeben zu sein schien.

Die Vision von Mark Weiser geht jedoch in eine andere Richtung:

"The most profound technologies are those that disappear. They weave themselves into thefabric of everyday life until they are indistinguishable from it." Weiser [1991]

Eine neue Art von Computern soll so in die natürliche Umgebung des Menschen integriertwerden, dass sie im Hintergrund verschwindet.

Dieses Verschwinden hat natürlich eine Auswirkung nicht nur auf die Technologie, sondernauch auf die menschliche Psyche.

Es gehört zum Wesen des Menschen, dass er sich ziemlich schnell an etwas Neues ge-wöhnt, wenn es ihm ausreichend gut und brauchbar erscheint.

Innerhalb kurzer Zeit betrachtet er diesen Gegenstand als selbstverständlich und schenktihm keine besondere Aufmerksamkeit mehr.

Laut Mark Weiser ist die beste Technik im alltäglichen Leben diejenige, die der Umgebungso angepasst ist, dass sie als selbstverständlich im Hintergrund existiert und nicht mehrbeachtet wird.

Page 16: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

2. Grundlagen von Ubiquitous Computing 16

Die technische Einbettung des Computersystems wird dem Nutzungsablauf angepasst.

Die neuen Technologien sollen mit ihrer Umwelt verschmelzen und als solche nicht wahrzu-nehmen sein, das heißt, die Menschen werden diese Geräte nicht mehr als Computer an-sehen. Mit ”Ubiquitous Computing” (allgegenwärtige Computer) sind nicht nur Rechner ge-meint, die man überall hin (z. B. Flughafen, Strand, Urwald) mitnehmen kann, sondern kleineleistungsfähige Geräte, die jederzeit Zugang zum weltweiten Informationsnetz haben.

Man kann sie sich als kleine persönliche Bücher vorstellen, welche dem Nutzer angepasstMillionen von anderen Büchern anbieten können. Seine Idee, Computer weltweit zu integrie-ren, entspricht dem heutigen Trend.

”Ubiquitous Computer” (allgegenwärtige Rechner) werden in unterschiedlichen Größen ge-baut, abhängig von der Aufgabe, die sie zu bewältigen haben.

Mark Weiser unterscheidet drei Gerätetypen: Tabs, Pads und Boards.

Die modernen Entsprechungen der Prototypen

Tabs

Tabs -> inch-scale - handtellergrosse Terminals, sind relativ klein (10.5 x 7.8 x 2.4 cm),Gewicht: 215, davon wiegt die Batterie 70 g. Sie sind für Rechts- und Linkshänder geeignet.Die Bedienung erfolgt entweder durch drei Knöpfe oder einen Stift. Das Gerät ist via Infrarotmit dem Hauptrechner verbunden.

Abbildung 2.3.: PARC Tab

Tabs sind mit einem heutigen PDA (personal digital assistent) vergleichbar. Wegen ihrergeringen Größen können Tabs überall mitgenommen werden.

Page 17: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

2. Grundlagen von Ubiquitous Computing 17

Abbildung 2.4.: PARCTab in Aktion

Pads

Pads -> foot-scale - Größe eines Notizblocks

Das PARCPad (auch MPad genannt) kann man mit einem heutigen Tablet PC vergleichen.Pads sind eine Art scrap computer. Sie sind nicht individualisiert und man benutzt sie wiePapier (intelligentes Notizblatt).

Abbildung 2.5.: Pad

Liveboards

Liveboards -> yard-scale mit grossem interaktivem Display sind meist nur in geringer Anzahlin einem Raum vorhanden. Sie dienen vor allem der Gruppenarbeit bzw. Gruppenkommuni-kation.

Page 18: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

2. Grundlagen von Ubiquitous Computing 18

Abbildung 2.6.: Xerox Liveboard

Die wirkliche Neuerung sind nicht die Geräte, sondern deren Interaktion mit dem Nutzer unduntereinander.

Die von Mark Weiser erdachten Gerätetypen werden heute erfolgreich auf den Markt ge-bracht.

Amazon hat ein elektronisches Buch unter den Namen ”Kindle” entwickelt. Die Entwicklunghat über drei Jahre gedauert.Das mit ”elektronischer Tinte” arbeitende Gerät soll gegenüber dem konventionellen Bucheinige Vorteile bieten. ”Kindle” ist mit einer Internetanbindung ausgestattet und bietet außergespeicherten Büchern auch die Möglichkeit, aktuelle Zeitungen und Magazine zu lesen.Das Display misst 6 Zoll in der Diagonalen. Links und rechts davon sind grosse Tasten plat-ziert, um das Blättern zwischen den Seiten zu ermöglichen.

Mit Hilfe einer Mini-Tastatur können die Texte editiert und mit Anmerkungen versehen wer-den. Je nach Bedarf lassen sie sich auch exportieren. Ein Computer ist für die Nutzung von”Kindle” nicht erforderlich.1

1http://www.golem.de/

Page 19: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

2. Grundlagen von Ubiquitous Computing 19

Abbildung 2.7.: ”Kindle” von Amazon

2.2. Ubiquitous Computing versus Virtuelle Realität

Virtuelle Realität versucht, die Welt innerhalb eines Computers zu simulieren.

Mit Hilfe extra für diesen Zweck angefertigter Hilfsmittel, wie speziellen Brillen, Handschuhenund Kleidung, versetzt sie den Nutzer in diese künstliche Welt. Hier agiert er, um sie in einembeschränkten Rahmen zu manipulieren.

Im Gegensatz dazu versucht Ubiquitous Computing (allgegenwärtige Rechner), die Tech-nik in die real existierende Welt zu integrieren. Sie soll den menschlichen Bedürfnissen undWünschen soweit wie möglich angepasst werden, um so das Leben zu erleichern und schö-ner zu gestalten.

Diese Rechner werden abhängig von der Aufgabe, die sie zu bewältigen haben, in unter-schiedlichen Grössen angeboten.

Page 20: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen

Eine Software-Architektur ist eine wieder verwendbare, übertragbare Abstraktion einesSoftware-Systems: ”Die Software-Architektur stellt ein einfaches Modell der Komponentenund ihrer Interaktionen dar, das leicht zu verstehen sein soll.Ein solches Modell kann unter ähnlichen Anforderungen wiederum teilweise oder vollständigverwendet werden und somit Wiederverwendung im größeren Umfang ermöglichen.” Dust-dar u. a. [2003]

Man könnte für gleiche Anforderungen eines Projektes mit Sicherheit mehrere Varianten vonSoftware-Architekturen entwerfen. Es stellt sich die Frage: ”Welche Architektur ist in diesemFall die ’richtige’ ?” Was zeichnet eine ”gute” Software-Architektur aus?”Es gibt keine für sich gute oder schlechte Architektur, sondern nur Architekturen, die ih-ren Zweck mehr oder weiniger gut erfüllen. Dies zu bewerten, ist die Kunst.” Dustdar u. a.[2003]

”Eine Softwarearchitektur bezeichnet die Modelle und die konkreten Komponenten einesSoftwaresystems in ihrem statischen und dynamischen Zusammenspiel. Sie kann selbst alsexplizites Modell dargestellt werden. Eine Softwarearchitektur beschreibt ein konkretes Sys-tem in seinem Anwendungskontext.” Züllighoven [1998]

Welche Architektur ist speziell für intelligente Systeme geeignet?Bei der Entwicklung intelligenter Systeme entstehen zunächst einige Fragen zum Grundauf-bau:

• Wie sollte das System aufgebaut sein, d.h. aus welchen Komponenten besteht es, undwie kommunizieren sie miteinander?

• Wie sieht es mit der Bedienbarkeit für den Benutzer aus?

Es gibt inzwischen Architektur-Konzepte, die sich für diesen Bereich etabliert haben, wie z.B.die Blackboard-Architektur, die derzeit zu den Standard-Verfahren gehört.

Ursprünglich wurde die Blackboard-Architektur im Rahmen des HEARSAY II Speech-Understanding-Systems an der Carnegie-Mellon University Ende der 70er Jahre entwickelt.Ihre Aufgabe war es, den Austausch zwischen unterschiedlichen Modulen der Sprachverar-beitung zu gewährleisten.

Page 21: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 21

Erste Anwendung fand das Blackboard Muster beim HEARSAY-II Spracherkennungssystem(1971-1976). Mit Hilfe von Spracherkennung sollte dieses System Dokumente aus einer Da-tenbank heraussuchen.Ein weiteres Einsatzgebiet fand die Blackboard Architektur beim HASP-System (1972-1975),welches durch die Auswertung von Sonarsignalen U-Boote orten sollte. Levi [2005] Der Auf-traggeber für beide Projekte war das amerikanische Verteidigungsministerium.

Blackboard-Architekturen sind für Systeme der Künstlichen Intelligenz und überwiegend fürProbleme, die noch keine optimale Lösung für bestimmte Aufgabenstellungen bieten, gutgeeignet.

Page 22: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 22

3.1. Blackboard-Architekturen

Blackboard-Architekturen eignen sich für komplexe Aufgabenstellungen mit einer Vielzahlvon einzubeziehenden Daten, insbesondere für Systeme der Künstlichen Intelligenz undüberwiegend für Probleme, die noch keine optimale Lösung für bestimmte Aufgabenstel-lungen bieten.

Abbildung 3.1.: Schematische Darstellung einer Blackboard-Architektur [Quelle: Erman u. a.[1980]

Wie der Name Blackboard bereits andeutet, ähnelt die Blackboard-Architektur einer Tafel.Diese Tafel dient den Teilnehmern des Systems (Knowledge Sources = Wissensquellen) alsDatenspeicher, wo sie die Möglichkeit haben, nach Bedarf die Daten zu lesen und zu schrei-ben. Die Änderungen werden auf dem Monitor verfolgt und über einen Scheduler an dieKnowledge Sources weitergeleitet, die ihrerseits die Daten verarbeiten und die veränderteLösung wieder an die Tafel schreiben. Dadurch entsteht eine neue Situation bzw. ein neuerWissensstand, der für weitere Verarbeitung den Knowledge Source zur Verfügung steht.

Page 23: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 23

Die Aufgaben lassen sich typischerweise in mehrere spezifische Teilauflagen zerlegen.Durch Ausprobieren kann die Lösung näherungsweise zum Erreichen des Ziels führen. Sowerden im Laufe des Lösungsprozesses die Teillösungen erarbeitet, kombiniert, geändertoder auch verworfen. Eine der wichtigen Eigenschaften der Blackboard Architektur ist dasZerlegen in Teilprobleme und einfaches Austauschen der verwendeten Algorithmen.

Knowledge Sources (Wissensquellen) bestehen aus einzelnen unabhängigen Modulen, dieasynchron miteinander arbeiten. Die Kommunikation findet über das Blackboard statt.

Die Ergebnisse, die von den einzelnen Modulen erzeugt wurden, sind zuerst Hypothesen,die zur Gesamtlösung des gesamten Systems ihren Beitrag leisten.

Ein Blackboard-System besteht im Wesentlichen aus einem gemeinsamen Datenbereich derbeteiligten Agenten sowie den entsprechenden Administrationsmethoden.

Vereinfacht skizzierter Ablauf:

• Aufgaben werden auf die ”Tafel” geschrieben

• Von den betroffen Modulen gelesen und bearbeitet

• Lösungen werden ebenfalls auf die Tafel geschrieben

• Von den Interessenten gelesen und weiter verarbeitet

Vorteile: Das Blackboard-Muster bietet genügend Raum zum Experimentieren mit Algo-rithmen und Heuristiken. Durch die voneinander getrennten Wissensquellen, die über dasBlackboard indirekt miteinander kommunizieren, wird Wart - und Änderbarkeit unterstützt.Es werden nur Lösungsbeiträge übernommen, die auf Unterstützung der anderen Kompo-nenten treffen.

Nachteile: Sie entstehen auf Grund der schlechten Vorhersagbarkeit von Lösungsqua-litäten. Zum anderen stellen schlechte oder falsche Teillösungen einen Bestandteil desLösungsweges dar, auch wenn sie mit Hilfe von aufwendigen Bewertungsregeln wiederverworfen werden. Desweiteren trägt das Ausgangsproblem auf Grund seiner schlechtenStrukturiertheit zu einem hohen Entwicklungsaufwand bei.

Page 24: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 24

3.2. Client / Server

Eine weitverbreitete Lösung im Bereich Verteilten Systemen ist die Client-Server-Architektur.

Abbildung 3.2.: Client/Server Architektur [Quelle: Tanenbaum und van Steen [2008]]

In der klassischen Client-Server Architektur ist die Aufgabenteilung so geregelt, dass derServer seine Dienste anbietet und der Client seine Anfragen an den Server richtet.

Viele Client-Server Anwendungen bestehen grundsätzlich aus drei Komponenten:

1. einer Komponente, die für die Interaktion mit dem Benutzung zuständig ist

2. einer Komponente, die mit der Datenbank bzw. mit dem Datenbanksystem arbeitet

3. eine mittlere Komponente, die die Kernfunktionalität der Anwendung übernimmt

Die Aufteilung auf drei Ebenen (Schichten) kann physikalisch unterschiedlich realisiertwerden. Die einfachste Variante ist die Aufteilung auf Client-Computer und den Server-Computer:

• Client-Computer benutzt Schnittstellen und

• Der Server-Computer übernimmt den Rest der Programme, die die Verarbeitung unddie Datenebene implementieren

Bei dieser Zuordnung übernimmt der Server die gesamte Arbeit und der ”dumme” Client istquasi nur ein Terminal, der nur für die Darstellung zuständig ist Abbildung 3.2 (a).

Page 25: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 25

Alternativ dazu ist die Variante (b), wo die Benutzerschnittstelle (Front-End) sich auf derClient-Seite befindet und der Rest auf der Server-Seite.

Bei der Abbildung 3.2 (c) ist die Anwendung aufgeteilt.Als Beispiel kann man sich einen Formular vorstellen, dessen Bearbeitung auf der Client-Seite stattfindet und die zugehörigen Daten auf dem Server abgelegt sind.In folgenden beiden Abbildung (d) und (e) liegen die meisten Anwendungen auf dem Client-Computer. Diese Art der Anordnung ist sehr beliebt, aber ihre Verwaltung ist problematisch.Außerdem ist sie anfällig für Fehler und abhängig von der zugrunde liegenden Plattform(Ressourcen, Betriessystem). D.h. so ein Fat Client ist nicht optimal. Im Gegensatz dazu istder Thin Client viel einfacher.

Die serverseitige Lösungen werden zunehmend verteilt. Ein einzelner Server wird durchmehrere Server erstzt, die ihrersseits auf unterschiedlichen Computern ausgeführt werden.(nach Tanenbaum und van Steen [2008]

Page 26: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 26

3.3. Multiagentensysteme

Bevor man sich mit dem spannenden Thema der Multiagenten Systeme befasst, sollte zuerstgeklärt werden: Was ein Agent ist?In der Literatur gibt es einige Definitionen eines Agenten, doch da es so viele Arten vonAgenten gibt, ist es kaum möglich eine allgemeingültige Definition zu formulieren, die für alleArten der Agenten zutrifft.In erster Linie sollte man zwischen Hardware- und Software-Agenten unterscheiden.

Hardware-Agenten sind physikalisch in der realen Welt existierende ”intelligente” Gegenstän-de (wie z.B. Roboter, smartCar, etc.), deren ”Intelligenz” sich in der dazugehörigen Softwarebefindet. Mit Hilfe definierter Softwareschnittestellen können die Hardware-Agenten mit derUmwelt in Kontakt treten und entsprechend interagieren. Im Gegensatz dazu sind die Soft-ware Agenten reine Software.

3.3.1. Software-Agent

Was versteht man unter einem Software- Agenten?

”Ein Software-Agent ist ein längerfristig arbeitendes Programm, dessen Arbeit als eigen-ständiges Erledigen von Aufträgen oder Verfolgen von Zielen in Interaktion mit einer Umweltbeschrieben werden kann.” Goerz und Rollinger [2003]

Umgangssprachlich könnte man als ”Agenten” jemanden oder etwas bezeichnen, der oderdas im fremden Auftrag selbständig handelt.

Software-Agenten sind Software-Komponenten, die gewünschte Aktivitäten ausführen unddem Auftraggeber die Ergebnisse zurückliefern. Der Auftraggeber ist an der Lösung inter-essiert und nicht an dem ”wie” das Ergebnis erreicht worden ist. Gegenüber seiner Umweltwird ein Agent als eine geschlossene Einheit präsentiert.Durch sein internes (lokales) Wissen und seinen Fähigkeiten kann er der Gesamtlösung desSystems sein Beitrag leisten.

”Es stellt sich die Frage, ob wir die Agenten als Entitäten ansehen, die bereits ”intelligent”sind oder eher als einfache Wesen begreifen sollen, die direkt auf die Veränderung ihrerUmwelt reagieren. ” Ferber [2001]

Page 27: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 27

3.3.1.1. Kognitive und reaktive Agenten

In diesem Zusammenhang in Bezug auf die Agenten existieren zwei Denkrichtungen: Dieerste ”kognitive” Richtung hat ihren Ursprung in der Verteilten Künstlichen Intelligenz, de-ren Grundbausteine die Kooperation und Kommunikation sind. ( nach Ferber [2001]) Diekognitiven Agenten besitzen eine Wissensbasis, in der alle Daten des Know-hows, welchesfür die Erledigung seiner Aufgabe nötig ist, enthalten sind.

Mit diesem Wissen verfolgen die kognitiven Agenten ihre Ziele entsprechend dem Plan. Eswerden relativ komplexe Aufgaben in eigenständiger Wiese bearbeitet. Die meisten kogniti-ven Agenten sind zielgetrieben und richten ihre Aktionen danach, diese Ziele zu erreichen.Ihr Verhalten wird auch als rational bezeichnet.

Die reaktiven Agenten haben eine einfachere Struktur, zeigen in ihrer Handlungsweise eherein ”starres” Verhalten. Die Stärke dieser Agentenart liegt darin, eine Gruppe zu bilden. Ein-zelne Agenten besitzen wenig oder gar keine Individualität. In der grossen Gruppe jedochkooperen sie miteinander und sind dadurch in der Lage komplexe Aufgaben zu lösen.

Das Verhalten eines reaktiven Agenten ist prioritätsgesteuert, d.h. die Aktionen mit der höhe-ren Priorität verdrängt die mit einer niedrigeren Priorität. Im Gegensatz zu dem reaktiven hatder kognitive Agent einen höheren Entwicklungsstand und kann seine Handlungen gezieltplanen. Er besitzt das Wissen über seine Umwelt, kann sie ständig aktualisieren und danachentsprechend relativ unabhängig von anderen handeln.

Um die unterschiedlichen Arten von Agenten zu verdeutlichen ist die Abbildung 3.5 hilf-reich:

Abbildung 3.3.: Kognitive und reaktive Agenten [Quelle:Ferber [2001] S. 40]

”Unterscheidung zwischen kognitiv und reaktiv definiert eine Achse, an der entlang die Fä-higkeiten eines Agenten zur Planung und Ausführung ihrer Aktionen.”Ferber [2001]

Der Übergang zwischen den rein reaktiven und rein kognitiven Agenten ist jedochfließendund und zwischen diesen beiden Extrempunkten, gibt es eine ganze Reihe vonMöglichkeiten die Agenten zu konstruieren, damit sie optimal ihrer Aufgabe realisieren.(nach Ferber [2001])

Page 28: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 28

”Rao und Georgreff (1992) formalisierten das Konzept kogniviter Agenten, indem sie be-schrieben, was wir heute unter BDI - Architekturen (BDI = Belief Desire Intention) bezeich-nen. Aus diesem Konzept hat sich ganze Schule entwickelt und seitdem greifen die meistenArbeiten, die sich mit der Entwicklung kognitiver Agenten befassen, auf unterschiedlicheAusprägungen des BDI-Modells zurück.”Ferber [2001]

Trotz der Vielfalt der Agentenarten sind bestimmte Eigenschaften, die am häufigsten be-schrieben werden, gemeinsam. So fasst Goehner Goehner [2008] sechs charakteristischeGrundkonzepte eines Agenten zusammen.Die folgende Abbildung stellt diese Eigenschaften dar:

Abbildung 3.4.: Grundkonzepte eines Agenten

Autonomie: bedeutet die Fähigkeit eines Agenten, im Rahmen eines abgeschlossenen Be-reiches (Umwelt) selbständig zu handeln.Kapselung: ist die relative Abgeschlossenheit des Agenten gegenüber der Umwelt, d.h. dieEigenschaft, seinen Zustand, sein Verhalten, seine Ziele von der Außenwelt zu verbergen.Zielorientierung: Das Handeln eines Agenten ist in erster Linie auf die Erfüllung seiner Zieleausgerichtet, die er zu erreichen hat.Aktivität: Die Aktionen eines Agenten kann man in zwei Aktivitäten unterteilen: Reaktivität(Reaktionen auf Wahrnehmung aus der Umwelt) und Proaktivität (vorausschauendes Han-deln).Persistenz: ist die ständige Aktivität des Agenten, wie z.B. das Beobachten seiner Umwelt.Interaktion: Fähigkeit eines Agenten, mit anderen Agenten und seiner Umgebung zu inter-agieren. Mehrere Agenten können so beispielsweise um Ressourcen verhandeln.Der Aufbau eines Agenten hängt in erster Linie mit seiner Aufgabenstellung und dem jewei-ligen Einsatzgebiet zusammen.Eine allgemeine Darstellung des Aufbaus zeigt folgende Abbildung.Goehner [2008]

Ein Agent besitzt ein lokales Wissen, in dem alle Informationen seiner Umwelt gespeichertsind. Hier können sowohl Strukturdaten seines Systems als auch Aktionen, die bereits bear-

Page 29: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 29

Abbildung 3.5.: Aufbau eines Agenten

beitet worden sind, gespeichert sein. Methoden, die für das Lösen der Aufgaben des Agentenwichtig sind und auch die Fähigkeit mit anderen Agenten zu interagieren, sind Bestandteiledes Innenlebens des Agenten.Im Vergleich zu einem Objekt (OOP), das keine Kontrolle über seinen Ablauf besitzt, könnendie Agenten dagegen unterscheiden, ob sie die Aktionen ausführen oder nicht.Die agentenorientierte Programmierung stellt somit eine höhere (konzeptionellen) Abstrakti-onsebene dar als die objektorientierte.

Um die Übersicht über die Komplexität den Systemen im Bereich Verteilte Künstliche Intelli-genz, kurz VKI zu behalten, ist es hilfreich das Gesamtsystem in abgeschlossen Teilsystemzu zerlegen.

Diese Teilsysteme sollten sorgfältig geplant und implementiert werden und das Zusammen-spiel der Teilsysteme untereinander entsprechend gut koordiniert sein.

Umwelt des Agenten

Wenn von der ”Umwelt” eines Agenten gesprochen wird, ist die für Agenten relevante Weltgemeint, die er mit anderen Agenten teilt. Eine Menge von Agenten, die miteinander intera-gieren bezeichnet man als Multi-Agenten-Systeme.

3.3.2. Multiagentenkonzept

Ein Multi-Agenten-System (MAS) ist ein System, das aus mehreren autonomen Komponen-ten (Agenten), die miteinander kooperieren, besteht. Schwerpunkt dieser Kooperation liegt

Page 30: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 30

auf der Erreichung des übergeordneten gemeinsamen Zieles. Dieses Ziel wird durch ”En-gagement” aller Agenten, die mit ihren individuellen Fähigkeiten, individuellem Wissen undTeillösungen zur Gesamtlösung beitragen, erreicht. Nach außen hin werden die Agenten desSystems wie eine Einheit betrachtet.

3.3.3. Agentenarchitekturen

Damit die Agenten ihr Ziel erreichen, müssen sie miteinander kommunizieren. Die Basiseiner Kommunikation ist eine geeignete Architektur. Mit der Entwicklung des Softwarepara-digmas für Agentensystem haben sich verschiedene Architekturen etabliert.Eine der bekanntesten und oft eingesetzten Architektur bei den Multi-Agenten-Systeme(MAS) ist die Blackboard-Architektur oder auch Shared-Memory genannt. Die Kommu-nikation findet nur indirekt statt und das Blackboard ist das zentrale Element, auf das alleAgenten den Zugriff haben. Hier ist der aktuelle Problemlösungsstand aufgezeichnet. Einedirekte Kommunikation unter den Agenten ist hier jedoch nicht möglich.

Abbildung 3.6.: Blackboard Architektur Linnhoff-Popien [2007]

Vorteil: der Blackboard-Architektur ist die Unabhängigkeit der Agenten untereinander. EinAgent entscheidet selbst, welche Aktivitäten er als nächstes durchführt und welche Informa-tionen er auf dem Blackboard veröffentlicht.

Page 31: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 31

BDI-Architekturen

Die BDI-Architektur wurde ursprünglich 1987 an der Stanford University von einem MichaelBratman entwickelt. ( Bratman [2003])Er forschte im Bereich des menschlichen Verhaltens - speziell der Entscheidungsfindung.

Die Idee wurde von Anand Rao und Michael Georgeff aufgegriffen und auf die Praxis über-tragen.

Es wurden BDI-Agenten (Belief-Desire-Intention-Agenten) kreiert, die mit bestimmten Fähig-keiten ausgestattet sind, welche das menschlicheh Verhalten nachbildet:

• Wissen über ihre Umwelt (beliefs),

• Zustände, die diese Agenten erreichen sollten (desires)

• aktuelle Absichten (intentions).

Belief: Beliefs bilden die Realität ab, in der sich die Agenten befinden. Dieses Wissen wirdin der Wissensbank gespeichert und ständig aktualisiert. Dadurch befindet sich das Modellim aktuellem Stand.

Desire: Ziele bzw. Wunsche eines Agenten, die noch nicht zu Absichten geführt haben. Auseiner Menge von Optionen wird ein Ziel ausgewählt und verfolgt. Sollte jedoch dieses Zielnicht zum gewünschten Erfolg führen, wird es später einen neuen Versuch geben oder nacheinem Alternativ-Lösungsweg gesucht.

Intention: Absicht oder Verpflichtungen, auf die sich ein Agent festgelegt hat. Intentionsenthalten aktive Pläne der BDI-Agenten, diese werden in einer Datenbank verwaltet. Schritt-weise Näherungen zum gewünschten Ziel werden hier analysiert und die beste Variante fürden nächsten Schritt ausgewählt. Goerz und Rollinger [2003]

Als erstes wird ein Plan ausgewählt, der vom Startzustand in den Endzustand führt. Im Nor-malfall besteht der Plan aus vielen Teilzielen. Prinzipiell kann ein Agent mehrere Ziele ne-benläufig verfolgen, z.B. mehrere Anfragen parallel bearbeiten. Stehen die Ziele im Konfliktzueinander, soll die bessere Alternative ausgewählt werden. Ziele, die nicht mehr erreichtwerden können, werden entfernt. Wünsche können ”im Hinterkopf” behalten werden (Anleh-nung an das menschliche Verhalten).Hasselbach [2005]

Um sein gewünschtes Ziel zu erreichen, hat der Agent eine Plandatenbank zur Verfügung,aus der er hierarchisch organisierte Pläne auswählen kann, die ihn seinem Ziel näherbrin-gen. Die jeweils ausgewählten Pläne bezeichnet man als Intentionen. Der BDI-Agent istStandard-Architektur im Bereich der Verteilten Künstlichen Intelligenz.

Page 32: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 32

Abbildung 3.7.: Belief-Desire-Intention BDI [Quelle Hasselbach [2005]]

3.3.4. Interaktion mit FIPA

Die unterschiedlichen Fähigkeiten von Agenten und deren Wissen müssen koordiniert wer-den.Das geschieht mit Hilfe der Interaktion sowohl zwischen dem Agenten und seiner Umwelt,als auch anderen Agenten. Um dies gewährleisten zu können, bedarf es eines gemeinsa-men standardisierten Kommunikationsmittels, das von allen Beteiligten verstanden wird.Eine Organisation, die sich mit Standardisierungen in Bezug auf Agentensysteme beschäf-tigt, ist die Fundation for Physical Intelligent Agent, kurz FIPA.FIPA ist eine Non-Profit-Organisation, die Standards für heterogene interaktive Agentensys-teme bereitstellt. Sie wurde 1996 gegründet und verfolgt das Ziel, agentenbasierte Techno-logien zu standardisieren.

Dienste in der Agentenwelt

In der abstrakten FIPA-Architektur sind Dienst und Agent zwei unterschiedliche Entitäten, dieaber sehr eng miteinander agieren. Der Unterschied zwischen den beiden ist nicht immerdeutlich.Im FIPA-Konzept haben die Dienste die Rolle, dem Agenten unterschiedliche Funktio-nalitäten zur Verfügung zu stellen. Das Hauptmerkmal des Dienstes ist seine ständigeErreichbarkeit und seine Bereitschaft, die an ihn gerichtete Anfrage zu bearbeiten.

Page 33: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 33

Abbildung 3.8.: FIPA-Architektur [Quelle: fipa.org]

Im Gegensatz zu dem Dienst hat der Agent die Freiheit, selbst zu entscheiden, ob er die ge-stellte Anfrage ausführt oder ablehnt. Der Agent muss nicht zwingend im System erreichbarsein.

Der FIPA-Standard bietet mehrere Arten von Diensten an:

• Agenten-Verzeichnis-Dienste zur Auflistung der im System vorhandenen Agenten

• Nachrichten-Transport-Dienste zur Beschreibung der Kommunikationsmöglichkeitenim System

• Dienste-Verzeichnis-Dienst zur Auflistung der im System vorhandenen Dienste

Die abstrakte Architektur trifft keine Aussage darüber, wie die oben genannten Dienste rea-lisiert werden müssen. Die Dienste können selbst auch durch Agenten realisiert werden -”Dienst-Agenten”. Ein Dienst-Agent übernimmt dann das Verhalten eines Dienstes und istdadurch in seiner üblichen Rolle im Agentensystem begrenzter. Das bedeutet auch, Diens-tagenten müssen im System immer erreichbar sein. Bestimmte Funktionalitäten, für die siezuständig sind, müssen auf Anfrage stets geliefert werden. Damit hat der Dienstagent seineEntscheidungsfreiheit verloren.

Page 34: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 34

Kommunikation

Die Spezifikation der Agentenkommunikation ist der Schwerpunkt des FIPA-Standards. Die-ser sieht den Einsatz einer speziellen Sprache zur Abwicklung der Kommunikation (AgentCommunication Language, kurz. ACL) zwischen den Software-Agenten vor.

Zunächst wird eine gemeinsame Sprache für die Agenten festgelegt. Das ist die FIPA-ACL(Agent Communication Language).Eine FIPA-ACL - Nachricht beschreibt nicht nur den eigentlichen Inhalt der Nachricht, son-dern legt die verwendete Sprache, die Kodierung und die Ontologie fest.

Ontologien

Eine Ontologie beschreibt die gemeinsame Weltsicht der Agenten, welche nicht nur demAgenten, sondern auch seiner Umgebung bekannt ist.

Eine Ontologien stellt Wissensmodelle bereit, die eine konzeptuelle und terminologischeKlarheit schaffen. Sie ist mit einem offenen Wörterbuch vergleichbar:

• Begriffe werden eindeutig definiert, so dass klar ist, was der Begriff beschreibt

• Ontologie als Bedienungsanleitung für eine ganze Sprache innerhalb einer Domäne

Ursprünglich stammt der Begriff Ontologie aus dem Bereich der Philosophie und wird zurBeschreibung und Klassifizierung der Begriffe in der Welt verwendet.In der Verteilten Künstlichen Intelligenz beschreibt die Ontologie Konzepte aus der realenWelt, die im Software-System modelliert werden sollen. Mit Hilfe der Ontologie wird sicher-gestellt, dass die Nachrichten im jeweiligen Kontext von beiden Kommunikationspartnernrichtig interpretiert werden.

Nachrichten zwischen den Agenten werden in Text-Form versandt. Um eine Ontologie füreine neue Anwendung zu definieren, muss zuerst geklärt werden, welche Akteure mit ihrenzugehörigen Fähigkeiten und Informationen definiert werden müssen.

ACL

Damit Agenten sinnvoll miteinander kommunizieren können benötigen sie eine gemeinsameSprache, ein gemeinsames Vokabular und ein gemeinsames Protokoll. Die Nachrichten, dieausgetauscht werden, werden effizient innerhalb der Agentenplattforn transportiert.

Page 35: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 35

Abbildung 3.9.: FIPA-Ontologie-Einsatz [fipa.org]

Um eine Entscheidung über eine passende Entwicklungsplattform zu treffen, sollte man zu-erst sich einen Überblick verschaffen, was die geeignete Plattform leisten soll. Hier wer-den zwei Vertreter der Entwicklungsumgebung JADE und deren Erweiterung JADEX vorge-stellt.

3.4. JADE

JADE (Java Agent Development Environment) wurde von Telecom Italia LAB entwickelt undist ein Open Source Produkt. Es bietet eine komfortable graphische Entwicklungsumgebung,die einen einfachen Einstieg in die JADE-Entwicklung ermöglicht.

JADE ist eine Middleware und wurde für die verteilten Anwendungen der Multiagentensys-teme entwickelt. Da JADE komplett in Java implementiert wurde, bietet sie dem Entwickleralle Vorzüge der Programmiersprache Java an.Einige Vorteile sind:

• JADE ist nach FIPA standardisiert, somit wird die Interaktion zwischen Agenten er-leichtert, da sie gleichen Standards entsprechen.

• JADE beinhaltet eine umfassende API.

• Sie ist leicht zu erlernen und zu nutzen:Die Komplexität der Middleware bleibt dem Anwender ”verborgen”, und die einfachgestaltete API ist intuitiv zu bedienen.

• Der Programmierer braucht nicht alle features zu kennen und wird nicht für ihn mitunwichtigen Details belastet.

Page 36: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 36

Abbildung 3.10.: JADE Benutzer Obelfläche [Quelle: jade.tilab.com]

• Die Entwicklung kann in den ”gängigen” Entwicklungsumgebungen, wie Eclipse oderJBuilder realisiert werden.

Die JADE-Werkzeuge sind hilfreich bei der Entwicklung komplexer Systeme. Die Skalierbar-keit der Plattform ermöglicht die Erweiterung durch weitere Funktionalitäten.

3.4.1. JADE-Plattform-Details

Die Hauptbestandteile der JADE-Plattform sind Instanzen. Jeder JADE-Instanz werden einbzw. mehrere Agenten und ein Container zugewiesen, d.h. jede JADE-Instanz beinhalteteinen Container, der seinerseits ein Prozess ist und für die Steuerung und Ausführung deszugehörigen Agenten zuständig.

Die zentrale Komponente der JADE-Plattform ist der Hauptcontainer. Der Hauptcontainermuss als erster gestartet werden, anschließend registrieren sich bei ihm alle weiteren Con-tainer. Sollte der Hauptcontainer ausfallen, können die anderen Agenten nicht adressiertwerden. In diesem Fall übernehmen die einzelnen Container seine Aufgabe und Agenten-Informationen werden dezentral gespeichert bzw. aktualisiert.

In der JADE-Plattform sind die Agenten und Container miteinander verbunden, doch derAgent übernimmt eine aktive Rolle. Das Verhalten und die Funktionalitäten eines Agentenwerden in Java programmiert.

Page 37: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 37

Abbildung 3.11.: JADE Laufzeitumgebung

Abbildung 3.12.: JADE Architektur

Page 38: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 38

FIPA-standardisierte Dienste:

• Standardisiertes Nachrichtensystem

• Dienstverzeichnis

Einsatzgebiet: Komplexe Agentensysteme

3.4.2. JADEX

(nach Pokahr u. a. [2007])

Vorteil der Blackboard-Architektur ist die Unabhängigkeit der Agenten untereinander. EinAgent entscheidet selbst, welche Aktivitäten er als nächstes durchführt, und welche Informa-tionen er auf dem Blackboard veröffentlicht.

Bei der Modellierung der (komplexen) verteilten Systeme kann die Agententechnologie dieUmsetzung erleichtern und somit die Komplexität beherrschbar machen.

Es spricht einiges dafür, solche Anwendungen mittels Agenten zu realisieren, da die Agentenbestimmte Eigenschaften haben, über die andere Softwarebausteine nicht verfügen.

Es sind z.B.:Autonomie - selbständiges Handeln, die Fähigkeit, unabhängig von äußeren Angriffen selbstüber einzelne Aktivitäten eine Entscheidung zu treffen. Der Agent hat Kontrolle über seineHanglungen und seinen internen Zustand.

Reaktivität - zielgerichtetes Handeln, d.h. die Fähigkeit eines Agenten, seine Umgebungwahrzunehmen und in Abhängigkeit der Aufgabenstellung das Ziel zu verfolgen. Er reagiertauf die Veränderung seiner Umgebung.

Proaktivität - Der Agent ergreift nach Bedarf selbst die Initiative. Er plant seine Handlungenin Abhängigkeit von seinen Zielen voraus.

Die Interaktion zwischen den Agenten erfolgt per Nachrichtenaustausch, wobei der Inhalt derNachrichten mittels Ontologien festgelegt wird und von einem konkreten Sender bzw. einemEmpfänger unabhängig ist.

Zwei Aspekte bei der Entwicklung der Agententechnologie werden hier unterschieden: Midd-leware Standards und konforme Plattformen für verteilte Agentenplattformen (JADEX).

Die Plattformenerweiterung JADEX wird vorgeschlagen, wobei die JADEX- Lösung dieBrücke zwischen Agenten - Middleware und Entscheidungsprozesse (Reasoning) bildet.

Page 39: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 39

Agenten können als Software-Bausteine angesehen werden, die mittels Software auf diesystemtechnischen Dienste zugreifen. Derzeit ist die FIPA (Foundation for Intelligent Phy-sical Agent)von entscheidender Bedeutung. Diese non-profit-Organisation hat sich zur Auf-gabe gemacht, die Standards für heterogene Agenten und MAS (Multi-Agenten-Systeme)bereitzustellen, zu pflegen und regelmäßig zu aktualisieren.

Die Middleware-bezogenen Spezifikationen behandeln unter anderem auch Infrastrukturele-mente wie Verzeichnisdienste und Nachrichtentransport.

Ausserdem existieren umfassende Spezifikationen auf der syntaktischen und semantischenEbene, was das Zusammenspiel der Agenten ermöglicht.

Doch oft ist bei der Realisierung komplexer verteilter Systeme eine Aufteilung des Gesamt-systems in überschaubare Teilsysteme erforderlich, um es beherrschbar zu machen. Dabeiist die Entscheidungsfindung der einzelnen Agenten wichtig.

Es existieren verschiedene Modelle von Agneten, um diese Entscheidungsprozesse zu be-schreiben - die so genannten rationalen Agenten.

Die rationalen Agenten besitzen die (kognitiven) Fähigkeiten, die dabei behilflich sind, auf-grund vorhandener Informationen die Entscheidungen entsprechend der aktuellen Situationtreffen zu können.

Die Grundidee der kognitiven Architekturen beruht auf dem Verhalten der Individuen, waszurückzuführen ist auf Disziplinen wie Biologie oder Psychologie.

Eins der Wichtigsten Konzepte in diesem Bereich sind die BDI-Agenten, die in ihrem Verhal-ten das menschliche Verhalten zum Vorbild haben.

3.4.3. BDI-Architekturen

Die BDI-Architektur wurde ursprünglich 1987 an der Stanford University von demPhilosophie-Professor Michael Bratman entwickelt. Er forschte im Bereich des mensch-lichen Verhaltens - speziell der Entscheidungsfindung.

Seine Idee wurde von Anand Rao und Michael Georgeff aufgegriffen und auf die Praxisübertragen. Speziell in der BDI Architektur wird menschliches Verhalten nachgebildet.

Es wurden BDI- Agenten (Belief-Desire-Intention-Agenten) kreiert, die mit bestimmten Fä-higkeiten ausgestattet sind und so das menschliche Verhalten nachbilden:

• Wissen über ihre Umwelt (beliefs),

• Zustände, die diese Agenten erreichen sollten (desires)

Page 40: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 40

• aktuelle Absichten (intentions).

Belief: Wissen oder Annahme des Agenten innerhalb seines Umweltmodells, d.h. er bildetdie Realität, in der sich die Agenten befinden, ab. Dieses Wissen wird in der Wissensbankgespeichert und ständig aktualisiert. Dadurch befindet sich das Modell immer auf dem aktu-ellen Stand.Diese Informationen sind jedoch keine direkte Abbildung der Umgebung, sondern sie werdengefiltert nach wichtigen und weniger wichtigen Informationen. Durch diese Filterung schaffteine "persönliche Sicht"des Agenten auf seine Umwelt.

Desire: sind Ziele bzw. Wunsche eines Agenten, die noch nicht zu Absichten geführt haben.Aus einer Menge von Optionen wird ein Ziel ausgewählt und verfolgt. Sollte jedoch diesesZiel nicht zum gewünschten Erfolg führen, wird es später einen neuen Versuch geben odernach einem Alternativ-Lösungsweg gesucht.

Eine konsistente Menge von Zielen wird als GOALS bezeichnet. Sie versetzen den Agent indie Lage proaktiv zu handeln, anstatt nur auf die Reize zu reagieren.

Seine Ziele versucht der Agent auf der Basis der vorgegebenen Handlungsfolgen zu errei-chen. Diese werden in PLANES (Plänen) formuliert. Die Abfolge der Ziele entspricht derZielerfüllung, welche durch PLANES festgelegt wird.

Die Festlegung der Zielerfüllung ergibt die INTENTION.

Intentions: sind Absichten oder Verpflichtungen, auf die sich ein Agent festgelegt hat. In-tentions enthalten aktive Pläne der BDI-Agenten. Sie werden in einer Datenbank verwaltet.Schrittweise Näherungen zum gewünschten Ziel werden hier analysiert und die beste Vari-ante für den nächsten Schritt ausgewählt. Goerz und Rollinger [2003]

Als erstes wird ein Plan ausgewählt, der vom Startzustand in den Endzustand führt. Im Nor-malfall besteht der Plan aus vielen Teilzielen. Prinzipiell kann ein Agent mehrere Ziele ne-benläufig verfolgen, z.B. mehrere Anfragen parallel bearbeiten. Stehen die Ziele im Konfliktzueinander, soll die bessere Alternative ausgewählt werden. Ziele, die nicht mehr erreichtwerden können, werden entfernt. Wünsche können ”im Hinterkopf” behalten werden (Anleh-nung an das menschliche Verhalten). Hasselbach [2005]

Um sein gewünschtes Ziel zu erreichen, hat der Agent eine Plandatenbank zur Verfügung,aus der er hierarchisch organisierte Pläne auswählen kann, die ihn seinem Ziel näher brin-gen.

Die BDI-Agenten-Architektur entsprechen der Standard-Architektur im Bereich der VerteiltenKünstlichen Intelligenz.

JADEX

Page 41: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 41

Abbildung 3.13.: BDI Architektur Quelle: Hasselbach [2005]

Page 42: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 42

(nach Pokahr u. a. [2007]) Java Agent DEvelopment Framework Extension wurde an derUniversität Hamburg als eine Erweiterung der JADE-Plattform entwickelt. JADEX nutzt dieJADE-Plattform als Basis und baut die Funktionalitäten für BDI-Agenten aus. Entsprechendspielen die für BDI-Agenten spezifischen Entitäten GOALS, BELIEFS und PLANS eine zen-trale Rolle. Die Entitäten werden als Objekte realisiert. Dabei repräsentieren GOALS dieZiele, die konkret vom Agenten zu erreicht werden sollen. Beliefs beinhalten das Wissendes Agenten über seine Umwelt, das in seiner Datenbank gespeichert wird. Eine der wich-tigen Komponenten in der BDI-Architektur ist der Interpreter, der seinerseits aus zwei weite-ren Komponenten besteht: Beliefs-Interpreter und Events-Interpreter. Der Event-Interpreterkontrolliert anhand der eingegangenen Events (wie aktuellem Stand der eingegangen Nach-richten, erreichte Ziele etc.) die Ausführung der aktuellen Pläne. Seinerseits entscheidet derBeliefs-Interpreter aufgrund seines Wissens über die Auswahl der neuen Ziele.

Abbildung 3.14.: Jade Plattform

Die Agentenverhaltensdefinitionen werden speziell in ADF (Agent Definition File) verwal-tet.

Die folgenden Abbildungen zeigen die JADEX- Agentenstruktur und den Inhalt einer Jadex-Datenbank.

Page 43: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 43

Der Schwerpunkt der JADEX- Agentenumgebung ist die Erweiterung der JADE-Plattform imHinblick auf eine einfache Realisierung der Agentensysteme mit Hilfe der BDI-Architektur.

Page 44: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 44

3.5. iROS

Im Jahre 2002 entstand an der Stanford Universität ein neues Projekt mit dem Namen iRoom,welches dass Ziel hatte eine ubiquitäre Arbeitsumgebung zu schaffen.Mithilfe vielen kleinen und großen Geräten sollte interaktiv gearbeitet werden.

Bei der Entstehung der interaktiven Räume (iRooms) ist es wichtig eine stabile zuverlässigePlattform zu schaffen. In diesem Zusammenhang wurde das Metabetriebssystem iROS (in-teractive Room Operating System) entwickelt.Dieses Metabetriebssystem iROS ist javabasiert und bietet den beteiligten Komponenteneine geeignete Kommunikationsplattform an.

Im Rahmen des iRooms-Projektes sollte eine für diese Anwendung geeignete Architekturentworfen werden.

Die folgende Abbildung zeigt den Aufbau der Komponenten.

Abbildung 3.15.: Componenten Struktur

Die Komponente wird nach deren Aufgabenstellung klassifiziert:Standard-Komponente, Anwendungskomponente, die jeweils von dem Entwickler hinzuge-fügt werden kann.

Die zentrale Komponente ist der Event Heap, der wird für die Kommunikationszwecken desiRooms genutzt.Das Metabetriebssystem iROS basiert auf dem Modell der losen Kopplung. Das heißt, dassdas Gesamtsystem sehr flexibel ist.

Page 45: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 45

3.5.1. Tuple Space

Das Tuplespace-Modell definiert eine Reihe von Aktionen, die auf dem Tuplespace ausge-führt werden können.

Die ursprüngliche Idee des Verfahren war: eine Koordination parallel laufenden Prozesse.Der Tuplespace ist ein Speicherbereich, der von mehreren Prozessen gemeinsam genutztwerden kann. Auf den TupleSpace könne vier verschiedene Operationen durchgeführt wer-den: (in, rd, out, eval).

• in - sucht und entnimmt ein Tupel aus dem Tuplespace

• rd - liest ein Tupel aus dem Tuplespace ohne es zu entnehmen

• out - speichert ein Tupel in dem TupleSpace

• eval - speichert ein aktives TupleSpace

Page 46: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 46

3.6. Serviceorientierte Architekturen (SOA)

Einführung

Der Begriff serviceorientierte Architekturen (SOA) wird auch oft als dienstbasierte Architek-turen bezeichnet und beschreibt eine verteilte Softwarearchitektur.

"Dienstbasierte Architekturen werden in erweiterter Form besonders auch im UbiquitousComputing enorme Bedeutung erlangen, da einerseits eine neue Dimension der allgemei-nen Vernetzung erreicht wird, andererseits ein hoher Grad an Automatisierung, Flexibilitätund Qualität in der Nutzung ubiquitärer Softwaresysteme nötig wird." TAUCIS

Aufgrund des exponentiellen Wachstums der IT-Systeme und der damit verbunden immerkomplexer werdenden Softwarearchitekturen, hat man nach einem Konzept gesucht, wel-ches den Anforderungen Stand halten kann.

Die serviceorientierte Architektur hat das Ziel, die Unternehmen dabei zu unterstützen. IT-Systeme, die mit Hilfe von SOA realisiert wurden, zeichnen sich durch hohe Flexibilität aus.

Die Idee, die hinter SOA steht, ist die Auslagerung von Funktionalitäten, die als Dienste (”Ser-vices”) zur Verfügung gestellt werden. Die angebotenen Dienste können an verschiedenenStellen in einem Intra- oder Internet auf heterogenen Systemen und Entwicklungsplattformenverfügbar sein und nach Bedarf (”on-demand”) aufgerufen werden.

Die einzelnen Dienste lassen sich schnell miteinander kombinieren oder nach Bedarf erset-zen. (nach Kirchner [2007])

Serviceorientierte Anwendungen basieren auf serviceorientierten Architektur. Sie bestehenaus einem Satz von Services, die miteinander kombiniert werden können.

Um den Datenaustausch auf heterogenen Plattformen zu ermöglichen, benötigt man ein Da-tenformat, welches von allen Beteiligten verstanden wird. (nach Kirchner [2007]) Hier kom-men Basistechnologien wie XML, SOAP und WSDL ins Spiel. (siehe Abschnitt 3.4.3).

Page 47: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 47

3.6.1. Interaktionsstruktur der serviceorientierte Architektur

In diesem Abschnitt soll die serviceorientierte Architektur näher erläutert werden.”Das wichtigste Element einer SOA ist der Service als standartisiete Darstellung von Funktio-nalität. Service Oriented Computing (SOC) ist ein Pradigma, das Services (Dienste) als fun-damentales Element für die Erstellung von Applikationen verwendet. Dieses fundamentaleElement besteht aus einem Basisdienst, seiner Beschreibung sowie einer Basisoperationen(Publication, Discovery, Selection und Binding).”Liebhard [2007]

Es gibt in der Literatur unterschiedliche Bezeichnungen für die Basisoperationen einer Ser-viceorientierten Architektur. Die gängige sind jedoch, die aus der Abbildung 3.12. zu entneh-men:Publish: Die Funktionalität muss bekannt sein - ”veröffentlichen”.Damit ein Servicedienst bzw. einen geänderte Eigenschaft eines bestehenden Services ge-nutzt werden kann, muss er bekannt sein.Find: Suche nach einem bestimmten Service - ”gefunden”.Ein Dienstnutzer schickt seine Anfrage an das Verzeichnisdienst, um einen Dienst zu finden,der seinen gewünschten Kriterien entspricht.Bind and invoke: Aufrufen und Binden des Services - ”dynamisch aufgerufen”.Der aufgerufene Service wird mit seiner Schnittstelle verknüpft (binding).

Abbildung 3.16.: SOA Servicezugriff [Quelle: Endrei u. a. [2004]]

Page 48: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 48

In der serviceorientierten Architektur gibt es drei Rollen:Service Provider:

• Stellt Web-Services zur Verfügung

• Veröffentlicht die Verfügbarkeit durch Registries

Service Registry:

• Stellt Unterstützung für das Veröffentlichen und

• Auffinden der Services zur Verfügung

Service Consumer:

• Findet die entsprechenden Web-Services mittels der Service Registry

• Bindet den Service an den Service-Provider

Die Rollen und die Operationen werden mittels XML-basierten Protokollen realisiert.

3.6.2. Definition von SOA Komponenten

SOA ist eine verteilte Komponentenarchitektur, wobei die Technologien für die Lösung derKomponenten unterschiedlich sein können.Eines der wesentlichen Aspekte der serviceorientierten Architektur ist, dass in einem Netz-werk unabhängige Dienste (Services) nutzbar gemacht werden und mit Hilfe eines standardi-sierten Zugriffs erreichbar sind. Die Komponente sind lose gekoppelt, so das Erweiterbarkeitund Wiederverwendbarkeit problemlos durchzuführen sind.

Abbildung 3.17.: SOA Schichten und Service Modellierung Zimmermann [2005]

Page 49: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 49

Die Abbildung 3.17 gibt einen Überblick der Schichtenstruktur und Service-Modellierung.

1. Innerhalb der unteren Schicht sind bereits existierende Anwendungen und Ressourcen

2. Die Komponentenschicht beinhaltet die Business Objekte, hier wird die Funktionalitä-ten umgesetzt

3. Hier befinden sich einfache oder zusammengefasste Dienste, können einzeln odergebündelt aufgerufen werden

4. Die Geschäftsprozesse stehen hier für die höhere Schicht zum Abrufen bereit

5. Präsentationsschicht: Schnittstelle zum Nutzer

6. Integrationsschicht: ESB = Enterprise Service Bus, ist Nachrichtentransport, etc. zu-ständig

7. Quality of Services: Dies Schicht beinhaltet alle wichtigen Standards und Protokolle

3.6.3. Enterprise Service Bus ESB

Die zentrale Komponente der Architektur ist der Enterprise Service Bus (ESB), der alsSchnittstelle für die Kommunikation zwischen den einzelnen Komponenten (Services) dient.Rund um den Enterprise Service Bus (ESB) befinden sich weitere Services und Serviceka-tegorien.

Abbildung 3.18.: Enterprise Service Bus Zimmermann [2005]

Page 50: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 50

Rund um den ESB und den Services werde weiter unterstützende Bereiche formuliert: Busi-ness Services: das Monitoring des ServicesEntwicklungsservice (Deployment Services): die technische RealisierungIT Service Management : Bereitstellung von Diensten, Verwaltung und Sicherheit von An-wendungen und RessourcenInfrastrukturservices sind Dienste, die Infrastruktur repräsentierenInfrastrukturservices ermöglichen eine Optimierung von Durchsatz, Verfügbarkeit und Leis-tung.

3.6.4. Technische Komponenten

hier Protokolle, Web-Services,etc

3.6.5. Architektonische Umsetzung

Hier sollen die Bestandteile von SOA etwas detailierter beschrieben werden Laut Bild 3.13

3.6.6. Migration mit SOA

Eine wesentliche Eigenschaften der Architektur (Komponenten) ist Migration, d.h. dass dieKomponentenarchitektur ”genormte” Schnittstellen liefert.

Den Ablauf kann wie folgt beschrieben werden:

• die Anwendung wird in Komponente (Anwendungsteile) schnittstellenkonform aufge-teilt

• die Anwendungsteile über Schnittstellen kommunizieren lassen.

• Damit entsteht die strategische Option, Komponenten durch leistungsfähigere mit glei-cher Schnittstelle auszutauschen

• wenn Schnittstellen eingehalten werden, kann man alte Anwendungsteile durch neu-gestaltete Anwendungskomponenten ersetzen

”Konsequenz: Evolution statt Revolution”(nach Jörg Raasch: Vorlesung Archtekturen für In-formaitonssysteme)

Hier kommen Details der Migration ”altSysteme”

Page 51: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 51

Lebenszyklus serviceorientierten Anwendungen

Der Lebenszyklus der serviceorientierten Anwendungen erfasst fünf Phasen, die sich hin-sichtlich der Rollen der benötigten Werkzeuge und Infrastrukturen voneinander abgrenzen.

Strategy: In dieser Phase werden Anforderungen und Ziele definiert und die entsprechendeStrategien, um diese zu erreichen, entwickelt.

Model: In der Modellierungsphase werden die Geschäftsprozesse mit ihren Aktivitäten underforderlichen Ressourcen beschrieben.Solche Modelle sind von zwei Seiten interessant: einerseits werden die Prozesse einesUnternehmens dadurch erfasst und besser verstanden; andererseits das dynamischeVerhalten von Prozessen lassen sich auf Basis solcher Modelle erstellen (wie z.B. Scha-densmeldung oder Bonitätsüberprüfung).

Assembly: Nachdem das Prozessmodell erstellt wurde, beginnt die Realisierung in einIT-System. In dieser Phase werden einzelnen Teile der Geschäftsprozesse auf passendeTechnologie-Komponenten abgebildet.Bereits vorhandene Services können einfach aufgerufen werden, fehlende werden neu im-plementiert. Anschliessend wird das System getestet.

Deploy: In der dritten Phase geht das getestete System in Betrieb. Dazu wird das Systemauf eine Infrastruktur installiert.Jetzt werden die Anforderungen bezüglich Leistungsverhalten, Skalierbarkeit, Verfügbarkeitüberprüft. Wie sich dann die serviceorientierte Anwendung verhält, wird in der nächstenPhase festgestellt.

Manage: Hier muss überprüft werden, ob das System zuverlässig läuft, ob die Antwort-zeiten im akzeptablen Bereich liegen, ob die Anforderung eingehalten wurde. Zuerst wirdgesamter Ablauf durch eine Simulation abgeschätzt. Wie sich das System tatsächlichverhält, wird sich erst später unter realen Bedienungen zeigen.Nun schließt sich der Lebenszyklus damit ab. In der nächsten Iteration werden alle Phasennoch mal durchlaufen, wobei inkrementelle Änderungen und Verbesserungen durchgeführtwerden.

Governance und Prozesse: Dies Komponente ist eine der wichtigsten im gesamten SOA-Projekt.Hier werden unter anderem Unternehmensvorgaben festgehalten, Versionskontrolle des

Page 52: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 52

Abbildung 3.19.: Lebenszyklus serviceorientierter Anwendungen [Quelle: Kirchner [2007]]

Projektes. Auch die Definitionen der Serviceschnittstellen gehören dazu.Bei Bedarf kann das Unternehmen ein Kompetenzzentrum mit einem verantwortlichen Teameinrichten, das die Einhaltung der Richtlinien und internationalen Standards überwacht.

3.6.7. eXtensible Markup Language (XML)

(nach Bergmann und Wittenbrink [2005]). Bei Serviceorientierter Architektur spielt XML einegrosse Rolle.Die eXtensible Markup Language (XML) ist eine "Metasprache":

XML ist ein einfaches, universales Format für den Austausch strukturierter Informationen.(nach Bergmann und Wittenbrink [2005]).

Mitte der 90er Jahre wurde eXtensible Markup Language von W3C standardisiert.

Trennung von Daten und Datenverarbeitung

XML trennt strikt zwischen Daten und deren Verarbeitung. Welche Software für die Ver-arbeitung verwendet wird, ist unerheblich, da XML ein textbasiertes Format ist; Ein XML-Dokument lässt sich als eine Kette von Zeichen speichern und austauschen. Alle grundle-gende Definitionen von XML beziehen sich auf die Syntax von Zeichenketten. XML ist relativeinfach, es besteht aus einem Satz an Regeln.

Page 53: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 53

Erweiterbarkeit

Eine sehr wichtige Eigenschaft von XML ist die Erweiterbarkeit. Es lassen sich unterschied-liche Sprachen für unterschiedliche Dokumententypen und Verwendungssituationen entwer-fen. XML erlaubt, für neue Anforderungen ein eigenes Vokabular zu verwenden, so könnenz.B. für neue Plattformen und neue Zielsetzungen neue Vokabulare entwickelt werden: Bei-spiele dafür sind VoiceXML und WML. (nach Bergmann und Wittenbrink [2005])

VoiceXML ist eine Auszeichnungssprache für akustische Ausgabeplattformen und stellt fürdie Interaktion zwischen Mensch und Maschine folgende Mittel zur Verfügung:

• Spracherkennung

• Aufnahme von Sprache

• Synthetische Sprachausgaben (text-to-speech)

• Ausgabe von Audiodateien

• Telefondienste wie z.B. Anrufweiterleitung

Wireless Markup Language (WML)

Wireless Markup Language wurde entwickelt, um strukturierte Dokumente auf Geräten mitniedriger Leistungsfähigkeit darzustellen. Ein WML-Dokument wird als Deck bezeichnet undbesteht aus einzelnen Cards. Die Geräte, die diese Sprache benutzen, sind meist PDAs oderMobiltelefone.

Beim Aufruf vom Server wird sofort das gesamte WML-Dokument (Deck) geladen und iminternen Speicher des Clients (mobilen Gerätes) geladen. Auf dem Display erscheint danndie Start-Card des Dokumentes, d.h. es wird zuerst die erste Card geladen, die weitereCards werden dann per Link werden aus dem Speicher abgerufen, eine erneute Anfrage anden Server ist nicht nötig. (nach Bergmann und Wittenbrink [2005])

Standardisierung und Offenheit

XML ist ein offener Standard, d.h. er kann ohne Lizenzgebühren und rechtlichen Einschrän-kungen genutzt werden, auch alle auf wichtigen auf XML aufbauenden Formate sind ebensooffen und lizenzfrei nutzbar.

Page 54: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 54

3.6.7.1. SOAP und WDSL

SOAP und WSDL sind für den funktionierenden SOA Betrieb undingbare Standards. SOAPist die gemeinsame Sprache aller Beteiligten, WSDL ist eine Sprache zur Schnittstellenbe-schreibung.

SOAP (Simple Object Access Protokoll)

(nach Bergmann und Wittenbrink [2005]).

Mit XML und XML Schema ist ein standardisiertes Format, was von allen Anwendungen welt-weit verstanden wird. Um die Dienste tatsächlich aufrufen zu können bedarf es eines Pro-tokolls, welches beschreibt wie die Nachrichten tatsächlich und in welcher Reihenfolge überdie Leitung verschickt werden. Das Standardprotokoll für diesen Zweck ist SOAP (SimpleObject Access Protokoll), es ist ein einfaches Protokoll für den Austausch von XML-Daten.:Die Struktur von SOAP besteht aus zwei Teilen: SOAP-Header und SOAP-Body

Der SOAP-Header: enthält die Informationen über Sicheheit, Routing und Zusatzinforma-tionen für die Korrekte Verarbeitung von SOAP-Body. Und Der SOAP-Body enthält die zutranspondierende XML-Daten.

SOAP verwendet das weit verbreitete http (Hypertext Transfer Protocol), darüber hinaus un-terstützt es weitere Protokolle, wie z.B. Java Messaging Service (JMS). (http ist ein von allenPlattformen unterstütztes Protokoll für den Transport von textuellen Daten)

SOAP ist plattform- und herstellerunabhängig, deswegen ist es gut für heterogene Netzegeeignet.

WSDL (Web Service Description Language)

Um Plattformunabhängigkeit der Dienste zu erhalten, benötigt man auch eine plattformun-abhängige Methode, um die Schnittstellen der Dienste zu beschreiben.

Als Standard hat sich WSDL (Web Service Description Language) durchgesetzt, WSDL istauf einem XML- Format spezifiziert. WSDL beschreibt, was ein Service zu erledigen hat, woer zu finden ist und wie er aufgebaut wird. WSDL stellt den Vertrag zwischen den Servicesdar.

Mittels WSDL lassen sich die Dienste hinsichtlich ihrer funktionalen und nichtfunktionalenEigenschaften beschreiben. Um sie aber wirklich publizieren, suchen und finden zu können,bedarf es eines Verzeichnisdienstes.

Der Verzeichnisdienst nimmt in einer Serviceorientierten Architektur eine zentrale Bedeutungein. Die Beschreibung von Datenstrukturen und Programmierschnittstellen eines solchenstandardisierten Verzeichnisses erfolgt mit Hilfe UDDI (Universal Description Discovery andIntegration).

Page 55: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

3. Architekturen 55

3.6.8. Zusammenfassung und Ausblick

Die serviceorientierte Architektur ist heute bereits die Basis für die meisten grösseren IT-Projekte und ist sehr hilfreich bei der Unterstützung hinsichtlich der immer komplexer wer-denden Anforderungen. Sie basiert auf offenen Standards, was für die weitere Verbreitungspricht.

Serviceorientierte Architekturen unterscheiden zwischen Serviceerstellung (1) und Ge-schäftprozesserstellung(2).

(1) Wiederverwendung und Programmierung im Kleinen(2) Orchestrierung, Programmieren im Grossen

”Die Experton-Group bezeichnet SOA als Architektur, die zum Ziel hat, eine lose Kopplungvon interaktiven Software-Agenten zu erreichen um Grosse Anwendungslandschaften zumodumodularisieren und zu flexibilisieren.” Liebhard [2007]

Page 56: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

4. Exemplarische Projekte

4.1. Pilotprojekt am Frauenhofer-Institut

Im folgenden wird ein Forschungsprojekt des führenden Frauenhofer-Instituts vorgestellt.Quelle: inHaus

So könnte in der Zukunft ein Tag im Intelligenten Haus beginnen: Alle elektrischen Gerätesind miteinander vernetzt und ”lernen” die Gewohnheiten der Bewohner. Der Haus-Computerregelt die Systeme, also Jalousien, Heizung und Lüftung, nach verschiedenen Szenarien.Beispiel:Bad : Durch Druck auf einen Knopf erkennt der Hauscomputer, wer im Bad ist und sorgtfür die richtige Wassertemperatur, die Lieblingsmusik der Person und erinnert den Nutzerdurch Spiegel-Aufschrift z.B. an seine Tabletten. Er kann die Einnahme der Medikamenteam Spiegel quittieren.

1999 begann der Bau des intelligenten Hauses durch das Frauenhofer-Institut in Duisburg.Das so genannte ”inHaus” (intelligentes Haus) wurde als Labor konzipiert und wird in derZukunft zusammen mit vielen namenhaften Industrie- und Dienstleistungsunternehmen be-trieben. Das inHaus soll kein Vorbild für reale Privathauser sein, sondern in ihm werdenHaustechnologien für den Massenmarkt entwickelt.Etwa 2 Mio. Euro hat das Haus inklusive der aufwendigen Technik gekostet. Alle gängigenNetzwerksysteme wurden integriert, um die Zukunftstechnologien testen zu können. Worinsehen die Betreiber die Notwendigkeit eines solchen Projektes? Bisher haben alle Haus-haltsgeräte unabhängig voneinander funktioniert. Wer jedoch in der Zukunft keine Geräteanbietet, die im Verbund miteinander arbeiten können, wird mittelfristig auf dem Markt kei-ne Chancen haben. Das inHaus-Projekt ist eine Plattform für die Entwicklung und den Testder Geräte der nächsten Generation. Das Gebäude umfasst zwei separate Bereiche: Einmaldas Wohnhaus, das unterschiedliche Testbewohner nutzen sollen, und die Werkstatt mit demLabor für Netzwerk und Teleservice. Hier laufen nicht nur technische Daten zusammen, son-dern es werden auch die Erfahrungen und Berichte der Testbewohner direkt ausgewertet.Auf diesen Grundlagen optimieren die Ingenieure der unterschiedlichen Firmen die techni-schen Systeme, die die Testbewohner entlasten und unterstützen sollen.

Page 57: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

4. Exemplarische Projekte 57

Mit einem mobilen Internetcomputer kann man unter anderem Rezepte aussuchen. DerHauscomputer gleicht die notwendigen Lebensmittel mit dem Inhalt des Kühlschranks abund erstellt die Einkaufsliste.

Nicht nur das Haus, sondern auch das Auto ist in das intelligente Netzwerk eingebunden.Ein gemeinsamer Funkschlüssel schließt das Haus und öffnet das Auto. Das Auto hält im-mer die Verbindung zum Haus und informiert über Neuigkeiten. Wenn jemand vor dem Hauserscheint meldet das System einen Zustandsbericht: ”Hausalarmanlage aktiviert, Heizungs-und Lüftunganlagen laufen auf dem reduzierten Betrieb, Türen und Fenster sind verschlos-sen.” Der Besucher kann Video-Botschaften hinterlassen. Das ”inHaus” soll nicht nur denBewohnern das Leben erleichtern, sondern auch den Technikern und den Installateuren. Sowird die Wartung in Zukunft einfacher und kostengünstiger. Handwerker brauchen nicht im-mer zu kommen, sondern können Reparaturen nach einer Ferndiagnose teilweise auch überdas Netz ausführen. Mit dem Zugriff auf alle Geräte können Zustandsdaten abgefragt wer-den. Durch die Vernetzung der Hausgeräte wird eine völlig neue Qualität erreicht. Energiekann nur sinnvoll gespart werden, wenn Lüftung, Heizung, Fensterstellung und Lebensbe-dürfnisse der Bewohner aufeinander abgestimmt werden.

Aber wie sollen die Bewohner ein intelligentes Haus steuern, wenn viele nicht einmal ihrenVideorekorder bedienen können. In einem inHaus ist es vorgesehen, die Geräte so aufein-ander abzustimmen, dass sie alle auf einfache Weise durch ein inhaltliches Bedienkonzeptgesteuert werden können. Welche der vielen möglichen Funktionen eines intelligenten Hau-ses später als sinnvoll empfunden und angenommen werden, wird die Zukunft zeigen. Abergerade das inHaus kann dazu beitragen, dass innovative Technologien und neue intelligenteTechnik genutzt werden.

Page 58: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

5. iFlat: das intelligente Haus der HAW

Bereits seit 2002 wurden an der Hochschule für Angewandten Wissenschaft zahlreicheProjekte im Bereich Ubiquitous Computing und Ambient Intelligence durchgeführt. Eswurden verschiedene Berichte, Seminar- und Abschlussarbeiten zu diesen Themen verfasst.Einige der Beiträge sind unter dem übergeordneten Projektnamen UbiComp hinterlegt.Im Wintersemester 2008 startete an der HAW Hamburg im Fachbereich Informatik einForschungsprojekt mit dem Namen ”iFlat”.Schwerpunkt des Projektes ist die Konzeption und Realisierung einer ”intelligenten Woh-nung”.

Abbildung 5.1.: Geräte-Landschaft des iFlat-Projektes entw. von Piotr Wendt HAW Hamburg

Page 59: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

5. iFlat: das intelligente Haus der HAW 59

Beschreibung der Geräte für Living Place Lab:

1. Bildschirm zur Wiedergabe von visuellen Informationen: Eye Tracker

2. Metapher Türklingel und Türkamera: WebCom

3. Boxen zur Wiedergabe von akustischen Informationen: Boxen

4. Mikrophon zur Aufnahme von Audioinformationen: Mikrofon

5. Service Lookup zur Wiederauffindung von Diensten: iFlatEventHeap

6. Tentraler Speicher: iFlat

7. Switch (zentraler Knotenpunkt) : SMC Switch

8. WLAN Router : iFlatRouter

9. Aufnahmegerät für Audieo und Video: 19-Zoll : SmartShelf

10. DVB-T Empfänger: 19-Zoll SmartShelf

11. RFID annotiertes Regal

12. RFID annotierter Kühlschrank: SmartShelf

Page 60: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

5. iFlat: das intelligente Haus der HAW 60

5.1. Zielgruppe

Die technische und soziale Entwicklung wie auch der kulturelle Wandel der westlichenGesellschaft haben unser Leben in den letzten Jahren sehr beeinflusst und verändert.Dazu kommen noch demographische Veränderungen, die sich auf unsere Gesellschaftauswirken. Die Menschen werden immer älter und bleiben dabei noch fit, gesund und aktiv.Der Anteil der Erwerbstätigen nimmt stätig ab. Viele Paare entscheiden sich, keine Kinderzu haben und sich auf die Karriere zu konzentrieren. Die verschiedenen Lebensabschnittebekommen eine neue Bedeutung.

Somit kann man die Lebensphasen wie folgt spezifizieren:

DINKS (Double Income No K ids) sind junge Paare (30-45) ohne Kinder, die sich auf dasberufliche Weiterkommen konzentrieren und wo das Geld bei Doppeleinkommen keine Rollemehr spielt.

Die Bezeichnung DINKS wird in Deutschland oft abwertend verwendet, zeigt jedoch die Ver-änderung der westlichen Gesellschaft an.Im Vergleich zu den Paaren mit Kindern haben sie zwei Arbeitseinkommen zur Verfügung.Die wirtschaftliche Lage der DINK-Paare ist deutlich attraktiver. Im Gegensatz dazu habenoft Familien mit Kindern nur ein Einkommen und trotz der staatlichen Unterstützung lebensie oft in wesentlich bescheiderenen Verhältnissen. van Gils und Kraaykamp [2008]

Best Ager sind die ”jungen Alten” (45 - 65) mit höherem Einkommen und sind noch aktivund oft unternehmungsfreudig.

Empty Nesters oder auch ”silver generation” genannt, sind ältere Erwachsene (65 plus),die körperlich noch relativ fit sind und ”gut statuiert”.Die Kinder sind schon aus dem Haus und finanziell unabhängig.

Diese Zielgruppen haben hohe Kaufkraft, meistens etwas gehobenes Bildungsniveau undsie sind meistens mit neuen Medien vertraut.

Best Ager und Empty Nesters

Seit mehr als 10 Jahren beobachtet das Berliner Institut für Sozialforschung (BIS) beobach-tet die technischen Entwicklungen im Bereich intelligentes Wohnen.BIS arbeitet im Auftrag der Industrie (z.B. Siemens, Telekom) und einigen Forschungspro-jekten, die von Bundesministerien gefördert werden.

Forschungsergebnisse zeigen, dass Smart Home Produkte und Systeme akzeptiert werden,wenn sie als sinnvoll für eigenen Alltag gehalten werden, leicht zu bedienen sind und sich

Page 61: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

5. iFlat: das intelligente Haus der HAW 61

einfach in vorhandene Wohnumfeld integrieren lassen. Laut der Studie sind ältere Menschendoch wesentlich offener der Technik gegenüber als allgemein angenommen und an innova-tiver Technik interessiert.Deren Wünsche sind primär auf Komfort ausgerichtet, wobei bei den jüngeren Befragtenmehr Interesse im Bereich Information und Kommunikation liegt.Ältere Erwachsene haben höhere Erwartungen an das Smart Home als jüngere. Sie neh-men an, dass es eine Verbesserung der Lebensqualität und Sicherheit mit sich bringt undausserdem die Unterstützung beim Erledigen der alltäglichen Tätigkeiten.

Für ältere und körperlich geschwächte Menschen sind die Wohnungen mit der speziellenEinrichtung Ambient Asessment Living (kurz AAL) vorgesehen, wo die gesamte Ausstattungfür ältere Menschen und Menschen mit Behinderung ausgerichtet ist. Auf dem Gebiet laufensehr viele Projekte.Genauere Informationen können aus der Studienarbeit von Maik Ludvig entnommen werden.Ludwig [2008]

Page 62: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

5. iFlat: das intelligente Haus der HAW 62

5.2. Szenarien

5.2.1. Szenario 1:

Wie könnte ein Tag in einer intelligenten Wohnung aussehen?Seinem persönlichen Tagesrhythmus angepasst, wird der Bewohner mit sanfter, leiser Musikgeweckt.(REM-Phase wird beachtet: entweder per Kamera, Sensor am Körper, Spezielle Uhr, diePuls misst)

Eine freundliche Stimme wünscht einen ”guten Morgen” und teilt mit, dass die Kaffemaschi-ne bereits aktiviert ist. Der Bewohner geht immer noch etwas müde ins Bad. Neben der Türbefindet sich ein Touchpad. Durch den Druck auf einen Knopf, teilt es dem System mit, wersich im Bad befindet. Nun ertönt seine Lieblingsmusik und das Wasser in der Dusche ent-spricht der gewünschten Temperatur.Nach dem Duschen kann er mit dem Spiegel ”kommunizieren”, da sein Spiegel auch einegewisse Intelligenz besitzt.Wenn Bedarf an Medikamenten oder Vitaminen besteht, bekommt er das mittgeteilt. PerTouch-Funktion bestätigt er die Einnahme. Außerdem teilt er dem Spiegel mit, dass beimVerlassen des Hauses seine Sporttasche und den Tennisschläger nicht vergessen darf, daer nach der Arbeit mit ein paar Freunden zum Tennisspielen verabredet ist.Nun geht er in die Küche. Hier duftet schon der frisch aufgebrühte Kaffee. Nachdem er sicheine Tasse Kaffee eingeschenkt hat, wird auf einem Display an der Wand die Morgenzeitungangezeigt. Er kann sie sich in Ruhe ansehen und per Fernbedienung weiterblättern, um sichaussuchen, was er lesen möchte.Anschließend checkt er seine Mails und ”blättert” in seinem Terminkalender.Jetzt ist Zeit, sich fertig zu machen. Der Fernseher hat mitbekommen, dass er die Kücheverlassen hat und nicht mehr den Bildschirm ansieht.Ausgewählte Nachrichten werden jetzt vorgelesen. Bevor er die Wohnung verlässt, erinnertihn das System noch an die Sporttasche und den Schläger.”Einen schönen Tag” wünscht eine nette Stimme. Alle Funktionen im Haus werden auf Spar-modus umgestellt.

5.2.2. Szenario 2:

Katrin und Peter sind glückliche Besitzer einer intelligenten Wohnung (iFlat).Beide sind berufstätig und sehr engagiert und motiviert in ihren Jobs. Oft kommt es dazu,dass sie viele Überstunden machen und lange Zeit außer Haus sind. Umso mehr freuen

Page 63: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

5. iFlat: das intelligente Haus der HAW 63

sie sich auf ihre gut ausgestattete intelligente Wohnung, die ihnen viele lästige Aufgabenabnimmt.

Nach einem langen Arbeitstag ist Katrin etwas müde. Von unterwegs hat sie mit ihremHandy eine Nachricht (SMS) an die Wohnung geschickt, damit die Heizung angeschaltetwird. Sie möchte es heute angenehm warm haben, und auch schon die Badewanne füllen.Nun ist sie zu Hause angekommen. Per Fernbedienung öffnet sie das Garagentor. Mit demFahrstuhl gelangt sie zu ihrer Wohnung. Sie braucht keinen Schlüssel, denn die Tür wird miteinem Fingerdruck auf den Touchknopf geöffnet. Beim Betreten der Wohnung wird sie voneiner netten Stimmen begrüßt:(iFlat hat sie identifiziert: Fingerabdruck)”Guten Abend, Katrin, Willkommen Zuhause! Es sind zwei Nachrichten für Dich hinterlassenworden. Mochtest Du sie jetzt hören?” ”Ja!”, antworten Katrin und macht sich für das Badfertig. Die erste Nachricht kommt von Peter: er kommt später wegen einer außerplanmä-ßigen Videokonferenz mit ausländischen Kollegen. Wegen der Zeitverschiebung begannsie später. Die zweite Nachricht ist eine Video-Botschaft von einem befreundeten Ehepaar,Stefan und Annet. Sie möchten spontan am Wochenende zu Besuch kommen, und ihren7-jahtigen Sohn Leon bringen sie natürlich auch mit. ”Das ist eine nette Überraschung”,meinte Katrin.(iFlat hat mitbekommen, dass der zweiter Anrufer um Rückruf gebeten hat.) ”Der Anrufer hatum Rückruf gebeten, soll ich die Nummer wählen?” ”Nein”, antwortet sie, da etwas späterzurückrufen wollte.

Sie freut sich sehr über den Besuch und ganz besonders auf den kleinen Leon: aufgeweck-tes Kerlchen.

”Da können wir das neue Spiel ausprobieren, das Peter gerade installiert hat.” Und einkaufenmuss sie auch noch. Zum Glück hat sie einen intelligenten Kühlschrank, der ihr dabei vielArbeit abnimmt.Aber zuerst ein gemütliches Bad.

Katrin will die Fernsehnachrichten sehen, anschließend kommt die Lieblingsserie von Peter.(iFlat kennt seine Gewohnheiten und weiß, dass Peter diese Serie sehr gern sieht. Also wirdsie aufgezeichnet, damit er sie später sehen kann).

Nun überlegt Katrin, was sie für ihre Freunde am Wochenende Leckeres zaubern kann. Siehatte so viele Rezepte und Kochbücher in ihrem ”Kindle” gespeichert.

Page 64: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

5. iFlat: das intelligente Haus der HAW 64

Schnell hat sie alles gefunden, was ihrer Meinung nach die Gäste gern essen würden.Jetzt werden die nötigen Zutaten mit dem Inhalt ihres Kühlschranks und der Vorratskammerabgeglichen. Was noch fehlt, wird per Internet zum gewünschten Lieferdatum bestellt. Nunwill sich Katrin die Nachrichten ansehen, doch es klingelt an der Tür.

(iFlat scannt die Person vor der Tür und checkt in der Datenbank, ob die Person bereitsbekannt ist. Da sie nicht gefunden wurde, teilt iFlat mit, dass eine unbekannte Person an derTür ist und zeigt das Bild des Besuchers im Fernseher an, damit sie sehen kann, wer daist.)

Der Getränkelieferservice hat die Bestellung gebracht. Heute kam ein neuer Bote, der zumersten Mal die Getränke ablieferte. In der Zwischenzeit wurden die Nachrichten aufgezeich-net. So, dass Katrin sie sich später, ab der Stelle, wo sie unterbrochen wurden, ansehenkann.(Timeshift-Funktion)

Peter kommt erst sehr spät nach Hause. Zur Entspannung will er noch seine Lieblingsserie,die iFlat für ihn aufgezeichnet hat, ansehen. Erschöpft, wie er war, schläft er mittendrin imSessel ein.(Das iFlat hat es mitbekommen: Das Licht wird gedämpft und der Fernseher ausgestellt.)

Gäste:Da sie öfter zu Besuch kommen, sind ihre Gewohnheiten dem iFlat bekannt: z.B. welcheMusik sie mögen, wann sie geweckt werden möchten und wie die Zimmertemperatur in denGästezimmern sein soll.

Kinderzimmer:Obwohl Katrin und Peter keine eigenen Kinder haben, ist eines der Gästezimmer als Kinder-zimmer eingerichtet. Nach dem Abendessen wird Leon gefragt, ob er ein paar Neuigkeiten imKinderzimmer ausprobieren möchte. Schnell verschwinden die Männer im Kinderzimmer.

Einkaufen vom Wohnzimmer aus:Die beiden Paare haben eine Einladung zu einem Event. Abendgarderobe ist erwünscht.Nun sind die Frauen unter sich und können in Ruhe ”shoppen gehen”. (virtuell).Sie statten ihrem Lieblingsdesigner ”einen Besuch” ab.Da beide Stammkundinnen sind, sind ihre Maße bekannt. So können sie gemütlich vomWohnzimmer aus die neusten Kreationen ”anprobieren”, und gegebenenfalls bestellen.

Page 65: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

5. iFlat: das intelligente Haus der HAW 65

5.3. Funktionale Anforderungen

Um die vorgeschlagenen Szenarien technisch realisieren zu können, sind mehrere Kompo-nente erforderlich. Einige davon sind zum Bespiel:

• die verteilte Infrastruktur für den Datentransport sowie für die Sensoren

• ausreichende Rechenleistung, um die Daten verarbeiten zu können

• die verwendeten Algorithmen sollten adaptiv sein, d. h. die Entscheidungen werden inAbhängigkeit von Veränderungen in der Umgebung getroffen

• Zugriff auf externe und interne Daten und Dienste muss gewährleistet sein

Das Diagramm soll den Ablauf eines adaptiven Ubiquitous Computing verdeutlichen. DiePfeile bezeichnen den Datentransport zwischen den einzelnen Komponenten.

Abbildung 5.2.: Adaptives Ubiquitous Computing System [Quelle: TAUCIS ]

Das Ubiquitous Computing System soll in der Lage sein, komplexere Aufgaben zu über-nehmen:

• konstante Unterstützung durch überall verfügbare Geräte (”ubiquitär”)

Page 66: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

5. iFlat: das intelligente Haus der HAW 66

• automatische Steuerung und Anpassung der Umgebung an den Nutzer und die jewei-lige Situation

• wiederkehrende Abläufe sollten automatisch ausgeführt werden

• die Zahl der Schnittestellen zwischen dem Menschen und dem System sollen auf einMinimum reduziert werden

• das System soll für den Nutzer transparent sein

5.4. Nichtfunktionale Anforderungen

In Gegensatz zu den funktionalen Anforderungen, die sich mit der Frage befassen, WAS einSystem leisten soll (funktional), beschreiben die nichtfunktionale Anforderungen WIE GUT(qualitativ) das System die funktionale Anforderungen erfüllt.

”Durch nichtfunktionalen Anforderungen werden Rahmenbedienungen be-schrieben, unter denen die Funktionen erbracht werden müssen, Anforderun-gen die unabhängig von einem speziellen Anforderungsfall sind, oder die ausanderen Gründen nicht als Funktionen beschrieben werden können.” Kahlbrand[2001]

Wenn die nichtfunktionalen Anforderungen nicht korrekt befolgt werden, kann es zum Schei-tern des Projektes führen.

Bei der Entwicklung eines neuen Systems können die Nichtfunktionale Anforderungen alsrichtungsweisend betrachtet werden.

5.4.1. Skalierbarkeit

Unter Skalierbarkeit wird die Funktionsfähigkeit eines Systems verstanden, dass mit steigen-der Anzahl Komponente es genau so gut funktioniert (effektiv und effizient) wie mit wenigenSystemkomponenten.

5.4.2. Portierbarkeit

Portierbarkeit beschreibt die Eignung eines Systems von einer Umgebung (Soft- oder Hard-ware) in eine andere übertragbar zu sein, ohne das es neu implementiert werden muss.

Page 67: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

5. iFlat: das intelligente Haus der HAW 67

5.4.3. Verfügbarkeit

Eine der wichtigsten Anforderung an das System ist die Verfügbarkeit. Verfügbarkeit ist dieZeit, die eine Anwendung ohne Ausfallzeit zur Verfügung steht. In manchen Fällen könnendie Ausfallzeiten geplant sein wie z. B. bei der Wartung.

5.4.4. Erweiterbarkeit

Das System sollte so entwickelt werden, dass es sich leicht erweiter lässt. Das bedeutet z.B.,wenn neue innovative Geräte, die für eine ubiquitäre Umgebung interessant sein könnten,sollte das System problemlos erweitert werden können, auch wenn es schon einiger Zeit imBetrieb ist. iFlat-Projekt auf mehreren Stockwerken eingesetzt werden. Das bedeutet, dassdas System für viele Geräte genauso funktioniert, wie im ”kleineren Rahmen”.

5.4.5. Zuverlässigkeit

Entscheidender Qualitätsmaßstab eines Systems ist seine Zuverlässigkeit. Ein System istdann zuverlässig, wenn es seine Funktionen unter festgelegten Bedienungen über einenfestgelegten Zeitraum fehlerfrei erfüllt.

5.4.6. Fehlertoleranz

Bei einer undefinierten oder fehlerhaften Eingabe soll das System wieder in einen sicherenZustand führen. Fehelertoleranz bedeutet auch die Eigenschaft eines Systems, auch dannnoch korrekt zu arbeiten, wenn eine seiner Komponenten fehlerhaft ist oder der Benutzersich fehlerhaft bzw. unerwartet verhält. Das system soll in solchen Situationen mit sinnvollenHinweisen und Fehlermeldungen reagieren. Die Fehlermeldungen sollen für den Bezutzerleich nachvollzeibar sein. (nach Kahlbrand [2001])

5.4.7. Benutzbarkeit

Benutzbarkeit ist eine wichtigste Eigenschaft der Hardware und Software dem Nutzer dieArbeit und den Umgang mit der Technik so angenehm, einfach, effizient zu gestalten. InUbiComp ist gehören dazu auch die Robustheit, die Zuverlässigkeit und die Ergonomie.

Page 68: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

5. iFlat: das intelligente Haus der HAW 68

5.5. Vorschläge für eine Architektur

Das iFlat-Projekt kann als Multi-Agenten-System (MAS) realisiert werden. Jedes einzelneGeräte (Device) ist ein Agent.

Als Architektur-Muster wird das Blackboard vorgeschlagen, da es alle Voraussetzung derRealisierung erfüllt. (siehe Kap 3.1)Es ist wünschenswert, dass die Devices ihre Dienste selbständig bekannt geben. Wie es beider Blackboard-Architektur der Fall ist, kommunitieren die Agenten nicht direkt miteinander,sondern nutzen Blackboard als Kommunikationsplattform.

Das Vorteil diesere Lösung liegt darin, dass die Agentensysteme in ihrem Aufbau modularsind und zwischen einzelnen Komponenten besteht nur wenig Abhängigkeit. Die neu dazu-gekommenen Devices sollten sich leicht in das Gesamtbild integrieren lassen.

Das System es ist leicht erweiterbar. Ein weiterer Vorteil ist die Skalierbarkeit.Die einzelne Komponente sind lose gekoppelt und reagieren sehr flexibel auf ihre Umge-bung.

Das folgende Bild soll die Idee veranschaulichen.

Abbildung 5.3.: Blackboard und die Deveces (Agenten)

Page 69: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

5. iFlat: das intelligente Haus der HAW 69

Kommunikation zweier Agenten auf Basis EventHeap-Plattform.

Abbildung 5.4.: Architektur

Ein zentraler Bestand der Architektur ist der EventHeap.

Genauso wie dem zugrundeliegenden Metabetriebssystem iROS (intelligent Room Opera-ting System), ist der EventHeap in der Architektur für die Kommunikation zuständig.

Die Nachichten werden in XML-Format verschickt.

Die Clients können im iFlat-Projekt als Agenten gesehen werden, welche die für ihren Typspezifische Sprache nutzen können. Hierbei sind Anwendungen nicht an die Programmier-sprache Java gebunden.

Für Anwendungen anderer Programmiersprachen werden Adapter-Komponenten, für dieKommunikation mit dem EventHeap, zur Verfügung gestellt.

Page 70: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

6. Fazit

6.1. Zusammenfassung

In dieser Arbeit wurden einige Architekturen und Technologien vorgestellt.

Für die Realisierung des iFlat-Projektes würde die Autorin das Architektur-Muster Black-board vorschlagen. Die Begründung ist in den Abschnitten 5.5 sowie 3.1 zu finden. Dasvorgeschlagene Konzept kann als Baustein dienen.

6.2. Ausblick

Es sind schon fast zwanzig Jahre seit den ersten Versuchen die Vision von Mark Weiserumzusetzen, vergangen. Viele seiner Ideen haben sich bereits bewahrheitet. Die Miniaturi-sierung der Hardware geht in rasantem Tempo voran. Die Forschung im Speichermedienbe-reich geht in Richtung Nanotechnologie.

”Wohnen in intelligenten Umgebungen” ist ein sehr vielfältiges und interessantes Thema,dass noch viele Möglichkeiten für weitere Forschungen bietet. Weltweit finden regelmäßiginternationale Konferenzen, Workshops und Messen zu den Themen Ubiquitous Computing,Pervasive Computing und Ambient Intelligence, statt.

Am Anfang mit gewisser Skepsis betrachtet, lässt sich heute die Tendenz feststellen, dassdas Interesse an intelligenten Wohnungen, intelligenten Häusern, etc. doch auf positiveRückmeldungen trifft. Hinzu kommt noch, dass sich durch die Integration intelligenter Technikviele Vorteile bieten. Unter anderem sind es Sicherheit und die Möglichkeit, Betriebskostenzu sparen.

Das Interesse an den neuen Technologien teilen sich alle Altersgruppen, wobei die Scher-punkte unterschiedlich gewichtet sind.

Page 71: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Literaturverzeichnis

[ALKaiserslautern ] Assisted Living Technische Universität Kaiserslautern. – URL www.assistedliving.de. – [letzter Aufruf 11.11.2008]

[SmarterWohnen ] Förderprojekt SmarterWohnenNRW. – URL http://www.smarterwohnen.net/deutsch/startseite/index.html. – [letzter Aufruf11.11.2008]

[HausderGegenwart ] Haus der Gegenwart. – URL www.haus-der-gegenwart.de.– [letzter Aufruf 11.11.2008] (document)

[inHaus ] inHaus-Zentrum der Fraunhofer-Gesellschaft. – URL http://www.inhaus-zentrum.de/site_de/. – [letzter Aufruf 11.11.2008] 4.1

[ideAAL ] OFFIS ideAAL Projekt. – URL www.ideaal.de. – [letzter Aufruf 11.11.2008]

[SmartHome2 ] SmartHome 2.0. – URL www.htwk-leipzig.de. – [letzter Aufruf11.11.2008]

[SmartHome ] SmartHome Paderborn e.V.. – URL www.smarthomepaderborn.de.– [letzter Aufruf 11.11.2008]

[Bergmann und Wittenbrink 2005] BERGMANN, Olaf ; WITTENBRINK, Heinz: XML Grund-lagen. SPC TEILA Lehrbuch Verlag GmbH, 2005. – ISBN 3-935539-55-X 3.6.7, 3.6.7,3.6.7, 3.6.7.1

[Bergsmann 2004] BERGSMANN, Jahannes: Quality Knowledge. : , dec 2004. – URLhttp://www.software-quality-lab.at/swql/uploads/media/. – zu-letzt geprüft am 11.10.2008

[Bratman 2003] BRATMAN, M. E.: Autonomy and hierarchy. In: Social Philosophy andPolicy 20 (2003), Nr. 2, S. 56–176. – URL ://000183291400006 3.3.3

[Braun und Rossak 2005] BRAUN, Peter ; ROSSAK, Wilhelm: Mobile Agents. dpunkt.verlag,2005. – ISBN 3-89864-298-4

Page 72: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Literaturverzeichnis 72

[Delling 2008] DELLING, Marc: Entwicklung einer multimodalen Kontrolleinheit für einenbarrierefreien Multimedia PC, Hochschule für Angewandte Wissenschaften Hmaburg,Diplomarbeit, 2008. – URL http://users.informatik.haw-hamburg.de/~ubicomp/arbeiten/diplom/delling.pdf. – (Zugriffsdatum: 06.12.2008)

[Dustdar u. a. 2003] DUSTDAR, Scharam ; GALL, Harald ; HAUSWIRTH, Manfred: Software-Architekturen für Verteilte Systeme. Springer, 2003. – ISBN 3-540-43088-1 3

[Endrei u. a. 2004] ENDREI, Mark ; ANG, Jenny ; ARSANJANI, Ali ; CHUA, Sook: Pat-terns: Service-Oriented Architecture and Web Services. IBM WEbSphere, 2004. – ISBN073845317X (document), 3.16

[Erman u. a. 1980] ERMAN, Lee D. ; HAYES-ROTH, Frederick ; LESSER, Victor R. ; REDDY,D. R.: The Hearsay-II Speech-Understanding System: Integrating Knowledge to ResolveUncertainty. In: ACM Comput. Surv. 12 (1980), Nr. 2, S. 213–253. – ISSN 0360-0300(document), 3.1

[Ferber 2001] FERBER, Jacques: Multiagentensysteme - Eine Einführung in die VeteilteKünstlich Intelligenz. ADDISON-WESLEY, sep 2001. – URL http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html. – zuletzt geprüft am 19.06.2008.– ISBN 3-8273-1679-0 (document), 3.3.1, 3.3.1.1, 3.3, 3.3.1.1

[Gellersen 2001] GELLERSEN, Hans W.: Ubiquious Computing. Vorlesung ÜbiquitäreInformationstechnologien. URL http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html, sep 2001. – zuletzt geprüft am 19.06.2008

[Gerling 2008] GERLING, Mirco: Indoor-Navigationsunterstützung durch Weara-ble Computing für Such- und Rettungsmissionen unter eingeschränkten Sicht-verhältnissen, Hochschule für Angewandte Wissenschaften Hmaburg, Masterarbeit,2008. – URL http://users.informatik.haw-hamburg.de/~ubicomp/arbeiten/master/gerling.pdf. – (Zugriffsdatum: 06.12.2008) 2

[van Gils und Kraaykamp 2008] GILS, Wouter van ; KRAAYKAMP, Gerbert: The Emer-gence of Dual-Earner Couples. A Longitudinal Study of the Netherlands, in: Internatio-nal Sociology, Jg. 23, 2008, S. 345-366. : , sep 2008. – URL http://www.ias.uni-stuttgart.de 5.1

[Goehner 2008] GOEHNER, Peter: Vorlesung Softwaretechnik II 2008 an der Uni-Stuttgart.: , sep 2008. – http://www.ias.uni-stuttgart.de 3.3.1.1, 3.3.1.1

[Goerz und Rollinger 2003] GOERZ, Guether ; ROLLINGER, Claus: Handbuch der Künstli-chen Intelligenz. Oldenburg-Verlag, 2003. – ISBN 3-486-27212-8 3.3.1, 3.3.3, 3.4.3

Page 73: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Literaturverzeichnis 73

[Göhner 2008] GÖHNER, Peter: Vorlesung Softwaretechnik II 2008 an der UniversitätStuttgart. URL http://www.ias.uni-stuttgart.de, may 2008. – (Zugriff:06.12.2008)

[Hasselbach 2005] HASSELBACH, Kay: Seminar zum Thema Künstliche IntelligenzSoftware-Agenten. : , sep 2005. – URL http://www.ias.uni-stuttgart.de(document), 3.3.3, 3.7, 3.4.3, 3.13

[Hehl 2008] HEHL, Walter: Trends in der Informationstechnologie. VDF, 2008. – ISBN978-3-7281-3174-4

[Hilty und Behrendt 2003] HILTY, Lorenz ; BEHRENDT, Siegfried: Technologische Entwick-lung - Das Vorsorgeprinzip in der Informationsgesellschaft - Auswirkungen des Pervasi-ve Computing auf Gesundheit und Umwelt. URL http://www.ta-swiss.ch/a/info_perv/2003_46_pervasivecomputing_d.pdf, 2003. – (Zugriffsdatum:06.12.2008)

[IBM 2005] IBM: Referenzarchetektur. : , nov 2005. – URL http://www-01.ibm.com/software/solutions/soa/entrypoints/index.html. – zuletzt ge-prüft am 11.10.2008

[Kahlbrand 2001] KAHLBRAND, Bend: Software-Engineering mit der Unified ModellingLanguage. Springer-Verlag, 2001. – http://www.lit-verlag.de/index.htm. – ISBN 3-540-41600-5 5.4, 5.4.6

[Kirchner 2007] KIRCHNER, Herbert: IT Technologien Lösungen Innovationen. Springer,2007. – ISBN -13 978-3-540-46164-7 (document), 3.6, 3.19

[Lanz 2004] LANZ, Markus: Informatik Seminar: FH-RV-Weingarten. URL http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html, dec 2004. – zuletzt ge-prüft am 19.06.2008

[Lenders 2008] LENDERS, Prof. Dr. W.: Vorlesung Natürlichsprachliche Systeme NSS.URL http://www.ikp.uni-bonn.de/dt/lehre/materialien/nss/, apr2008

[Levi 2005] LEVI, Prof. P.: Grundlagen der verteilten KI und der Bildverarbeitung. :, sep 2005. – URL http://www.ipvs.uni-stuttgart.de/abteilungen/bv/start. – zuletzt geprüft am 19.06.2008 3

[Liebhard 2007] LIEBHARD, Daniel: SOA goes real Service-orientierte Architekturen er-folgreich planen und einführen. Carl Hanser Verlag, 2007. – ISBN 978-3-446-41088-63.6.1, 3.6.8

Page 74: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Literaturverzeichnis 74

[Linnhoff-Popien 2007] LINNHOFF-POPIEN, Claudia: Verteilte Systeme und UbiquitousComputing - Skript WS 2007/2008. URL http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html, oct 2007. – zuletzt geprüft am 19.06.2008 2, 2, 3.6

[Lipp 2004] LIPP, Lauritz: Interaktion zwischen Mensch und Computer im - UbiquitousComputing. LIT Verlag Münster, 2004. – ISBN 3-8258-7938-0

[Ludwig 2008] LUDWIG, Maik: Ambient Assisted Living Joint Programme Förderungszieleund wirtschaftliche Perspektiven, Hochschule für Angewandte Wissenschaften Hamburg,Studienarbeit, 2008. – URL http://users.informatik.haw-hamburg.de/~ubicomp/arbeiten/studien/ludwig.pdf 5.1

[Mattern 2003] MATTERN, Fridemann: Ubiquitous Computing: Schlaue Alltagsgegenstän-de Computing. Springer, 2003. – ISBN 3-540-00213-8

[Mattern 2007a] MATTERN, Fridemann: Die Informatisierung des Alltags - Leben in smar-ten Umgebungen. Springer, 2007. – ISBN 978-3-540-71454-5 1

[Mattern 2007b] MATTERN, Fridemann: Verschwinden des Computers - Die Vision des Ubi-quitous Computing. : , sep 2007. – URL http://www.vs.inf.ethz.ch/publ/papers/mattern2004_sev.pdf. – zuletzt geprüft am 06.12.2008

[Pokahr u. a. 2007] POKAHR, Alexander ; BRAUBACH, Lars ; LAMERS-DORF, Winfried: Dezentrale Steuerung verteilter Anwendungen mit ra-tionalen Agenten. : , dec 2007. – http://vsis-www.informatik.uni-hamburg.de/getDoc.php/publications/241/pokahrk iv s05rev ised.pdf 3.4.2, 3.4.3

[Rodden ] RODDEN, Tom: Portal zu Ubiquitous Computing an der Universität Nottigaham-UK.– URL http://www.ubicomp.org. – (Zugriffsdatum: 06.12.2008) 2

[Sauerburger 2003] SAUERBURGER, Heinz: Ubiquitous Computing. dpunkt.verlag, 2003. –ISBN 3-89864-200-3

[Tanenbaum und van Steen 2008] TANENBAUM, Andrew S. ; STEEN, Ammrten van: VerteilteSysteme Prinzipien und Paradigmen. Pearson, 2008. – ISBN 978-3-8273-7293-2 (docu-ment), 3.2, 3.2

[TAUCIS ] TAUCIS: Technikfolgenabschätzung: Ubiquitäres Computing und InformationelleSelbstbestimmung - Studie im Auftrag des Bundesministeriums für Bildung und Forschung -Unabhängiges Landeszentrum für Datenschutz Schleswig-Holstein (ULD) . – URL http://www.taucis.de. – (Zugriffsdatum: 06.12.2008) (document), 3.6, 5.2

[UbiComp 2008] UBICOMP, HAW: Ubiquitous Computing and Ambient Intelligence. : ,dec 2008. – URL http://users.informatik.haw-hamburg.de/~ubicomp/.– (Zugriffsdatum: 04.12.2008)

Page 75: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Literaturverzeichnis 75

[Ullenboom 2007] ULLENBOOM, Christian: Java ist auch eine Insel. : , nov 2007. –http://www.galileocomputing.de/openbook/javainsel7/index.htm

[Weiß 2008] WEISS, Christine: Assistenzsysteme für die alternde Gesellschaft. 2008. –URL http://www.gesundheitskommunikation.de/fileadmin/content/docs/PDF/trendforum2008/Vortrag_Weiss.pdf. – [letzter Aufruf 11.11.2008]

[Weiser ] WEISER, Mark: Verschiedene Artikel zum Thema Ubiquitous Computing. –URL http://www.ubiq.com/hypertext/weiser/UbiHome.html. – (Zugriffs-datum: 06.12.2008) (document), 2.1

[Weiser 1991] WEISER, Mark: The Computer for the 21st Century. Scientific American: P. 94-104. URL http://www.ubiq.com/hypertext/weiser/SciAmDraft3.html,sep 1991. – zuletzt geprüft am 19.06.2008 2.1, 2.1

[Weiser zuletzt geprüft am 13.09.2008] WEISER, Mark: Verschiedene Artikel zum Thema Ubi-quitous Computing. http://www.informatik.uni-rostock.de/mmis/courses/ws0607/23167/06-weiser-parc.pdf. zuletzt geprüft am 13.09.2008. – URL http://www.informatik.uni-rostock.de/mmis/courses/ws0607/23167/06-weiser-parc.pdf

[YouTube 2008] YOUTUBE: YouTube. : , sep 2008. – URL http://www.youtube.com

[Zimmermann 2005] ZIMMERMANN, Olaf: Perspectives on Web Services. : , sep 2005. –URL http://users.informatik.haw-hamburg.de/~ubicomp/projekte/master2005/zimmermann/slides.pdf (document), 3.17, 3.18

[Zimmermann u. a. 2003] ZIMMERMANN, Olaf ; TOMLINSON, Mark ; PEUSER, Stefan: Per-spectives on Web Services (Foreword by Grady Booch). 2003. – ISBN 3-540-00914-0

[Züllighoven 1998] ZÜLLIGHOVEN, H.: Das objektorientierte Konstruktioneshandbuch.dpunkt.verlag, 1998. – ISBN 3-89864-298-9 3

Page 76: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Glossar

Agent ist ein kleines Programm (eine Software), welches in der Lage ist selbständig zuhandeln und bestimmte Aufgaben zu erfüllen, ohne das es einen Zugriff von außenbedarf.

Agentenplattform ist eine Laufzeitumgebung für Agenten.

Agentensystem ist eine Menge von Agentenplattformen und Agenten, die in Beziehungzueinander stehen.

Aktuatoren oder auch Aktoren sind Geräte oder Materialien, die aus der Ferne steuerbareAktionen oder Handlingen ausführen können

Ontologie beschreibt Teile eines bestimmten Anwendungsbereiches und ihre Beziehungzueinander. Für die Repräsentation von Ontologien stehen verschiedene Sprachen(für die jeweils zuständigen Konzepte) zur Verfügung.

Sensoren sind hauptsächlich elekronische, aber auch optische, akustische, magnetische,biometrische oder physiognomische Inputgeräte

Ubiquitous Computing stellt nach der Vision von Mark Weiser (1991) die so genanntenallgegenwärtigen Computer mit ihrer Informationsverarbeitung dar. Dabei stehen siefür den Benutzer nicht im Vordergrund, sondern spezifisch ihrer Form, Größe undFunktionalität bieten sie ihre Dienste im Hintergrund und so werden dadurch kaumwahrgenommen.

Virtual Reality Bezeichnung für eine mittels Computer erzeugte künstliche Welt oder si-mulierte Wirklichkeit, in der Personen mit Hilfe spezieller technischen Geräte (wieelektronische Brille, Daten-Hanschuh, Lautsprecher, Mikrofon, etc.) interaktiv einge-bunden sind

Page 77: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

A. Abkürzungen

Kürzl BeschreibungSOA Service Oriented ArchitectureFIPA Fundation for Intelligent Physical AgentMAS Multi-Agenten-SystemeJADE Java Agent Development EnvironmentSOA Service Oriented ArchitectureFIPA Fundation for Intelligent Physical AgentMAS Multi-Agenten-SystemeJADE Java Agent Development EnvironmentACL Agent Communication LanguageOOP Object Oriented ProgramingXML Extensible Markup LanguageAP Agent PlatformWLAN Wireless Local Area NetworkPDA Personal Digital AssistentRFID Radio Freqency IdentificationIPv6 Internet Protokoll Version 6BDI Belief-Desire-IntentionDINKS Double Income No Kids

Page 78: Diplomarbeit im Studiengang Software-Technik ang ...ubicomp/... · Diplomarbeit eingereicht im Studiengang Informatik am Department Informatik der Fakultät Technik und Informatik

Versicherung über Selbstständigkeit

Hiermit versichere ich, dass ich die vorliegende Arbeit im Sinne der Prüfungsordnung nach§24(5) ohne fremde Hilfe selbstständig verfasst und nur die angegebenen Hilfsmittel benutzthabe.

Hamburg, 8. Dezember 2008Ort, Datum Unterschrift