Kontextgetriebene „Software as a Service“ im Bereich - Cloud ...

wolke.hs.furtwangen.de
  • Keine Tags gefunden...

Kontextgetriebene „Software as a Service“ im Bereich - Cloud ...

IAbstractDiese Master-Thesis beschäftigt sich mit kontextsensitiven Services im Bereich AmbientAssisted Living (altersgerechte Assistenzsysteme) und ist Teil des ForschungsprojektsPCEICL (Person Centered Environment for Information, Communication andLearning).Zunächst wurden andere Arbeiten untersucht, die sich mit Kontextsensitivität in derAAL-Domäne befassen.Infolge dieser Untersuchungen entstand eine Ontologie, die es ermöglicht, Benutzerprofilezu erfassen und zu speichern, aber auch Beziehungen zwischen den einzelnenInformationen herzustellen. Dadurch kann eine starke und effiziente Personalisierungvon Services der PCEICL-Plattform realisiert werden.Die durch die Ontologie erreichte effektive Nutzung der Daten wurde anhand der Konzeptioneines Eingabeassistenten für Benutzerprofile aufgezeigt.


InhaltsverzeichnisIIIInhaltsverzeichnisAbstractInhaltsverzeichnisAbbildungsverzeichnisIIVVI1 Einleitung 11.1 Das Forschungsprojekt PCEICL .................... 41.2 Ziel der Arbeit .............................. 61.3 Aufbau der Arbeit ............................ 72 Verwandte AAL-Projekte 92.1 SOPRANO ............................... 92.2 universAAL ............................... 142.3 MobileSage ............................... 183 Kontextsensitivität 233.1 Kontext ................................. 243.2 Kontextsensitivität ........................... 263.3 Kontextmodellierung .......................... 283.3.1 Key-Value-Modelle ....................... 283.3.2 Objektorientierte Modelle ................... 283.3.3 ContextUML .......................... 303.3.4 Ontologie-basierte Modelle .................. 304 Ontologien 334.1 Definition ................................ 344.2 Anwendung ............................... 344.3 Web Ontology Language und Protégé ................. 364.3.1 Grundkonzept .......................... 364.3.2 Klassen und Instanzen ..................... 384.3.3 Rollen .............................. 394.3.4 Restriktionen .......................... 425 PCEICL Szenario 45


IVInhaltsverzeichnis5.1 Hauptszenario .............................. 465.2 Teilszenario: Personalisierung der Plattform .............. 485.3 Teilszenario: Familie .......................... 495.4 Teilszenario: Heimatmuseum ...................... 505.5 Teilszenario: Gesundheit ........................ 515.6 Teilszenario: Modelleisenbahnclub ................... 526 PCEICL-Ontologie 536.1 Vorgehen ................................ 536.2 Überblick ................................ 576.3 Genauere Betrachtung ......................... 607 Benutzerprofil-Eingabeassistent 737.1 Erste Schritte .............................. 747.2 Gesundheits- und andere Profilinformationen ............. 777.3 Systemeinstellungen und der AAL App Store ............. 818 Fazit und Ausblick 85Literaturverzeichnis 89A Anhang 93A.1 CD .................................... 93A.2 Klassen der PCEICL-Ontologie .................... 95Eidesstattliche Erklärung 97


AbbildungsverzeichnisVAbbildungsverzeichnis1.1 Prognose des Bevölkerungsanteils älterer Menschen .......... 11.2 Umfrage zur besten Pflegeform für ältere Menschen .......... 21.3 Umfrage zu den wichtigsten Bedingungen für Selbstständigkeit im Alter 32.1 SOPRANO Ambient Middleware ................... 112.2 Kernkonzepte und Beziehungen der SOPRANO Kontext-Ontologie . 132.3 Die universAAL-Plattform ....................... 162.4 Konzept der MobileSage-Ontologie .................. 192.5 Komponenten des Help-On-Demand-Service von MobileSage .... 213.1 Beispiel für ein objektorientiertes Modell ............... 293.2 Vergleich verschiedener Modellierungsarten für Kontext ....... 314.1 Beispiele für Klassen, Individuen und Rollen ............. 374.2 Beispiel für Unter- und Oberklassen in OWL ............. 384.3 Beispiele für Object und Datatype Properties in OWL ......... 394.4 Beispiele für Domain und Range einer Property in OWL ....... 404.5 Beispiel für eine Property und ihre zugehörige Inverse in OWL .... 414.6 Beispiel für eine funktionale Property in OWL ............. 414.7 Unterschied zwischen einer primitiven und definierten Klasse ..... 435.1 Use-Case-Diagramm des PCEICL Szenarios .............. 475.2 Use-Case-Diagramm des Teilszenarios Personalisierung der Plattform 485.3 Use-Case-Diagramm des Teilszenarios Familie ............ 495.4 Use-Case-Diagramm des Teilszenarios Heimatmuseum ........ 505.5 Use-Case-Diagramm des Teilszenarios Gesundheit .......... 515.6 Use-Case-Diagramm des Teilszenarios Modelleisenbahnclub ..... 526.1 Überblick über die Grundkonzepte der PCEICL-Ontologie ...... 576.2 Klasse „Person“ ............................. 606.3 Klasse „PersonalInformation“ ..................... 616.4 Klasse „Contact“ ............................ 626.5 Klasse „User“ .............................. 636.6 Klasse „Interest“ ............................ 646.7 Klasse „AdditionalInformation“ .................... 64


VIAbbildungsverzeichnis6.8 Klasse „Capability“ ........................... 656.9 Klasse „Education“ ........................... 666.10 Klasse „SystemInformation“ ...................... 676.11 Klasse „Account“ ............................ 686.12 Klasse „HealthCondition“ ....................... 686.13 Beispielsuche ICD-Code für „Alterssichtigkeit“ ............ 696.14 Klasse „Medication“ .......................... 706.15 Klasse „History“ ............................ 717.1 Startfenster des Eingabeassistenten ................... 747.2 Schritt 1 - Persönliche Informationen .................. 757.3 Schritt 2 - Kontakte importieren .................... 767.4 Schritt 2 - Kontakte anlegen ...................... 767.5 Schritt 3 - Gesundheitsinformationen .................. 777.6 Schritt 4 - Fähigkeiten ......................... 787.7 Schritt 5 - Interessen und Aktivitäten .................. 797.8 Schritt 6 - Vorlieben ........................... 807.9 Schritt 7 - Systemeinstellungen Plattform ............... 817.10 Schritt 8 - Systemeinstellungen Dienste ................ 827.11 AAL App Store ............................. 837.12 Installation eines Dienstes über den AAL App Store .......... 84A.1 Klassen der PCEICL-Ontologie .................... 96


1. Einleitung 11 EinleitungLaut der Prognose des statistischen Bundesamts vom Juni 2011 wird der Bevölkerungsanteilälterer Menschen immer größer (Abbildung 1.1). Waren 2009 noch 21%aller Deutschen 65 Jahre oder älter, werden es 2060 schon 34% sein. Die Prognosezeigt aber auch, dass die Menschen ein immer höheres Lebensalter erreichen. So steigtder Anteil der Bevölkerung ab 85 Jahren von 2% im Jahr 2009 schon auf 9% im Jahr2060.Abbildung 1.1: Prognose des Bevölkerungsanteils älterer Menschen 11 Quelle: http://de.statista.com/statistik/daten/studie/196598/umfrage/prognose-des-anteils-derbevoelkerung-ab-65-jahren-in-deutschland/;aufgerufen am 15.06.13


2 1. EinleitungDie immer älter werdende Gesellschaft ist außerdem der Meinung, dass ein Lebenim häuslichen Umfeld einem Leben im Pflegeheim vorzuziehen ist. Dies belegt eineUmfrage der europäischen Kommission aus dem Jahr 2010 (siehe Abbildung 1.2), inder 28% aller Deutschen der Meinung sind, dass ältere Menschen am besten zuhausevon einem Pflegedienst betreut werden sollten. 25% sind sogar dafür, dass die Kinderdie Pflege der Eltern übernehmen sollten. Doch dies ist sicher in den meisten Fällennicht einfach und stellt oft eine starke Belastung dar.Abbildung 1.2: Umfrage zur besten Pflegeform für ältere Menschen 22 Quelle: http://de.statista.com/statistik/daten/studie/190417/umfrage/umgang-mit-aelteren-alleinlebenden-muetter-noder-vaetern/;aufgerufen am 18.11.13


1. Einleitung 3Abbildung 1.3: Umfrage zu den wichtigsten Bedingungen für Selbstständigkeit im Alter3Als eine der wichtigsten Bedingungen, die ein Leben im häuslichen Umfeld für langeZeit ermöglichen, sehen viele den Einsatz altersgerechter Technik und das noch vorbaulichen Maßnahmen zur Barrierefreiheit (siehe Abbildung 1.3). Das bedeutet, dassAssistenzsysteme benötigt werden, die die zu Hause lebenden älteren Menschen, aberauch ihre Angehörigen bei alltäglichen Aufgaben unterstützen und ihnen auch in Notsituationenhelfen können. Das Forschungs- und Arbeitsgebiet, das sich mit solchenAssistenzsystemen beschäftigt, nennt sich Ambient Assisted Living und wird von der3 Quelle: http://de.statista.com/statistik/daten/studie/170440/umfrage/wichtige-bedingungen-fuerselbststaendigkeit-im-alter/;aufgerufen am 18.11.13


4 1. EinleitungDKE 4 in ihrer deutschen Normungs-Roadmap AAL von 2012 [DKE12] wie folgt definiert:Ambient Assisted Living umfasst als ein hybrides Produkt eine technischeBasisinfrastruktur im häuslichen Umfeld und Dienstleistungen durch Drittemit dem Ziel des selbstständigen Lebens zuhause.AAL ist ein sehr junges und hochaktuelles Forschungsgebiet, das sehr viele verschiedeneSpezialgebiete miteinander verbindet. So arbeiten Menschen aus dem medizinischenBereich mit anderen aus dem technologischen, soziologischen und wirtschaftlichenBereich zusammen, um gemeinsam den Komfort für ältere Menschen in ihremhäuslichen Umfeld zu erhöhen. Dabei soll Assistenz in den Domänen Kommunikation,Mobilität, Selbstversorgung und häusliches Leben erreicht und möglichst unaufdringlichin das alltägliche Leben integriert werden.[DKE12]Viele vergangene und auch aktuelle Forschungsprojekte beschäftigen sich mehr mitden negativen Aspekten der Assistenz, wie beispielsweise der Reaktion auf Notfallsituationen(Sturz, Feuer, usw.) und der Überwachung des Gesundheitszustands. PositiveUnterstützung bei der sozialen Integration ist bislang weniger stark vertreten. Vieleältere Menschen leben allein zu Hause und sind aufgrund ihres gesundheitlichen Zustandsoft eingeschränkt, was die Teilnahme am sozialen Leben außerhalb der eigenenvier Wände betrifft. Das Forschungsprojekt PCEICL (Person Centered Environmentfor Information, Communication and Learning), in dem diese Masterthesis angesiedeltist, beschäftigt sich mit genau diesem Aspekt und versucht eine Lösung für diebessere soziale Integration zu finden.1.1 Das Forschungsprojekt PCEICLDas Forschungsprojekt PCEICL ist Teil des Zentrums für Angewandte Forschung anFachhochschulen „Assistive Systeme und Technologien zur Sicherung sozialer Beziehungenund Teilhabe für Menschen mit Hilfebedarf“ (ZAFH-AAL). ZAFH-AAL wurde2013 gegründet und steht unter der Leitung der Hochschule Furtwangen University.4 Deutsche Kommission Elektrotechnik Elektronik Informationstechnik im DIN und VDE


8 1. Einleitung


2. Verwandte AAL-Projekte 92 Verwandte AAL-ProjekteIn diesem Kapitel werden verwandte Projekte aus dem AAL-Forschungsbereich vorgestellt.Alle Projekte nutzen zur Optimierung der Assistenz für ältere Menschen denKontext des Benutzers. Dabei wird der Begriff Kontext allerdings unterschiedlich aufgefasst.Bei den Recherchen zu dieser Masterthesis wurde festgestellt, dass die meistenAAL-Projekte Kontext als die Umgebung des Benutzers verstehen und nicht als Informationenüber den Benutzer selbst, wozu die Umgebung natürlich auch gehört. DasPCEICL-Projekt legt den Fokus allerdings mehr auf den Benutzer, um die Plattformseinen Bedürfnissen anpassen zu können.2.1 SOPRANO[KSL07][SWKB09]SOPRANO bedeutet Service Oriented PRogrammable smArt enviroNments for OlderEuropeans und ist ein Projekt des 6. Forschungsrahmenprogramms der europäischenKommission. Seit 2007 waren in 40 Monaten Laufzeit 20 Partner aus 7 europäischenLändern beteiligt.Das Software-Produkt von SOPRANO wurde vom Projekt OpenAAL weiterentwickeltund als freie Software auf ihrer Homepage 7 der Öffentlichkeit zur Verfügung gestellt[WSO + 10]. Ein weiteres Nachfolgeprojekt ist universAAL, welches in Kapitel 2.2 kurzvorgestellt wird.Kern des Projekts war die Entwicklung der SOPRANO Ambient Middleware (SAM).SAM empfängt Befehle vom Benutzer oder Daten von den Sensoren, reichert diesesemantisch an und ermittelt entsprechende Reaktionen, die dann über die Aktoren im7 http://openaal.org; aufgerufen am 26.05.2013


10 2. Verwandte AAL-ProjekteHaus ausgeführt werden. Dabei können unterschiedlichste Sensoren eingesetzt werden:Rauch oder Temperatur-Sensoren, Sensoren, die ermitteln, ob eine Tür offen odergeschlossen ist, Körpersensoren oder auch zum Beispiel RFID 8 -Sensoren, die den Aufenthaltsortdes Benutzers bestimmen. Aktoren können beispielsweise Sprachsynthesizer,TV-Geräte mit Avatar-Figuren, Notrufe oder Regler zum An- bzw. Abschalten vonGeräten sein.Als Designansatz wurde ein Ontologie-zentrierter Ansatz gewählt. Das bedeutet, dasszunächst eine Ontologie 9 entwickelt wurde, an deren Richtlinien sich die daraufhinentwickelten Systemkomponenten in Bezug auf Design, Kommunikation und Datenstrukturenhalten müssen. Die Ontologie stellt außerdem die Brücke zwischen demtechnischen System und dem meist nicht technisch versierten Benutzer dar.Auch die PCEICL-Ontologie, die in Kapitel 6 vorgestellt wird, stellt die Basis für weitereEntwicklungen der Systemkomponenten der PCEICL-Plattform dar. Aufbauendauf den Konzepten der Ontologie werden im Laufe des Projekts Services und Applikationenentwickelt, die sich den Bedürfnissen des Benutzers anpassen. Die Ontologiewird zentral gespeichert. Sie liefert alle notwendigen Informationen für alle Servicesund Applikationen, die die Plattform bietet.8 radio-frequency identification9 Der Begriff Ontologie wird von T. Gruber in [Gru93] wie folgt definiert: „An ontology is an explicitspecification of a conceptualization.“. Näheres zu Ontologien findet sich in Kapitel 4


2. Verwandte AAL-Projekte 11Abbildung 2.1: SOPRANO Ambient Middleware 10Die SOPRANO Ambient Middleware besteht aus drei Hauptkomponenten: dem ContextManager, dem Procedural Manager und dem Composer. Der Context Managererfasst zunächst sämtliche Umgebungsinformationen des Benutzers, also seinen Kontext.Dieser wird von Sensoren oder auch vom Benutzer selbst über Eingaben direktins System geliefert. Die gesammelten Daten werden dann vom Context Manageranalysiert, kombiniert und durch semantische Anreicherung in eine höhere Abstraktionsebeneübersetzt. Dabei muss das System vor allem auf fehlerhafte Daten, alsobeispielsweise sich widersprechende Sensorinformationen, entsprechend reagieren. InAbbildung 2.1 wird eine Statusänderung vom Türsensor (Tür offen) an den ContextManager geschickt. Dieser erfasst nun weitere Kontextinformationen. Dabei erkennter mit Hilfe der Regelbasis, dass die assistierte Person in Begriff ist das Haus zu verlassen,obwohl ein Fenster noch offen ist und der Wasserkocher noch an ist. DieseInformation schickt er in Form eines Events an den Procedural Manager.Der Procedural Manager empfängt dieses Event und wählt eine passende Systemre-10 Quelle: http://de.slideshare.net/aps/soprano-ambient-middleware-aal; aufgerufen am 18.07.13


12 2. Verwandte AAL-Projekteaktion aus. Hierzu stehen ihm eine Reihe von vordefinierten Prozess-Templates zurVerfügung, die jeweils eine Reihe von abstrakten Service-Aufrufen enthalten anstattkonkreter Service-Bindings. Durch diese Abstraktion der Services ist das System flexibel,herstellerunabhängig und erweiterbar. Im Beispiel aus Abbildung 2.1 hat derProcedural Manager eine abstrakte Prozessbeschreibung generiert, der die Person überdie Problematik mit dem offenen Fenster und dem angeschalteten Wasserkocher informierensoll.Der abstrakte Plan wird nun an den Composer weitergereicht. Dieser ist dafür zuständig,die abstrakten Service-Aufrufe in konkrete umzusetzen. Dazu sucht er passendeServices aus seiner OSGi 11 Service-Registry heraus und ruft diese in der gefordertenReihenfolge mit den benötigten Parametern auf. In Abbildung 2.1 setzt der Composerden abstrakten Plan zur Warnung der Person in die konkreten Ausgaben auf denvorhandenen Geräten um. Er gibt Warnmeldungen sowohl über Lautsprecher als auchüber einen Touchscreen, der sich an der Haustür befindet, aus und macht die assistiertePerson somit auf das offene Fenster und den angeschalteten Wasserkocher aufmerksam.11 Die OSGi Alliance spezifiziert ein dynamisches Komponentensystem für Java, mit Hilfe dessenService-Anwendungen angeboten und verwaltet (Service-Registry) werden können.http://www.osgi.org; aufgerufen am 18.07.2013


2. Verwandte AAL-Projekte 13Abbildung 2.2: Kernkonzepte und Beziehungen der SOPRANO Kontext-Ontologie 12Wie bereits erwähnt, wurde als Vertrag zwischen den Komponenten der SOPRANOAmbient Middleware eine Ontologie entwickelt, die das System vor allem erweiterbarund herstellerunabhängig gestaltet. In dieser Ontologie wurde der „Status“ als zentralesKonzept gewählt, da die meisten aller Prozesse im System auf Statusänderungenberuhen. Beispielsweise liefern Sensoren Statusmeldungen, Kontextänderungen findenstatt und die kontextsensitive Systemreaktion wird durch Statusänderungen der Aktorenerreicht. In Abbildung 2.2 werden die Kernkonzepte und Beziehungen der SO-PRANO Kontext-Ontologie aufgezeigt. Der Status wird hier als zentrale Eigenschaft(Property) dargestellt („has-state“). Von „has-state“ abgeleitet sind spezifischere Statusinformationen,wie „has-person-state“, die zum Beispiel den Gesundheitsstatus, den12 Quelle: [KSL07]


14 2. Verwandte AAL-ProjekteAufenthaltsort oder Vitalparameter einer Person repräsentieren, „has-environmentalparameter“für umgebungsspezifische Angaben, wie Wetter, Rauch oder Temperatur,oder auch „has-device-status“ für Statusinformationen der Sensoren und Aktoren. ZurVermeidung unerwünschten Verhaltens des Systems existieren zu jeder Instanz der„has-state“-Property Informationen über dessen Gültigkeitszeitraum und dessen Vertrauenswürdigkeit.Insgesamt konzentriert sich die SOPRANO-Ontologie auf die Umgebung (Sensoren,Aktoren, Lokation, usw.) der assistierten Person, um dieser bei alltäglichen Ereignissen,vor allem aber in Gefahrensituationen zu helfen. Bei der PCEICL-Ontologierichtet sich der Fokus dagegen mehr auf den Benutzer selbst und weniger auf seineUmgebung. Bei der SOPRANO-Ontologie hingegen spielt der Benutzer eine eheruntergeordnete Rolle. Ein Status-zentrierter Ansatz macht für die PCEICL-Ontologiekeinen Sinn, da es zum jetzigen Zeitpunkt noch nicht vorgesehen ist, Sensoren einzusetzen.Daher beschränkt sich die Umgebung des Benutzers in der PCEICL-Ontologieauch auf seine sozialen Kontakte und auf die Services, die er über die Plattform nutzt,und berücksichtigt vorerst keinerlei andere Umgebungsinformationen, wie Temperatur,Wetter oder den Zustand von Geräten und Gegenständen. Trotzdem ist sie soaufgebaut, dass sie auch um andere Konzepte, wie die Sensordatenerfassung und -auswertung, erweitert werden könnte.Ein wichtiges Konzept der SOPRANO-Ontologie stellt sicher die Gültigkeitskennzeichnungder Statusinformationen dar. Die PCEICL-Ontologie bietet ein ähnlichesKonzept zur Kennzeichnung ungültiger Objekte. Diese werden aber zusätzlich gespeichertund ermöglichen dadurch eine historische Betrachtung des Kontexts (siehe Kapitel6.3).2.2 universAAL[RFG + 13][uni]UniversAAL („UNIVERsal open platform and reference Specification for AmbientAssisted Living“) ist ein Projekt des 7. Forschungsrahmenprogramms der europäischenKommission. Das Projekt startete im Februar 2010 und läuft bis Februar 2014.


2. Verwandte AAL-Projekte 15UniversAAL zeichnet sich vor allem dadurch aus, dass es Ergebnisse einiger Projekteder vorangegangenen Rahmenprogramme zur Schaffung einer einheitlichen Lösungnutzt. In Kooperation mit diesen Projekten, unter anderem auch mit SOPRANO, das imvorherigen Kapitel vorgestellt wurde, wurde die AAL Open Association (AALOA) gegründet,die auch nach Ablauf des Projekts weiter bestehen soll. Mit Hilfe von AALOAsollen mehr Standards im AAL-Umfeld geschaffen werden. Dazu gehört vor allem einestandardisierte Plattform, die im Rahmen von universAAL entwickelt werden soll.Ziel des universAAL-Projekts ist es, eine offene Plattform zu schaffen, die es allenStakeholdern von AAL-Services erleichtern soll, solche Services zu entwickeln, zuvertreiben, zu suchen und zu nutzen. Dabei können AAL-Services Softwareprodukte,Hardware, personelle Ressourcen oder auch eine Mischung aus diesen sein.


16 2. Verwandte AAL-ProjekteAbbildung 2.3: Die universAAL-Plattform 13Die universAAL-Plattform dient als Schicht zwischen dem Betriebssystem und derApplikation selbst. Sie lässt sich, wie man aus Abbildung 2.3 entnehmen kann, in dreiBereiche gliedern: „Runtime support“, „Development support“ und „Community support“.Der „Runtime support“ soll die Kooperation der installierten Geräte, Sensoren undServices ermöglichen. Er besteht aus drei Teilen: der Laufzeitumgebung, generischenPlattform-Services und AAL-Plattform-Services. Die Laufzeitumgebung dient vor allemzum Auffinden von Geräten und Services und als Kommunikationsschicht. Überdas „Developer Depot“ können derzeit eine Android- und eine OSGi-Version der Laufzeitumgebungheruntergeladen werden. Die AAL-Plattform-Services sind AAL-spezifischeServices, wie beispielsweise Sturzdetektion, Gesundheitsüberwachung und dergleichen.Generische Plattform-Services können dagegen von verschiedensten anderenServices genutzt werden, beispielsweise zum Austausch von Kontextinformationen,zur Unterstützung der Sicherheit oder der Personalisierung.Der „Development support“ stellt verschiedene Werkzeuge zur Verfügung, die die Ent-13 Quelle: UniversAAL-Broschüre http://www.universaal.org/images/stories/press-release/brochureuniversAAL.pdf;aufgerufen am 27.05.13


2. Verwandte AAL-Projekte 17wicklung von AAL-Services erleichtern sollen. Die Unterstützung erfolgt hierbei vorallem durch das „AAL Studio“, einer Eclipse-basierten Applikation, bei der besondersauf die Wiederverwendbarkeit von Komponenten Wert gelegt wird.Der Begriff „Community support“ bezieht sich hauptsächlich auf den von universAALentwickelten „uStore“. Dieser ist eine eCommerce-Plattform für AAL-Services, dersich an Apple’s App Store orientieren soll. Über den Online-Shop sollen sowohl Entwicklerals auch Service-Provider ihre Lösungen anbieten können. Wie schon erwähnt,können die angebotenen Leistungen dabei von Software über Hardware bis zu personellenRessourcen reichen, was auch den Hauptunterschied zu den bisher bekanntenApp-Stores ausmacht. Der uStore ist außerdem auf die Bedürfnisse von älteren Personenzugeschnitten und bietet die Möglichkeit, Services zu kombinieren und zu personalisieren.Die Interaktion zwischen den einzelnen Stakeholdern wird durch sozialeNetzwerke, Blogs usw. ermöglicht.Für die Installation, Konfiguration und Wartung der Services steht das Tool „uCC“ zurVerfügung. Bei der Konfiguration werden benutzerspezifische Informationen gesammelt,gespeichert und auch zur Laufzeit verwendet.Ein großer Unterschied zwischen dem universAAL-Projekt und dem PCEICL-Projektliegt darin, dass das PCEICL-Projekt versucht, bestehende Services in die Plattformzu integrieren und dafür weniger neue Applikationen zu entwickeln. Dabei soll jederService nur die Informationen über den Benutzer erhalten, die er zur bestmöglichenAnpassung an dessen Bedürfnisse benötigt. Die Personalisierung der Services mussdabei nicht vom Benutzer selbst vorgenommen werden. Alle benötigten Informationenwerden im Vorfeld über einen Eingabeassistenten (siehe Kapitel 7) erfasst undstehen dann zur Verfügung.Beiden Projekten gemein ist allerdings, dass die Services zentral, also in einer ArtApp-Store, vertrieben werden sollen.


18 2. Verwandte AAL-Projekte2.3 MobileSage[SCN + 12a][SCN + 12b][AAL12]Das MobileSage-Projekt ist Teil der dritten Runde des europäischen Ambient AssistedLiving Joint Programme 14 . Das Projekt begann im Juli 2011 und dauert 30 Monate.Im Laufe des Projekts soll ein Smartphone-basierter Help-On-Demand-Service entwickeltwerden, der ältere Menschen bei täglichen Aufgaben unterstützen soll. Über dasSmartphone werden dazu zeitnah kontextsensitive, personalisierte und lokationsabhängigeServices angeboten, die die Unabhängigkeit und Mobilität der Menschen fördern.Beispielszenarien dafür sind Navigationsunterstützung, Unterstützung beim Bedienenvon Geräten wie Ticketautomaten oder Haushaltsgeräten und Unterstützung bei täglichenAufgaben wie dem Einkauf.Für die Personalisierung und Kontextsensitivität der Services nutzt auch dieses Projekteine Ontologie. Der Unterschied zu Projekten wie SOPRANO (Kapitel 2.1) ist hier,dass nicht nur die Umgebung des Benutzers, sondern auch der Benutzer selbst und seineEigenschaften betrachtet werden. Diese Sichtweise ist zumindest im AAL-Umfeldeher selten, denn viele Forschungsprojekte beschäftigen sich mit Hausautomatisierung,bei der vor allem die Umgebung des Benutzers eine Rolle spielt.Um die Personalisierung von Services zu erreichen, musste eine Datenstruktur entwickeltwerden, die die charakteristischen Attribute eines Benutzers speichern kann.Bei der Benutzerprofilmodellierung kann man zwischen manuell definierten Attributenwie Vorlieben und Interessen und dem Ableiten von Informationen aus Beobachtungenbezüglich des Verhaltens, der Aktionen und der Gedanken des Benutzers unterscheiden.Das entwickelte Benutzerprofilmodell dient als Template, um daraus spezifischeBenutzerprofile für jeden einzelnen Benutzer generieren zu können.14 http://www.aal-europe.eu; aufgerufen am 06.06.2013


2. Verwandte AAL-Projekte 19Abbildung 2.4: Konzept der MobileSage-Ontologie 15Bei der MobileSage-Ontologie bilden der Benutzer und seine Charaktereigenschaftendie zentralen Komponenten der Ontologie. Für die Vorgehensweise beim Modellierender Ontologie wurde eine Top-Down-Methode verwendet. Das heißt, es wurdenzunächst Top-Level-Konzepte, also zentrale Klassen, modelliert, welche dann spezialisiertwurden.Die zentralste Klasse der Ontologie ist, wie man in Abbildung 2.4 sehen kann, die„User“-Klasse, die den Benutzer selbst repräsentiert. Eine andere zentrale Klasse istbeispielsweise „User_Profile“, welche in feingranularere Konzepte heruntergebrochenwurde. Dabei entstanden die folgenden Klassen: „PreferenceProfile“, „HealthProfile“,„EducationProfile“, „CapabilityProfile“ und „InterestProfile“. Über die Klasse „PreferenceProfile“werden Vorlieben des Benutzers beschrieben, die durch Klassen wie„Preference_Specialism“ und „Preference_Domain“ weiter präzisiert werden. „HealthProfile“repräsentiert mit seinen Unterklassen den Gesundheitszustand, „Education-Profile“ die Bildung, „CapabilityProfile“ die Fähigkeiten und „InterestProfile“ die Interessendes Benutzers.15 Quelle: [SCN + 12a]


20 2. Verwandte AAL-ProjekteNachdem die Definition der Klassen der Ontologie abgeschlossen wurde, wurden „Properties“,also Beziehungen der Klassen, modelliert. Wie Ontologien genau definiertwerden und wie sie aufgebaut sind, wird in Kapitel 4 genauer erläutert. Beispielsweiseverbindet die Property „hasHealthProfile“ die Klasse „User“ mit der Klasse „Health-Profile“.Insgesamt wurden in der Ontologie sowohl der Benutzerkontext, also Informationenüber den Benutzer, seine Vorlieben, Interessen, Bedürfnisse, Aktivitäten, usw., alsauch der temporale Kontext, dazu zählen Zeit und Lokation, als auch der Umgebungskontext,also Informationen über die Umgebung des Benutzers, betrachtet. Außerdemwurde in der Ontologie zwischen statischen und dynamischen Konzepten unterschieden.Die Klasse „PersonalInformation“ (die persönlichen Informationen des Benutzers)stellt beispielsweise ein statisches Konzept dar. Klassen wie „HealthProfile“ und„PreferenceProfile“ stellen dagegen dynamische Konzepte dar, da sie sich im Laufeder Zeit verändern können.Die PCEICL-Ontologie (siehe Kapitel 6) ist ähnlich aufgebaut wie die MobileSage-Ontologie. Auch hier ist die Klasse „User“ das zentrale Konzept. Allerdings wurden inder PCEICL-Ontologie keine Profile modelliert, da eine höhere Wiederverwendbarkeiterreicht wird, indem Interessen, Aktivitäten, Vorlieben, usw. direkt als Klassen realisiertwerden.Der Umgebungskontext, die Zeit und der Ort spielen zumindest zunächst keine Rolle inder PCEICL-Ontologie. Sie können aber leicht integriert werden, wenn zu einem späterenZeitpunkt Bedarf an diesen Informationen besteht. In der MobileSage-Ontologiespielen gerade diese Informationen eine sehr zentrale Rolle, da das System je nachLokation und Umgebung Services zur Verfügung stellt. Die PCEICL-Plattform orientiertsich vorerst ausschließlich an den Interessen und Bedürfnissen des Benutzers undnicht so sehr an seiner Umgebung. Einzig die soziale Umgebung, also die Kontaktedes Benutzers, und die Services, die benutzt werden, werden für die Personalisierungder Plattform herangezogen.


2. Verwandte AAL-Projekte 21Abbildung 2.5: Komponenten des Help-On-Demand-Service von MobileSage 16Wie in Abbildung 2.5 dargestellt, besteht der Help-On-Demand-Service von Mobile-Sage im wesentlichen aus drei Komponenten: dem „User Profiling Service“, dem „PersonalisationService“ und dem „Dialog Manager“. Der „User Profiling Service“ dientdazu, die Profile des einzelnen Benutzers anzulegen und zu modifizieren. Dazu nutzter die auf der Ontologie basierenden Benutzermodelle. Anfragen, die über das User Interfacevom Benutzer an das System gestellt werden, werden vom „Dialog Manager“personalisiert und der zum Benutzerprofil passende Content wird zurückgereicht. Der„Personalisation Service“ erfasst alle Benutzerinteraktionen mit dem Smartphone undspeichert diese. Außerdem passt er das User Interface entsprechend dem Kontext an.Das MobileSage-System kann laut den Autoren von [SCN + 12b] in einer Vielzahl vonUse Case Szenarien wiederverwendet werden. Der Einsatz kann daher von Navigationshilfenfür Demenzkranke bis hin zu Applikationen für Touristen reichen, die PointsOf Interest personalisiert aufzeigen können.16 Quelle: [SCN + 12b]


22 2. Verwandte AAL-Projekte


3. Kontextsensitivität 233 KontextsensitivitätKontextsensitive Computersysteme werden immer häufiger eingesetzt. Sie helfen dabei,Dienste und Systeme nützlicher und intuitiver bedienen zu können und vor allemInformationen und Dienste am richtigen Ort, zur richtigen Zeit dem richtigen Benutzerzur Verfügung zu stellen.Bekannt sind hier vor allem sogenannte Location Based Services (LBS), also Dienste,die den Aufenthaltsort eines Benutzers dazu verwenden, um ihm relevante Informationenrund um diesen Ort anbieten zu können. Zusätzlich werden oft zeit- und personenbezogeneDaten erfasst, um die Informationen noch zielgerichteter anbieten zukönnen. Solche Informationen können beispielsweise Sehenswürdigkeiten, Einkaufsmöglichkeiten,Verkehrsinformationen oder regionale Angebote sein. [LBS13]Ein anderes Beispiel für Kontextsensitivität ist das Responsive Web Design (RWD).Bei RWD werden Webseiten so implementiert, dass sie ihr Erscheinungsbild an dasaufrufende Endgerät anpassen. Das heißt, dass Webseiten, die über den Browser einesDesktop-PCs oder Laptops aufgerufen werden anders gestaltet sind als beim Aufrufüber ein Smartphone. Dadurch können Webseiten auf einem kleineren Gerät besserüberblickt werden und sind nicht mehr so mühsam zu lesen. [RWD13]Gerade bei Assistenzsystemen für ältere Menschen ist es fast unumgänglich, diese denBedürfnissen der jeweiligen Person anzupassen. Denn nur durch diese Anpassung istes möglich, solche Systeme einfach verständlich und intuitiv bedienbar zu machen.Um dies zu erreichen, muss die Mensch-Computer-Kommunikation verbessert werden.Wie A. Dey und G. Abowd in [DA00] festgestellt haben, nutzen die Menschenuntereinander situationsbedingte Informationen, also Kontext, um eine größere Bandbreitein der Konversation zu erreichen. Dadurch, dass man Computersystemen Zugangzu Kontextinformationen verschafft, kann die Interaktion zwischen Mensch undComputer ebenfalls verbessert werden. Dies ist vor allem für ältere Menschen, die oftkeinen Bezug zu Computern haben, notwendig, um die Akzeptanz solcher Assistenz-


24 3. Kontextsensitivitätsysteme zu erhöhen.In den folgenden Kapiteln werden zunächst Definitionen zu Kontext und Kontextsensitivitätgegeben. Anschließend wird erläutert, welche Möglichkeiten zur Kontexterfassungund -modellierung bestehen.3.1 KontextUm kontextsensitive Software entwerfen zu können, ist es zunächst wichtig zu verstehen,was „Kontext“ genau bedeutet. Alles läuft in einem gewissen Kontext ab, deshalbmuss der Begriff genauer eingegrenzt werden.Es gibt viele verschiedene Definitionen von Kontext, aber es gibt keine Standarddefinition.Eine häufig zitierte Arbeit ist die von Schilit et al. ([SAW94]), denn sie isteine der ersten Arbeiten, die sich mit Kontextsensitivität auseinandersetzt. Schilit et al.definieren Kontext wie folgt:Three important aspects of context are: where you are, who you are with,and what resources are nearby(...)Sie sagen also, dass Kontext sich auf den Ort der Person und auf Personen und Ressourcen,die sich in der Nähe befinden, bezieht.A. Dey und G. Abowd untersuchten in [DA00] ein paar Jahre später einige unterschiedlicheDefinitionen von Kontext (unter anderem die von Schilit et al.) und verfassten ausallen für sie relevanten Aspekten eine neue eigene Definition. Sie stellt wohl die ammeisten zitierte Definition dar und wurde auch von vielen verwandten AAL-Projektenals Quelle herangezogen:Context is any information that can be used to characterize the situation ofan entity. An entity is a person, place, or object that is considered relevantto the interaction between a user and an application, including the userand applications themselves.Sie sagen, dass Kontext jegliche Information ist, die dazu genutzt werden kann, dieSituation einer Entität zu beschreiben. Dabei kann eine Entität eine Person, ein Ort


3. Kontextsensitivität 25oder ein Objekt sein, das als relevant für die Interaktion zwischen dem Benutzer undder Applikation angesehen wird. Eingeschlossen wird auch der Benutzer und die Applikationselbst.Wie man sehen kann, wurde die Definition von Schlilit et al. in die Betrachtung von A.Dey und G. Abowd mitaufgenommen und erweitert.Die Definition von A. Dey und G. Abowd bildet die Grundlage für alle weiteren Betrachtungendieser Masterthesis. Ihre Definition wird vor allem deshalb gewählt, weilsie betont, dass auch der Benutzer selbst mit seinen Eigenschaften als Kontext betrachtetwerden kann, worauf auch der Fokus dieser Arbeit und des gesamten PCEICL-Projekts liegt. Schilit et al. und viele andere hingegen sehen vor allem die Umgebungdes Benutzers und des Systems als Kontext. Diese Betrachtungsweise verwenden auchdie meisten AAL-Projekte, beispielsweise SOPRANO (Kapitel 2.1) und universAAL(Kapitel 2.2). MobileSage ist eines der wenigen Projekte, das den Benutzer seiner Umgebungzumindest gleichstellt (siehe Kapitel 2.3). Auch die Applikation selbst als Kontextzu betrachten entspricht den Anforderungen des PCEICL-Projekts, da die Servicesund Applikationen, die der Benutzer über die PCEICL-Plattform nutzt, mit ihren jeweiligenEinstellungen und Optionen stark zur Personalisierung des Systems beitragen.Des Weiteren schlagen A. Dey und G. Abowd vier Kategorien vor, in die jeglicheKontextinformation eingeordnet werden kann. Diese sind Lokalität, Identität, Aktivitätund Zeit. Schilit et al. unterscheiden hier nur zwischen Lokalität und Identität, wie manihrer Definition von Kontext entnehmen kann. A. Dey und G. Abowd begründen ihreErweiterung der Kategorien damit, dass zur Beschreibung der Situation einer Entitätauch Zeit und Aktivität gehören, wobei Aktivität beschreibt, was in dieser bestimmtenSituation passiert.Die Autoren bezeichnen die vier Kategorien als „Primärkontext“. Alle weiteren Kontextinformationen,die sich aus diesen primären Informationen ableiten lassen, bezeichnensie als „Sekundärkontext“. Beispielsweise kann man aus dem Namen desBenutzers (Primärkontext) viele weitere Informationen wie die Adresse, die Telefonnummeroder auch die Freunde der Person gewinnen (Sekundärkontext).Die Kontexterfassung erfolgt beispielsweise wie im AAL-Projekt SOPRANO (Kapitel2.1) über Sensoren. Diese Low-Level-Daten werden dann semantisch angereichertwodurch man High-Level-Kontext erhält. Außer diesen beiden Möglichkeiten kannKontext natürlich auch manuell erfasst werden, was bei der PCEICL-Plattform wohl


26 3. Kontextsensitivitätüberwiegend der Fall sein wird, denn hier geht es vorwiegend darum, die persönlichenInformationen eines Benutzers zu erfassen und zu verwenden. Das heißt also, dasszumindest eine Ersterfassung der Daten manuell erfolgen wird und dass sich dieserKontext dann aber auch im Laufe der Zeit verändern kann und diese Änderungen zumTeil auch automatisiert erfasst werden können.3.2 KontextsensitivitätNachdem der Begriff Kontext definiert wurde, soll nun noch erläutert werden, wasKontextsensitivität bedeutet.Schilit et al. definieren in [SAW94] ein kontextsensitives System wie folgt:Such context-aware systems adapts according to the location of use, thecollection of nearby people, hosts, and accessible devices, as well as tochanges to such things over time. A system with these capabilities can examinethe computing environment and react to changes to the environment.In ihrer Sichtweise liegt der Fokus auf der Adaptionsfähigkeit eines Systems an seinenKontext. Dabei beziehen sie die Adaption nicht nur auf den aktuellen Kontext, sondernauch auf die Änderungen des Kontexts im Laufe der Zeit.A. Dey und G. Abowd argumentieren in [DA00] dagegen, dass auch ein System, welchesbeispielsweise einfach nur den Kontext der Umgebung des Benutzers anzeigt, einkontextsensitives System darstellt, obwohl es sein Verhalten nicht verändert. Daherfassen sie ihre Definition etwas weiter als Schilit et al. und sagen:A system is context-aware if it uses context to provide relevant informationand/or services to the user, where relevancy depends on the user’ s task.A. Dey und G. Abowd meinen also, dass jedes System, das Kontext dazu nutzt, demBenutzer relevante Informationen und/oder Dienste anzubieten, ein kontextsensitivesSystem ist. Sie schließen damit nicht nur Systeme ein, die sich dem Kontext anpassen,sondern auch diejenigen, die Kontext lediglich zur Informationsdarstellung nutzen.Das Angebot relevanter Informationen und Dienste stellt die Hauptfunktion derPCEICL-Plattform dar. Daher entspricht die Definition von A. Dey und G. Abowd


3. Kontextsensitivität 27sehr gut den Anforderungen der PCEICL-Plattform. Zusätzlich zur Informations- undServicebereitstellung soll sich die Plattform mit ihren Applikationen aber auch auf diebesonderen Bedürfnisse der älteren Personen, die durch bestimmte körperliche undgeistige Einschränkungen bedingt sind, anpassen können. Dies betrifft vor allem dasgraphische Design des Systems (angepasste Schriftgrößen, Farbauswahl, usw.) aberauch andere Funktionen, wie beispielsweise die Lautstärke der Audioausgabe. Die Definitionvon A. Dey und G. Abowd wird daher für die weiteren Überlegungen dieserMasterthesis um die Adaption des Systems auf die Bedürfnisse des Benutzers erweitert.A. Dey und G. Abowd unterteilen die Funktionen kontextsensitiver Systeme in dreiKategorien:1. Präsentieren von Informationen und Services2. Automatisches Ausführen von Services3. Taggen von Informationen mit Kontext zur späteren VerwendungDie PCEICL-Plattform wird dem Benutzer vor allem Informationen und Services passendzum Kontext präsentieren, also mehr in der ersten Kategorie angesiedelt sein.Aber auch eine automatische Ausführung von Services und das Taggen von Informationenist durchaus vorstellbar.


28 3. Kontextsensitivität3.3 KontextmodellierungZiel der Kontextmodellierung ist es, eine einheitliche Darstellungsform für Kontextdatenzu erreichen. Dies ist vor allem für den Austausch von Kontextinformationenzwischen verschiedenen Systemen oder Komponenten wichtig. Bei den in Kapitel 2vorgestellten Projekten sind die benötigten Kontextinformationen ebenfalls zunächstmodelliert worden. Dieses Datenmodell dient nun in jedem dieser Systeme als Kommunikationsgrundlagezwischen den einzelnen Komponenten. Es stellt sozusagen dasVokabular dar, über das die Komponenten Kontextinformationen austauschen.In [Ehr09] fasst B. Ehringer einige Verfahren zur Kontextmodellierung zusammen. Einigedieser Verfahren sollen im Folgenden kurz erläutert werden.3.3.1 Key-Value-ModelleKey-Value-Modelle stellen die einfachste Art zur Kontextmodellierung dar. Sie bestehenlediglich aus Paaren von einem Key, also dem Namen der Kontextinformation, undeinem dazugehörigen Wert. Ein Beispiel hierfür wäre: Herr F. 1940-03-01Diese Art der Modellierung hat allerdings den großen Nachteil, dass sie keinerlei Beziehungenzwischen den einzelnen Kontextinformationen darstellen kann. In einfachenSystemen reicht diese Darstellungsform möglicherweise aus, aber in komplexeren Systemen,wie beispielsweise der PCEICL-Plattform, wird sie keine Anwendung finden.Dies begründet sich darin, dass hier auch Wechselwirkungen zwischen den einzelnenKontextinformationen berücksichtigt werden müssen, wie beispielsweise die Auswirkungeiner Gesundheitsinformation auf die Art der Darstellung und Bedienung desSystems.3.3.2 Objektorientierte ModelleBei diesen Modellen werden die üblichen objektorientierten Konzepte ausgenutzt, wieVererbung, Kapselung und Wiederverwendbarkeit. Mit ihnen hat man also die Mög-


3. Kontextsensitivität 29lichkeit, komplexere Kontextmodelle zu entwickeln, die auch die Beziehungen zwischenden einzelnen Konzepten darstellen können. B. Ehringer zieht zur Veranschaulichungdas objektorientierte Kontextmodell des Frameworks Hydrogen heran, welchesin [HSP + 03] von Hofer et al. vorgestellt wird.Abbildung 3.1: Beispiel für ein objektorientiertes Modell 17Wie man in Abbildung 3.1 erkennen kann, haben Hofer et al. als Top-Level-Konzeptein Objekt namens „Context“ modelliert. Dieses Element stellt die gesamte Kontextsituationdar. Die einzelnen Kontextinformationen wie die Zeit, die Lokation, der Benutzer,usw. werden alle von „ContextObject“ abgeleitet. Somit ist sichergestellt, dassdieses Modell leicht um andere Kontextinformationen erweitert werden kann.Ein Problem von objektorientierten Modellen ist allerdings, dass Objekte auf verschiedenenSystemen unterschiedlich aussehen können. Daher ist der Kontextaustauschzwischen ihnen nicht immer so einfach möglich. Ziel des PCEICL-Projekts ist es allerdings,nicht an ein bestimmtes Gerät oder ein bestimmtes Betriebssystem gebunden zusein. Der Benutzer soll Zugang zur PCEICL-Plattform über Tablet-PCs, Desktop-PCs,17 Quelle: [HSP + 03]


30 3. KontextsensitivitätSmartphones und vielen weiteren Geräten haben und auch in der Wahl des Herstellersnicht eingeschränkt werden.3.3.3 ContextUMLEine weitere Möglichkeit der Kontextmodellierung ist ContextUML und wurde vonQ. Sheng und B. Benatallah in [SB05] vorgestellt. ContextUML basiert auf UML 18 .Mit dieser Sprache ist es möglich, kontextsensitive Web Services zu entwickeln. DieEntwicklung erfolgt dabei modellgetrieben, das heißt Q. Sheng und B. Benatallah präsentierenein Metamodell, mit dessen Hilfe man zunächst ein Modell des Web Serviceskonzipiert. Dabei wird zwischen der Modellierung von Kontext, Kontextsensitivitätund dem Web Service unterschieden. Aus dem Modell lässt sich dann der entsprechendeCode generieren. Die Autoren behaupten, dass durch diese Vorgehensweisedie Qualität des Produkts enorm gesteigert werden kann.Wie das Metamodell und die Entwicklung mit diesem genau aussieht, wird in [SB05]genauer beschrieben. Für die Modellierung des Kontexts der PCEICL-Plattform istdiese Vorgehensweise zu speziell, da sie auf die Entwicklung von kontextsensitivenWeb Services ausgelegt ist. Die Auswahl der Technologien für die Plattform und dieServices sowie die Entwicklung von Plattform und Services soll nicht Bestandteil dieserArbeit sein, daher ist es sinnvoller, eine allgemeinere Modellierungsart zu wählen,die mehr Optionen für die Zukunft zulässt.Weitere Ansätze zur modellgetriebenen Entwicklung von kontextsensitiven Servicesfinden sich in [BHNK12] und [HBN + 11].3.3.4 Ontologie-basierte ModelleMit Ontologien ist es möglich, Begriffe eines Domänenbereichs und ihre Beziehungenuntereinander zu modellieren. Dabei können auch komplexere Beziehungen (z.B. semantischeRelationen, Vererbung, Verbindung) gestaltet werden. Ontologien sind aufeinem abstrakteren Niveau, sodass sie leicht verständlich für den Menschen aber trotzdemmaschinenlesbar sind. Sie eignen sich besonders zum Daten- bzw. Wissensaustausch,da sie klare Definitionen des Wissens liefern und somit Doppeldeutigkeiten18 Unified Modeling Language


3. Kontextsensitivität 31ausschließen. [Ehr09]T. Strang und C. Linnhoff-Popien haben in ihrer Arbeit [SLP04] verschiedenste Verfahrenzur Modellierung von Kontext miteinander verglichen. Hierzu haben sie einigeKriterien aufgestellt, anhand derer sie die Verfahren evaluieren. Solche Kriterien sindbeispielsweise die Möglichkeiten der Validierung von Kontextinformationen auf Basisdes Kontextmodells, der Umgang mit fehlerhaften oder unvollständigen Daten oderauch die Verwendbarkeit in existierenden Umgebungen. In dieser Evaluation wurdennoch einige weitere Verfahren miteinbezogen, die in dieser Arbeit nicht vorgestelltwerden (Logik-basierte Verfahren, Modellierung mit Markup-Sprachen und graphischeModelle). T. Strang und C. Linnhoff-Popien kommen in ihrer Arbeit zu demSchluss, dass Ontologien die geeignetste Modellierungsart für Kontext darstellen (sieheAbbildung 3.2).Abbildung 3.2: Vergleich verschiedener Modellierungsarten für Kontext 19Aufgrund des Ergebnisses von T. Strang und C. Linnhoff-Popien und der in den vorherigenKapiteln erläuterten Nachteile der anderen Modellierungsarten wurde entschieden,dass der Kontext, der in der PCEICL-Plattform Anwendung finden soll, in Formeiner Ontologie modelliert wird. Alle AAL-Projekte, auf die ich während meinen Recherchengestoßen bin und deren Systeme kontextsensitiv gestaltet wurden, haben ihreKontextinformationen als Ontologie modelliert. Das heißt, dass sich auch im AAL-Bereich Ontologien als geeignetste Art der Modellierung herausgestellt haben.19 Quelle: [SLP04]


32 3. Kontextsensitivität


4. Ontologien 334 OntologienDas Hauptmerkmal der PCEICL-Plattform soll ihre Personalisierbarkeit sein. Diesesoll sich nicht nur auf das Anpassen der graphischen Benutzeroberfläche begrenzen,sondern sich auch auf die Funktionalitäten und das Verhalten des Systems auswirken.Um das System den Bedürfnissen des Benutzers anpassen zu können, müssen dieseerfasst werden, das heißt es muss ein Benutzerprofil angelegt werden. Zur Erreichungeiner optimalen Ausnutzung der Daten und somit bestmöglichen Anpassung des Systemsan den Benutzer reicht es nicht aus, die einzelnen Profildaten, wie Interessen,persönliche Informationen und Gesundheitsinformationen einfach nur zu erfassen undabzulegen. Es müssen vor allem die Beziehungen zwischen den Daten beachtet werden.Beispielsweise muss sich das System vorwiegend an den Gesundheitsstatus desBenutzers anpassen. Der Gesundheitsstatus hat sehr viele Auswirkungen auf andereInformationen wie zum Beispiel auf die physischen und geistigen Fähigkeiten oderEinschränkungen des Benutzers.Aus diesem Grund reicht es nicht aus, einfache Modelle wie Key-Value-Modelle zumEntwurf des Kontexts heranzuziehen. Solch komplexe Beziehungen, wie gerade beschrieben,lassen sich sehr gut mit Ontologien beschreiben. Daher wurde diese Modellierungsartausgewählt. Auch in anderen AAL-Projekten hat sich diese Vorgehensweisebewährt.In diesem Kapitel wird erläutert, was Ontologien sind, wie sie definiert werden undwo sie Anwendung finden. Zum Schluss werden noch die nötigen Grundlagen zurWeb Ontology Language (OWL) betrachtet, mit der die PCEICL-Ontologie beschriebenwurde.


34 4. Ontologien4.1 DefinitionDer Begriff Ontologie stammt ursprünglich aus der Philosophie und bezeichnet dorteine Disziplin, die sich mit dem „Sein“, also allem, was auf der Welt existiert, beschäftigt.Mittlerweile wurde daraus aber auch ein feststehender Begriff in der Informatik,der an den philosophischen Begriff angelehnt ist. In der Informatik kann alles, wasexistiert, repräsentiert werden. Diese Repräsentation kann durch Ontologien erreichtwerden.Die wohl verbreitetste und am häufigsten zitierte Definition des Begriffs Ontologie imBereich der Informatik stammt von T. Gruber. In seiner Arbeit [Gru93] von 1993 fasster diese in einem Satz zusammen:An ontology is an explicit specification of a conceptualization.Eine Konzeptualisierung beschreibt er dabei als eine abstrakte und vereinfachte Sichtauf die Welt, die wir zu einem bestimmten Zweck repräsentieren möchten. Er sagt, dassjedes wissensbasierte System in irgendeiner Art und Weise einer solchen Konzeptualisierungunterliegt. Mit einer Ontologie kann man also das Wissen einer Domäne formalbeschreiben, indem man eine Menge von Objekten und ihre Beziehungen untereinanderso wohldefiniert, dass eine Interpretation eingeschränkt wird. Die Namensgebungder Objekte und Beziehungen wird so gewählt, dass ein Mensch verstehen kann, wasdie Namen bedeuten.4.2 AnwendungIn [GL02] fassen M. Gruninger und J. Lee Nutzungsmöglichkeiten von Ontologienzusammen. Diese Anwendungsfälle werden im Folgenden kurz erläutert.Ontologien werden zur Kommunikation zwischen Menschen, Computersystemen undzur Kommunikation zwischen Menschen und Computersystemen genutzt. Sie definierendabei ontologische Verpflichtungen, also ein Vokabular, das die Kommunikationüber eine bestimmte Domäne ermöglicht [Gru95]. Gerade für die Repräsentation derKontextinformationen der PCEICL-Plattform ist es von Vorteil, wenn dieses Vokabularsowohl maschinenlesbar als auch leicht verständlich für den Menschen ist, denn soist eine sehr viel höhere Nachvollziehbarkeit und eine bessere Anpassbarkeit auf sich


4. Ontologien 35ändernde Anforderungen gegeben.Des Weiteren eignen sich Ontologien in Computersystemen für die interne Repräsentationund auch für die Manipulation von Plänen und Planungsinformationen. Auchdie internen Strukturen, Algorithmen, Ein- und Ausgabedaten können mit Hilfe vonOntologien analysiert werden.Als ein weiteres Anwendungsgebiet nennen die beiden Autoren die Wiederverwendungund das Management von Wissen. Ontologien werden dabei zur Strukturierungund Organisation von Bibliotheken oder Sammlungen von Domänen- und Planungsinformationeneingesetzt.Eine große Rolle spielen Ontologien im semantischen Web, einem Konzept von TimBerners-Lee zur Weiterentwicklung des World Wide Web. Im semantischen Web solljeglicher Information eine wohldefinierte Bedeutung zugeordnet werden. Dadurch,dass allgemein bekannte Konzepte mit Semantik angereichert werden, ist es den Computersystemennun auch möglich, Webseiten zu interpretieren und zu verbinden. Dieskonnten bis dahin nur Menschen durch ihr Wissen leisten. Ontologien sind eine Basiskomponentedes semantischen Webs, denn mit ihnen werden die semantischen Regelnund Definitionen repräsentiert. [BLHL01]Weit verbreitet sind Ontologien außerdem im medizinischen Bereich. Hier werden sievor allem dazu genutzt, alle medizinischen Begriffe semantisch miteinander zu verknüpfen.Sie tragen so dazu bei, Diagnosen schneller und einfacher stellen zu können.Die beiden größten und wichtigsten Vertreter der medizinischen Ontologien sind SNO-MED CT 20 und der ICD-Code 21 . Auf das Diagnoseklassifikationssystem ICD wird imLaufe der Arbeit noch genauer eingegangen.Wie schon erwähnt werden Ontologien häufig auch im Ambient Assisted Living Bereicheingesetzt. Hier dienen sie meist als Kommunikationsbasis zwischen den einzelnenSystemkomponenten, aber auch zur Repräsentation für Kontextinformationen.20 http://www.ihtsdo.org/snomed-ct/; aufgerufen am 17.09.201321 International Statistical Classification of Diseases and Related Health Problemshttp://www.icd-code.de/icd/code/ICD-10-GM-2013.html; aufgerufen am 20.09.2013


36 4. Ontologien4.3 Web Ontology Language und ProtégéUm eine Ontologie zu entwickeln und maschinenlesbar zu machen, bedarf es einer Ontologiesprache.In diesem Kapitel soll die Web Ontology Language (OWL) vorgestelltwerden. Sie ist eine Spezifikation des W3C 22 und stellt die am meisten verwendeteOntologiesprache dar. Auch die Ontologien der von mir untersuchten verwandtenAAL-Projekte wurden in OWL definiert. Daher ist es naheliegend, auch die Ontologieder PCEICL-Plattform mit OWL zu entwickeln, um eine Kompatibilität zu anderenOntologien im AAL-Bereich gewährleisten zu können. Es ist dann leichter möglich,die PCEICL-Ontologie mit anderen Ontologien zu verknüpfen, um sie beispielsweiseum ein Assistenzsystem zur Hausautomatisierung (siehe Projekt SOPRANO in Kapitel2.1) erweitern zu können.Den bekanntesten Open Source Editor zur Entwicklung von OWL-Ontologien stelltProtégé von der Stanford University 23 dar. Protégé liegt derzeit in Version 4.3 vor undist Java-basiert. Es ist leicht möglich, Plugins für Protégé zu entwickeln und es damitden eigenen Bedürfnissen und Anforderungen entsprechend anzupassen. Es bietet einegraphische Oberfläche, mit der man Ontologien entwerfen und als OWL-Datei speichernkann (OWL basiert auf XML). Das erleichtert die Entwicklung, da man keinenXML-Code selbst schreiben muss. Außerdem hat man hat nicht nur die MöglichkeitOntologien zu kreieren, sondern auch vorhandene Ontologien abzufragen, zu manipulierenoder zu visualisieren.Die Grundkonzepte der Web Ontology Language werden anhand der Arbeit von Horridgeet al. [Hor11] vorgestellt. Die Arbeit stellt ein Handbuch zur Entwicklung vonOWL-Ontologien mit Protégé dar. Es werden hier allerdings lediglich die für die Entwicklungder PCEICL-Ontologie relevanten Konzepte vorgestellt.4.3.1 GrundkonzeptGrundsätzlich unterscheidet man bei OWL zwischen drei Grundkonzepten: Klassen,Instanzen (oder Individuen) und Rollen (oder Properties).22 World Wide Web Consortium; http://www.w3.org/2004/OWL/; aufgerufen am 07.08.201323 http://protege.stanford.edu; aufgerufen am 07.08.2013


4. Ontologien 37Klassen stellen Konzepte innerhalb einer Domäne dar. In Abbildung 4.1 sind die Beispielklassen„Person“, „Country“ und „Pet“ dargestellt.Instanzen sind konkrete Objekte einer Klasse. Das heißt eine Klasse kann aus mehrerenInstanzen bestehen. Beispielsweise sind die Instanzen „Italy“, „England“ und „USA“Mitglieder der Klasse „Country“ (siehe Abbildung 4.1).Properties sind binäre Beziehungen zwischen Individuen, verbinden also immer zweiIndividuen miteinander. In Abbildung 4.1 verbindet die Beziehung „hasPet“ beispielsweisedie Instanz „Matthew“ mit der Instanz „Fluffy“.Es gibt verschiedene Arten von Klassen, Instanzen und Rollen, die in den folgendenKapiteln kurz vorgestellt werden.Abbildung 4.1: Beispiele für Klassen, Individuen und Rollen 2424 Quelle: [Hor11]


38 4. Ontologien4.3.2 Klassen und InstanzenKlassen können in Hierarchien organisiert werden, das heißt, dass sie in Oberklassenund Unterklassen unterteilt werden können. Unterklassen sind dabei eine Spezialisierungihrer Oberklassen. Alle Instanzen einer Unterklasse sind automatisch und ohneAusnahme auch Instanzen ihrer Oberklasse. Beispielsweise ist jede Instanz der Klasse„TomatoTopping“ automatisch auch eine Instanz der Klassen „VegetableTopping“ und„PizzaTopping“ (siehe Abbildung 4.2). Die Klasse, die an der Spitze der Klassenhierarchiesteht, nennt sich „Thing“ und ist fester Bestandteil des OWL-Vokabulars. AlleIndividuen gehören zur Klasse „Thing“ und alle Klassen sind Unterklassen der Klasse„Thing“.Abbildung 4.2: Beispiel für Unter- und Oberklassen in OWL 25Man kann mit OWL ausdrücken, dass zwei Klassen disjunkt sind, das heißt, dass einIndividuum der Klasse A nicht gleichzeitig Individuum der Klasse B sein kann. Wirdnicht expliziert erklärt, dass zwei Klassen disjunkt sind, können Individuen der einenKlasse auch Individuen der anderen Klasse sein. Das heißt, dass das Ziehen von logischenSchlussfolgerungen in OWL auf der Open World Assumption basiert. Sie besagt,dass alles existiert, solange es nicht explizit als nicht existent definiert wird.Mit dem Operator AND können Schnittmengen von Klassen gebildet werden. Beispielsweisekönnte man mit der Schnittmenge „Human and Male“ eine Klasse „Men“25 Quelle: [Hor11]


4. Ontologien 39bilden, die eine Unterklasse der Klasse „Human“ und der Klasse „Male“ darstellt.Mit „Men or Women“ könnte man die Klasse „Person“ bilden, welche die Vereinigungsmengeder Klassen „Men“ und „Women“ darstellt.4.3.3 RollenGrundsätzlich unterscheidet man in OWL zwischen abstrakten und konkreten Rollen.Man nennt diese im Englischen Object Property (abstrakte Rolle) und Datatype Property(konkrete Rolle). Im Folgenden sollen die englischen Begriffe verwendet werden.Object Properties stellen Beziehungen zwischen zwei Instanzen dar, wohingegen DatatypeProperties Instanzen mit konkreten Datenwerten verbinden. In OWL werden dieim XML Schema definierten Datentypen benutzt. In Abbildung 4.3 sind Beispiele fürdie beiden unterschiedlichen Properties dargestellt.Abbildung 4.3: Beispiele für Object und Datatype Properties in OWL 2626 Quelle: [Hor11]


40 4. OntologienProperties können eine Domain und eine Range besitzen. Dabei verbindet die PropertyInstanzen der Domain-Klasse mit Instanzen der Range-Klasse. In Abbildung 4.4 wirddie Property „hasTopping“ dargestellt. Dabei verbindet sie Instanzen der Klasse „Pizza“,also der Domain, mit Instanzen der Klasse „PizzaTopping“, also der Range. Beider inversen Property „isToppingOf“ sind Domain und Range einfach vertauscht.Abbildung 4.4: Beispiele für Domain und Range einer Property in OWL 27Es gibt außerdem die Möglichkeit, genau wie bei Klassen, Hierarchien von Propertiesaufzubauen. Für diese Hierarchien gelten die gleichen Regeln wie für die Klassenhierarchien.Beispielsweise würde die Property „hasMother“ die generellere Property„hasParent“ spezialisieren, da sie eine Sub-Property von „hasParent“ darstellen würde.Hierarchien können allerdings nur unter gleichen Arten von Properties bestehen.Es ist beispielsweise nicht möglich, eine Object Property als Sub-Property von einerDatatype-Property zu definieren.Zu jeder Property kann auch eine inverse Property bestehen. Das heißt, dass man, wenneine Property die Instanzen a und b miteinander verbindet, eine inverse Property definierenkann, die b mit a verbindet. In Abbildung 4.5 ist eine solche Property und ihreInverse dargestellt.27 Quelle: [Hor11]


4. Ontologien 41Abbildung 4.5: Beispiel für eine Property und ihre zugehörige Inverse in OWL 28Zudem kann man jede Property mit weiteren Eigenschaften versehen. Eine dieser Eigenschaftenwäre es, sie als funktional zu kennzeichnen. Das bedeutet, dass diese Instanznur mit einer einzigen anderen Instanz verbunden sein kann. Würde man diegleiche Property für die Verbindung zu zwei unterschiedlichen Instanzen verwenden,wie das in Abbildung 4.6 zu sehen ist, würde das System die beiden Instanzen (also„Peggy“ und „Margaret“) als identisch ansehen. Definiert man allerdings, dass dieseInstanzen nicht identisch sind, würde eine Inkonsistenz auftreten. Man kann natürlichauch die inverse Property als funktional kennzeichnen.Abbildung 4.6: Beispiel für eine funktionale Property in OWL 29Es gibt außerdem symmetrische/antisymmetrische, reflexive/irreflexible und transitiveProperties. Da diese Eigenschaften in der PCEICL-Ontologie allerdings keine Rollespielen, möchte ich im Rahmen dieser Arbeit nicht weiter darauf eingehen.28 Quelle: [Hor11]29 Quelle: [Hor11]


42 4. Ontologien4.3.4 RestriktionenUm bestimmte Sachverhalte genauer definieren zu können, ist es möglich, Restriktionenzu modellieren. Jede Restriktion beschreibt eine Menge von Instanzen, auf diediese Restriktion zutrifft. Das heißt, dass durch Restriktionen neue anonyme, bzw. unbenannteKlassen gebildet werden. Beispiele für solche Klassen können sein:• Die Klasse, bestehend aus Instanzen, die mindestens eine „hasSibling“-Propertyhaben.• Die Klasse, bestehend aus Instanzen, die genau eine „hasSibling“-Property zuInstanzen der Klasse „Women“ haben.• Die Klasse, bestehend aus Instanzen, die mehr als zwei „hasSibling“-Propertieshaben.Es gibt drei verschiedene Arten von Restriktionen: Quantifizierungs-, KardinalitätsundhasValue-Restriktionen.Quantifizierungsrestriktionen werden wiederum in existentielle und universelle aufgeteilt.In Protégé werden existentielle Restriktionen mit dem Schlüsselwort some gekennzeichnet.Beispielsweise beschreibt die Restriktion „hasSibling some Women“die Klasse von Instanzen, die mindestens eine „hasSibling“-Beziehung zu Instanzender Klasse „ Women“ haben, also Individuen, die mindestens eine Schwester haben.Ein Beispiel für eine universelle Restriktion, die mit dem Schlüsselwort only gekennzeichnetist, wäre „hasSibling only Men“. Sie beschreibt die Klasse von Instanzen, dieausschließlich „hasSibling“-Beziehungen zu Instanzen der Klasse „Men“ haben, alsoIndividuen, die ausschließlich Brüder haben. In OWL werden die Begriffe someValue-From für existentielle und allValuesFrom für universelle Restriktionen benutzt.Kardinalitätsrestriktionen beschreiben Klassen, die exakt eine bestimmte Anzahl vonBeziehungen zu anderen Individuen oder Datentyp-Werten haben. Minimum-Kardinalitätsrestriktionenspezifizieren eine Mindestanzahl, wohingegen Maximum-Kardinalitätsrestriktioneneine Höchstanzahl von Beziehungen darstellen. Ein Beispiel für eineKardinalitätsrestriktion wäre „hasTopping exactly 4 CheeseTopping“ (eine Vier-Käse-Pizza).Mit einer hasValue-Restriktion kann man die Menge von Individuen beschreiben, die


4. Ontologien 43mindestens eine Beziehung zu einer ganz bestimmten Instanz haben. Ein Beispiel dafürwäre „hasCountryOfOrigin value Italy“, wobei „Italy“ eine Instanz und keine Klassedarstellt.Man muss des Weiteren zwischen primitiven und definierten Klassen unterscheiden.Primitive Klassen bestehen ausschließlich aus notwendigen, definierte Klassen ausnotwendigen und hinreichenden Bedingungen. Der Unterschied zwischen beiden istin Abbildung 4.7 dargestellt.Abbildung 4.7: Unterschied zwischen einer primitiven und definierten Klasse 30Man kann sagen, dass jede Instanz einer primitiven Klasse die notwendigen Bedingungen,durch die sie beschrieben wird, erfüllen muss. Man kann daraus aber nicht schließen,dass irgendein zufälliges Individuum, das diese Bedingungen erfüllt, ein Mitglieddieser primitiven Klasse ist. In Abbildung 4.7 wird dieser Sachverhalt im oberen Teil30 Quelle: [Hor11]


44 4. Ontologiendes Bildes durch den gerichteten Pfeil gekennzeichnet.Instanzen einer definierten Klasse hingegen müssen die notwendigen und hinreichendenBedingungen erfüllen und man kann sagen, dass jedes zufällige Individuum, dasdiese Bedingungen erfüllt, ein Mitglied der definierten Klasse ist. Das heißt, dass mandurch notwendige und hinreichende Bedingungen eine Definition schaffen kann undjede Instanz, die dieser Definition entspricht, eine Instanz dieser definierten Klasse ist.Es gibt insgesamt sehr viele Möglichkeiten Restriktionen zu formulieren. Allerdingsreichen für das Verständnis der PCEICL-Ontologie die bis dahin erläuterten Grundlagenaus.


5. PCEICL Szenario 455 PCEICL SzenarioIn diesem Kapitel soll das Szenario des PCEICL-Projekts vorgestellt werden. Es istangelehnt an ein Fallbeispiel aus einem verwandten Projekt namens SONIA 31 , welchesinnerhalb des Impulsprogramms Medizin und Pflege vom Ministerium für Arbeit undSozialordnung, Familie, Frauen und Senioren Baden-Württemberg angesiedelt ist.Das Szenario wurde so angepasst, dass es die besonderen Merkmale der PCEICL-Plattform aufzeigen kann. Dazu wurde es in mehrere Teilszenarien gegliedert und eswurden entsprechende Use-Case-Diagramme 32 erstellt.Das Szenario stellt einen Leitfaden für die im Rahmen dieser Arbeit entstandene Ontologieund den Entwurf eines Assistenzsystems zur Erfassung des Benutzerprofils dar.Viele Beispiele in dieser Arbeit greifen die Akteure des Szenarios und ihr Umfeld aufund sind rein fiktiv.31 Soziale Inklusion durch technikgestützte Kommunikationsangebote im Stadt-Land-Vergleichhttp://www.verbundprojekt-sonia.de; aufgerufen am 11.06.201332 Alle Abbildungen in diesem Kapitel wurden vom Autor dieser Arbeit erstellt.


46 5. PCEICL Szenario5.1 HauptszenarioHerr F. lebt als Witwer alleine auf einem großen Schwarzwald-Bauernhof. Seine beidenKinder leben inzwischen im Ausland, bzw. in einer weit entfernten Großstadt. Siekönnen ihren Vater nur sehr selten besuchen. Die ärztliche Versorgung in dieser ländlichenRegion wird immer schwieriger, seit der letzte Landarzt aus Altersgründen seinePraxis geschlossen und keinen Nachfolger gefunden hat. Seit Herr F. in einem der langenWinter auf dem vereisten Grundstück gestürzt und infolgedessen gehbehindert ist,machen sich seine Kinder Sorgen.Um ihren Vater zu unterstützen, recherchieren sie im Internet, welche Möglichkeitender Assistenz es für ältere Menschen gibt. Dabei stoßen sie auf einige Angebotefür sicherheitsrelevante Assistenzsysteme. Die Systeme erkennen beispielsweise,wenn die Person gestürzt ist. Andere nutzen verschiedenste Sensoren, wie zum BeispielRauchsensoren, um auf Gefahrensituationen aufmerksam zu machen. Wieder andereAssistenzsysteme automatisieren einfach nur bestimmte alltägliche Dinge wie dieBeleuchtungs- und die Heizungssteuerung. Die meisten dieser Dienstleitungen sind allerdingsfür Herrn F. noch nicht relevant.Während ihren Recherchen stoßen die Kinder auf die PCEICL-Plattform. Diese versprichtvor allem soziale Integration trotz eingeschränkter Mobilität im Alter, aber auchUnterstützung im Alltag. Sie ist komplett an die Bedürfnisse der Person anpassbar,das heißt, Herr F. kann selbst bestimmen, in welchen Bereichen er unterstützt werdenmöchte und in welchen nicht. Benötigt er in Zukunft aber weitere Dienste, können dieseganz einfach integriert werden. Dies liegt daran, dass alle Angebote der Plattformüber den PCEICL-App-Store gefunden und integriert werden können. Die Plattformdient Herrn F. nun vor allem als Kommunikations- und Organisationsplattform. Abersie stellt ihm auch interessante Informationen zur Verfügung, die beispielsweise seineHobbys und Interessen betreffen. Außerdem nutzt er einige Lern-Apps, die ihn weiterbildenoder ihm helfen sein Gedächtnis zu trainieren. Obwohl er mit Computern imAllgemeinen bisher nicht viel zu tun hatte, konnte er alle Funktionen der Plattformnach einer kurzen Einführung problemlos nutzen.Herr F. interagiert über die Plattform mit unterschiedlichsten Personen und Gruppen(siehe Abbildung 5.1), die in den folgenden Teilszenarien „Personalisierung der Plattform“,„Familie“, „Heimatmuseum“, „Gesundheit“ und „Modelleisenbahnclub“ vorgestelltwerden.


5. PCEICL Szenario 47Abbildung 5.1: Use-Case-Diagramm des PCEICL Szenarios


48 5. PCEICL Szenario5.2 Teilszenario: Personalisierung der PlattformDer große Vorteil im Umgang mit der Plattform liegt für Herrn F. vor allem darin,dass sich die Plattform seinen Wünschen, Interessen und seinem Geschmack anpasst.Hierzu hat Herr F. zusammen mit Frau K. vom Deutschen Roten Kreuz eine Art Steckbriefoder Profil von sich angefertigt, der im System sicher hinterlegt und dazu genutztwird, die Plattform an seine Bedürfnisse anzupassen. In diesem Profil sind seine persönlichenDaten, Interessen, Kontaktinformationen über seine Familienangehörigen,Freunde, Bekannte und Ärzte, aber auch sein Medikamentenplan und Informationenüber seinen Gesundheitsstatus hinterlegt, der bis auf seine Gehbehinderung und einebeginnende Sehschwäche bis jetzt sehr positiv aussieht. Durch diese Informationenwird nun beispielsweise die Schriftgröße der gesamten Plattform an seine Sehschwächeangepasst oder es werden ihm interessante Inhalte aus dem Internet angezeigt,die zu seinen angegebenen Interessen, wie beispielsweise seiner Modelleisenbahnleidenschaft,passen. Das Profil wird zur optimalen Unterstützung regelmäßig den sichändernden Bedürfnissen von Herrn F. angepasst.Frau K. hilft Herrn F. außerdem dabei, für ihn passende Apps im PCEICL-App-Storezu finden, die nach einer kurzen Konfiguration auf seiner personalisierten Plattformzur Verfügung stehen.Auch über die Konfigurationsphase hinaus steht ihm Frau K. für Fragen zur Verfügungund bemüht sich darum, dass Änderungen am Profil zeitnah eingepflegt werden. HerrF. ist inzwischen im Umgang mit der Plattform so sicher, dass er selbstständig neueApps aus dem PCEICL-App-Store installiert.Abbildung 5.2: Use-Case-Diagramm des Teilszenarios Personalisierung der Plattform


5. PCEICL Szenario 495.3 Teilszenario: FamilieHerr F. kann über die Plattform per Video-Telefonie mit seinen Kindern und Enkelnkommunizieren. Sie können sich aber auch jederzeit Nachrichten zukommen lassenoder Bilder und andere Dokumente austauschen. So bleiben sie trotz der großen Distanzenständig in Kontakt und können jeweils am Leben des anderen teilnehmen. DiePlattform bietet Herrn F. und seinen Kindern außerdem einen gemeinsamen Kalenderan, in den sie Termine eintragen können. Dazu gehören beispielsweise Geburtstage,die gemeinsamen Telefonate und Treffen, aber auch besondere Ereignisse wie zumBeispiel Schulaufführungen der Enkel. Durch den Kalender wird Herr F. an wichtigeEreignisse erinnert und kann den Enkeln zu ihren Schulaufführungen eine motivierendeNachricht schicken, auch wenn er selbst nicht teilnehmen kann.Abbildung 5.3: Use-Case-Diagramm des Teilszenarios Familie


50 5. PCEICL Szenario5.4 Teilszenario: HeimatmuseumSein altes Bauernhaus wurde inzwischen zu einem Heimatmuseum umgebaut. Der lokaleFörster fragt über die Service-Plattform häufig an, ob Herr F. von seiner Zeit alsaktiver Landwirt berichten kann. Diese Erzählungen werden dokumentiert und denBesuchern, die immer wieder auch Nachrichten für Herrn F. hinterlassen, zugänglichgemacht. Alle Termine, die Herr F. mit dem Förster vereinbart, werden in seinen Kalendereingetragen.Abbildung 5.4: Use-Case-Diagramm des Teilszenarios Heimatmuseum


5. PCEICL Szenario 515.5 Teilszenario: GesundheitAuch seine Arztbesuche kann Herr F. über die Plattform direkt mit der Arztpraxis abstimmen.Diese werden in seinen Kalender eingetragen und er wird rechtzeitig an dieTermine erinnert. Die Verwaltung seines Medikamentenplans ist auch sehr leicht überdie Plattform möglich. Gleichzeitig hat er auch die Möglichkeit, seine Medikamentedirekt bei der Apotheke zu bestellen. Durch diese Funktionen wird Herr F. rechtzeitigan die Medikamenteneinnahme erinnert und muss auch nicht ständig auf seinen Medikamentenvorratachten. Zudem bietet ihm die Plattform jederzeit Informationen überseine Medikamente, wenn er diese benötigt. Ergeben sich Fragen, die mit Hilfe derPlattform nicht beantwortet werden können, oder Probleme mit der Medikamenteneinnahmeoder sogar gesundheitliche Probleme, kann er direkt Kontakt mit dem jeweiligzuständigen Arzt aufnehmen.Abbildung 5.5: Use-Case-Diagramm des Teilszenarios Gesundheit


52 5. PCEICL Szenario5.6 Teilszenario: ModelleisenbahnclubHerr F. nutzt das System auch, um sich mit seinen Vereinskameraden aus dem Modelleisenbahnclubauszutauschen. Zwar kann er die Vereinstreffen nicht mehr regelmäßigbesuchen, über das Kommunikationssystem nimmt er aber dennoch am Vereinslebenteil, denn seine Expertise wird auch von jüngeren Modelleisenbahnern geschätzt. AlsHerr F. dann nach einigen Jahren in ein Pflegeheim zieht, bleibt er über das Kommunikationssystemweiter in Kontakt mit seinem sozialen Netzwerk. Er legt sich einevirtuelle Sammlung von Modelllokomotiven an, die von den Vereinsmitgliedern kommentiertwerden. Dies stärkt sein Selbstwertgefühl. Über einen gemeinsamen Kalendermit seinen Vereinskameraden können interessante Termine bekannt gemacht werden.Dadurch erfährt er immer wieder von interessanten Ausstellungen. Die Angebote, sichvon jüngeren Vereinsmitgliedern abholen zu lassen, nimmt er gerne an. Gemeinsammit den Mitgliedern seiner „Ersatzfamilie“ nimmt er jede Gelegenheit wahr, an Eventsteilzunehmen.Abbildung 5.6: Use-Case-Diagramm des Teilszenarios Modelleisenbahnclub


6. PCEICL-Ontologie 536 PCEICL-OntologieIn Kapitel 3 wurden zunächst die Grundlagen zu Kontext und Kontextsensitivität erläutert.Im Laufe dieses Kapitels wurde außerdem begründet, warum eine Ontologiedie passende Modellierungsart für den Kontext der PCEICL-Plattform darstellt. Nacheinigen Grundlagen zum Thema Ontologien (Kapitel 4) wurden Use Cases definiert,die den Einsatz der PCEICL-Plattform an einem konkreten Beispiel aufzeigen (Kapitel5). Auf Basis dieser Grundlagen soll in diesem Kapitel die PCEICL-Ontologie, die imRahmen dieser Arbeit entwickelt wurde, beschrieben werden.Zunächst wird das gewählte Vorgehen bei der Modellierung der Ontologie vorgestellt.Anschließend erfolgt die Präsentation der Ontologie an sich. Da diese allerdings relativkomplex und umfangreich ist, soll erst ein Überblick gegeben werden. Anschließendfolgt eine detailliertere Sicht auf die Ontologie. Die PCEICL-Ontologie ist zudem als*.owl-Datei in Anhang A.1 hinterlegt. In Anhang A.2 befindet sich eine Übersicht überalle Klassen der PCEICL-Ontologie.6.1 VorgehenZur Modellierung einer Ontologie bedarf es einer definierten Vorgehensweise, die zuerstfestgelegt werden muss. Es gibt einige Arbeiten, die verschiedenste Möglichkeitendes Vorgehens aufzeigen. Ich habe mich für die Vorgehensweise entschieden, die in derArbeit [NM01] von N. Noy und D. McGuinness präsentiert wird. Sie wird auf der Homepagevon Protégé als Tutorial angeboten und passt daher inhaltlich auch zu demvon mir genutzten Editor. Außerdem zeigen verwandte AAL-Projekte, beispielsweiseMobileSage, Parallelen zum Vorgehen von N. Noy und D. McGuinness, wobei dieAAL-Projekte ihr Vorgehen oft nicht sehr ausführlich beschrieben haben.


54 6. PCEICL-OntologieIn [NM01] führen die Autoren zunächst drei fundamentale Regeln des Ontologie-Designs ein, die helfen sollen, Design-Entscheidungen zu treffen:1. Es gibt nicht nur einen korrekten Weg eine Domäne zu modellieren, es gibt immerauch Alternativen. Die beste Lösung hängt daher immer von der Applikationab, die man im Sinn hat, und von den Erweiterungen, mit denen man rechnet.2. Die Entwicklung einer Ontologie ist zwangsläufig ein iterativer Prozess.3. Die Konzepte der Ontologie sollten sich so nah wie möglich an den Objektenund Beziehungen der betrachteten Domäne orientieren. Diese sind im optimalenFall einfach die Nomen (=Objekte) und Verben (=Beziehungen) der Sätze, diedie Domäne beschreiben.Der iterative Prozess zieht sich grundsätzlich durch den gesamten Lebenszyklus derOntologie. Beim Design werden zunächst grobe Konzepte immer weiter verfeinert.Daraus entsteht eine erste Version der Ontologie. Als diese ist auch die PCEICL-Ontologie anzusehen. Durch den Einsatz in der eigentlichen Applikation, also derPCEICL-Plattform, oder auch durch mögliche Diskussionen mit Experten (in diesemFall Gerontologen, Experten aus anderen AAL-Projekten, usw.) wird die Ontologieevaluiert. Wenn nötig, muss die Ontologie dann auch neuen Erkenntnissen angepasstwerden.Das Vorgehen von N. Noy und D. McGuinness gliedert sich in sieben Schritte, die imfolgenden kurz erläutert werden:1. Bestimmung der Domäne und des Rahmens der OntologieUm die Domäne zu bestimmen und die Ontologie so gut wie möglich abzugrenzen,schlagen die Autoren vier Fragen vor, deren Antworten zur Bestimmungdienen. Zunächst sollte überlegt werden, welche Domäne von der Ontologie abdecktwerden soll. Dies ist im Fall der PCEICL-Ontologie ein Benutzerprofilmodell,das durch die Konzepte der Ontologie dargestellt werden soll. Dannsollte die Frage beantwortet werden, wozu man die Ontologie nutzen wird. Siewird von der PCEICL-Plattform dazu genutzt, Benutzerprofile von verschiedenenBenutzern einheitlich abzulegen und gegebenenfalls anzupassen. Mit Hilfeder Daten aus den Benutzerprofilen sollen die Applikationen der Plattform an


6. PCEICL-Ontologie 55die Bedürfnisse des jeweiligen Benutzers angepasst werden können. In der drittenFrage geht es darum, für welche Fragen die Ontologie Antworten bereitstellensollte. Die PCEICL-Ontologie sollte auf jeden Fall die wichtigsten Informationenüber den Benutzer enthalten, um ihn bei der Kommunikation und beimLernen bestmöglich unterstützen und bei der Informationssuche passende Informationenbereitstellen zu können. Welche Informationen die Ontologie bereitstellensollte, wird im Laufe dieses Kapitels erläutert und würde an dieser Stellenur zu unnötigen Wiederholungen führen. Die letzte Frage lautet: Wer nutzt undpflegt die Ontologie? Zum Zeitpunkt der Erstellung dieser Arbeit ist es nichtmöglich, diese Frage in vollem Umfang zu beantworten. Aber das ist auch nichtzwingend notwendig, da N. Noy und D. McGuinness darauf hinweisen, dass sichdie Antworten auf die vier Fragen im Laufe der Zeit noch ändern können. DieOntologie wird wahrscheinlich zentral auf einem Server der PCEICL-Plattformgespeichert. Dieser kümmert sich dann um die Anfragen der Applikationen undreicht ihnen die nötigen Informationen weiter. Die initialen Daten der Benutzerwerden, wie man in Kapitel 7 sehen kann, manuell über einen Eingabeassistentenerfasst und auf dem Server gespeichert. Die Pflege der Ontologie wird sicherteilweise manuell und teilweise vom Rechner erfolgen. Einige Instanzen werdenwohl vom Rechner angelegt werden. Komplexere Änderungen, wie beispielsweiseÄnderungen an der Klassenhierarchie, werden sicherlich eher manuell erfolgen.2. Mögliche Wiederverwendung existierender Ontologien prüfenIm Laufe der Recherchen zu dieser Arbeit bin ich auf einige Ontologien aus denunterschiedlichsten Fachbereichen gestoßen. Im AAL-Bereich waren die meistenOntologien sehr auf die Hausautomatisierung spezialisiert und beinhaltetenso gut wie keine Informationen über den Benutzer an sich (siehe SOPRANOin Kapitel 2.1). Lediglich die Ontologie des MobileSage-Projekts stellte zumindestteilweise das dar, was für die PCEICL-Plattform gefordert wird. Aberauch hier spielt die Umgebung des Benutzers eine große Rolle. Daher wirddie MobileSage-Ontologie nicht wiederverwendet, einige Teile der PCEICL-Ontologie sind aber an die Konzepte der MobileSage-Ontologie angelehnt. EinigeBegriffe und Konzepte zur Modellierung einer Benutzerprofil-Ontologiewerden auch in der Arbeit [GKV + 07] von Golemati et al. vorgestellt. Auch die-


56 6. PCEICL-Ontologiese Arbeit diente als Grundlage für die Suche nach Konzepten für die PCEICL-Ontologie. Bei den Recherchen im medizinischen Bereich stößt man auf vieleOntologien. Da es wichtig ist, den Gesundheitszustand des Benutzers in derPCEICL-Ontologie medizinisch korrekt wiederzugeben, wird der weit verbreiteteICD-Code genutzt. Dies wird im Laufe dieses Kapitels noch genauer erläutert.3. Aufzählen wichtiger Begriffe der OntologieHier sollen die wichtigsten Begriffe der Ontologie aufgezählt werden. DieserSchritt wurde im Design-Prozess natürlich durchgeführt, soll an dieser Stelleaber nicht weiter erläutert werden, da die wichtigsten Begriffe in Kapitel 6.2aufgeführt werden.4. Definieren von Klassen und KlassenhierarchienDieser und der nächste Schritt, also das Definieren der Properties, sind starkmiteinander verflochten und werden daher teilweise parallel ausgeführt. ZumDefinieren der Klassen und ihrer Hierarchie gibt es verschiedene Ansätze, dieverfolgt werden können, zum Beispiel das Top-Down-Prinzip, das Bottom-Up-Prinzip oder auch eine Kombination aus beiden. Da das Top-Down-Prinzip invielen AAL-Projekten bereits erfolgreich eingesetzt wurde, wurde es auch fürdie Entwicklung der PCEICL-Ontologie ausgewählt. Außerdem empfehlen N.Noy und D. McGuinness die Top-Down-Vorgehensweise, wenn man, wie inmeinem Fall, als Entwickler schon von Beginn an eine „Top-Down-Sicht“ aufdie Domäne hat. Die Top-Down-Sicht entsteht dadurch, dass der Benutzer alsKonzept in der Hierarchie ganz oben steht und von ihm aus weitere Konzepteabgeleitet werden. Die Ontologie wird in den folgenden Kapiteln im Ganzenvorgestellt, daher werden die Ergebnisse dieses Schrittes und der letzten Schrittein diesem Kapitel nicht weiter erläutert.5. Definieren von PropertiesIn diesem Schritt sollen die Properties zunächst ganz einfach definiert und angelegtwerden.6. Definieren von Facetten der Properties und RestriktionenErst in diesem Schritt sollen die Properties detailliert werden (z.B. den PropertiesDomain und Range zuordnen). Außerdem sollen hier die Restriktionen definiertwerden.


6. PCEICL-Ontologie 577. Instanzen anlegenIm letzten Schritt werden dann Instanzen angelegt.6.2 ÜberblickIn diesem Kapitel wird zunächst ein Überblick über die PCEICL-Ontologie gegebenbevor in Kapitel 6.3 detaillierter auf die einzelnen Konzepte eingegangen wird.Die PCEICL-Ontologie stellt ein Benutzerprofil dar, sollte also den Benutzer und seineEigenschaften beschreiben. Daher ist der Benutzer das zentrale Konzept und wirddurch die Klasse „User“ repräsentiert (siehe Abbildung 6.1).Abbildung 6.1: Überblick über die Grundkonzepte der PCEICL-Ontologie 33Der Benutzer selbst wird durch seine persönlichen Informationen genauer beschrieben.Diese werden durch die Klasse „PersonalInformation“ repräsentiert.33 Quelle: Autor


58 6. PCEICL-OntologieFür die Kommunikationsapplikationen der PCEICL-Plattform ist es außerdem wichtig,eine Kontaktliste des Benutzers zu haben. In dieser Liste sind alle Kontakte aufgelistet,die in irgendeiner Art und Weise mit dem Benutzer kommunizieren können. Die Kontaktedes Benutzers (z.B. Familienmitglieder, Ärzte, Freunde, Bekannte) werden durchdie Klasse „Contact“ abgebildet. Jeder Kontakt hat natürlich, genau wie der Benutzer,persönliche Informationen, die ebenfalls über die Klasse „PersonalInformation“ beschriebenwerden.Die übrigen Klassen in Abbildung 6.1 sind diejenigen Informationen über den Benutzer,die als besonders wichtig für eine gute Personalisierung der Services angesehenwerden. Die Klasse „Education“ beinhaltet Informationen über die Bildung des Benutzers,wobei hier nicht alle Daten als wichtig erachtet wurden, sondern nur ausgewähltewie die Fremdsprachen, die der Benutzer spricht. Dadurch ist es beispielsweisemöglich, für den Benutzer relevante Informationen in anderen Sprachen zu präsentieren,um die Fremdsprachenkenntnisse gezielt aufzufrischen. In dieser Klasse werdenaußerdem Informationen über die Lernerfolge, die der Benutzer durch die PCEICL-Plattform erreicht, gespeichert.Die Klasse „Interest“ dient zur Speicherung von Informationen über die Interessen desBenutzers. Aktiv ausgeübte Interessen, wie beispielsweise Mitgliedschaften in Vereinen,das Betreiben einer Sportart, werden durch die Klasse „Activity“ repräsentiert.Diese Angaben dienen dem System vor allem zur personalisierten Informationsassistenz,da dadurch gezielt Informationen zu den Hobbys und Interessen des Benutzersangeboten werden können und damit die Fülle an Informationen gefiltert werden kann.Vorlieben des Benutzers, wie zum Beispiel Lieblingsfarben und der Musikgeschmack,werden durch die Klasse „Preference“ repräsentiert. Diese Informationen dienen zumeinen wiederum der Informationssuche und -filterung und zum anderen aber auch derindividuellen Gestaltung der graphischen Oberfläche.Vor allem aber ist es wichtig, Angaben zum Gesundheitsstatus des Benutzers zu erhalten.Durch diese Informationen wird die Personalisierung optimiert, denn geradedie gesundheitlichen Einschränkungen der jeweiligen Person sollten bei der Gestaltungder Services besondere Beachtung finden. Die Gesundheitsinformationen werdendurch die Klasse „HealthCondition“ repräsentiert. Hier können nicht nur Erkrankungen,Verletzungen usw. festgehalten werden, sondern auch zusätzliche Informationen,wie die entsprechende Medikamentierung und Kontaktinformationen zum behandelndenArzt hinterlegt werden.


6. PCEICL-Ontologie 59Die Klasse „Capability“ stellt die Fähigkeiten und Einschränkungen des Benutzersdar. Sie werden in geistige und körperliche Fähigkeiten/Einschränkungen unterteilt.Beispiele hierfür können eine hohe Gedächtnisleistung oder eine Unbeweglichkeit bestimmterGliedmaßen sein. Einige der Informationen der „Capability“-Klasse könnenaus Informationen der „HealthInformation“-Klasse abgeleitet werden.


60 6. PCEICL-Ontologie6.3 Genauere BetrachtungUm die PCEICL-Ontologie detaillierter beschreiben zu können, werden in diesem Kapiteleinige Schaubilder 34 zu Hilfe genommen. In diesen Schaubildern wird farblichzwischen den einzelnen Arten von Properties, Klassen, usw. unterschieden. Klassenwerden in Orange, Object Properties in Rot, Datatype Properties in Blau und Datentypenin Grün dargestellt. Alle Namen, die in diesem und den folgenden Kapiteln verwendetwerden, sind frei erfunden und stellen keinen Bezug zu realen Personen dar.Das zentrale Konzept der Ontologie ist, wie schon erwähnt, der Benutzer. Er wirddurch die Klasse „User“ repräsentiert, welche eine Unterklasse von „Person“ darstellt.Eine weitere Unterklasse von „Person“ ist „Contact“, zeichnet also die Kontakte desBenutzers auf. Eine Instanz der Klasse „User“ wäre beispielsweise „Herr F.“ und eineInstanz der Klasse „Contact“ könnte „Sarah Maier“, die Tochter von Herrn F. sein.Abbildung 6.2: Klasse „Person“Die Klasse „Person“ ist eine definierte Klasse, das heißt, die in Abbildung 6.2 gezeigteRestriktion stellt eine notwendige und hinreichende Bedingung dar. Eine Instanz derKlasse „Person“ muss genau eine Property zu einem Identifier in Form eines Stringsund genau eine Property zu einer Instanz der Klasse „PersonalInformation“ haben.34 Alle in diesem Kapitel gezeigten Abbildungen wurden vom Autor dieser Arbeit erstellt.


6. PCEICL-Ontologie 61Diese Restriktion wird den Unterklassen vererbt, womit auch jede Instanz der Klassen„User“ und „Contact“ diese Bedingung erfüllen muss. Somit wird durch die Ontologiesichergestellt, dass jede Person, die das System direkt oder indirekt nutzt, eindeutigbeschrieben wird.Abbildung 6.3: Klasse „PersonalInformation“In der Klasse „PersonalInformation“ (siehe Abbildung 6.3) kann man den Namen derPerson, ihre Adresse, ihr Geschlecht, ihr Geburtsdatum, ihre Muttersprache und Kontaktinformationen,wie die Telefonnummer, E-Mail-Adresse, usw., hinterlegen. DieAdresse wird durch die definierte Klasse „Address“ repräsentiert. Ihre Instanzen müssenProperties zu Instanzen der Klassen „Street“, „City“, „Region“ und „Country“ habenund über genau eine Straßennummer verfügen. In den persönlichen Informationensoll nur die Muttersprache angegeben werden, weitere Sprachen, die eine Personspricht, können dann in der Klasse „Education“ gespeichert werden. Die Klasse „ContactDetails“hat weitere Unterklassen, die die Kommunikationskanäle repräsentieren.„Mail“, „Telephone“ und „VideoChat“ sind einige dieser Unterklassen. Jede Instanzdieser Klasse sollte genau eine Property zu einer Instanz der Klasse „ContactDetail-


62 6. PCEICL-OntologieType“ haben, über die man angeben kann, ob eine Telefonnummer, E-Mail-Adresseoder eine andere Kommunikationsinformation privat, geschäftlich, usw. ist. Des Weiterenkönnen in jeder dieser Klassen die für den Kommunikationskanal typischen Informationengespeichert werden, wie beispielsweise die Telefonnummer, die E-Mail-Adresse oder der Benutzername. Komplette Account-Daten, also der Benutzernameund das zugehörige Passwort, werden an dieser Stelle nicht gespeichert. Dies ist darinbegründet, dass nicht nur von den Benutzern „ContactDetails“ gespeichert werden,sondern auch von den Kontakten. Von ihnen braucht man zur Kommunikation überbeispielsweise Skype aber nur den Benutzernamen und nicht sein Passwort. Durch diestrikte Trennung dieser Informationen kann später leichter sichergestellt werden, dassvertrauliche Daten wie Passwörter geschützt werden.Bisher kann man mit der Ontologie also Benutzer und Kontakte anlegen, zu denenzwingend eine ID und persönliche Informationen gespeichert werden müssen. Im Folgendensollen nun die Klassen „User“ und „Contact“ genauer betrachtet werden.Abbildung 6.4: Klasse „Contact“Der Aufbau der Klasse „Contact“ ist in Abbildung 6.4 dargestellt. Zu jedem Kontaktist es zum einen möglich, eine Kontaktkategorie (Familie, Ärzte, Freunde, Bekannte,usw.) anzugeben. Diese wird durch die Klasse „ContactType“ repräsentiert. Durch dieKategorisierung der Kontakte hat das System später die Möglichkeit, Kontaktinformationengezielter anzuzeigen. Beispielsweise könnten im Notfall alle Familienmitglieder


6. PCEICL-Ontologie 63informiert werden oder es könnte gezielt die Kontaktaufnahme zu einem Arzt vorgeschlagenwerden, wenn der Benutzer sich über ein bestimmtes Medikament informiert.Zum anderen sollten, wenn vorhanden, zu den Kontakten Bilder gespeichert werdenkönnen. Die zuständige Klasse nennt sich „Picture“ und bietet die Möglichkeit, denSpeicherort des Bildes zu hinterlegen. Man kann hier auch mehrere Bilder hinterlegenund somit Alben realisieren. Durch das Speichern von Bildern könnte auch eine automatischeBilderkennung entwickelt werden. Beispielsweise könnte die Kommunikationmit einer bestimmten Person durch das Scannen eines Bildes von dieser gestartetwerden. So könnte man das Auswählen der Person aus der Kontaktliste vermeiden.Abbildung 6.5: Klasse „User“Die Klasse „User“ ist, wie schon gesagt, die zentralste Klasse der Ontologie (sieheAbbildung 6.5). Sie besitzt Properties zu vielen Klassen der Ontologie, und zwarzu „Contact“, „Activity“, „Capability“, „Education“, „Preference“, „HealthCondition“und „Interest“, also genau zu den Klassen, die in Kapitel 6.2 vorgestellt wurden.


64 6. PCEICL-OntologieAbbildung 6.6: Klasse „Interest“In der Klasse „Interest“ werden die Interessen des Benutzers gespeichert (siehe Abbildung6.6). Diese können durch die Angabe eines „InterestType“ kategorisiert werden.Beispielsweise könnte im Falle des Herrn F. die Instanz „Modelleisenbahnen“ eine Instanzder Klasse „Interest“ und die dazu passende Instanz „Modellbau“ eine Instanz derKlasse „InterestType“ sein. Zudem kann zu jedem Interesse über die Property „hasLevel“eine Einstufung erfolgen. Man könnte also angeben, dass Modelleisenbahnen seingrößtes Interesse darstellen und beispielsweise die Landwirtschaft für ihn ein bisschenweniger interessant ist. Diese Property wird in vielen weiteren Klassen eingesetzt undbesitzt als Range den Datentyp String. In diesem String kann man dann je nach Klassepassende Ausdrücke für die Einstufung wählen. Zum Beispiel wäre eine Einstufungder Interessen mit den Begriffen „hoch“, „mittel“ und „gering“ passend. Im Gegensatzdazu würde diese Einstufung bei der Beschreibung einer Sehschwäche nicht passen.Hier würde sich vielmehr die Dioptrienzahl als „Level“ eignen.Abbildung 6.7: Klasse „AdditionalInformation“


6. PCEICL-Ontologie 65Innerhalb der Klasse „Interest“ kann man auch weitere Informationen angeben, diedas Interesse näher beschreiben. Diese Informationen werden in der Klasse „AdditionalInformation“zusammengefasst (siehe Abbildung 6.7). In einem String kann manhier einfach eine Beschreibung oder andere Details des Interesses ablegen. Außerdemhat man die Möglichkeit einen Pfad oder eine URL 35 anzugeben. Hier könnte HerrF. beispielsweise den Pfad zu einem Fotoalbum, in dem Bilder der Modelleisenbahnsammlungdes Herrn F. gespeichert sind, und als URL die Adresse der Website seinesModelleisenbahnclubs angeben.Abbildung 6.8: Klasse „Capability“Die Klasse „Activity“, in der aktiv ausgeübte Hobbys wie eine Vereinsmitgliedschaftoder eine Sportart gespeichert werden können, besitzt genau den gleichen Aufbau wiedie Klasse „Interest“. Die Klasse „Capability“ (siehe Abbildung 6.8) unterscheidet sichvon den beiden anderen nur darin, dass sie in zwei Unterklassen unterteilt ist. Diesestellen die Differenzierung zwischen körperlichen („PhysicalCapability“) und geistigen(„CognitiveCapability“) Einschränkungen oder Fähigkeiten dar.35 Uniform Resource Locator


66 6. PCEICL-OntologieAbbildung 6.9: Klasse „Education“Eine weitere Klasse, die den Benutzer genauer beschreibt, ist die Klasse „Education“(siehe Abbildung 6.9). In dieser werden nun, ergänzend zur Muttersprache, die inder Klasse „PersonalInformation“ gespeichert wird, Fremdsprachen, die vom Benutzergesprochen werden, gespeichert. Das System kann diese Informationen zum Beispieldazu verwenden, dem Benutzer auch fremdsprachige Informationen zur Verfügung zustellen. In der Klasse „Education“ findet außerdem die Speicherung von Fortschrittenbeim Lernen statt. Dies geschieht über die Klasse „Qualification“, die den gleichenAufbau wie die Klassen „Interest“, „Activity“ und „Capability“ hat. Nimmt der Benutzerbeispielsweise an einem Kochkurs teil, kann in dieser Klasse sein Fortschrittgespeichert werden. Außerdem besteht auch hier wieder die Möglichkeit, erlernte Rezepte,Bilder der zubereiteten Mahlzeiten oder andere Zusatzinformationen mit Hilfeder Klasse „AdditionalInformation“ zu speichern.Weitere Informationen über die Bildung des Benutzers, wie beispielsweise seine schulischeoder berufliche Ausbildung, spielen im Kontext der PCEICL-Plattform keineRolle und wurden daher auch nicht in die Ontologie aufgenommen. Bei der Entwicklungder Ontologie wurde generell darauf geachtet, dass eine Speicherung überflüssigerDaten des Benutzers vermieden wird. Es ist aber auch umgekehrt leicht möglich, dieOntologie zu erweitern. Beispielsweise könnten weitere Informationen zur Bildungdes Benutzers, falls nötig, in der Klasse „Education“ ergänzt werden. Grundsätzlichkönnten auch weitere Profildaten des Benutzers leicht ergänzt werden, da die Klasse„User“ als zentrale Klasse modelliert wurde und alle Profildaten als Properties mit ihrverbunden sind.


6. PCEICL-Ontologie 67Abbildung 6.10: Klasse „SystemInformation“Eine weitere Beziehung hat die Klasse „User“ mit Instanzen der Klasse „Preference“.Diese ist durch Unterklassen in „PersonalPreference“ und „SystemPreference“ unterteilt.Durch die Klasse „PersonalPreference“ sollen persönliche Vorlieben wie dieLieblingsfarbe oder der Musikgeschmack des Benutzers gespeichert werden können.Sie besitzt denselben Aufbau wie die Klasse „Interest“ (siehe Abbildung 6.6). DieKlasse „SystemPreference“ stellt hingegen die bevorzugten Systemeinstellungen dar.Für jedes System, dessen Einstellungen hier gespeichert werden sollen, soll hier eineBeziehung zu einer Instanz der Klasse „SystemInformation“ bestehen. In der Klasse„SystemPreference“ wird die Restriktion definiert, dass es mindestens eine dieserBeziehungen geben muss. Dies wurde so modelliert, damit zumindest die Systemeinstellungenfür die PCEICL-Plattform selbst angegeben werden. Weitere Systemeinstellungenkönnen die der installierten Services oder Geräte sein. Die Klasse „System-Information“ ist eine definierte Klasse (siehe Abbildung 6.10). Sie schreibt zwingendvor, dass die bevorzugten Einstellungen und genau ein Systemname angegeben werden.Die Angabe von Accountdaten für das jeweilige System ist nicht vorgeschrieben.Über den Systemnamen können die Einstellungen dann genau zugeordnet werden. Diebevorzugten Einstellungen können sehr unterschiedlich aussehen, je nach Gerät, Serviceoder System. Daher werden diese als einfacher String abgelegt, um hier eine hoheFlexibilität zu erreichen und hersteller- und plattformunabhängig zu sein.


68 6. PCEICL-OntologieAbbildung 6.11: Klasse „Account“Durch die definierte Klasse „Account“ ist es möglich, Authentifizierungsinformationenzu speichern (siehe Abbildung 6.11). Diese liegen wohl in den meisten Fällen alseine Kombination von Benutzername und Passwort vor. Daher schreibt die Klasse vor,dass entweder genau ein Benutzername und genau ein Passwort vorliegen oder dasseine andere Authentifizierungsart als String gespeichert wird (zum Beispiel ein Zertifikat).Abbildung 6.12: Klasse „HealthCondition“Die wohl wichtigsten Informationen im Benutzerprofil sind die Gesundheitsinformationen.Sie bestimmen vorwiegend das Verhalten, die Funktionen und die graphischen


6. PCEICL-Ontologie 69Oberflächen der gesamten PCEICL-Plattform und all ihrer Services. Jede gesundheitlicheBeeinträchtigung wird als eine Instanz der Klasse „HealthCondition“ (siehe Abbildung6.12) gespeichert.Abbildung 6.13: Beispielsuche ICD-Code für „Alterssichtigkeit“ 36Jede Krankheit, Beeinträchtigung oder dergleichen wird durch die Speicherung des zugehörigenICD-Codes medizinisch korrekt beschrieben. Der ICD-Code (InternationalStatistical Classification of Diseases and Related Health Problems Code) ist, wie derName schon sagt, ein internationales medizinisches Klassifikationssystem für Diagnosen.Es gibt eine deutsche Übersetzung des ICD-Codes, welche kostenfrei genutzt werdenkann. Das Klassifikationssystem besteht aus mehreren Kapiteln, die auf der Websitehttp://www.icd-code.de 37 eingesehen werden können. Zudem kann manauf dieser Website nach dem ICD-Code zu einer bestimmten Diagnose suchen. EinBeispiel für eine solche Suche ist in Abbildung 6.13 dargestellt. Hier wurde nach demBegriff „Alterssichtigkeit“ gesucht, woraufhin als Ergebnis der medizinische Fachbegriff„Presbyopie“ und der zugehörige ICD-Code „H52.5“ angezeigt wurde. Wie mansehen kann, muss man noch nicht einmal nach den medizinischen Begriffen suchen,sondern kann die allgemein bekannten Begriffe für die Diagnosen verwenden.In der Klasse „HealthCondition“ kann zudem ein medizinischer Kontakt, also zumBeispiel der behandelnde Arzt, gespeichert werden. Zur „Alterssichtigkeit“ könnte alsoder Augenarzt angegeben werden. Durch die Kategorisierung der Kontakte könntedas System hier eine Vorauswahl treffen und nur die Kontakte der Gruppe „Arzt“ zurAuswahl geben. Durch die Property „hasLevel“ kann, wie schon erwähnt, eine Einstufungerfolgen, also beispielsweise eine Dioptrienzahl bei der Alterssichtigkeit.36 Quelle: http://www.icd-code.de/icd/code/ICD-10-GM-2013.html; aufgerufen am20.09.201337 aufgerufen am 20.09.2013


70 6. PCEICL-OntologieAbbildung 6.14: Klasse „Medication“In der Klasse „HealthCondition“ kann außerdem eine mögliche Medikamentierungder Krankheit angegeben werden. Die Klasse „Medication“ bildet diese Medikamentierungab. Sie bietet die Möglichkeit, den Namen des Medikaments, die Dosierung,Zeitpunkte der Einnahme und einen Zeitraum, in dem die Medikamente genommenwerden sollen, anzugeben.


6. PCEICL-Ontologie 71Abbildung 6.15: Klasse „History“Eine letzte wichtige Klasse der Ontologie bildet die Klasse „History“. Durch sie ist esmöglich, eine historische Betrachtung des Benutzerprofils zu erhalten. Wird eine Instanzeiner der Klassen „HealthCondition“, „Activity“, „Capability“, „Education“, „Interest“oder „Preference“ ungültig, sollte sie nicht weggeworfen werden, sondern als„History“-Objekt gespeichert werden. Die Klasse „History“ verlangt eine Instanz dergenannten Klassen und genau einen Zeitstempel, um die Instanzen auch zeitlich einsortierenzu können. Wird also beispielsweise eine „HealthCondition“-Instanz angelegt,weil der Benutzer alterssichtig ist, kann diese Instanz, wenn sich die Sehschwächeverändert (sich also die Dioptrienzahl erhöht oder verringert), als „History“-Instanz gespeichertund eine neue „HealthCondition“-Instanz mit der veränderten Dioptrienzahlangelegt werden. So ist eine historische Betrachtung der Sehschwäche möglich unddas System kann sich an die veränderte Situation anpassen.


72 6. PCEICL-Ontologie


7. Benutzerprofil-Eingabeassistent 737 Benutzerprofil-EingabeassistentIn diesem Kapitel soll demonstriert werden, wie die PCEICL-Ontologie genutzt werdenkann. Wie schon erwähnt, gibt es viele Anwendungsszenarien für die Ontologie.Diese reichen vom Anlegen der Benutzerprofile bis zur Funktions- und Oberflächenanpassungder Services. Da die Anpassung der Services auf Basis der Ontologie starkvom individuellen Benutzerprofil abhängt, gibt es hier sehr viele Anwendungsszenarien,die an dieser Stelle als Beispiel für den Einsatz der Ontologie gezeigt werdenkönnten. Es gibt hingegen aber nur wenige dieser Szenarien, die alle oder wenigstenssehr viele der Konzepte der Ontologie und ihre Wechselwirkungen zeigen könnten.Die Eingabe der Benutzerprofile, wie sie in Kapitel 5.2 durch das Teilszenario beschriebenwird, deckt dagegen alle Konzepte der Ontologie ab. Zudem können aucheinige Beispiele gezeigt werden, bei denen sich die Konzepte gegenseitig beeinflussen.Anhand dieses Szenarios kann also demonstriert werden, dass die Ontologie durchihre definierten Konzepte und Beziehungen einen großen Mehrwert für die PCEICL-Plattform darstellt.In den nächsten Kapiteln wird gezeigt, wie ein möglicher Eingabeassistent für die Benutzerprofileaussehen könnte. Dabei muss beachtet werden, dass bei der Gestaltungder Software davon ausgegangen wurde, dass geschultes Personal diese Software bedient.Dies könnte also zum Beispiel eine Person vom Roten Kreuz sein, wie sie inKapitel 5.2 beschrieben wurde, die mit dem zukünftigen Benutzer der Plattform seineDaten über den Assistenten eingibt. In den folgenden Beispielen gibt Frau K. zusammenmit Herrn F. seine Profildaten über den Assistenten ein (alle Daten und Personensind also frei erfunden).


74 7. Benutzerprofil-Eingabeassistent7.1 Erste SchritteAbbildung 7.1: Startfenster des EingabeassistentenWird die Software gestartet, wird zunächst ein Willkommensbildschirm, wie in Abbildung7.1 dargestellt, gezeigt. Man hat hier nun zwei Optionen: das Anlegen einesneuen oder das Überarbeiten eines vorhandenen Benutzerprofils. In dieser Arbeit wirdlediglich das Anlegen eines neuen Benutzerprofils gezeigt. Beim Überarbeiten einesvorhandenen Profils können einzelne Daten des Benutzers geändert werden. Ändertsich also beispielsweise die Dioptrienzahl des Benutzers, kann dies hier eingegebenwerden. Daraufhin wird der Prozess zur Ablage von alten Objekten als „History“-Instanzen gestartet, wie er am Ende des Kapitels 6.3 beschrieben wurde, und eine neue„HealthCondition“-Instanz wird dafür angelegt.


7. Benutzerprofil-Eingabeassistent 75Abbildung 7.2: Schritt 1 - Persönliche InformationenFährt man also mit dem Anlegen eines neuen Benutzerprofils fort, kommt man zumersten Schritt bei der Eingabe der Benutzerdaten (siehe Abbildung 7.2). Man kann aufder linken Seite verfolgen, bei welchem Schritt man gerade steht und wie viele Schrittenoch folgen werden. Auf der rechten Seite des Fensters kann man nun die gefordertenEingaben machen. In diesem Fall werden zunächst die persönlichen Informationenabgefragt. Diesen Schritt als ersten zu wählen liegt darin begründet, dass zunächstein neuer Benutzer als „User“-Instanz mit einer neuen ID angelegt werden muss, derdurch seine „PersonalInformation“ definiert wird. In diesem Fenster werden also Informationen,wie der Name, das Geschlecht, das Geburtsdatum, die Muttersprache unddie Adresse abgefragt. Zudem wird schon in diesem Schritt nach den Fremdsprachen,die die Person spricht, und seinen Telefonnummern gefragt. Diese beiden Punkte sindnicht Bestandteil der „PersonalInformation“-Klasse, es ist aber für das Design des Assistentennicht sinnvoll, sie in separaten Schritten abzufragen.


76 7. Benutzerprofil-EingabeassistentAbbildung 7.3: Schritt 2 - Kontakte importierenAbbildung 7.4: Schritt 2 - Kontakte anlegenDer zweite Schritt befasst sich mit den Kontakten des Benutzers. Bei der Angabe derKontakte gibt es zwei Optionen: zum einen hat man die Möglichkeit, Kontakte einfachaus einer vorhandenen Kontaktliste zu importieren (siehe Abbildung 7.3), undzum anderen kann man Kontakte manuell anlegen (siehe Abbildung 7.4). Die Kontaktlistekann man auf der linken Seite auswählen und bekommt die Kontakte dann


7. Benutzerprofil-Eingabeassistent 77direkt auf der rechten Seite mit all ihren persönlichen Informationen (sofern vorhanden)angezeigt. Beim Anlegen oder auch Überarbeiten von Kontakten können danndie persönlichen Informationen, eine Kategorie („ContactType“), in die der Benutzersortiert wird, ein Bild und die Kontaktinformationen (Telefon, Mail, usw.) eingegebenwerden.7.2 Gesundheits- und andere ProfilinformationenDa die Informationen über den Gesundheitsstatus die wichtigsten Profildaten darstellen,erfolgt die Eingabe derselben schon in Schritt 3 (siehe Abbildung 7.5). Die frühzeitigeEingabe ist aber vor allem deshalb wichtig, weil die Gesundheitsinformationengroße Auswirkungen auf alle anderen noch abzufragenden Profildaten haben.Abbildung 7.5: Schritt 3 - GesundheitsinformationenFür jede Krankheit oder Beeinträchtigung gibt man zunächst deren Bezeichnung undICD-Code in die Felder ein. Über eine Verlinkung kommt man direkt zur ICD-Code-Suche. Im Anschluss kann man den Schweregrad der Krankheit oder Beeinträchtigungeingeben, der in der Ontologie durch die Property „hasLevel“ repräsentiert wird.


78 7. Benutzerprofil-EingabeassistentBei einem grippalen Infekt würde beispielsweise das Stichwort „leicht“ ausreichen,wohingegen bei einer Sehschwäche die Dioptrienzahl eingegeben werden sollte. DesWeiteren kann man einen medizinischen Kontakt auswählen, wobei hier ausschließlichKontakte der passenden Kategorien angeboten werden, da zuvor die Kontakte miteiner Kategorie getagt wurden. Falls bei einer Erkrankung oder Beeinträchtigung eineMedikamentierung erforderlich ist, kann diese ebenfalls angegeben werden. Dabeikann man die Bezeichnung des Medikaments, die Einnahmezeiten, die zugehörigeDosierung und den Einnahmezeitraum eingeben. Herr F. beispielsweise hat über diesesFenster angegeben, dass er alterssichtig, gehbehindert und leicht schwerhörig ist.Zudem leidet er an einer Rot-Grün-Sehschwäche und derzeit an einem grippalen Infekt.Abbildung 7.6: Schritt 4 - FähigkeitenWie man in Abbildung 7.6 sehen kann, wird die Eingabe der Fähigkeiten in zwei vonder Ontologie vorgegebene Kategorien unterteilt: körperliche und geistige Fähigkeiten.Im rechten Bereich des Fensters kann man sehen, dass das PCEICL-System gewisseEinschränkungen aus den vorherigen Angaben über den Gesundheitsstatus von HerrnF. abgeleitet hat. Es erkennt im Fall des Herrn F., dass er unter einer eingeschränktenMobilität der Beine und unter einem eingeschränkten Sehvermögen leidet. Zu diesenabgeleiteten Einschränkungen oder Fähigkeiten können nun noch weitere eingegeben


7. Benutzerprofil-Eingabeassistent 79werden. Die Eingabe folgt hier dem Schema, dass durch die Ontologie vorgegebenwird.Abbildung 7.7: Schritt 5 - Interessen und AktivitätenInteressen und Aktivitäten werden, wie man in Abbildung 7.7 sehen kann, in einemgemeinsamen Schritt eingegeben. Denn im Grunde unterscheiden sich die Beiden alleindarin, dass Aktivitäten aktiv ausgeübte Interessen darstellen. Die Unterscheidungzwischen Interessen und Aktivitäten erfolgt ganz am Anfang der Eingabe durch dieAuswahl „Aktive Teilnahme“ und „Passives Interesse“. Je nach Auswahl wird in derOntologie eine Instanz der Klasse „Activity“ oder eine Instanz der Klasse „Interest“angelegt. Man kann in diesem Schritt weitere Detailinformationen zu den jeweiligenInteressen und Aktivitäten anlegen und diese zudem nach Wichtigkeit sortieren. Durchdie Pfeiltasten ganz rechts im Fenster kann man die Liste entsprechend sortieren.


80 7. Benutzerprofil-EingabeassistentAbbildung 7.8: Schritt 6 - VorliebenIn Schritt 6 sollen die Vorlieben des Benutzers eingeben werden. Auch hier können,wie durch die Ontologie vorgegeben, Detailinformationen für jede Vorliebe eingegebenwerden. Herr F. gibt in diesem Fenster seine Leidenschaft für klassische Musik und diedeutsche Küche an. Zudem hat er eingegeben, dass seine Lieblingsfarbe Blau ist.


7. Benutzerprofil-Eingabeassistent 817.3 Systemeinstellungen und der AAL App StoreAbbildung 7.9: Schritt 7 - Systemeinstellungen PlattformIn den letzten Schritten geht es darum, die PCEICL-Plattform und die Services zu konfigurieren.In Schritt 7 werden dazu zunächst Angaben über die Defaulteinstellungender PCEICL-Plattform gemacht (siehe Abbildung 7.9). Das System kann aufgrund dereingegebenen Profildaten des Benutzers nun Empfehlungen für die einzelnen Einstellungenaussprechen und liefert zudem eine Begründung im rechten Teil des Fensters.Im Fall des Herrn F. wird aufgrund der leichten Schwerhörigkeit eine etwas erhöhteLautstärke empfohlen. Zudem werden als Systemfarben Blau und Gelb vorgeschlagen,da Blau die Lieblingsfarbe von Herrn F. ist und Rot und Grün aufgrund seiner Rot-Grün-Sehschwäche ausgeschlossen werden. Aufgrund seiner noch nicht weit fortgeschrittenenAlterssichtigkeit wird eine große, aber noch nicht sehr große Schrift empfohlen.All diese Einstellungen können dann in einer Vorschau der PCEICL-Plattformgezeigt werden. Sollte daraufhin eine Einstellung nicht passen, kann diese natürlichverändert werden.


82 7. Benutzerprofil-EingabeassistentAbbildung 7.10: Schritt 8 - Systemeinstellungen DiensteIn Schritt 8 sollen die Einstellungen für die Dienste eingeben werden (siehe Abbildung7.10). Diese Einstellungen sollten von allen Diensten, die installiert werden, übernommenwerden. Auch hier werden wieder Empfehlungen vom System ausgesprochen, dieim Großen und Ganzen denen aus Schritt 7 entsprechen. Weitere für jeden Dienst individuelleEinstellungen werden dann über die Einzelkonfiguration erfasst. Über denentsprechenden Button im Fenster gelangt man zum AAL App Store.


7. Benutzerprofil-Eingabeassistent 83Abbildung 7.11: AAL App StoreIm AAL App Store, dargestellt in Abbildung 7.11, kann man alle Apps und Dienste,die die PCEICL-Plattform bietet, suchen, finden, installieren und konfigurieren. Durchdie Profildaten des Benutzers kann das System auch hier Empfehlungen aussprechen.Beispielsweise wird Herrn F. eine Modelleisenbahn-App präsentiert, weil er zuvor seingroßes Interesse an Modelleisenbahnen bekundet hat.


84 7. Benutzerprofil-EingabeassistentAbbildung 7.12: Installation eines Dienstes über den AAL App StoreIn Abbildung 7.12 kann man sehen, dass sich Herr F. dazu entschieden hat, eine Skype-App zu installieren, da er Skype schon regelmäßig nutzt, um mit seinen Kindern undEnkeln zu kommunizieren. Frau K. gibt dazu seine Accountinformationen und einigespezielle Einstellungen ein und installiert die App direkt über den AAL App Store. DieSkype-App ist nun durch die Angabe seiner Profildaten auf die Bedürfnisse von HerrnF. angepasst und sehr viel leichter zu bedienen als die Version, die er vorher genutzthat.


8. Fazit und Ausblick 858 Fazit und AusblickIn dieser Master-Thesis wurden zu Beginn verwandte AAL-Projekte vorgestellt, diekontextsensitive Systeme entwickelt haben oder wie im Falle von universAAL und MobileSagederzeit noch entwickeln. Bei den Untersuchungen wurde festgestellt, dass diemeisten kontextsensitiven Systeme im AAL-Bereich überwiegend die Umgebung desBenutzers als Kontext definieren. Dies ist darin begründet, dass es sehr viele Projektegibt, die Assistenzsysteme entwickeln, die die Umgebung des Benutzers beobachtenund entsprechend auf Veränderungen reagieren. Beispiele für solche Systeme sind vorallem Hausautomatisierungs- und Notfallsysteme. Nur sehr wenige Systeme beziehenden Benutzer selbst und seine Eigenschaften in den Kontext mit ein. Lediglich dasProjekt MobileSage dehnt den Begriff Kontext weiter aus und modelliert ein Benutzerprofil,das zur Anpassung des Systems an die Umgebung und den Benutzer selbstgenutzt wird. Allen Projekten ist allerdings gemeinsam, dass sie Kontext in Form vonOntologien modellieren.Nachdem die verwandten Projekte vorgestellt wurden, wurde erläutert was Kontextund Kontextsensitivität bedeutet. Außerdem wurden Modellierungsarten für Kontextinformationenpräsentiert und Vor- und Nachteile aufgezeigt. Ontologien stellten sichhierbei als am besten geeignet für die Modellierung der Benutzerprofile der PCEICL-Plattform dar.Was Ontologien sind und wo sie Anwendung finden, wurde dann im nächsten Kapitelgeklärt. Außerdem wurde die Web Ontology Language (OWL), in der die PCEICL-Ontologie modelliert wurde, vorgestellt und die nötigen Grundlagen für das Verständnisder Ontologie wurden vermittelt.Zur Herausstellung der Merkmale und Funktionen der PCEICL-Plattform wurden UseCases entwickelt. Sie dienen als Basis für die Modellierung der PCEICL-Ontologieund als Vorlage für Beispiele zur Nutzung der Ontologiekonzepte.Für die Modellierung der PCEICL-Ontologie wurde dann zunächst ein Vorgehensmo-


86 8. Fazit und Ausblickdell gewählt und das Vorgehen beschrieben. Die Ontologie selbst wurde zunächst imÜberblick und anschließend detaillierter betrachtet. Als Beispiel für die Anwendungder Ontologie wurde dann das Konzept eines Eingabeassistenten für die Benutzerprofilepräsentiert.Zusammenfassend kann man sagen, dass Kontextsensitivität im Allgemeinen immerwichtiger wird, aber vor allem eine zwingende Bedingung für Assistenzsysteme fürältere Menschen darstellt. Eine reine Barrierefreiheit der graphischen Oberfläche derSysteme zu realisieren reicht nicht aus, um langfristig Unterstützung im Alltag zu bieten.Barrierefreiheit bedeutet dabei vor allem, dass der Benutzer selbst Anpassungenan der Oberfläche vornehmen kann, wie beispielsweise die Einstellung der Schriftgröße.Die Systeme müssen sich speziell auf den jeweiligen Benutzer adaptieren können.Dies betrifft nicht nur die graphische Benutzeroberfläche, sondern auch die Funktionalitäten.Das bedeutet auch, dass die Systeme oft nicht auf andere Domänen außer denAAL-Bereich portierbar sind und dies auch nicht sein müssen.Anpassungen des Systems an sich ändernden Kontext sollten, wenn möglich, automatisierterfolgen. Dies ist in einigen Bereichen wichtiger als in anderen. Unausweichlichist die Automatisierung sicherlich bei der Haussteuerung oder auch beiNotfallsystemen. Bei der PCEICL-Plattform dagegen ist sicherlich nur eine Teilautomatisierungsinnvoll. Einige Konzepte der Ontologie sind statisch, wie beispielsweisedie persönlichen Informationen der Benutzer. Andere Konzepte sind zwar dynamisch,aber teilweise sicher nicht leicht automatisch zu erfassen. Beispielsweise können einsich verändernder Gesundheitszustand oder auch neue Gesundheitsinformationen wohleher durch einen Arzt als durch das System festgestellt werden. Informationen wiebeispielsweise Interessen oder auch neu erlerntes Wissen können dagegen sicherlichdurch Beobachtungen des Systems automatisch erfasst und ausgewertet werden.Die Ontologie stellt sicher eine gute Grundlage dar, um automatisiert auf Kontextänderungenreagieren zu können. Durch komplexere Beziehungen in der Ontologiekann man ein Regelwerk schaffen, dass es erlaubt, dies zu realisieren. Die PCEICL-Ontologie ist, wie schon gesagt, als erste Version anzusehen. Sie ermöglicht es, Benutzerprofilezu erfassen und deren Informationen zu nutzen, mit denen die Funktionenund das Design der PCEICL-Plattform an die Bedürfnisse des Benutzers angepasstwerden können. Durch die Ontologie können, wie mit dem Eingabeassistenten gezeigt,Informationen gezielt ausgewertet und mit anderen verknüpft werden. Dadurch


8. Fazit und Ausblick 87entsteht ein großer Mehrwert für die Plattform.Von der Umgebung des Benutzers und des Systems werden in der PCEICL-Ontologielediglich die Kontakte des Benutzers erfasst, also das soziale Umfeld. Andere den Benutzerumgebende Dinge, wie beispielsweise die Temperatur, in der Wohnung installierteSensoren oder Geräte, werden nicht berücksichtigt. Dies ist darin begründet, dassdiese Informationen für die Realisierung des PCEICL-Szenarios und die daraus abgeleitetenFunktionen der Plattform derzeit nicht benötigt werden. Grundsätzlich werdenvon der PCEICL-Ontologie nur diejenigen Informationen erfasst, die momentan alsrelevant erachtet werden. Eine Erweiterung der Ontologie um weitere Kontextinformationenist allerdings jederzeit möglich. Es können unter anderem auch ganze Ontologienhinzugefügt werden, wie zum Beispiel die SOPRANO-Ontologie. So könntedie Plattform leicht um die Überwachung, Auswertung und Reaktion auf Sensordatenerweitert werden. Stellt sich im Laufe des Forschungsprojekts vielleicht sogar heraus,dass Informationen zum Beispiel über die Bildung des Nutzers doch hilfreich wären,könnte die Ontologie auch um solche Konzepte problemlos erweitert werden.Auf Basis der PCEICL-Ontologie können in Zukunft nun Services und Applikationenentwickelt werden, die sich den Bedürfnissen des jeweiligen Benutzers anpassen.Hierzu ist es sicherlich nicht sinnvoll, jedem Service Zugang zum gesamten Benutzerprofilzu gewähren. Das bedeutet, dass man sich in Zukunft Gedanken über denSchutz der persönlichen Daten des Benutzers machen muss. Denkbar wäre an dieserStelle sicher ein Management-System, das die Einhaltung der Ontologie überwachtund die Daten, die auf Basis der Ontologie über den Benutzer gespeichert werden,schützt. Man könnte zum Beispiel über ein Single-Sign-On-System die Zugriffe derServices auf die Daten regeln und jedem Service nur die Daten sicher übermitteln, dieer benötigt, um personalisiert zu agieren. Beispielsweise würde eine Video-Telefonie-Applikation zwar Informationen über die Fähigkeiten und Einschränkungen (in Bezugauf das Sehen und Hören) des Benutzers benötigen, sicherlich aber nicht detaillierteInformationen über seinen Gesundheitsstatus.Eine weitere Besonderheit der Ontologie stellt auf jeden Fall die medizinisch korrekteBeschreibung der Gesundheitsinformationen dar. Durch das ICD-System wird sichergestellt,dass, auch wenn unterschiedliche Begriffe für die jeweiligen Krankheitenbenutzt werden, diese dennoch auf dieselbe Krankheit zurückzuführen sind, dadie ICD-Codes eindeutig sind. Andere Ontologien, wie beispielsweise die Mobile-Sage-Ontologie, die mir freundlicherweise zur Einsicht zur Verfügung gestellt wur-


88 8. Fazit und Ausblickde, beschreiben den Gesundheitszustand sehr allgemein und nicht unbedingt medizinischkorrekt. Im Allgemeinen unterscheidet sich die PCEICL-Ontologie von derMobileSage-Ontologie vor allem darin, dass die PCEICL-Ontologie sehr viel mehrdefinierte Klassen beinhaltet. So werden Doppeldeutigkeiten und Inkonsistenzen beiden Daten weitestgehend vermieden.Grundsätzlich kann man sagen, dass die PCEICL-Ontologie einen wichtigen Grundbausteinfür die weiteren Entwicklungsarbeiten im Forschungsprojekt darstellt. DieOntologie wird dabei aber auch selbst weiterentwickelt werden, beispielsweise aufgrundder Prüfungen der Gerontologen, die das Projekt mit ihrem Wissen unterstützenund wichtige Komponenten der Plattform evaluieren.


Literaturverzeichnis 89Literaturverzeichnis[AAL12] ; Ambient Assisted Living Joint Programme (Veranst.): BeschreibungMobileSage-Projekt. http://www.aal-europe.eu/projects/1560/. Version: 2012. – zugegriffen am 07.08.2013[BHNK12] BAIDOURI, H. ; HAFIDDI, H. ; NASSAR, M. ; KRIOUILE, A.: A modeldrivenapproach for Context-Aware services composition. In: MultimediaComputing and Systems (ICMCS), 2012 International Conference on,2012, S. 693–698[BLHL01]BERNERS-LEE, Tim ; HENDLER, James ; LASSILA, Ora: The SemanticWeb. In: Scientific American 284 (2001), Mai, Nr. 5, S. 34–43[DA00] DEY, Anind K. ; ABOWD, G. D.: Towards a better understanding ofcontext and context-awareness. In: Computer Human Intraction 2000Workshop on the What, Who, Where, When, Why and How of Context-Awareness, 2000[DKE12]DKE DEUTSCHE KOMMISSION ELEKTROTECHNIK ELEKTRONIK IN-FORMATIONSTECHNIK IM DIN UND VDE (Hrsg.): Die deutscheNormungs-Roadmap AAL (= Ambient Assisted Living). DKE DeutscheKommission Elektrotechnik Elektronik Informationstechnik im DIN undVDE, Januar 2012[Ehr09] EHRINGER, Bernhard: Kontextsensitive Systeme – Stand derTechnik / Fachhochschule Oberösterreich – Fakultät für Informatik/Kommunikation/Medien.2009. – Forschungsbericht[GKV + 07][GL02]GOLEMATI, Maria ; KATIFORI, Akrivi ; VASSILAKIS, Costas ; LEPOU-RAS, George ; HALATSIS, Constantin: Creating an Ontology for the UserProfile: Method and Applications. In: In Proceedings of the First InternationalConference on Research Challenges in Information Science (RCIS,2007GRUNINGER, Michael ; LEE, Jintae: Ontology applications and design.In: Communications of the ACM 45 (2002), Nr. 2


90 Literaturverzeichnis[Gru93][Gru95][HBN + 11][Hor11]GRUBER, Thomas R.: A translation approach to portable ontology specifications.In: Knowl. Acquis. 5 (1993), Juni, Nr. 2, S. 199–220. – ISSN1042–8143GRUBER, Thomas R.: Toward principles for the design of ontologies usedfor knowledge sharing. In: Int. J. Hum.-Comput. Stud. 43 (1995), Nr. 5-6,S. 907–928. – ISSN 1071–5819HAFIDDI, H. ; BAIDOURI, H. ; NASSAR, M. ; ASRI, B.E. ; KRIOUILE,A.: A model driven approach for context-aware services development. In:Multimedia Computing and Systems (ICMCS), 2011 International Conferenceon, 2011. – ISSN Pending, S. 1–6HORRIDGE, Matthew ; THE UNIVERSITY OF MANCHESTER (Hrsg.): APractical Guide To Building OWL Ontologies Using Protégé 4 and CO-ODE Tools Edition 1.3. The University Of Manchester, März 2011[HSP + 03] HOFER, T.;SCHWINGER, W.;PICHLER, M. ; LEONHARTSBERGER, G.;ALTMANN, J. ; RETSCHITZEGGER, W.: Context-awareness on mobiledevices - the hydrogen approach. In: System Sciences, 2003. Proceedingsof the 36th Annual Hawaii International Conference on, 2003, S. 10 pp.–[KSL07]KLEIN, Michael ; SCHMIDT, Andreas ; LAUER, Rolf: Ontology-CentredDesign of an Ambient Middleware for Assisted Living: The Case of SO-PRANO. In: In: Towards Ambient Intelligence: Methods for CooperatingEnsembles in Ubiquitous Environments (AIM-CU), 30th Annual GermanConference on Artificial Intelligence (KI 2007, 2007[Kun13] KUNZE, Prof. Dr. Ing C.: Homepage ZAFH-AAL. http://www.zafh-aal.de. Version: 2013. – aufgerufen am 14.11.2013[LBS13] ; DATACOM Buchverlag GmbH (Veranst.): LBS (location based service).http://www.itwissen.info/definition/lexikon/location-based-service-LBS-Ortsbezogener-Dienst.html. Version: November 2013. – aufgerufen am 20.11.2013[NM01][RFG + 13]NOY, Natalya F. ; MCGUINNESS, Deborah L.: Ontology Development101: A Guide to Creating Your First Ontology. 2001. – ForschungsberichtRAM, Roni ; FURFARI, Francesco ; GIROLAMI, Michele ; IBAÑEZ-SÁNCHEZ, Gema ; LÁZARO-RAMOS, Juan-Pablo ; MAYER, Christopher;PRAZAK-ARAM, Barbara ; ZENTEK, Tom: universAAL: ProvisioningPlatform for AAL Services. In: BERLO, Ad (Hrsg.) ; HALLENBORG,Kasper (Hrsg.) ; RODRÍGUEZ, Juan M. C. (Hrsg.) ; TAPIA, Dante I.


Literaturverzeichnis 91(Hrsg.) ; NOVAIS, Paulo (Hrsg.): Ambient Intelligence - Software and ApplicationsBd. 219. Springer International Publishing, 2013. – ISBN978–3–319–00565–2, S. 105–112[RWD13][SAW94][SB05]; TechTerms.com (Veranst.): Responsive Web Design. http://www.techterms.com/definition/responsive_web_design.Version: August 2013. – aufgerufen am 20.11.2013SCHILIT, B. ; ADAMS, N. ; WANT, R.: Context-Aware Computing Applications.In: Proceedings of the 1994 First Workshop on Mobile ComputingSystems and Applications. Washington, DC, USA : IEEE ComputerSociety, 1994 (WMCSA ’94). – ISBN 978–0–7695–3451–0, S. 85–90SHENG, Q.Z. ; BENATALLAH, B.: ContextUML: a UML-based modelinglanguage for model-driven development of context-aware Web services.In: Mobile Business, 2005. ICMB 2005. International Conferenceon, 2005, S. 206–212[SCN + 12a] SKILLEN, K. ; CHEN, Liming ; NUGENT, C.D. ; DONNELLY, M.P. ; SOL-HEIM, I.: A user profile ontology based approach for assisting people withdementia in mobile environments. In: Engineering in Medicine and BiologySociety (EMBC), 2012 Annual International Conference of the IEEE,2012. – ISSN 1557–170X, S. 6390–6393[SCN + 12b] SKILLEN, Kerry-Louise ; CHEN, Liming ; NUGENT, ChrisD. ; DONNEL-LY, MarkP. ; BURNS, William ; SOLHEIM, Ivar: Ontological User ProfileModeling for Context-Aware Application Personalization. In: BRAVO,José (Hrsg.) ; IPIÑA, Diego López-de (Hrsg.) ; MOYA, Francisco (Hrsg.):Ubiquitous Computing and Ambient Intelligence Bd. 7656. Springer BerlinHeidelberg, 2012. – ISBN 978–3–642–35376–5, S. 261–268[SLP04]STRANG, Thomas ; LINNHOFF-POPIEN, Claudia: A Context ModelingSurvey. In: In: Workshop on Advanced Context Modelling, Reasoningand Management, UbiComp 2004 - The Sixth International Conferenceon Ubiquitous Computing, Nottingham/England, 2004[SWKB09] SCHMIDT, Andreas ; WOLF, Peter ; KLEIN, Michael ; BALFANZ,Dirk: SOPRANO Ambient Middleware: Eine offene, flexible und marktorientiertesemantische Diensteplattform für Ambient Assisted Living.In: 2. Deutscher Kongress Ambient Assisted Living, Berlin, Januar 2009,VDE Verlag, 2009[uni]universAAL Homepage. http://www.universaal.org. – zugegriffenam 27.05.2013


92 Literaturverzeichnis[WSO + 10] WOLF, Peter ; SCHMIDT, Andreas ; OTTE, Javier P. ; KLEIN, Michael;ROLLWAGE, Sebastian ; KÖNIG-RIES, Birgitta ; DETTBORN, Torsten;GABDULKHAKOVA, Aygul: openAAL - the open source middlewarefor ambient-assisted living (AAL). In: AALIANCE conference, Malaga,Spain, March 11-12, 2010, 2010


A. Anhang 93A AnhangA.1 CDAuf der beiliegenden CD ist diese Arbeit in Form eines PDF-Dokuments gespeichert.Außerdem befinden sich dort die im Literaturverzeichnis aufgeführten Quellen (ebenfallsim PDF-Format).Zusätzlich ist auf der CD die PCEICL-Ontologie als *.owl-Datei gespeichert und kannbeispielsweise über den in Kapitel 4.3 beschriebenen Ontologie-Editor Protégé geöffnetwerden. In Protégé besteht außerdem die Möglichkeit zur Visualisierung derOntologie. Dort kann man sich die Klassenhierarchie anzeigen lassen oder einzelneKomponenten der Ontologie im Detail anschauen.Die Ontologie kann aber auch über die Website http://knoodl.com 38 genauerbetrachtet werden. Hier kann man die Ontologie ebenfalls visualisieren, nachdem sieauf der Seite hochgeladen wurde. Die Visualisierung von http://knoodl.comwird mit dem Tool OntVis realisiert und ist sehr übersichtlich und leicht verständlich.Die Mockups des Benutzerprofil-Eingabeassistenten befinden sich, zusammengefasstin einem PDF-Dokument, ebenfalls auf der CD.38 aufgerufen am 05.09.2013


94 A. Anhang


A. Anhang 95A.2 Klassen der PCEICL-Ontologie


96 A. AnhangAbbildung A.1: Klassen der PCEICL-Ontologie


Eidesstattliche Erklärung 97Eidesstattliche ErklärungIch versichere an Eides Statt durch meine eigenhändige Unterschrift, dass ich die vorliegendeArbeit selbstständig und ohne fremde Hilfe angefertigt habe. Alle Stellen, diewörtlich oder dem Sinn nach auf Publikationen oder Vorträgen anderer Autoren beruhen,sind als solche kenntlich gemacht. Ich versichere außerdem, dass ich keine andereals die angegebene Literatur verwendet habe. Diese Versicherung bezieht sich auchauf alle in der Arbeit enthaltenen Zeichnungen, Skizzen, bildlichen Darstellungen unddergleichen.(Ort,Datum,Unterschrift)

Weitere Magazine dieses Users
Ähnliche Magazine