Home
Modellbasierte Entwicklung von
Contents
1. a Klassendiagramm MP3 b Zustandsdiagramm MP3 Player Player Abbildung 6 7 Links das Klassendiagramm des MP3 Players rechts das Zu standsdiagramm In Abbildung 6 7b wird durch das Zustandsdiagramm das Verhalten der Benut zerschnittstelle des MP3 Players beschrieben Entlang der berg nge zwischen den verschiedenen Zust nden stehen die Trigger sowie die von ihnen bewirkten Operationen Wenn beispielsweise der Trigger play den bergang von stopped zu playing bewirkt wird die Methode play der Klasse Player aufgerufen 122 Realisierung eines Software Frameworks 6 2 5 Anbindung des Pr sentationsmodells Wie in Abschnitt 4 5 3 beschrieben wird in der Realisierung das Pr sentations modell durch ein h ndisches Mapping angebunden Im selben Abschnitt wurde auch die Erstellung einer GUI mit dem GTK Toolkit ausgef hrt In diesem Ab schnitt folgt die Beschreibung der Umsetzung der einzelnen Modalit tskompo nenten des mArch Modells Eine Benutzerschnittstelle wird von der Klasse CUI abgeleitet Diese Klasse stellt Methoden zur Kommunikation mit der Klasse Mapper zur Verf gung Da sich die einzelnen Modalit ten ber mehrere Plattformen verteilen k nnen muss zwischen den Komponenten kommuniziert werden F r diesen Zweck werden verteilte Objekte der distributed Ruby Bibliothek druby eingesetzt 174 Von der Klasse CUI abgeleitete Klassen verbinden sich automatisch durch Aufruf des Konstruktors der Oberkla
2. Kommando Phoneme NEXT NEHKS NEXT 1 NEHKST PAUSE PAOZ PLAY PLEY PREVIOUS PRIYVIYAHS SOFTER S AO F T ER SOFTER 1 SAAFTER STOP ST AAP Tabelle 6 3 Sprachkommandos f r den MP3 Player und ihre Phoneme lassen sich mehrere Aussprache Varianten angegeben In der Tabelle sind dies NEXT und SOFTER Zur Ausgabe von Sprache kommt das Text to Speech System eSpeak zum Einsatz 48 Es unterst tzt verschiedene Sprachen und auch Aussprachevarianten wie unterschiedliche Stimmlagen In Konfigurationsdateien f r die Sprachbedienschnittstelle werden die Komman dos f r die Eingabe und S tze f r die Ausgabe abgelegt Diese Dateien werden von der Klasse SpeechUI beziehungsweise dem Sphinx Erkenner geladen so dass w hrend der Laufzeit einer Anwendung die verschiedenen Kommandos und Ausgaben eingesetzt werden k nnen Tangible User Interface TUI Wie in Abschnitt 2 2 5 in Kapitel 2 Grundlagen bereits beschrieben wurde gibt es eine gro e Anzahl an verschiedenen Interaktionsarten bei Tangible User In terfaces Es existiert noch keine einheitliche Notation und jedes TUI wird einzeln auf eine Anwendung zugeschnitten In dieser Arbeit wird die Wii Remote der Firma Nintendo als einfaches TUI einge setzt 128 Die Wii Remote auch Wiimote abgek rzt ist ein haptisches Ger t f r die Wii Spielekonsole Sie verf gt ber Beschleunigungssensoren eine Infrarot kamera und mehrere Buttons zur Eingabe F r Ausgab
3. Abbildung 6 3 Verhalten des mArch Frameworks zur Laufzeit Die beiden Alter nativen alt zeigen oben den Ubergang zwischen zwei Aktionen und unten die Verarbeitung einer Benutzereingabe 114 Realisierung eines Software Frameworks 1 wobei in diesem Fall kein Aufruf an das Anwendungsmodell erfolgt Die In formation ber die aktuelle Aktion wird als Nachricht an den Mapper und ber diesen an die Modalit ten bermittelt 2 3 4 In der unteren Alternative tatigt der Benutzer eine Eingabe die vom Framework und der Anwendung verarbeitet wird Nach der Eingabe 5 wirkt diese sich auf das Modell 6 und die Anwendung 7 aus Die interne Zustands nderung der Dialogsteuerung wird durch Updates zu den Benutzerschnittstellen propagiert 8 9 10 6 2 1 Hilfsmechanismus Kaktusstack Um Aktivit ts und Zustandsdiagramme auszuf hren wird eine besondere Art eines Stacks ein sogenannter Call Stack als Hilfsmechanismus eingesetzt Ein Call Stack ist ein Stack der Informationen ber aktive Unterprogramme einer Anwendung speichert F r Hochsprachen ist der Call Stack transparent da Rou tinen f r seine Verwaltung von Bibliotheken bereitgestellt werden Die wichtigs te Aufgabe eines Call Stacks ist zu verwalten an welcher Stelle nach einem Unterprogrammaufruf fortgefahren werden soll Zum Beispiel kann ein Unter programm zur Berechnung der Quadratwurzel von mehreren Stellen in einem Programm aus aufgerufen werden De
4. Abbildung 2 6 Planung mit URP Links unten das Wind Werkzeug Bild aus 191 Interaktion in virtuellen R umen wurde bereits 1997 mit VRML standardisiert 78 doch existieren nur wenige Anwendungen in Spezialgebieten die Interak tion in dreidimensionalen virtuellen R umen nutzen Abbildung 2 7 Landschaftsplanung mit SandScape Der Benutzer verformt den Sand und sieht zugleich die projezierten Ergebnisse Bild aus 79 24 Grundlagen Der Bereich der Augmented Reality 109 berlagert Informationen durch Pro jektion und ahnliche Verfahren Augmented Reality findet Anwendung in Berei chen in denen beispielsweise Techniker unterst tzt werden Diese k nnen bei spielsweise durch eine besondere Brille Anweisungen zur Wartung von Motoren abrufen die sie sonst zeitintensiver suchen m ssten 182 In Fahrzeugen kommt diese Modalit t immer mehr zum Einsatz z B serienm ig in der Serie 5 von BMW 18 Im Bereich der taktilen Ausgabe sind seit einigen Jahren Braillezeilen f r blinde Benutzer im Einsatz die sich durch Fortschritte bei der Mechatronik mittlerweile g nstiger und leichter herstellen lassen hnliche Verfahren sind im Bereich For cefeedback zum Einsatz gekommen So existieren z B M use die durch verschie dene Vibrationen Ausgaben an den Benutzer erlauben und auch experimentell in Benutzerschnittstellen zum Einsatz kommen 50 Die berblicksarbeit von Hornecker und Buur zeigt dass sich im Ber
5. hello_price Tee showPrice Tee Kaba showPrice Kaba Kaffee showPrice Kaffee Latte showPrice Latte Cappuccino showPrice Cappuccino Abbildung 3 11 Zustandsdiagramm zur Beschreibung des Verhaltens der Aktion hello Es zeigt die Begr ung mit Geldeinwurf t tsdiagramm wird durch das Gabelungssymbol angezeigt dass ein erweiterndes Diagramm vorhanden ist In beiden Zustandsdiagrammen gibt es eine Reihe von Transistionen die Benutzerinteraktionen als ausl sende Ereignisse besitzen Die annotierten Befehle sind mit dem Dom nenmodell verbunden Fazit UML ist eine sehr ausdrucksstarke und universell einsetzbare Notation Durch ihr Metamodell l sst sie sich um neue Sprachpakete Diagramme erweitern Die grafische Notation ist verst ndlich und es gibt Notationsvarianten f r viele Sonderf lle so dass sich in der Regel eine angemessene Umsetzung in ein Modell finden l sst In Abbildung 3 13 ist UML im Klassifikationsframework eingeordnet Die St r ken liegen deutlich bei den Modellen im oberen Bereich UML bietet mit Ak tivit ts und Zustandsdiagrammen deutlich m chtigere Aufgaben und Dialog modelle als UsiXML UML bietet mehr Varianten zum Modellieren der Aufgaben modelle als ConcurTaskTrees 130 Ebenso wie bei UsiXML bleibt man innerhalb 62 Klassifikation bestehender Ans tze state machine select select J I 100 addCredit 1 Kaba checkCredit Kaba p
6. Abbildung 6 13 Ableitung der Klasse GladeUI von der Klasse CUI In der unteren H lfte von Abbildung 6 13 sind die Klassen SpeechUI GladeUI und WiiUI abgebildet Um eine neue Modalit t zu erstellen wird eine neue Klasse von der Klasse CUI abgeleitet Je nach Erfordernissen wird sie um Attri bute angereichert Die GUI Klasse besitzt z B das Attribut glade f r die inter ne Repr sentation der Oberfl chenbeschreibung und das Attribut dialog um zu speichern welches Dialogfenster gerade angezeigt wird Die Klasse f r die Sprachschnittstelle besitzt ein Attribut f r den Spracherkenner und die Klasse WiiUI ein Attribut zum Zugriff auf die Wiimote Eine Klasse f r eine neue Modalit t muss weiter um Methoden zur Bearbeitung der Eingabe und Ausgabeereignisse verf gen Bei der Klasse GLadeUI werden die Eingaben des Benutzers durch die Methode clicked abgefangen die als Event Handler registriert wird Die Eingaben werden als Nachrichten an den Mapper gesendet Durch die Methode show_dialog werden die Nachrichten 130 Realisierung eines Software Frameworks des Mappers ausgewertet und die entsprechenden Dialoge angezeigt Die Hilfs methode update dient dazu Aktualisierungen an der Oberfl che vorzunehmen Die Sprachschnittstelle und die Klasse wiiUI implementieren beide die abstrak te Methode show_dialog und verf gen auch beide ber Hilfsmethoden um ihre internen Zust nde und die Ausgabe zu aktualisieren Der Aufwand um neue
7. Java und NET sowie eine Vielzahl von Endger ten wie Desktops Netbooks und Mobiltelefone untersttitzt werden sollen Im Software Engineering wird in den meisten Vorgehensweisen mit der Spe zifikation der Anwendung begonnen bei der haufig Modelle eingesetzt wer den Anstatt diese lediglich ftir die Dokumentation und zur Kommunikation zwi schen Entwicklern einzusetzen werden beim Model Driven Software Development MDSD die Modelle zur Erzeugung von Quellcode eingesetzt 99 Ein anderer Name f r MDSD ist Model Driven Development MDD Dieser Begriff geht auf das Feld der Model Driven Architecture zurtick welches sich primar mit dem Mo dellieren von Anwendungen befasst 135 Die Object Management Group ist ein internationales Konsortium welches dazu eine Reihe von Standards erstellt hat Zur Spezifikation von Anwendungen existieren eine Reihe von Standards der bekannteste davon ist die Unified Modeling Language UML 142 Dabei kann man auf verschiedenen Abstraktionsebenen modellieren Die UML kann hard und software unabh ngige Modelle ebenso wie hardwarenahe Timing Diagram me beschreiben Beim MDD Ansatz bilden Modelle die unabh ngig von der Hardware Plattform sind das sogenannte Platform Independent Model PIM Durch Transformatio nen wird daraus das Platform Specific Model PSM einer Anwendung f r eine Zielplattform erzeugt Durch den Transformationsschritt werden die Anpassung en an die Gegebenheiten der Zielplat
8. Signalt ne und nat rliche Sprache Informationen ber das selbe Ger t und das selbe Medium bertragen doch die Informationen sind deutlich verschieden re pr sentiert In derselben Arbeit finden sich auch Definitionen von Modalit t und Modus Vernier und Nigay sehen eine Modalit t als einen Typ eines Kommuni kationskanals in Kombination mit der Art in der ein Konzept ausgedr ckt oder verstanden wird 3 Diese Definition baut auf den obigen Vorarbeiten von Moda lit t als Kombination von Interaktionssprache und Ger t auf Ein Modus ist ein Zustand welcher die Art bestimmt in der Informationen verstanden werden Bernsen stellte fest dass eine Modalit t auch als Art der Informationsrepr sen tation gesehen werden kann Dazu muss die Information physikalisch dargestellt werden 15 In Bernsens Arbeit werden verschiedene Arten der Informationsre pr sentation gesammelt um aus ihrer Kombination die Menge aller m glichen Basismodalit ten zu schaffen F r diese Arbeit ist ein solcher Ansatz allerdings ebenso wenig zielf hrend wie eine Auflistung aller m glichen physikalischen In teraktionsm glichkeiten Es gen gt verschiedene Arten von Modalit ten unter scheiden zu k nnen Wie in Abschnitt 2 1 4 zur Trennung von Inhalt Logik und Form bereits bemerkt besitzt eine Modalit t dabei eine Richtung Im Folgenden wird der Begriff Modalit t definiert Analog zu den Sinnesmodali t ten kann man auch von Interaktionsmodalit te
9. 3 Verst ndlichkeit 40 Klassifikation bestehender Ans tze 4 Ausdrucksst rke 5 Universalit t 6 Werkzeugunterst tzung 7 Verbreitung 3 2 2 Fr he Aufgliederung nach Abowd et al In ihrer Studie ber Sprachen zur Beschreibung von Benutzerschnittstellen von 1989 stellten Abowd et al eine Dreiteilung von interaktiven Anwendungen in Benutzer System und Interaktion vor 2 S 31 F r den Benutzer wird auf ein Modell abgezielt welches beschreibt was im Be nutzer vorgeht und ber welche Metaphern internen Modelle und Ziele er ver f gt Dieses Modell deckt sich mit dem oben vorgestellten Begriff des Benutzer modells Unter System verstehen Abowd et al den Aufbau von Anwendungen Darunter fallen Modelle der Systementwickler und Aussagen ber die Objekte aus der Anwendungsdom ne Abowd et al arbeiteten an fr hen Spezifikationstechniken und Sprachen zum Prototyping Dieser Bereich l sst sich in der Terminologie dieser Arbeit jedoch gut beim Dom nenmodell ansiedeln Unter Interaktion wird der Ablauf verstanden in dem der Austausch von Infor mationen zwischen Benutzer und Anwendung geschieht Der Bereich deckt sich mit dem Dialogmodell In diesem sehr fr hen Ansatz fehlen mehrere Modelle es werden keine Aussagen zur Pr sentation der Benutzerschnittstelle gemacht Ans tze zu einem Aufgaben modell sind noch nicht vom Dialogmodell getrennt und ber die Umgebung und die verwendbaren Ger te k nnen ebenfall
10. Abbildung 3 8 ConcurTaskTrees im Klassifikationsframework n Aufgabenmodell herstellen Das Fehlen eines Evaluationsmodells ist jedoch kein Nachteil und kann durch spater besprochene Notationen erg nzend ausgegli chen werden 3 5 2 USer Interface eXtensible Markup Language UsiXML Die USer Interface eXtensible Markup Language UsiXML ist eine Notation die von der Arbeitsgruppe um Vanderdonckt 2004 vorgestellt wurde und mehre re Entwicklungswerkzeuge umfasst 196 UsiXML sttitzt sich stark auf die Er kenntnisse des Cameleon Projekts und legt auch das Cameleon Framework zu Grunde Mittlerweile wird UsiXML von einem eigenen Konsortium standardisiert 194 195 Ein gro es Anliegen dieses Konsortiums ist es Werkzeuge f r den Entwicklungs und Transformationsprozess bereitzustellen Sie sollen multi path development unterst tzen Klassische Top down Entwicklung von abstrakten zu konkreten Modellen soll ebenso m glich sein wie Bottom up oder Middle out Entwicklung oder das Arbeiten an allen Modellen wide spreading zugleich IdealXML ist ein Beispiel f r ein Werkzeug IdealXML ist ein grafischer Editor f r das Aufgaben das Dom nen und das abstrakte UI Modell 112 Mit GrafiXML existiert ein weiterer grafischer Editor f r die Erzeugung von Benutzerschnittstellen aus dem Aufgabenmodell 97 Der Editor kann aus einem Aufgabenmodell automatisch verschiedene Implementierungen wie Java Swing oder HTML erzeugen Um di
11. Im Beispiel sieht man zwei Bedingungen f r Play Falls der Player gestoppt war beginnt das Lied neu bei einer Pause wird an der vorherigen Stelle fortgefah ren F r Lautst rke und Playlist sind Zust nde modelliert der Einfachheit halber wurden jedoch keine Regeln mit Bedingungen f r alle Zust nde der Lautst rke und Playlist geschrieben Co o 4 An bk o H ra vo pb e SW H ro o 3 4 Ans tze zur Beschreibung von Dialogen und Oberfl chen 49 Attribute Volumes C0 T2 37 141 25 Op 1 0 9 Song sO sl 32 537 S4 55 State playing paused stopped Regeln Inc_volume vol me Dec_volum gt vol dec Previous song dee Next SONG me Play stopped gt playing player play display play Play paused gt playing player unpause display play Pause gt paused player pause display pause SOD gt stopped player stop display stop Listing 3 2 Der MP3 Player mit Produktionsregeln nach Olsen 41 Ereignissprachen und Produktionsregeln bieten mehrere Vorteile Sie sind er weiterbar universell einsetzbar und die Regeln sind ausdrucksstark Die Ver st ndlichkeit der Beschreibung einer Anwendung h ngt von der Gestaltung der Regeln ab Wie man im Beispiel sieht ist es m glich Aufrufe von Teilen des Dom nenmodells in die Notation einzubetten z B player unpause Die Notation macht die Trennung zwischen Dialog und Dom nenmodell nicht klar denn di rekt nach einem Zustand wie playing s
12. Verschiedene Arbeiten befassen sich mit der Generierung von Benutzerschnitt stellen Nylanders Arbeiten aus den Jahren 2003 und 2005 beschreiben bei spielsweise wie aus einer Beschreibungssprache zur Spezifikation von Webser vices GUIs erstellt werden k nnen 133 134 Eine andere Arbeit die hier ex emplarisch herausgegriffen wird ist von van den Bergh et al die eine eige ne Beschreibungssprache fiir Benutzerschnittstellen beschreiben und ftir Mehr benutzer Systeme einsetzen 13 Die Arbeit verwendet ConcurTaskTrees zur Be schreibung von Benutzerinteraktion und abstrakte Templates aus denen die Be nutzerschnittstellen zur Laufzeit erzeugt werden F r die Generierung von Benutzerschnittstellen sind schlie lich automatische Layoutverfahren f r GUIs wie im berblick von Lok et al beschrieben 100 oder die bereits vorgestellten Beautifications von Pederiva et al aus Abschnitt 4 5 2 151 wichtig 5 3 2 Fusion Die andere wichtige Aufgabe der Mapper Komponente ist die Fusion von Ein gaben Eine Fusion der Eingabe ist wichtig da ein Benutzer z B fast zeitgleich dieselbe Eingabe durch eine GUI und Sprache t tigen kann Im Beispiel des MP3 Players kann der Benutzer eine Pause ausl sen wollen aber durch das zweite Kommando l uft die Musik weiter Eine Behandlung der Eingaben ist also not wendig Die Fusion vereinigt die verschiedenen Eingaben der Modalit ten zu einem ein zigen Eingabestrom Im einfachsten Fall geschehe
13. 5 6 Die Kombination aus Arch Slinky und multimodalen Pr sentations komponenten bildet das multimodale Arch Modell mArch 6 1 Umsetzung des mArch Frameworks mit beteiligten Klassen 6 2 Sequenzdiagramm zum Verhalten des mArch Frameworks beim Start einer Anwendung UIs registrieren sich beim Builder dieser initiiert anschlie end den Interaktionszyklus e 6 3 Verhalten des mArch Frameworks zur Laufzeit Die beiden Alterna tiven alt zeigen oben den bergang zwischen zwei Aktionen und unten die Verarbeitung einer Benutzereingabe 6 4 Kaktusstack mit m glichen Operationen 6 5 Die eingesetzten Modellelemente f r Aktivit tsdiagramme nach 142 6 6 Benutzte Modellelemente f r Zustandsmaschinen 81 111 Abbildungsverzeichnis 6 7 Links das Klassendiagramm des MP3 Players rechts das Zustandsdia gramm 5 nee dag Se GMS wa ad wh kG Se ee EAS 6 8 Ableitung der Klassen SpeechUI GladeUI und WiiUI von der Klas SCLC Un ER Bashy hy Beate ge he Se cag bn By Honea ihe Mpa BERS cout Ge oi be 6 9 GUI des Mi Players 6 10 Die Wiimote mit ihren r umlichen Eingabem glichkeiten 6 11 Links das Aktivit tsdiagramm des MP3 Players rechts das zugeh rige Zustandsdiagramm oeoo a 6 12 Die wichtigsten Klassen des Frameworks e 6 13 Ableitung der Klasse GladeUI von der Klasse CUI ix 1 Einleitung Shouldn t software be designed so that users could run the same calen
14. Das vorhandene Kontextmodell beinhaltet Submodelle f r die Umgebung die Plattform und den Benutzer Die Umgebung wird sehr einfach durch die drei At tribute lightingLevel isNoisy und isStressing beschrieben F r m g liche Plattformen existieren eine Vielzahl von Attributen die jedoch prim r auf GUIs ausgelegt sind Benutzer werden ber ihre Erfahrung und Motivation be schrieben Das Mappingmodell beschreibt durch Abstraktion Konkretisierung bersetzung Kontext und Update Verbindungen die Beziehungen zwischen den verschiedenen Modellen UsiXML w rde nicht dem Cameleon Framework entsprechen wenn es keine Transformationsm glichkeit von abstrakten Tasks zu konkreten Pr sentationsele menten bereitstellen w rde Durch ein Transformationsmodell lassen sich Regeln mit Bedingungen f r diese Mappings erstellen Entwicklungspfade f r verschie dene Zielplattformen oder Benutzerstereotypen gruppieren dabei die Regeln Schlie lich existiert noch ein Ressourcenmodell das je nach Kontext verschiede ne bersetzungen erlaubt Durch das Ressourcenmodell lassen sich z B unter schiedlich lange Texte je nach Displaygr e f r verschiedene Ger te vorsehen Das Modell ist ebenfalls weitgehend an GUIs orientiert und verf gt ber Eigen schaften wie Tooltips oder Tastaturk rzel f r einzelne Ressourcen UsiXML ist eine ausdruckstarke Notation die universell einsetzbar ist Sie l t sich um neue Modalit ten erweitern allerdings ist
15. en f r eine Benutzerschnittstelle vorgestellt Es ist m glich dass eine Benutzer schnittstelle als Concrete User Interface oder als Final User Interface vorliegt CUIs verwenden in der Regel Toolkits und beschreiben die Interaktionselemen te einer Modalit t durch Toolkit Elemente FUIs k nnen Benutzerschnittstellen sein die in Bin rcode vorliegen oder f r die keine Toolkit Elemente zur Verf gung stehen Beide Auspr gungen sind im Pr sentationsmodell des Klassifika tionsframeworks dass in Abschnitt 3 3 vorgestellt wurde enthalten In beiden F llen muss die Benutzereingabe in Nachrichten f r den Mapper umgesetzt wer den Im Fall von Toolkits existieren in der Regel Event Mechanismen die verwen det werden k nnen Bei FUIs muss die verwendete Komponente entsprechende Event Mechanismen enthalten um mit dem Mapper kommunizieren zu k nnen In fr heren Arbeiten wurde eine direkte Verkn pfung von einzelnen Modalit ten untereinander versucht Die Arbeit von Mynatt und Edwards aus dem Jahr 1992 beschreibt beispielsweise die Abbildung von GUIs in Sprachschnittstellen durch eine starre Unterordnung von Sprache unter GUIs 121 Erst mit dem Cameleon Framework wird ab dem Jahr 2003 das Konzept mehrerer parallel aktiver Moda lit ten in der Literatur popul r Der Vorteil einer Mapper Komponente wie sie in dieser Arbeit Einsatz findet liegt darin dass jede Modalit t f r sich beschrieben werden kann ohne dass R cksicht auf Verkn pf
16. zelnes Modell oft nicht ausreicht um alle diese Aufgaben zu erf llen Daher kommen eine Reihe von Modellen zum Einsatz die nun vorgestellt werden 3 1 1 Arten von Modellen Modellbasierte Anwendungen verwenden in der Regel mehr als nur ein einzelnes Modell Es existieren Modelle f r verschiedene Aspekte der Anwendung des Be nutzers und noch weitere im Umfeld Nach Puerta und Eisenstein unterscheidet man die folgenden Modelle 158 Das Aufgabenmodell user task model beschreibt Tasks Aufgaben die der Be nutzer mit einer Anwendung erledigen will Es enth lt einzelne Elemente die spezifische Aktionen beschreiben und Elemente welche Aktionen zu Reihenfol gen und Alternativen zusammenfassen Zus tzlich k nnen Elemente Informatio nen ber Bedingungen zur Ausf hrung von Aktionen besitzen Das Dom nenmodell domain model definiert Objekte die im System vorhan den sind und welche Aktionen mit ihnen durchgef hrt werden k nnen Es be schreibt dazu auch die Abh ngigkeiten und Relationen von Objekten unterein ander sowie die Attribute der Objekte Das Benutzermodell user model beschreibt die verschiedenen Arten von Benut zern die eine Anwendung nutzen und die Eigenschaften der Benutzer Es handelt sich hierbei jedoch nicht um ein kognitives Modell welches Informationsaufnah me und hnliches beschreibt sondern um ein Modell das Eigenschaften wie Alter Sehschw chen und Pr ferenzen von Benutzern beschreibt Das Pr
17. 7 stack transit edge source edge target 8 stack enter_and_keep edge target node behavior 9 start_diagram node behavior 10 end 11 else if node type CallOperationAction then 12 app call node effect stack transit edge source edge target 13 end 14 else if node type ActivityFinalNode then 15 ac_id ID der zu beendenden Activity 16 stack exit ac_id 17 if stack empty then Diagramm komplett verlassen 18 exit 19 else Kontrolle an bergeordnetes Diagramm geben 20 ac_next stack pop 21 end 22 end 23 else Element noch nicht unterst tzt 24 end 25 mapper perform node name 26 end Algorithmus 2 Algorithmus des Interpreters fiir Aktivitatsdiagramme Algorithmus 2 zeigt wie Aktivit tsdiagramme verarbeitet werden Der Algorith mus beginnt sobald von einer Aktion aus ein Ubergang stattfinden soll Es wer den nur Kanten betrachtet die auch traversiert werden d rfen 2 3 Es findet eine Fallunterscheidung statt Bei einer Unterbrechung wird die aktuelle Gruppe von Aktionen abgebrochen 5 Falls ein weiteres Diagramm enthalten ist wird dieses aktiviert 6 10 Es kann jeweils nur eine neue Aktion betreten werden 11 13 Falls das aktive Diagramm beendet wird kann entweder die Kontrolle an das aufrufende Diagramm bergeben werden oder falls es keines gibt die Anwendung beendet werden 14 22 In Zeile 23 ist der Fall beschrieben dass ein bisher noch nicht unterst tztes Element verwendet wird 118 Realisierung
18. Diese Klasse beschreibt ein Concrete User Interface d h eine Auspr gung eines Pr sentationsmodells auf Toolkitebene In Abbildung 6 13 ist die Klasse CUI zu sehen Sie besitzt ein Attribut in_q welches eine Nachrich tenqueue ist ber die sie vom Mapper informiert wird Dazu dient auch die Methode perform id call_method ist eine Hilfmethode Sie wird einge setzt um Variablen abzufragen die ausgegeben werden sollen Die Integration neuer Modalit ten in das Framework wird am Beispiel der bereits verwendeten GUI beschrieben 6 3 Anwendung des Frameworks 129 Damit eine Modalit t von der Anwendung entkoppelt werden kann m ssen In formationsrepr sentation und Interaktionslogik getrennt werden F r die Reali sierung wurden Glade und damit das GTK Toolkit ausgew hlt da sie eine einfa che Anbindung von Beschreibungen der Benutzerschnittstelle erm glichen Die Dialoge der GUI werden mit dem in Abschnitt 4 5 3 beschriebenen User Inter face Designer erstellt der sie in der Glade XML Beschreibung ablegt Zur Lauf zeit wird diese Beschreibung eingelesen und durch eine eingebundene Bibliothek angezeigt package Data ES Mods CUI in_q Queue call_method perform id show_dialog Speech GladeUI WiiUl sphinx glade wiimote dialog recognizer wii_events show_dialog clicked widget show_dialog update show_dialog update update
19. Ger temodell Environment das Umgebungsmodell User das Benutzermodell und Evaluation das Evaluationsmodell Die Modelle sind entsprechend der m glichen Verkn pfungen angeordnet Task Dialog und Pr sentationsmodell k nnen auf Objekte des Dom nenmodells zu greifen Das Pr sentationsmodell ist mit Benutzer Ger te und Umgebungsmo dell verbunden um deren Einfl sse nutzen zu k nnen Ein nicht verwendetes Modell wird im Diagramm dunkelgrau eingef rbt In der Abbildung werden kein Evaluations und kein Umgebungsmodell eingesetzt Evaluation Domain compose Environment Abbildung 3 3 Das Models and Mappings Klassifikationsframework Die verschiedenen Modelle werden durch Pfeile verbunden entlang derer die verwendeten Mappings vermerkt werden Wenn zwischen Modellen kein Map ping existiert wird kein Pfeil eingezeichnet F r die in Abschnitt 3 1 3 beschrie benen Mappings werden die folgenden vier K rzel verwendet 1 derive f r das Ableiten aus einem Modell 2 link f r Verkn pfungen zwischen Modellen 3 3 Models and Mappings Klassifikationsframework 45 3 compose fiir das Zusammensetzen von Modellen zu einem neuen Modell 4 modify fiir die Modifikation eines Modells durch einen Entwickler Geschieht eine teilweise Ableitung eines Modells wird dies im beschreibenden Text zum Diagramm vermerkt Auch ein Model update wird nicht im Diagramm markiert da es Folgen an vielen Stellen der beteiligten
20. Goal Kaffee mit Milch und Zucker kaufen select goal geld einwerfen method zucker waehlen method milch waehlen method kaffee druecken method goal geld einwerfen method milch waehlen method zucker waehlen method kaffee druecken method Do byob hb ih nih kik Listing 3 3 Kaufen eines Kaffees an einem Getr nkeautomat mit GOMS Das Beispiel in Listing 3 3 zeigt eine Modellierung des Getrankeautomaten mit GOMS In diesem Beispiel gibt es nur ein Ziel der Benutzer m chte einen Kaffee mit Milch und Zucker kaufen Dazu gibt es zwei Wege nach dem Geld einwerfen kann zuerst Zucker und dann Milch ausgew hlt werden oder die Reihenfolge kann umgekehrt sein Daraufhin muss in jedem Fall die Taste f r den Kaffee am Automat gedr ckt werden Das Ziel hat zwei Teilziele die durch select gew hlt werden k nnen Selection Die beiden Teilziele sind die Methods die wiederum aus einzelnen Operators bestehen Die Methods sind durch Kommen tare method 1 gekennzeichnet GOMS bietet eine einfache M glichkeit Vorhersagen ber die Zeit zu machen die ein Benutzer f r Aktionsabfolgen ben tigt Dazu werden die einzelnen Schrit te erhoben und nach der Zeit gemittelt Anschlie end lassen sich bei nderungen der Abl ufe durch einfaches Aufsummieren der Zeiten Vorhersagen treffen 3 6 5 Notationen f r einzelne Modalit ten Notationen f r einzelne Modalit ten sind durch ihre Spezialisierung entspre chend m cht
21. Hartson et al folgten 61 Solche Grammatiken erlauben zwar die formale Ana lyse der Interaktion zwischen Benutzer und System doch ihre Nutzbarkeit ist be grenzt Wie van der Veer und van Welie ausf hrten sind diese Methoden meist nur auf einen Ausschnitt der Interaktion bezogen und durch ihre textbasierte und komplexe Syntax schwierig zu erlernen und anzuwenden 200 Grafische Notationen bieten eine intuitive Alternative 3 5 Abstrakte Modelle fiir Interaktion 53 3 5 1 ConcurTaskTrees Grafische Methoden stellen eine intuitive und einfache Alternative zu komplexen textuellen Notationen dar Als Erste stellten Annett und Duncan 1967 die hier archische Task Analyse vor bei der Tasks durch eine Baumstruktur gegliedert werden 6 Hierauf aufbauend entwickelte die Gruppe um Paterno die verbrei tete Notation ConcurTaskTrees 147 Sie definiert vier Arten von Tasks Benut zertasks die kognitiv oder perzeptiv sein k nnen Interaktionstasks welche die Interaktion des Benutzers mit dem System repr sentieren Anwendungstasks in denen das System Aufgaben erledigen kann und abstrakte Tasks mit denen zu sammengesetzte Tasks beschrieben werden Mit ConcurTaskTrees werden hierarchische Strukturen aufgebaut Die Knoten repr sentieren Tasks und stehen entweder in hierarchischen Beziehung oder in einer temporalen Beziehung zueinander Eine temporale Beziehung wird auf der gleichen Ebene durch Verbindungen mit Operatoren annotiert Die
22. PALANQUE P PATERNO F Eds Interactive Systems Design Specification and Verification 7th In ternational Workshop DSV IS 2000 volume 1946 35 52 Springer 2001 WATZLAWICK Paul BEAVIN Janet H JACKSON Don D Menschliche Kom munikation Formen St rungen Paradoxien Huber 2000 WEIDENBACHER Ulrich LAYHER Georg BAYERL Pierre NEUMANN Hei ko Detection of Head Pose and Gaze Direction for Human Computer In teraction In ANDRE Elisabeth DYBKJAR Laila MINKER Wolfgang NEU MANN Heiko WEBER Michael Eds Perception and Interactive Technolo gies volume LNCS 4021 2006 9 19 Springer 2006 Literaturverzeichnis 153 204 205 206 207 208 209 210 211 212 213 214 215 216 WEISER Mark Some Computer Science Issuses in Ubiquitous computing Communications of the ACM 36 7 74 84 1993 WELD D ANDERSON C DOMINGOS P ETZIONI O LAU T GAJOS K WOLFMAN S Automatically Personalizing User Interfaces In Procee dings of IJCAI 03 7 2003 WIECHA Charles BOIES Stephen Generating user interfaces principles and use of it style rules In Proceedings of the 3rd annual ACM SIGGRAPH symposium on User interface software and technology 21 30 1990 WIGDOR Daniel FORLINES Clifton BAUDISCH Patrick BARNWELL John SHEN Chia Lucid touch a see through mobile device In UIST 07 Pro ceedings of the 20th annual ACM sympos
23. Surface 111 In Abbildung 2 5b ist der HTC Touch abgebildet ein Mobiltelefon das ber einen Touchscreen gesteuert werden kann Sprachbedienschnittstellen Sprache wird je nach Art der Anwendung unterschiedlich beschrieben wodurch es mehrere Sprachmodalit ten geben kann Nat rliche Sprache kann genauso zum Einsatz kommen wie eine reine Kommandosprache Je nach Einsatzzweck kann eine Sprachbedienschnittstelle eine sehr nat rliche Form der Interaktion sein Doch Sprache ist durch ihre Vieldeutigkeit nicht die einfachste Art der Inter aktion 45 S 118 F r Untermengen von Sprachen die sich auf Anwendungs 2 2 Modalit ten 21 gebiete beschr nken existieren allerdings Systeme mit hohen Erkennungsraten Sprachbedienschnittstellen werden in der Regel als Sprachdialogsysteme SDS realisiert Die M glichkeit ber nat rliche Sprache mit Maschinen zu kommunizieren existiert seit den 1990er Jahren Davor gab es lediglich eine sehr eingeschr nkte Form der Kommunikation indem ein Men vorgelesen wurde und der Benutzer dann ber eine Taste eine Auswahl treffen konnte Dies ist nach wie vor noch die h ufigste Art einen Sprachdialog mit einer Anwendung zu f hren wie das folgende Beispiel zeigt 43 System Bitte geben sie ihre PIN ein und dr cken sie anschlie end die Sterntaste Anrufer 1 2 3 4 System Hier ist ihr Anrufbeantworter Sie haben keine Nachrichten Sie befi
24. University Press 1956 MORAN Thomas P Getting into a system External internal task map ping analysis In CHI 83 Proceedings of the SIGCHI conference on Human Factors in Computing Systems 45 49 ACM New York NY USA ISBN 0 89791 121 0 1983 MORI Giulio PATERN Fabio SANTORO Carmen Tool support for desi gning nomadic applications In Proceedings of the 8th international confe rence on Intelligent user interfaces 141 148 2003 MUTOH Masao Ruby GetText http www yotabanana com hiki ruby gettext dev html 2006 MYERS Brad HUDSON Scott E PAUSCH Randy Past present and future of user interface software tools ACM Transactions on Computer Human Interaction 7 1 3 28 ISSN 1073 0516 2000 Myers Brad A A new model for handling input ACM Transactions on Information Systems 8 3 289 320 1990 Myers Brad A User interface software tools ACM Transactions on Computer Human Interaction 2 1 64 103 1995 MYERS Brad A Rosson Mary Beth Survey on user interface program ming In Proceedings of the SIGCHI conference on Human factors in com puting systems 195 202 1992 MYnATT Elizabeth D EDWARDS W Keith Mapping GUIs to auditory interfaces In UIST 92 Proceedings of the 5th annual ACM symposium on User interface software and technology 61 70 ACM Press New York NY USA ISBN 0 89791 549 6 1992 MULLER Johannes Handbuch der Physiologie des Menschen J H lscher Verlag
25. die syntaktische Ebene dient zur Kontrol le ob Eingaben in einer vorgegebenen Reihenfolge geschehen Die semantische Ebene dient der Pr fung ob die gew hlte Aktion im aktuellen Zusammenhang sinnvoll ist Nigay und Coutaz beschrieben 1995 dass die Kombination eines Ger ts mit ei ner Interaktionssprache eine interaction technique ergibt Diese entspricht schon sehr dem bisher erweiterten Modalit tsbegriff 127 Eine Interaktionssprache beschreibt dabei die verschiedenen Ebenen der Interaktion mit einem Ger t So enth lt eine Interaktionssprache f r Spracheingabe Schl sselworte eine Gram matik und Regeln um die Eingabe zu pr fen Daraufhin beschrieb Nigay zusammen mit Vernier 2001 den Begriff Modalit t als eine Kombinationen einer Interaktionssprache und eines Ger ts mit der Unter scheidung in Ein und Ausgabemodalit t 201 Der Begriff der interaction tech nique wurde durch den gebr uchlicheren Begriff der Modalit t ersetzt Die Tren nung in Ein und Ausgabemodalit ten ist von Bedeutung denn durch sie lassen sich unabh ngige Sprachen f r unterschiedliche Teile eines Systems einsetzen Eine Beschreibungssprache f r die Eingabe ber Maus und Tastatur ist z B un abh ngig von einer Beschreibung f r eine grafische Ausgabe auf einem Monitor Eine Modalitat ist nicht allein das Ger t oder das Medium denn selbst f r eine einzelne Modalit t kommt es auf die Interaktionssprache an So lassen sich durch 16 Grundlagen
26. dritte verbesserte auflage edition http vlp mpiwg berlin mpg de references id 1it17251 1837 Literaturverzeichnis 147 123 Nass I SHNEIDERMAN B Flowchart techniques for structured pro gramming SIGPLAN Not 8 8 12 26 ISSN 0362 1340 1973 124 Newman William M A system for interactive graphical programming In AFIPS 68 Spring Proceedings of the April 30 May 2 1968 spring joint computer conference 47 54 ACM New York NY USA 1968 125 NiGay Laurence Conception et mod lisation logicielles des syst mes inter actifs application aux interfaces multimodales Ph D thesis Laboratoire de G nie Informatique IMAG Universit Joseph Fourier January 1994 126 NiGay Laurence COUTAZ Jo lle A design space for multimodal systems concurrent processing and data fusion In Proceedings of the SIGCHI con ference on Human factors in computing systems 172 178 1993 127 Nicay Laurence CoUTAZ Jo lle A generic platform for addressing the multimodal challenge In Proceedings of the SIGCHI conference on Human factors in computing systems 98 105 1995 128 NINTENDO Controllers at Nintendo http www nintendo com wii what controllers 2009 129 No Maaic Inc Magic Draw http www magicdraw com 2008 130 N BREGA Leonel NUNES Nuno Jardim COELHO Helder Mapping Con curTaskTrees into UML 2 0 In DSVIS 05 12th International Workshop on Design Specification a
27. glich die Geschwindigkeit des Benutzers bei der Erf llung einer bestimmten Aufgabe festzustellen zu mes sen wie angenehm Benutzer eine Benutzerschnittstelle finden wie viele Fehler Benutzern im Mittel bei einer Aufgabe unterlaufen und vieles mehr Es existieren mehrere Evaluationsmodelle von denen GOMS als wichtiger Re pr sentant vorgestellt wird GOMS wurde 1983 von Card Moran und Newell entwickelt und steht f r Goals Operators Methods und Selection 28 45 177 Im Einzelnen bedeuten diese Elemente folgendes e Goals sind die Ziele des Benutzers die er bei einer Aufgabe erreichen m ch te Sie werden in GOMS auch als eine Art Knoten dargestellt von denen aus ein Benutzer bewerten kann was getan werden soll und zu denen bei Fehlern zur ckgekehrt werden kann e Operators sind die atomaren Aktionen die Benutzer ausf hren wenn sie das System benutzen Sie beeinflussen das System z B durch Ausf hren einer Aktion oder den Benutzer z B durch Information die angezeigt wird e Methods kennzeichnen Wege zum Ziel In GOMS werden Methods durch das kleingeschriebene Schl sselwort goal gekennzeichnet e Selection kennzeichnet die Wahlm glichkeit zwischen den verschiedenen Methods 66 Klassifikation bestehender Ans tze ON An bk o NH D GOMS kommt aus dem Bereich der kognitiven Modellierung Mit GOMS lassen sich gut hierarchische Planungen darstellen und Vorg nge in atomare Abfolgen zerlegen
28. sst sich sein Verhalten auch durch ein Zustandsdiagramm beschreiben Durch Einbettung zu s tzlicher Diagramme bleibt eine hierarchische Modellierung weiter m glich Die Abbildungen 4 4a und 4 4b zeigen die Aktivit tsdiagramme des MP3 Players und des Getr nkeautomaten Wie man sieht entspricht ein Aktivit tsdiagramm einem gerichteten Graph Es enth lt Kanten entlang derer die verschiedenen Aktionen geschehen Kontrollelemente steuern den Ablauf Von den Beispielen besitzt nur der Getr nkeautomat Verzweigungen Diese verbinden im Diagramm direkt die verschiedenen Aktionen miteinander Es ist m glich statt der direkten Verbindung mit Elementen wie Verzweigungsknoten decision nodes zu entschei den wie im Ablauf die Kanten traversiert werden sollen Parallelisierungs Fork nodes und Synchronisationsknoten join nodes k nnen eingesetzt werden um den Ablauf zu parallelisieren und auch wieder zusam menzuf hren Das Verhalten entlang der Kanten ist hnlich zu Petrinetzen 153 Tokens bestimmen welche Aktionen aktiv sind An Parallelisierungsknoten wird ein Token vervielfacht um alle Transitionen zu beschreiten An Synchronisati onsknoten werden die Tokens wieder zusammengefasst Zus tzliche Kontrollelemente sind die Start und Endknoten die den Ablauf im Graph festlegen Der Getr nkeautomat besitzt keinen Endknoten da er einmal eingeschaltet immer aktiv bleibt Der Endknoten des MP3 Players wird durch das Ausschalten des Ge
29. ts nicht in Frage kommt wird ein Automat mit einer softwarebasierten Benutzerschnittstelle verwendet Die nachgebildete Oberfl che ist in der Abbildung 2 8b zu sehen Cappuccino GG Em a Kaffeeautomat b Automat in Software Abbildung 2 8 Links ein Kaffeeautomat rechts die Benutzerschnittstelle ei nes Automaten als Anwendung nur in Software Bild links von http designnation de In diesem Fallbeispiel hat der Automat den Vorteil dass er nicht vereinfacht wer den muss Die gesamte Funktionalit t l sst sich modellieren und in das Beispiel bernehmen Das Fallbeispiel wird anhand des realen Automaten beschrieben statt Tasten k nnen jedoch Buttons einer GUI oder Sprachbefehle verwendet werden Zu Beginn begr t der Automat jeden Benutzer Bei einem realen Automaten geschieht dies durch eine Anzeige Ein Benutzer kann Preise abfragen indem er die verschiedenen Tasten des Ger ts dr ckt Die Preise werden kurz angezeigt danach kehrt der Automat zur Begr ung zur ck 28 Grundlagen Sobald ein Benutzer Geld einwirft kann er den Preis nicht mehr abfragen Der Automat zeigt das Guthaben an und l sst Milch und Zucker zu den Getr nken w hlen Sobald ein Getr nk ausgew hlt wird beginnt der Automat mit der Her stellung Falls das Guthaben nicht ausreicht wartet der Automat darauf dass der Benutzer noch mehr Geld einwirft Der Benutzer kann vor der Herstellung des Getr nks jederzeit Abbrechen
30. tze kombiniert und perfek tioniert wurden Das mArch Modell erm glicht multimodale Interaktionsan wendungen mit einer zentralen Dialogsteuerung Die einzelnen Modalit ten lassen sich auf verschiedene Plattformen verteilen Zum Schluss der Arbeit wurde in Kapitel 6 Realisierung eines Software Frame works das entwickelte Software Framework f r ein multimodales User In terface Management System zur Erstellung von Anwendungen vorgestellt Es realisiert die beschriebene Architektur und ist mit geringem Aufwand um neue Modalit ten erweiterbar Das Framework verwendet die eingef hrten UML Dia gramme zur Beschreibung der Interaktion und um festzustellen welche Opera tionen auf Anwendungsklassen ausgef hrt werden Die Anwendung des Frame works und die einfache Integration neuer Modalit ten wurde an den Fallbeispie len demonstriert 7 2 Ausblick Die vorliegende Arbeit erschlie t eine Reihe von verwandten interessanten For schungsthemen Eine Reihe mit dieser Arbeit verwandter Forschungsarbeiten entsteht zur Zeit im Sonderforschungbereich Transregio 62 der an den Univer sit ten Ulm und Magdeburg eingerichtet wurde Direkt mit Teilen der Arbeit verbunden sind Themen im Bereich von Fusion Fission und Modalit ten Hier existieren einige experimentelle und theoretische Fragestellungen f r Interakti onsanwendungen Das Anwendungsframework verf gt ber einen Plugin Mechanismus f r Fusi onsalgorithmen Experimentelle Untersuchu
31. Modalit ten in das Framework zu integrieren ist ge ring Es ist zu beachten dass keine spezifische Anwendungslogik in eine Mo dalit tskomponente integriert wird Abgeleitete Klassen m ssen die Nachrichten des Mappers verarbeiten k nnen und Mechanismen implementieren um Benut zereingaben an den Mapper senden zu k nnen 6 4 Fazit In diesem Kapitel wurde das Software Framework vorgestellt welches die in Ka pitel 5 Architekturen f r multimodale Benutzerschnittstellen entwickelte Ar chitektur implementiert Die Fallbeispiele verdeutlichen dass sowohl die Architektur als auch das Soft ware Framework funktionieren Sie zeigen dass die Integration des Dom nen modells auf einfache Weise m glich ist Wie bereits im Kapitel 4 Modellie ren von Interaktionsanwendungen mit UML beschrieben lassen sich die UML Diagramme zur Interaktionsbeschreibung hierarchisch strukturieren Dieses Ka pitel erl utert mit dem neu entwickleten Kaktusstack ein Verfahren mit dem diese Hierarchisierung umgesetzt wird Das Pr sentationsmodell wird durch drei Modalit ten eine grafische Benutzer schnittstelle eine Sprachbedienschnittstelle und ein Tangible User Interface rea lisiert Multimodale Anwendungen sind durch das Framework mit geringem Auf wand m glich Die drei Modalit ten nutzen die Fission der Mapper Komponente Im Rahmen der Arbeit war nur eine einfache Fission m glich Verfahren die zur Laufzeit eine Fission vornehmen oder
32. Teildialoge nutzen Die Dia logsteuerung sendet daher den Namen der aktuellen Aktion oder des aktuellen Zustands an den Mapper und dieser verteilt ihn an alle beteiligten Modalit ten In der Gegenrichtung kann jede Modalit t Fingaben des Benutzers an die Pr sen tationskomponente senden Dieser muss die Eingaben des Benutzers verarbeiten damit z B widerspr chliche Operationen abgefangen werden k nnen Die Kommunikation zwischen Mapper und Modalit ten geschieht durch den Aus tausch von Nachrichten Jede Modalit t sendet Nachrichten an den Mapper so bald ein Benutzer eine Interaktion ausf hrt Im Gegenzug sendet der Mapper Nachrichten an die Modalit ten sobald Aktionen oder Zust nde betreten wer den Das Senden von Nachrichten entspricht einem Event Mechanismus ist aber nicht an ein Betriebssystem oder eine Plattform gebunden Durch den univer selleren Mechanismus ist es einfacher verschiedene Hardware und Software Plattformen f r Modalit ten zu kombinieren 5 2 4 Modalit ten An den Mapper k nnen mehrere Modalit tskomponenten angebunden werden Unter Umst nden kann sogar eine Modalit t mehrfach angeboten werden Dies 1Die Namen sind eindeutig und erf llen den Zweck von IDs 5 3 Fission und Fusion 101 ist der Fall wenn ein Benutzer z B mehrere Ger te mit Display nutzen will auf denen die gleiche Aufgabe erledigt werden soll In Abschnitt 3 2 3 wurden im Cameleon Framework verschiedene Auspr gung
33. anderen Diagram men aus auf die Anwendung zugegriffen werden Damit lassen sich durch Be nutzerinteraktionen Vorg nge im System starten oder beeinflussen 4 2 Aufgabenmodell Das Aufgabenmodell beschreibt die einzelnen Aufgaben die ein Benutzer mit einer Anwendung erledigen kann Es stellt eine abstrakte Sicht auf die gesamte Interaktion dar Das Aufgabenmodell ist direkt und indirekt durch das Dialogmo dell mit dem Pr sentationsmodell verbunden In UML gibt es zwei Diagrammarten die mit dem Aufgabenmodell zusammen h ngen Das Use Case Diagramm eignet sich f r abstrakte Beschreibungen von Systemen und zur funktionalen Gliederung von Systemen Dar ber hinaus zei gen sie die Intentionen der Benutzer und die Erwartungen an das System auf wie von Constantine beschrieben 35 S 247 252 Aktivit tsdiagramme beschrei ben Abl ufe und das Verhalten eines Systems In ihnen k nnen Aufgaben parallel oder sequentiell erledigt werden Es gibt auch die M glichkeit dass ein Benutzer sich zwischen manchen entscheiden kann Zuerst werden kurz Use Case Diagramme vorgestellt die zur Gliederung kom plexer Anwendungen Verwendung finden Im Anschlu folgen Aktivit tsdiagram me die das allgemeine Verhalten eines Systems in dieser Arbeit beschreiben 4 2 Aufgabenmodell 75 4 2 1 Use Case Diagramme Use Case Diagramme beschreiben was ein System f r den Benutzer leistet Sie werden w hrend Use Case Analysen erstellt bevor mit der I
34. dazu eine Erweiterung der Notation selbst notwendig Da sie zur Beschreibung von Interaktionsabl ufen auf ConcurTaskTrees aufbaut ist sie ebenso verst ndlich und damit eine angemesse ne Notation zur Modellierung Eine wachsende Werkzeugunterst tzung f rdert die noch m ige Verbreitung 58 Klassifikation bestehender Ans tze Evaluation Domain To Environment Abbildung 3 9 UsiXML im Klassifikationsframework Abbildung 3 9 zeigt UsixML im Klassifikationsframework UsiXML bietet den gro en Vorteil alle Modelle f r Interaktion abzudecken Durch das Transforma tionsmodell von UsiXML besteht schon innerhalb der Notation eine M glichkeit um Regels tze f r Transformationen aufstellen zu k nnen UsiXML unterst tzt durch die Elemente des CUI Modells insbesondere GUIs nachrangig 3D und Sprachschnittstellen Diese k nnen dank des Kontextmodells f r verschiedene Einsatzzwecke Benutzerstereotypen und Plattformen beschrieben werden Von Nachteil ist dabei dass Benutzer und Umgebungsmodell sehr einfach aufgebaut sind weshalb sie im Diagramm auch leicht eingef rbt sind 3 5 3 Unified Modeling Language UML Die Unified Modeling Language UML ist eine Sprache zum Modellieren der Strukturen von Systemen und ihrem Verhalten Der Standard wird von der Ob ject Management Group OMG gepflegt und ist mittlerweile in Version 2 2 ver f gbar 141 UML ist die am weitesten verbreitete Sprache zur Modellierung von Softwa
35. den verschie denen Interaktionsobjekten der Modalit ten Dazu verteilt sie die Ausgaben an alle Modalit ten und konzentriert die Fingaben in einen einzigen Ereignisstrom Da die Pr sentationskomponente ein 1 n Mapping von der Dialogsteuerung zu den Modalit ten vornimmt wird sie in dieser Arbeit Mapper genannt Der Map per enth lt Funktionalit t mit der plattform bergreifend zwischen den Kom 5 2 Zusammenspiel der Komponenten 99 ponenten kommuniziert werden kannn Diese Funktionalit t ist notwendig da Modalit ten auf unterschiedlichen Plattformen zum Einsatz kommen Die einzelnen Modalit ten lassen sich als hierarchische PAC Agenten oder mit dem MVC Konzept als Kombination von View und Controller realisieren In bei den F llen liegen Abstraction bzw Modell bei der Dialogsteuerung In dieser Arbeit wird der MVC Ansatz verwendet um Modalit ten als Komponenten zu erstellen Bei einer Generierung der Benutzerschnittstelle zur Laufzeit kann der PAC Ansatz eingesetzt werden Er hat den Vorteil dass eine mehrstufige Aufglie derung in Anteile einer Benutzerschnittstelle eingesetzt werden kann Bei einer solchen Aufgliederung lassen sich analog zum in Abschnitt 3 2 3 vorgestellten Cameleon Framework hnliche Anteile ber Modalit ten hinweg zusammenfas sen Ein PAC Agent beschreibt beispielsweise eine Interaktion in Software auf der AUI Ebene Ein Unteragent beschreibt eine GUI Unteragenten steuern das Anwendungsfenster und di
36. der modellbasierten Entwick lung wie der Transformationsebenen im Cameleon Framework Das Models and Mappings Klassifikationsframework betrachtet alle beteiligten Modelle und kann alle Mappings zwischen Modellen einer Notation erfassen Durch dieses neue Klassifikationsframework wird eine Einordnung nach Modellabdeckung und ei ne Bewertung der vorhandenen Mappings erm glicht Die wichtigsten Repr sentanten von Modellierungssprachen wurden mit Hilfe des Klassifikationsframeworks im Rest des Kapitels bewertet Ein wichtiges Er gebnis der Bewertung ist die Wahl der Unified Modeling Language UML als die am besten geeignete Modellierungssprache f r diese Arbeit Die Unified Mode ling Language ist durch Use Case Aktivit ts und Zustandsdiagramme eine geeignete Notation f r die abstrakte Beschreibung der Interaktion zwischen Benutzer und Anwendung Dar ber hinaus bietet sie eine sehr weitgehende Unterst tzung f r Anwendungsmodelle durch Klassendiagramme und eine Rei he weiterer Sichten auf den gesamten Entwicklungsprozess durch ihre weiteren Diagrammarten Ein gro er Vorteil ist dass Mappings innerhalb von UML bereits beschrieben sind und von Werkzeugen unterst tzt werden Die UML erm glicht es komplexe Interaktionsanwendungen modalit tsunab h ngig zu beschreiben Dies war bei den bisherigen Ans tzen nur eingeschr nkt durchf hrbar In Abschnitt 4 5 ber das Pr sentationsmodell wird zus tzlich be schrieben wie eine direkte An
37. ein quivalent zu Sinnesmodalit ten Durch Sen soren oder Eingabeger te k nnen sie Informationen aus ihrer Umwelt aufneh men Sie k nnen auch analog zum Menschen auf verschiedene Arten Informa tionen ausgeben Sie unterscheiden sich allerdings stark vom Menschen denn dieser hat nicht alle Ausgabem glichkeiten von technischen Ger ten Zum Bei spiel wird ein Mensch ber einen Film sprechen eine Maschine kann den Film selbst zeigen Die Definition allein ber die menschlichen Sinne gen gt jedoch im Kontext der Interaktion nicht zur Klassifikation Diese Sicht ist antropozentrisch und l sst sich nicht einfach auf Maschinen bertragen Was beim Menschen ein Organ und die Nervenzellen zur Verarbeitung der Reize des Organs sind m sste bei einer Maschine ein hnlicher Komplex sein Dies ist jedoch nicht immer der Fall Zum Beispiel erfolgt die Eingabe eines Textes mit Tastatur oder Stift ber die Haptik des Menschen F r eine Maschine ist die Eingabe ber die Tastatur eine Reihe von diskreten Ereignissen Die Eingabe mit einem Stift ist dagegen eine 2 2 Modalit ten 15 kontinuierliche Folge von Eingaben deren dahinter liegende Geste noch erkannt werden muss Aus Maschinensicht handelt es sich darum um zwei verschiedene Modalit ten Ein anderer Ansatz versucht Modalit ten ber die physikalischen Eigenschaften von Interaktion zu definieren Card et al stellten 1990 allein f r den haptischen Kanal eine Klassifikation in
38. eines Software Frameworks 6 2 3 Zustandsdiagramme Von Aktivitatsdiagrammen aus k nnen wie in Kapitel 4 bereits beschrieben wur de Zustandsdiagramme aufgerufen werden Diese beschreiben ausf hrlich das Zustandsverhalten in einer einzelnen Aktion Die Dialogsteuerung verwendet in ihrer aktuellen Umsetzung einen Teil aller m glichen Modellelemente von Zustandsdiagrammen In Abbildung 6 6 sind sie im berblick dargestellt package Data ES State Machine Modelelementg lt lt enumeration gt gt lt lt enumeration gt gt TransitionKind PseudostateKind internal StateMachine initial local join external fork 0 4 T stateMachine junction choice 1 region container Region container gt 0 1 1 region subvertex e transition source outgoing Vertex 1 Transition target incoming gt S 0 1 state ei Pseudostate connectionPoint state State kind PseudostateKind Di 0 1 effect Behavior FinalState Abbildung 6 6 Benutzte Modellelemente fiir Zustandsmaschinen Ein Zustandsdiagramm enth lt immer eine Zustandsmaschine Die Zustands maschine enth lt Zust nde in einer oder mehreren Regionen welche Zust nde gruppieren Regionen werden innerhalb von komplexen Zust nden auch f r die Umsetzung von Nebenl ufigkeit eingesetzt Eine Reihe von Elementen in Zustandsdiagram
39. eines User Interface Management Systems sind auf einer abstrakten Ebe ne Eingabe und Ausgabe zu spezifizieren und dem Benutzer standardisierte Be nutzerschnittstellen anzubieten Sie trennen die Anwendung von der Benutzer schnittstelle und beschreiben diese auf einer abstrakteren Ebene als Toolkits UIMSe unterst tzen plattformunabh ngige Systeme und k nnen parallel meh rere Benutzerschnittstellen bereitstellen Damit eignen sie sich f r multimodale Systeme Die wichtigsten Bestandteile eines UIMS sind Komponenten f r die Pr sentation der Benutzerschnittstelle eine Steuerung der Interaktion sowie eine Schnittstel le zur Anwendung 52 Diese Komponenten finden sich z B in Garnet einem UIMS das zwischen 1987 und 1994 an der Carnegie Mellon Universit t entwi ckelt wurde 193 118 Das System wurde f r Common Lisp und X11 sowie Macintosh entwickelt und unterst tzt den Anwender bei der Erstellung von gra fischen Oberfl chen durch einen Rapid Application Development Ansatz Garnet konzentriert sich auf grafische Oberfl chen Echtzeit F higkeit von Anwendun gen und Editoren f r Oberfl chen Die Aufteilung in Anwendung Dialogsteuerung und Pr sentation ist ein grund legender Beitrag der User Interface Management Systeme Da es sich um einen rein konzeptuellen Ansatz handelt werden Implementierungsdetails der Kom ponenten in den Arbeiten von Kasik und Foley nicht ausgef hrt 87 52 Es existieren keine aktuell einsetzbaren UIM
40. erstellt wurde U2 With or without you Crowded House Weather with you SR71 Right now d Down Abbildung 6 9 GUI des MP3 Players Die Klasse GladeUI in Abbildung 6 8 l dt die Beschreibung der Oberfl che in ihrem Konstruktor Sie besitzt eine Zustandsvariable in der sie eine Referenz auf das aktuelle Dialogfenster speichert Sobald sie vom Mapper eine Nachricht erh lt aktualisiert sie die Zustandsvariable und das aktuelle Dialogfenster Die Benutzereingaben werden durch Event Handler verarbeitet Alle Benutzer eingaben werden durch einen einzigen Handler clicked behandelt Dieser Handler wertet aus um was f r eine Eingabe es sich handelt und bestimmt welche Nachricht an den Mapper bertragen werden muss Sprachbedienschnittstelle Die Sprachbedienschnittstelle erm glicht die Ein und Ausgabe von Sprache zur Bedienung von Anwendungen Die Klasse SpeechUI in Abbildung 6 8 verf gt ber eine zus tzliche Methode recognizer ber welche eine kontinuierliche Spracheingabe erfolgt Zur Eingabe von Sprache wird der Sphinx Spracherkenner der CMU Sphinx Group von der Carnegie Mellon Universit t eingesetzt 70 Die Eingaben sind Kommando basiert d h der Erkenner liefert Schl sselworte sobald ein Wort mit einer ausreichenden Wahrscheinlichkeit erkannt wurde Tabelle 6 3 f hrt die Kommandos und ihre zugeh rigen Phoneme auf F r manche der Kommandos 124 Realisierung eines Software Frameworks
41. for abstract descriptions of interaction e A process description for modeling interactive applications with UML The mArch model as a software architecture for multimodal applications e A software framework which allows multimodal user interface manage ment systems based on the mArch model Finally an outlook on further research based on this work is given The appendix contains a translation of the main concepts from UML between English and German Dank Diese Arbeit hatte ohne die Untersttitzung der Menschen um mich nicht geschrie ben werden k nnen Besonders m chte ich meinem Betreuer Prof Michael We ber danken Meine Kollegen aus dem Institut f r Medieninformatik hatten immer ein offenes Ohr f r mich ganz besonders danke ich Marc Hermann Ohne meine flei igen Korrekturleser w re der Text nicht so gut lesbar geworden Vielen Dank an Felix Sch ssel Frank Honold Josef Kovacs Mark Poguntke und ganz besonders Tom Lange und Ingo Gr ll Der Landesgraduierten Stiftung des Landes Baden W rttemberg verdanke ich ein Stipendium das mir die Forschung an meinem Thema sehr erleichtert hat Schlie lich will ich meiner Familie f r ihre Liebe und Unterst tzung danken 161 162 Dank Bildnachweis Die Abbildungen in der vorliegenden Arbeit wurden mit Ausnahme der hier auf gefiihrten Liste selbst erstellt Die Titelseite des Buchs zeigt den Kinkaku ji Goldener Pavillon Tempel in Kyo to Er wurde 1397 erri
42. glich ist Kapitel 5 Architekturen f r multimodale Benutzerschnittstellen stellt eine Soft ware Architektur vor welche die erarbeiteten Konzepte umsetzt Bestehende An s tze weisen f r sich genommen Schw chen auf wenn sie f r multimodale Be nutzerschnittstellen eingesetzt werden sollen Das entwickelte mArch Modell ist eine erweiterte Software Architektur f r die die Vorz ge bestehender Ans tze kombiniert und perfektioniert wurden Es erm glicht multimodale Interaktions anwendungen mit einer zentralen Dialogsteuerung Die einzelnen Modalit ten lassen sich auf verschiedene Plattformen verteilen Zum Schluss der Arbeit beschreibt Kapitel 6 Realisierung eines Software Fra meworks wie die das mArch Modell aus Kapitel 5 als Software Framework f r ein multimodales User Interface Management System zur Erstellung von Anwen dungen umgesetzt wird Das Software Framework realisiert die beschriebene Ar chitektur und l sst sich mit geringem Aufwand um neue Modalit ten erweitern Die Anwendung des Frameworks und die einfache Integration neuer Modalit ten wird an den Fallbeispielen demonstriert Kapitel 7 Fazit und Ausblick fasst die Ergebnisse der Arbeit zusammen Wichti ge Beitr ge sind e Das Models and Mappings Klassifikationsframework zur Bewertung von No tationen fiir Interaktionsanwendungen der Abdeckung von Modellen und Mappings e Die Feststellung der Eignung von UML f r die abstrakte Interaktionsbe s
43. im Meta Modell ver ndert wurden ist der h here Aufwand f r einen konfigurierbaren Parser nicht gerechtfertigt F r diese Arbeit wurde darum ein Parser entwickelt der an die aktuelle Version 2 2 der UML angepasst ist Der Parser in der Klasse xMI erzeugt Instanzen der Klassen aus dem Paket UML das in Abbildung 6 1 beschrieben wurde Um ein modellier tes Diagramm ausf hren zu k nnen gen gen wenige Klassen sowie ein Teil ihrer Attribute Attribute wie z B der Name eines Zustands m ssen nicht geparst wer den da sie f r die sp tere Ausf hrung keine Rolle spielen Durch die Beschr n kung auf die relevanten Informationen k nnen schlanke Klassen erstellt werden mit denen effizient gearbeitet werden kann Das Parsen der UML Diagramme wird im Folgenden ausf hrlicher beschrieben Die Klasse xMI parst die Diagramme und bereitet sie f r die weitere Verwendung auf UML Diagramme wachsen in ihrer XML Repr sentation schnell in der Gr e Deshalb werden sie meist komprimiert gespeichert Die Klasse XMI erkennt am Dateityp die Komprimierung und f hrt gegebenenfalls eine Dekompression durch 181 Die XML Repr sentation enth lt in ihrer Struktur noch eine Reihe weiterer Elemente die nicht ben tigt werden Vor dem eigentlichen Parsen wird deshalb zuerst die Datei verkleinert indem alle Elemente die f r die zeichneri sche Repr sentation zust ndig sind entfernt werden Wie in Tabelle 6 1 zu sehen ist verkleinert sich die XML Repr
44. interaktiven Systems Software oder Hard ware die Informationen und Steuerelemente zur Verf gung stellen die f r den Benutzer notwendig sind um eine bestimmte Arbeitsauf gabe mit dem interaktiven System zu erledigen ISO 9241 110 77 Die Steuerelemente von denen die Norm spricht sind die oben eingef hrten Interaktionselemente Damit erh lt man die folgende Definition Definition 4 Benutzerschnittstelle Die Benutzerschnittstelle ist die Summe al ler Interaktionselemente die in einem Dialog verwendet werden k nnen 2 1 2 Antropozentrischer Interaktionszyklus Interaktion findet immer in einem Zyklus statt Ein einfaches Modell setzt sich aus Benutzer System Eingabe und Ausgabe zusammen Die Eingabe ist an das System gerichtet die Ausgabe an den Benutzer Eingabe und Ausgabe zusammen ergeben die Schnittstelle Nachdem sich die Schnittstelle zwischen System und Benutzer befindet sind vier Schritte f r eine Interaktion n tig vgl Abbildung 2 2 Ein Benutzer beginnt den Interaktionszyklus mit einem bestimmten Ziel Um es zu erreichen nimmt er Eingaben in das System vor welche dieses intern verar beitet Das System erzeugt Ausgaben an denen der Nutzer die Auswirkungen seiner Eingabe auf das System erkennen kann Normans Modell des execution evaluation cycle ist noch deutlich ausf hrlicher und legt den Schwerpunkt auf die kognitiven Prozesse die beim Benutzer ab laufen 131 Die Interaktion wird in zwei sich ab
45. k nnen Nachteilig an diesem Ansatz ist unter anderem dass zur Laufzeit keine weiteren Modalit ten eingebunden werden k nnen und eine Anpassungen an nicht vorhergesehe ne Endger te nicht m glich ist Der Ansatz der fortlaufenden Generierung f hrt die Transformation auf ein PSM kontinuierlich zur Laufzeit durch Vorteilhaft ist dass bei der fortlaufenden Generierung auf Ver nderungen im Kontextmodell eingegangen werden kann Ein weiterer Vorteil ist dass Modalit ten w hrend der Laufzeit eingebunden werden k nnen Von Nachteil ist die gr ere ben tig te Rechenleistung um die Transformationen durchf hren zu k nnen In dieser Arbeit werden Templates eingesetzt da sie die Konzepte der Arbeit demonstrieren Die entwickelten Modelle und Verfahren sind jedoch auch f r beide generative Ans tze einsetzbar Kontextmodelle wie sie in Abschnitt 3 1 1 vorgestellt wurden haben Einflu auf die Transformationen An erster Stelle steht dabei das Ger temodell wel ches Informationen ber die verwendbaren Ausgabem glichkeiten und Inter aktionselemente eines Endger ts liefert Das Benutzermodell beeinflusst durch Aussagen ber den Benutzer die Ausgaben durch eine Modalit t Teile des Be nutzermodells und des Umgebungsmodells zielen auf einen Einsatz zur Laufzeit ab Anpassungen an eine besonders laute oder glei end helle Umgebung sollten beispielsweise direkt w hrend der Benutzung geschehen 5 3 Fission und Fusion 103
46. kurze Nachricht und ist danach f r das Abspielen von Musik bereit Tabelle 2 2 zeigt die verschiedenen Aktionen die mit dem MP3 Player m glich sind und was sie bewirken Zun chst wird keine Musik gespielt erst nach der Eingabe des Befehls play beginnt die Anwendung damit Befehle sollen hier abstrakt von der eigentlichen Benutzerschnittstelle beschrieben werden Sie 2 5 Fazit 29 k nnen als Taste an einem Ger t Button in einer GUI oder Sprachbefehl realisiert werden Aktion Auswirkung play Startet das Abspielen eines Lieds pause Unterbricht das Abspielen stop Unterbricht das Abspielen und setzt die Abspielposition auf den Anfang des Lieds zur ck inc_volume Erh ht die Lautst rke dec_volume Senkt die Lautst rke next ndert das aktuelle Lied auf das n chste der Playlist Im Ab spielmodus wird das Lied sofort gestartet previous Wie next nimmt aber das vorherige Lied der Playlist Tabelle 2 2 M gliche Aktionen mit dem MP3 Player 2 5 Fazit In diesem Kapitel wurden die grundlegenden Begriffe eingef hrt und definiert Die Arten der Interaktion wurden gekl rt und dabei die Begriffe der Sinnesmo dalit t Modalit t Multimodalit t und Modalit tskategorie eingef hrt Modelle nach dem Model Driven Software Development wurden als Grundlage f r die Erzeugung von plattformspezifischen Modellen aus generischeren platt formunabh ngigen Modellen vorgestellt Zum Schluss wurden Fallbeispiele vorgestel
47. mehrere Modalit ten auf 29 30 In diesem Verfah ren werden Eingabeger te nach mehreren Kriterien beurteilt Ein Aspekt sind die Koordinaten im Raum ein weiterer Aspekt sind bspw Kraftmessungen nach ab soluten Werten oder Ver nderungen Zur Verdeutlichung soll eine normale Maus mit mehreren Tasten dienen Diese besitzt dann zwei Attribute f r die Koordi naten im Raum wobei nur die Ver nderungen bei einer Bewegung gemessen werden Damit ist es m glich die Maus aufzuheben und an einer anderen Stel le wieder abzusetzen ohne dass sich der Zeiger am Bildschirm bewegt F r die Tasten werden absolute Werte gemessen n mlich ob eine Taste gerade gedr ckt ist oder nicht Diese Art der Beschreibung erm glicht es zwar grunds tzlich al le m glichen haptischen Eingaben zu erfassen allerdings l sst sich nur mit viel Aufwand eine Br cke in Richtung des intuitiveren Begriffs der Sinnesmodalit t schlagen Aus Ans tzen wie diesem wurden jedoch allgemeine Beschreibungen f r die Eigenschaften von Ger ten entwickelt Zwischen einem Analogon zu Sinnesmodalit ten und physikalischen Eigenschaf ten sind verschiedene Abstraktionen denkbar Es l sst sich eine Unterteilung in drei Ebenen vornehmen wie bei der logischen Interaktion im Interaktionszyklus siehe Abschnitt 2 1 3 in die lexikalische die syntaktische und die semantische Ebene 126 Die lexikalische Ebene beschreibt physikalische Eingabeereignisse wie einen Tastendruck oder Mausklick
48. schnelle semantische R ckmeldung erm glicht Solch ei ne R ckmeldung wurde eingeplant um in F llen wie beispielsweise dem Zeich nen von Linien die Eingabe zur Anwendung zu beschleunigen Ohne die Umge hung m ssten alle Eingabeereignisse in der Dialogsteuerung verarbeitet werden bevor sie an die Anwendung weitergeleitet w rden Aufgrund der geringeren Leistungsf higkeit der damaligen Hardware bedeutete der Bypass ein schnelles Ansprechverhalten eines Systems Durch die Bypass Steuerung kann die Dialog steuerung bestimmen f r welche Interaktionen der Bypass verwendet werden soll In der Abbildung ist die Steuerung mit einem gestrichelten Pfeil markiert Das Seeheim Modell ist eine Konkretisierung des UIMS Ansatzes Es beinhaltet weiterhin die Dreiteilung der Komponenten trifft aber keine Aussagen ber die Anbindung von mehreren Modalit ten 5 1 3 Arch und Arch Slinky Modell Das von Bass 1992 vorgestellte Modell ist eine Weiterentwicklung des Seeheim Modells und vereinigt viele Vorz ge der bisher vorgestellten Ans tze 12 Die Komponenten werden noch ausf hrlicher spezifiziert und ihre Anzahl auf f nf erh ht Es handelt sich um zwei Modelle das Arch Modell und das Slinky Meta modell und die m glichen Variationen durch das Metamodell Abbildung 5 2 illustriert woher das Arch Modell seinen Namen hat Die Kom ponenten des Modells sind in einem Bogen angeordnet Die Dialogsteuerung existiert weiter als Dialogue Component D
49. sentationsmodell presentation model repr sentiert die verschiedenen Elemente der Benutzerschnittstelle und ihre Auspr gungen visuell haptisch usw Es enth lt auch Informationen zum Stil in denen die Elemente pr sen tiert werden z B zu Schriftarten oder zu verwendenden Stimmen Das Dialogmodell dialog model legt fest wie der Benutzer mit dem Pr sentati onsmodell interagiert Dazu beschreibt es die m glichen Aktionen des Benutzers und wie die Anwendung darauf reagieren soll 1 Auch concepts model genannt 25 3 1 Modellarten und Mapping Problem 33 Das Umgebungsmodell environment model wurde von Duarte und Carri o be schrieben 47 Es liefert kontextuelle Informationen wie beispielsweise tiber Lautstarke Helligkeit und den Aufenthaltsort Die Informationen hangen stark vom Einsatzzweck einer Anwendung ab Neben den Modellen von Puerte und Eisenstein existieren noch einige die in anderen Arbeiten beschrieben wurden Die f r diese Arbeit relevanten Modelle sind das Ger temodell und das Evaluationsmodell Das Ger temodell device model beschreibt ber Profile die Eigenschaften von eingesetzten Ger ten Einzelne Ger te werden durch ihre Attribute gekennzeich net Ein Ausgabeger t besitzt z B Attribute f r die Aufl sung in Pixeln ein Ein gabeger t wie eine Maus verf gt beispielsweise ber Attribute f r ihre Koordina ten und f r die verschiedenen Kn pfe 214 Das Evaluationsmodell beschreibt
50. sind ein Ansatz das Verhalten von UML Dia grammen durch formale verifizierbare Automaten zu beschreiben 21 163 Abstrakte Zustandsmaschinen beschreiben durch die nderungen ihrer internen Zust nde das Verhalten von einzelnen Diagrammen Sowohl Aktivit ts als auch Zustandsdiagramme k nnen durch ASMs beschrieben werden dadurch lassen sich die Einbettungen von Diagrammen in bergeordnete Diagramme ebenfalls nachbilden Allerdings unterst tzen ASMs noch nicht vollst ndig alle ben tigten Diagrammelemente und deren Verhalten Zur Implementierung des Software Frameworks wurde ein Interpreter f r Ak tivit ts und Zustandsdiagramme entwickelt Dieser zeigt die Realisierbarkeit des Konzepts Im Folgenden wird die Funktionsweise des Interpreters vorgestellt In Abbildung 6 3 wird das Laufzeitverhalten des Frameworks gezeigt Das UML Diagramm ist in zwei alternative Abschnitte mit alt bezeichnet geteilt Im obe ren Abschnitt sind die Schritte beim Abarbeiten eines bergangs in einem Aktivi t ts oder Zustandsdiagramm zu sehen Der Interpreter verarbeitet den bergang 6 2 Ausf hren von UML 113 interaction Execution Cycld w Execution Cycle SL m ei m m an Lac next 2 perform 3 perform 4 perform 6 process 5 irput 7 call_method 8 update 9 update 10 update
51. ten zu sprechen bilden diese eine Modalit tskatego rie Dabei d rfen sich Repr sentanten einer Kategorie nur in wenigen Attributen voneinander unterscheiden Definition 8 Modalit tskategorie Eine Modalit tskategorie fasst Modalit ten zusammen die sich sehr hnlich sind Bei der Einteilung in Kategorien haben sich im Lauf der Zeit verschiedene Grup pen herausgebildet Dix et al beschreiben Interaktionsstile die sich weitgehend 2 2 Modalit ten 19 als Kategorien anbieten 46 S 136 Grafische Oberfl chen sind in zwei Varian ten Point and Click und WIMP Windows Icons Menus Pointers aufgef hrt Sprache zur Bedienung von Systemen findet sich als Natural Language wobei heutige Sprachsysteme zwischen nat rlicher Sprache und einfacheren Systemen mit Sprachkommandos unterscheiden 3D ist eine Kategorie die in den letzten Jahren insbesondere durch Spiele eine gr ere Verbreitung gefunden hat Bei Dix et al finden sich in den Interaktionsstilen allerdings auch Elemente die weniger als Kategorie geeignet sind Diese Elemente beschreiben vielmehr Ab l ufe oder Verhalten von Interaktionen und sind nicht immer an Modalit ten gebunden Auf sie passt die Bezeichnung Interaktionsmuster interaction pat terns die von Jennifer Tidwell die eine solche Mustersammlung zusammen gestellt hat gepr gt wurde 46 188 S 284ff Beispiele f r Interaktionsmuster sind Men s Wizards und Formulare Men s k nnen unter ander
52. vor der Ausf hrung einer Anwendung Benutzerschnittstellen generieren wurden nicht aufgenommen Diese Verfahren bilden ein Forschungsthema das gesondert untersucht werden sollte Im Framework ist ein austauschbarer Fusionsmechanismus enthalten ber den auch komplexe Fusionsverfahren genutzt werden k nnen In der Arbeit wurde ein sehr einfacher Mechanismus implementiert f r einen zuk nftigen Einsatz sind komplexere Verfahren zu untersuchen und zu implementieren Erweiterungen um neue Modalit ten sind auf einfache Art m glich In der Arbeit wurden bereits drei Modalit ten erstellt w nschenswert f r Untersuchungen zur Nutzung von Multimodalit t w ren weitere Benutzerschnittstellen Dies k nnen je nach Anwendung z B weitere GUIs f r unterschiedliche Displaygr en oder alternative TUIs sein Fazit und Ausblick The purpose of computing is insight not numbers Richard W Hamming 1962 Ziel dieser Arbeit war es geeignete abstrakte Modelle fiir die Interaktion zwi schen Benutzern und Anwendungen zu finden welche die Verkntipfungen zwi schen den eingesetzten Modellen minimieren Durch die Modelle sollte eine ab strakte Beschreibung der Interaktion eines Benutzers mit einem System darge stellt werden Schlie lich sollte eine abstrakte Interaktionsbeschreibung multi modale Benutzerschnittstellen erm glichen bei denen alle Modalit ten ber die gleichen Interaktionsabl ufe verf gen 7 1 Beitr ge In den Kapitel
53. wie eine Reihe von Eigenschaften der Benut zerschnittstelle gemessen werden k nnen Hier kann es je nach den zu messen den Eigenschaften eine Vielzahl von Modellen geben die eingesetzt werden 3 1 2 Mapping Problem Die verschiedenen Modelle stehen nicht f r sich allein Manche Modelle lassen sich im Sinn von Model Driven Software Development zur Codeerzeugung ein setzen Andere Modelle lassen sich transformieren so kann z B aus einem Pr sentationsmodell zusammen mit den Ger teeigenschaften einer Zielplattform ein plattformspezifisches Modell PSM generiert werden Weitere Modelle wie z B manche Dialogmodelle k nnen zur Laufzeit interpretiert werden Modelle k nnen transformiert und miteinander verbunden werden Die Verkn p fungen werden allgemein als Mappings bezeichnet Durch modellbasierte Er zeugung von Benutzerschnittstellen soll aus den abstrakten Modellen eine kon krete Spezifikation abgeleitet werden Als Mapping Problem wird die Schwierigkeit der Mappings zwischen verschiede nen Modellen bezeichnet Mappings k nnen als Verbindung zwischen Modellen zur Transformation von einem in ein anderes Modell oder auch zur Erzeugung eines neuen Modells durch Kombination aus anderen Modellen eingesetzt wer den Mappings k nnen sehr komplex werden Auftretende Probleme sollen an einem Beispiel illustriert werden F r das Fallbeispiel des MP3 Players sei ein Aufgaben ein Dom nen und ein Benutzermodell gegeben Dialog und
54. zu Informationen und die Interaktion m glichst ein fach zu machen Dynamisch ver nderliche Attribute sind z B die Stimmung oder die Aufmerksamkeit des Benutzers Abh ngig von der Aufmerksamkeit k nnen z B Spracheingaben nicht mit voller Sicherheit erkannt werden oder der Benut zer k nnte auch abgelenkt zu einem anderen Thema antworten 64 Klassifikation bestehender Ans tze Ein fr hes Benutzermodell wurde 1983 von Card Moran und Newell in ihrem Buch The Psychology of Human Computer Interaction vorgestellt 28 31 Es besitzt vier Ebenen die physikalische die kognitive die konzeptuelle und die Task Ebene Die physikalische Ebene beinhaltet dabei die Interaktion des Benut zers mit Eingabe und Ausgabeger ten Die kognitive Ebene beschreibt die Ka pazit ten des Benutzers die zur Informationsverarbeitung vorhanden sind Auf der konzeptuellen Ebene steht das Modell welches ein Benutzer durch die ei gene Wahrnehmung f r sich konstruiert Auf der Task Ebene werden schlie lich Aufgaben und Ziele beschrieben Ein Beispiel soll die verschiedenen Ebenen illustrieren Ein Benutzer m chte ein en Kaffee trinken Ziel Um sein Ziel zu erreichen will er einen Kaffee von ei nem Automaten kaufen Die Aufgabe besteht in der Auswahl der richtigen Sorte Getr nk dem Bezahlen und dem Entnehmen des fertigen Produkts Auf der kon zeptuellen Ebene besitzt der Benutzer eine Vorstellung von der Funktion des Kaffeeautomaten Gegen die
55. 0 vi Nice 1 VEDIE playlist on next previous Abbildung 3 5 Dialogmodell des MP3 Players als Zustandsdiagramm bieten eine gute bersichtlichkeit durch ihre Strukturierungsm glichkeiten und sie bieten die Vorz ge der Event Condition Action Regeln an ihren Ubergangen Alle Ans tze beschr nken sich jedoch sehr stark auf das Aufgaben und Dialog modell Sie bieten eine sehr einfache Verkn pfungen zu Dom nen und Pr sen tationsmodell Abbildung 3 6 zeigt die Einordnung von Harels Zustandsdiagram men in das Klassifikationsframework Abgesehen von den bereits vorgestellten Notationen existieren neuere Ans tze die ebenfalls textuell verschiedene Modelle beschreiben An dieser Stelle sei auf Trewin et al verwiesen 190 die eine Auswertung der vier bekanntesten An s tze vorgenommen haben XForms UIML XIML und AIAP Alle diese Ans t ze bieten Fortschritte in verschiedenen Bereichen unterliegen allerdings noch Einschr nkunen XForms besitzt ein Dialogmodell verbindet aber nicht die ein zelnen Dialoge untereinander 215 UIML beschr nkt sich auf Dialoge und ein Pr sentationsmodell das nur eine Plattform unterst tzt F r weitere Plattformen muss die Beschreibung des Modells kopiert und angepasst werden 155 60 XIML ist eine Metasprache in der lediglich die Beschreibung von Elementen f r verschiedene Modelle m glich ist ein standardisiertes Vokabular ist jedoch nicht vorhanden 159 16
56. 0 AIAP wurde zur Erzeugung von Benutzerschnitt stellen f r mobile Ger te in einer Dienste Architektur entwickelt und legt seinen Schwerpunkt auf die Verbindung eines Dom nenmodells mit einem Dialogmo dell 216 Diese Notationen beschr nken sich alle auf einen sehr kleinen Be 3Mittlerweile ist AIAP ein INCITS Standard 74 75 71 73 72 52 Klassifikation bestehender Ans tze Evaluation Domain link Presentation Abbildung 3 6 Einordnung von Zustandsdiagrammen in das Klassifikations framework reich im Klassifikationsdiagramm Allein mit ihnen lassen sich keine modellba sierten Interaktionsanwendungen erstellen W nschenswert w ren Ans tze die mehr Modelle zugleich abdecken k nnen 3 5 Abstrakte Modelle f r Interaktion Zentral f r Interaktionsanwendungen ist eine Abdeckung des Aufgaben und Do m nenmodells sowie die Verbindung dieser Modelle untereinander und mit dem Dialogmodell Dadurch wird eine vollst ndigere Beschreibung der Interaktion erm glicht bei der die Anwendungslogik durch die Dom nenobjekte verkn pft ist Gerade Aufgabenmodelle haben in der Mensch Maschine Interaktion eine l nge re Tradition So stellte Moran 1983 einen Ansatz f r Mappings zwischen Aufga ben der externen Welt und internen Systemaufgaben vor die External Internal Task Analysis ETIT 114 Weitere Grammatiken wie die Task Action Grammar TAG von Payne und Green 150 oder die User Action Notation UAN von
57. 08 Literaturverzeichnis 149 152 PERLIN Ken MEYER Jon Nested User Interface Components In Procee dings of the 12th annual ACM symposium on User interface software and technology 11 18 1999 153 PETRI Carl Adam Kommunikation mit Automaten Ph D thesis Schriften des Rheinisch Westfalischen Institutes fiir instrumentelle Mathematik an der Universitat Bonn 1962 154 PFAFF G HAGEN P Eds Seeheim Workshop on User Interface Manage ment Systems Springer Verlag Berlin 1985 155 PHANOURIOU Constantinos Uiml A device independent user interface mar kup language Ph D thesis Virginia Polytechnic Institute Blacksburg Vir gina United States 2000 156 POGUNTKE Mark Modellgetriebene Entwicklung flexibler Mensch Fahrzeug Interaktion mit externen Infotainmentanwendungen vorlaufi ger Titel Dissertation noch unver ffentlicht 157 PROTZENKO Jonathan XUL Open Source Press ISBN 3937514236 2007 158 PUERTA Angel EISENSTEIN Jacob Towards a general computational fra mework for model based interface development systems In Proceedings of the 4th international conference on Intelligent user interfaces 171 178 1999 159 PUERTA Angel EISENSTEIN Jacob XIML A Universal Language for User Interfaces http www ximl org pages docs asp 2001 160 PUERTA Angel EISENSTEIN Jacob XIML a common representation for interaction data In Proceedings of the 7th international conference
58. 2 null 0 470000 0 477970 29810 78 14 MB nokogiri 1 400000 1 408751 10114 39 libxml ruby 1 710000 1 721740 8275 73 rexml 151 040000 151 647898 93 96 100 null 21 880000 21 956262 32447 83 700 MB nokogiri 89 060000 89 409650 7968 19 libxml ruby 98 750000 99 134173 7186 55 Tabelle 6 2 Vergleich der Performance verschiedener XML Parser Quelle 148 gek rzt Durch die Reduktion um die nicht ben tigten Elemente lassen sich XMI Dateien auf eine Gr e reduzieren die problemlos den Einsatz eines DOM Parsers zu l t In der aktuellen Implementierung wird Ruby Electric XML REXML aus der Standardbibliothek von Ruby verwendet 167 Bei gro en Anwendungen wachsen die Diagramme in ihrer Komplexit t In diesem Fall l sst sich der Par ser durch eine kompatible schnellere Variante ersetzen die gesondert installiert werden muss In Frage kommt z B Nokogiri der derzeit schnellste XML Parser f r Ruby 149 Wie man in Tabelle 6 2 sieht ben tigt REXML ber 2 Minuten um 14 MB XML zu parsen Nokogiri hingegen nur 1 4 Sekunden Ein so gro es Diagramm m sste bereits ber 700 mal mehr Elemente als der in Kapitel 5 vor gestellte Getr nkeautomat enthalten Bei gro en Datenmengen wie beim Parsen von 700 MB ben tigt Nokogiri knapp 1 5 Minuten Die Zeit f r das Parsen f llt lediglich einmal beim Start einer Anwendung an Aus einem XML Dokument werden durch eine Reihe von XPath Ausdr cken die Informationen extrahiert die f r die
59. 4 SARSTEDT Stefan GESSENHARTER Dominik KOHLMEYER Jens RASCH KE Alexander SCHNEIDERHAN Matthias ActiveChartsIDE An Integra ted Software Development Environment comprising a Component for Si mulating UML 2 Activity Charts In The 2005 European Simulation and Modelling Conference ESM 05 66 73 2005 SCHMIDT Robert F LANG Florian Eds Physiologie des Menschen Springer ISBN 978 3 540 32908 4 2007 SCHUSSEL Felix Adaptive Fusion in modellbasierten Anwendungen vor l ufiger Titel Dissertation noch unver ffentlicht SEFFAH Ahmed JAVAHERY Homa Multiple user interfaces cross platform applications and context aware interfaces 11 26 John Wiley and Sons Ltd 2003 SEKI Masatoshi druby distributed Ruby http www2a biglobe ne jp seki ruby druby html 2005 SHARLIN Ehud WATSON Benjamin KITAMURA Yoshifumi KISHINO Fu mio ITOH Yuichi On tangible user interfaces humans and spatiality Per sonal Ubiquitous Comput 8 5 338 346 ISSN 1617 4909 2004 SHEPHERD A Analysis and training in information technology tasks 15 55 Ellis Horwood Chichester 1989 SHNEIDERMAN Ben Designing the user interface strategies for effective human computer interaction Addison Wesley 1998 SHNEIDERMAN Ben Leonardo s Laptop Human Needs and the New Com puting Technologies MIT Press 2003 DA SILVA Paulo Pinheiro GRIFFITHS Tony PATON Norman W Genera ting user interface code in a m
60. 68 Springer October 2006 BERNE Eric Transactional Analysis in Psychotherapy Grove Press New York 1961 BERNSEN Niels Ole A Reference Model for Output Information in Intelli gent Multimedia Presentation Systems In ECAI 96 workshop Towards a Standard Reference Model for Intelligent Multimedia Systems 1996 BERNSEN Niels Ole VERJANS Steven From Task Domain to Human Computer Interface Exploring an Information Mapping Methodology 28 AAAI Press Menlo Park http www nis sdu dk nob publications IMAP 29 3 pdf 1997 BERTI Silvia MORI Giulio PATERNO Fabio SANTORO Carmen TERESA A transformation based environment for designing multi device interac tive applications In Proceedings of the 9th international conference on Intelligent user interface 352 353 ACM New York NY USA ISBN 1 58113 815 6 2004 BMW Group BMW 5 Series Sedan Head Up Display http www bmw com com en newvehicles 5series sedan 2007 allfacts ergonomics hud html 2007 BRAUN Thomas ROHLER Annette WEBER Florian Kurzlehrbuch Physio logie Elsevier Urban und Fischer M nchen 1 auflage edition 2006 BuRROWS Daniel aptitude http packages debian org aptitude BORGER Egon STARK Robert Abstract State Machines Springer 2003 CAFFIAU Sybille GIRARD Patrick SCAPIN Dominique GUITTET Lau rent Generating Interactive Applications from Task Models A Hard Chal lenge In WINCKLER Marco JOHNSON Hilary P
61. ALANQUE Philippe Eds TAMODIA 07 Proceedings of the 6th annual conference on Task models and diagrams volume LNCS 4849 267 272 Springer November 2007 Literaturverzeichnis 139 23 CALVARY Ga lle CouTAzZ Jo lle NIGAY Laurence From single user ar chitectural design to PAC a generic software architecture model for CSCW In Proceedings of the SIGCHI conference on Human factors in com puting systems 242 249 1997 24 CALVARY Ga lle CoUTAZ Jo lle THEVENIN David Supporting Context Changes for Plastic User Interfaces a Process and a Mechanism In Proc HCI IHM 2001 A Blandford J Vanderdonckt P Gray Eds BCS conference series Springer Publ 349 363 2001 25 CALVARY Ga lle CoUTAZ Jo lle THEVENIN David LIMBOURG Q SOU CHON N BOUILLON L VANDERDONCKT Jean Plasticity of User Inter faces A revised reference framework In First International Workshop on Task Models and Diagrams for User Interface Design TAMODIA2002 Bu carest 127 134 2002 26 CALVARY Ga lle CouTAZ Jo lle THEVENIN David LIMBOURG Quentin BOUILLON Laurent VANDERDONCKT Jean A Unifying Reference Frame work for Multi Target User Interfaces Interacting with Computers 15 289 308 2003 27 CANON Inc Canon EOS ELAN 7NE www canon com Eye Control available on EOS Elan 7NE only 2009 28 CARD S K MORAN T P NEWELL A The Psychology of Human Compu ter Interaction Lawrence Erlbaum Assoc
62. Confe rence on Intelligent Environments 2008 51 FERGUSON Paula M BRENNAN David Motif Reference Manual B for OS F Motif Release 1 2 Thomson Learning ISBN 1565920384 1993 52 FOLEY J GIBBS C KOVACEVIC S A knowledge based user interface management system In Proceedings of the SIGCHI conference on Human factors in computing systems 67 72 1988 53 FOLEY James Kim Won Chul Kovacevic Srdjan MURRAY Kevin UIDE an intelligent user interface design environment 339 384 Addison Wesley New York NY USA ISBN 0 201 50305 0 1991 54 Gasos Krzysztof Z EVERITT Katherine TAN Desney S CZERWINSKI Mary WELD Daniel S Predictability and accuracy in adaptive user inter faces In CHI 08 Proceeding of the twenty sixth annual SIGCHI conference on Human factors in computing systems 1271 1274 ACM New York NY USA ISBN 978 1 60558 011 1 2008 55 GAMMA Erich HELM Richard JOHNSON Ralph VLISSIDES John Design Patterns Elements of Reuseable Object Oriented Software Addison Wesley 1995 56 GELLERSEN Hans Werner Methodische Entwicklung flexibler interaktiver Software Shaker Verlag 1996 57 GOODGER Ben HICKSON Ian HYATT David WATERSON Chris XML User Interface Language XUL 1 0 http www mozilla org projects xul xul html 2001 58 HAREL David Statecharts A visual formalism for complex systems Sci Comput Program 8 3 231 274 ISSN 0167 6423 1987 142 Liter
63. Das Mapping Problem beschreibt die Schwierigkeit zwischen ver schiedenen Modellen Verkn pfungen herzustellen und beizubehalten Um exis tierende Ans tze einordnen zu k nnen wird das Models and Mappings Klassi fikationsframework entwickelt mit dem Notationen bewertet werden k nnen Das Klassifikationsframework betrachtet alle beteiligten Modelle und kann alle 155 156 Zusammenfasung Mappings zwischen Modellen einer Notation erfassen Mit dem Klassifikations framework werden die wichtigsten Repr sentanten von Modellierungssprachen bewertet Ein wichtiges Ergebnis der Bewertung ist die Wahl der Unified Mode ling Language UML als die am besten geeignete Notation f r Dom nen und Interaktionsbeschreibung in dieser Arbeit Kapitel 4 Modellieren von Interaktionsanwendungen mit UML beschreibt de tailliert wie mit UML Interaktionsanwendungen modelliert werden k nnen Es dient auch als Verfahrensbeschreibung zur Modellierung von Interaktionsanwen dungen und zeigt in welchem Fall welches UML Diagramm angewandt wird Von 14 Diagrammarten der UML werden vier eingesetzt Klassendiagramme zur Beschreibung des Dom nenmodells Use Case und Aktivit tsdiagramme um das Aufgabenmodell zu gliedern und zu beschreiben und Zustandsdiagramme mit denen das Verhalten innerhalb des Dialogmodells beschrieben wird Das Kapitel zeigt auch berblicksartig wie eine direkte Anbindung bzw wahlweise Generie rung von Benutzerschnittstellen m
64. ESA ist es mit m i gem Aufwand m glich Dialog und Pr sentationsmodelle abzuleiten und An wendungen f r verschiedene Zielplattformen zu erzeugen Die Notation ist nicht einfach erweiterbar bietet aber eine Ausdrucksst rke und Universalit t bei der Erweiterungen unn tig sein sollten Sie ist meist verst ndlich lediglich die An wendung von Rekursion zur Wiederholung von Tasks ist f r manche Entwickler ungebr uchlich Doch die Werkzeugunterst tzung durch TERESA ist ein gro er Vorzug der ConcurTaskTrees ConcurTaskTrees haben vor allem im Bereich der Task Modellierung eine Verbreitung gefunden In Abbildung 3 8 zeigt die Einordnung der ConcurTaskTrees im Klassifikations framework Aus dem Aufgabenmodell wird zuerst das Dialog und anschlie end ein plattformspezifisches Pr sentationsmodell abgeleitet Ein Nachteil ist dass die Ger tebeschreibungen nur im Werkzeug definiert sind Auch das Fehlen ei nes Benutzer und eines Umgebungsmodells bedeutet dass multiple Pr sentati onsmodelle zum Ausgleich erzeugt werden m ssten Sie w ren bis auf wenige Anpassungen identisch was einen Mehraufwand bei Erstellung und Pflege der Benutzerschnittstellen bedeutet Ein gro er Nachteil ist vor allem dass nur ei ne minimale Anbindung eines Dom nenmodells existiert Es gibt keine Automa tismen die Konsistenz zwischen den verwendeten Dom nenobjekten und dem 56 Klassifikation bestehender Ans tze Evaluation Domain Environment
65. Ein Benutzer kann beispielsweise ber verschiedene Modalit ten widerspr chliche Befehle eingeben Darum m ssen die Eingaben aufbereitet und zu einem einzigen Eingabestrom verschmolzen werden Immer wenn der Zustand des Dialogs sich ver ndert muss diese n derung an alle eingesetzten Modalit ten kommuniziert werden Die Modalit ten k nnen durch diese Information ein Update ihrer Ausgaben an den Benutzer 91 92 Architekturen fiir multimodale Benutzerschnittstellen vornehmen In diesem Kapitel wird deshalb auf die Fusion der Eingabe und die Fission der Ausgabe an die Modalit ten gesondert eingegangen Anforderungen an Architekturen Im Lauf der Zeit entstanden eine Reihe verschiedenster Software Architekturen f r Benutzerschnittstellen Nicht alle waren von Anfang an f r multimodale Sys teme ausgelegt Ein Teil der bestehenden Architekturen l sst sich so erweitern dass er f r multimodale Systeme nutzbar wird Von besonderem Interesse sind jedoch Architekturen die multimodale Systeme direkt unterst tzen Bevor die Ans tze untersucht werden k nnen ist auf Anforderungen an Archi tekturen einzugehen In Abschnitt 3 2 1 wurden bei den Anforderungen an No tationen bereits eine Reihe von Eigenschaften beschrieben die ebenfalls durch die hier vorgestellten Architekturen unterst tzt werden sollten Eine Architektur f r modellbasierte Interaktionsanwendungen sollte die erstell ten Modelle einsetzen um mit ihnen die Inte
66. Elemente von Toolkits in dieser Arbeit ist der Begriff weiter gefasst um auch die Erweiterbarkeit einer Notation um neue Notationselemente abzudecken Van den Bergh und Coninx 82 beschrieben 2004 eine Reihe von weniger for malen Anforderungen an das Arbeitsumfeld Verst ndlichkeit Die Notation soll von m glichst vielen Leuten einfach verstan den werden Verst ndnis l sst sich jedoch schwer quantifizieren Angemessenheit der Notation Grafische Notationen sollen f r verschiedene Aspekte der Spezifikation unterschiedliche Arten von Diagrammen nutzen Die se sollen ihrem Einsatzzweck angemessen sein Auch textuelle Notationen k n nen gr ere Klarheit erreichen wenn Aspekte eines Modells getrennt betrachtet werden Keine isolierten Teilmodelle Es soll ein gesamtes Modell beschrieben werden Falls verschiedene Teilmodelle beschrieben werden stellen Relationen zwischen den Teilen die Verbindung her Ausdrucksst rke Zus tzlich zur Anforderung der Verst ndlichkeit soll eine No tation nicht langatmig werden Sie muss es erm glichen komplexe Zusammen h nge oder Modelle zu beschreiben Werkzeugunterst tzung Die Notation soll eine einfache Anwendung und Um setzung des Interaktionsdesigns erm glichen Hierf r sollen Werkzeuge f r die Modellierung und die Umsetzung in verschiedenen Modalit ten zur Verf gung stehen Abowd et al beschrieben in ihrer Arbeit von 1989 auch Trade offs 2 Analyse vs Ausdrucksst rke E
67. Entrichtung des Preises wird dieser ihm ein Ge tr nk herstellen Auf der kognitiven Ebene kommen Gesetzm igkeiten ber die Kapazit t des Kurzzeitged chtnisses ins Spiel 110 Wenn zuviele Getr nke zur Auswahl stehen wird es schwerer das richtige Getr nk zu w hlen und die rest lichen Arbeitschritte im Ged chtnis zu behalten Auf der physikalischen Ebene erfolgt die Bedienung des Ger ts durch das Dr cken der richtigen Tasten und den Geldeinwurf 3 6 2 Ger temodell Durch das Ger temodell lassen sich Profile f r verschiedene Hardwareplattfor men sogenannte Ger teprofile definieren In einem Profil werden die Eigen schaften f r die Ein und Ausgabef higkeiten der Plattform gesammelt Soll ein Pr sentationsmodell in ein plattformspezifisches Modell transformiert werden so werden die entsprechenden F higkeiten des Endger ts ber cksichtigt Bei spielsweise m ssen Ger te mit kleinen Displays andere Steuerelemente aufwei sen als Ger te die viel Platz f r eine Anwendung bieten k nnen Ein Ansatz f r solche Beschreibungen sind die Composite Capability Preference Profiles CC PP die durch eine Ontologie die Eigenschaften von Ger ten formal beschreiben 214 Die Ontologie wird dabei mit Hilfe des Resource Descripti on Framework RDF in XML erstellt 212 Einzelne Ger te werden durch eine Ansammlung ihrer Attribute gekennzeichnet Ein Ausgabeger t besitzt z B At tribute f r die Aufl sung in Pixeln 3 6 3 Umge
68. Erstellung der UML Elemente aus den Dia grammen n tig sind Die XML Path Language XPath 209 ist eine Abfrage sprache die vom W3 Konsortium entwickelt wurde F r jedes unterst tzte Mo dellelement der UML State Transition Node Edge und Trigger existiert eine eigene Klasse im aus dem UML Paket aus Abbildung 6 1 in welcher alle relevan ten Informationen durch Attribute repr sentiert werden Der Parser erzeugt f r jedes Element aus dem Modell ein eigenes Objekt und speichert zus tzlich Infor 110 Realisierung eines Software Frameworks mationen die sp ter f r der Ausf hrung ben tigt werden z B welche Zust nde Startzust nde sind F r alle Diagramme aus einer XMI Datei m ssen alle Startzust nde ermittelt werden Dies ist notwendig da z B ein hierarchischer Zustand mehrere Startzu st nde enthalten kann Weiter ist es wichtig zu wissen welche Elemente die Startknoten des hierarchisch h chsten Diagramms sind Es besteht die M g lichkeit dass mehrere solcher Elemente existieren In der Implementierung des Software Frameworks ist vorl ufig nur ein Knoten in einem Aktivit tsdiagramm vorgesehen Als weitere Vereinfachung muss der Knoten den Namen start be sitzen 6 1 2 Initialisierung des Frameworks Bevor eine Anwendung ihre Benutzerschnittstelle durch eine oder mehrere Mo dalit ten bereitstellt m ssen alle Komponenten initialisiert werden Die Klasse UIBuilder erzeugt alle ben tigten Komponenten
69. FLER John ISHII Hiroshi Urp a luminous tangible workbench for urban planning and design In CHI 99 Proceedings of the SIGCHI conference on Human factors in computing systems 386 393 ACM New York NY USA ISBN 0 201 48559 1 1999 USER INTERFACE SOFTWARE GROUP Garnet http www cs cmu edu garnet Carnegie Mellon University UsIXML CONSORTIUM USIXML 1 4 5 documentation draft http www usixml org 2005 UsIXML CONSORTIUM UsiXML V1 8 USer Interface eXtensible Markup Language Reference Manual Universit catholique de Louvain UCL Belgium http www usixml org February 2007 VANDERDONCKT Jean LIMBOURG Quentin MICHOTTE Benjamin BOUILLON Laurent TREVISAN Daniela FLORINS Murielle UsiXML a User Interface Description Language for Specifying Multimodal User In terfaces In Proceedings of W3C Workshop on Multimodal Interaction WMT 2004 1 7 2004 VARIOUS Tcl Tk http www tcl tk 1991 VARIOUS The GTK Project http www gtk org 1997 Various Glade a User Interface Designer for GTK and GNOME http glade gnome org December 1998 VAN DER VEER Gerrit VAN WELIE Martijn Task based groupware design putting theory into practice In DIS 00 Proceedings of the conference on Designing interactive systems 326 337 ACM Press New York NY USA ISBN 1 58113 219 0 2000 VERNIER Frederic NIGAY Laurence A Framework for the Combination and Characterization of Output Modalities In
70. Gleichheitszeichen verbunden sind Operatoren erm gli chen die Beschreibung paralleler Abl ufe Sequenzen Auswahl zwischen ver schiedenen M glichkeiten sowie Ein und Ausgabeereignissen Es ist auch m g lich Regeln zu schreiben die Parameter entgegen nehmen Damit wird es ein facher z B Mehrfenstersysteme zu beschreiben die von der Form her identisch sind und sich nur in Inhalten wie Titel und Text eines Dialogfensters unterschei den Produktionsregeln wurden von Olsen 1990 vorgestellt 41 Sie haben die Form Event Condition Action Auch hier sind alle Regeln gleichzeitig aktiv Ein Ereignis l st die Bearbeitung einer Regel aus Sobald die Bedingung der Regel erf llt ist wird die dazugeh rige Aktion ausgef hrt Aktionen k nnen Ausgaben an den Benutzer eines Systems oder nderungen des internen Zustands des Sys tems sein Ausgabeereignisse werden dem Benutzer mitgeteilt und nicht weiter verarbeitet Event Condition Action ECA fand durch den Einsatz in regelbasier ten Systemen eine Verbreitung und wird von weiteren Ans tzen verwendet Listing 3 2 zeigt Produktionsregeln am Beispiel des MP3 Players Im oberen Teil sind Attribute und ihre m glichen Zust nde definiert im unteren Teil die Regeln die die nderungen des Systemzustands zur Laufzeit beschreiben Dabei werden Nutzerereignisse mit Gro buchstaben begonnen interne Freignisse mit Klein buchstaben geschrieben und um Ausgabeereignisse werden Klammern gesetzt
71. In einer GUI k nnen Benutzer beispiels weise Icons in Toolbars austauschen um oft verwendete Funktionen schnell im Zugriff zu haben Hier gilt wie bei der Internationalisierung dass eine Notation diesen Aspekt unterst tzen sollte Plattformunabh ngigkeit Die Notation soll unabh ngig von der eingesetzten Hardware sein Dies gilt insbesondere in Hinblick auf die verwendeten Modali t ten Erweiterbarkeit um Modalit ten Es soll im Nachhinein m glich sein die Be nutzerschnittstelle um weitere Modalit ten zu erweitern Redundanz Die Notation soll mit m glichst wenig Redundanz arbeiten 38 Klassifikation bestehender Ans tze Beschreibung von Struktur Strukturierende Elemente sind in der Notation vor zusehen Universalit t Die Notation soll f r ein m glichst breites Spektrum von Anwend ungen einsetzbar sein Konsistenz Die Interaktion soll immer gleich verlaufen Eine Funktion des Sys tems sollte immer gleich anzusprechen sein wie Dix et al beschreiben 46 S 584 In einer GUI sollen deshalb Elemente vorhersehbar an den gleichen Stellen platziert werden wie bei der letzten Verwendung einer Anwendung Ergonomie Die Benutzerschnittstellen sollen ergonomischen Anforderungen ge n gen wie sie z B von der DIN EN ISO 9241 110 aufgestellt wurden 77 Eine weitere wichtige Eigenschaft ist die Erweiterbarkeit der Notation Richter nennt sie in seiner Arbeit Dynamische Erweiterbarkeit 166 Bei Richter sind es
72. ML Diagramme parst Die Klasse xMI ben tigt eine Reihe von Hilfsklassen um beim Parsen eines XMI Diagramms die entsprechenden UML Entit ten er zeugen zu k nnen Im Paket UML sind die Hilfsklassen dargestellt Es existieren Klassen f r Zust nde State die zugeh rigen berg nge Transition und ausl senden Ereignisse Trigger Aktionen von Aktivit tsdiagrammen Node und deren Kanten Edge Die Oberklasse xMI beachtet beim Parsen die hierar chische Strukturierung der Diagrammelemente Dies ist notwendig da Elemen te eines Diagramms durch weitere Diagramme beschrieben werden k nnen Die Klasse xMI speichert Referenzen auf alle angelegten Objekte aus dem UML Paket in sich die von der Klasse UIModel f r die Ausf hrung ben tigt werden Die Klasse Mapper implementiert die Mapper Komponente Der Mapper verbin det die abstrakte Dialogbeschreibung mit den verschiedenen Benutzerschnittstel len Benutzerschnittstellen werden durch Modalit ten realisiert die von der Klasse CUI Concrete User Interface abgeleitet werden Es wurden drei verschiedene Modalit ten implementiert eine grafische Schnittstelle GLadeUI eine Sprach schnittstelle SpeechUI sowie eine Schnittstelle wiiUI f r tangible Interaktion durch Wii Remotes Von jeder der abgeleiteten Klassen werden je nach vorhan denen Ger ten Instanzen erzeugt Diese verwenden eine modalit tsgebundene Beschreibung der Benutzerschnittstelle damit ein Mensch mit ihr interagieren kan
73. Modell ist eine Kombination aus den Komponenten des Arch Modells und dem Slinky Metamodell Das Arch Slinky Modell tragt der Praxis Rechnung in der die Komponenten des Arch Modells in unterschiedlichen Aus pr gungen realisiert werden Das Modell spezifiziert detailliert die Komponenten einer Interaktionsanwendung und trifft Aussagen ber die Zuordnung von Funk tionalit t Durch die Definition der Kommunikationsobjekte l sst sich eine platt 96 Architekturen fiir multimodale Benutzerschnittstellen formiibergreifende Architektur verwirklichen Es trifft keine Aussagen dartiber wie die Dialogsteuerung realisiert wird und wie mehrere Modalit ten angebun den werden k nnen 5 1 4 Multimodale Pr sentationskomponenten Die bisherigen Ans tze schlie en zwar multimodale Interaktion nicht aus be schreiben aber auch nicht wie diese im Detail realisiert werden kann Im selben Zeitraum wie die oben beschriebenen Modelle entstanden andere Ans tze die hierauf eingehen Die zwei bekanntesten sind Model View Controller und Presen tation Abstraction Control Das Model View Controller MVC Konzept wurde 1979 von Reenskaug beim Xe rox Palo Alto Research Center PARC entwickelt 162 Die erste Implementie rung wurde f r die Erstellung von Benutzeroberfl chen mit Smalltalk 80 ver wendet 95 Ziel war die Trennung von Benutzerschnittstellen in austauschbare Objekte Die Modell Komponente ist f r die Verarbeitung und Speicherung der D
74. Modelle haben kann und somit nicht zur Ubersichtlichkeit beitr gt Im Erl uterungstext zur jeweiligen Ab bildung wird beschrieben welche Modelle durch die Mappings zusammenwir ken In Abbildung 3 3 sieht man drei deriv Verbindungen zum Pr sentationsmodell welches aus dem Dialogmodell unter Einfluss des Benutzer und des Ger te modells abgeleitet wird Das Dom nenmodell ist mit dem Aufgaben und dem Dialogmodell verbunden eine weitere Verbindung besteht zwischen Aufgaben und Dialogmodell Das Ger temodell setzt sich aus zwei Teilmodellen zusam men dies wird durch die beiden Pfeile mit der Beschriftung comp verdeutlicht Beim Pr sentationsmodell ist ein mod Mapping vorhanden Dies bedeutet dass eine Ver nderung einzelner Attribute am Modell vorgenommen wurde Soll das Pr sentationsmodell erneut abgeleitet werden so m ssen diese Ver nderungen auch beim neu abgeleiteten Modell vorgenommen werden Das vorgestellte Klassifikationsframework bietet mehrere Vorteile Das Aufgaben modell und Dom nenmodell sind im Gegensatz zum Cameleon Framework klar von einander getrennt da das Aufgabenmodell Verhalten und das Dom nenmo dell Anwendungseigenschaften beschreibt Es sind alle relevanten Modelle im Framework enthalten und auch Mappings zwischen den Modellen sind einfach darstellbar Im Vergleich zum Cameleon Framework wird noch ein weiterer Vorteil sicht bar Im Cameleon Framework ist eine Auff cherung in verschiedene Benutzer schn
75. OMG Unified Modeling Language Super structure Version 2 2 February 2009 OVIATT Sharon Ten myths of multimodal interaction Communications of the ACM 42 11 74 81 November 1999 OVIATT Sharon Multimodal interfaces 286 304 Lawrence Erlbaum As sociates Inc Mahwah NJ USA ISBN 0 8058 3838 4 2003 PAGE JONES Meilir Fundamentals of object oriented design in UML Addison Wesley Longman Publishing Co Inc Boston MA USA ISBN 0 201 69946 X 2000 PATERNO Fabio Model Based Design and Evaluation of Interactive Applica tions Springer Verlag London UK ISBN 1852331550 1999 PATERNO Fabio MANCINI Cristiano MENICONI Silvia ConcurTaskTrees A Diagrammatic Notation for Specifying Task Models In INTERACT 362 369 1997 PATTERSON Aaron XML Document Parsing Comparison http github com tenderlove xml_truth PATTERSON Aaron DALESSIO Mike Nokogiri http nokogiri rubyforge org nokogiri PAYNE Stephen J GREEN T R G Task action grammars a model of the mental representation of task languages Hum Comput Interact 2 2 93 133 ISSN 0737 0024 1986 PEDERIVA In s VANDERDONCKT Jean ESPANA Sergio PANACH Ignacio PASTOR Oscar The Beautification Process in Model Driven Engineering of User Interfaces In BARANAUSKAS C cilia PALANQUE Philippe ABAS CAL Julio BARBOSA Simone Diniz Junqueira Eds Human Computer Interaction INTERACT 2007 volume 4662 2008 of LNCS 411 425 20
76. Operatoren entstammen LOTOS Language of Temporal Ordering Specifications 76 67 In Abbildung 3 7 wird der MP3 Player mit ConcurTaskTrees beschrieben Der oberste Task ist abstrakt Unter diesem befinden sich drei Tasks f r das Abspielen von Musik die Regelung der Lautst rke und die Navigation in der Playlist Sie sind parallel aktiv was durch die Verkn pfung mit angezeigt wird Im rechten Teilbaum unterbricht die Benutzeraktion Pause den abstrakten Task Play Genauso unterbricht Stop Pause und Play Eine Modellierung des Wie deraufnehmens aus dem Pausemodus ist jedoch komplexer da in hierarchischen B umen eine Zyklusbildung durch R ckverbindungen verboten ist Durch das rekursive Aufrufen von Play l sst sich diese Funktionalit t nachbilden Die Tasks f r die Regelung der Lautst rke und die Navigation in der Playlist sind fast identisch gestaltet Ein Benutzer kann entweder lauter oder leiser regeln Next bzw Previous in der Playlist Dies wird durch das Oder Symbol angezeigt Jeder dieser zwei Tasks besteht wiederum aus zwei Subtasks einem Task f r die Benutzeraktion und einem Systemtask Sobald die Benutzeraktion ausgef hrt wurde setzt sie der folgende Systemtask in der Anwendung um Die Tasks sind mit dem Operator gt gt verbunden was bedeutet dass nach erfolgrei cher Beendigung des linken Tasks mit dem rechten Task begonnen wird Sieben Jahre nach der Arbeit zu ConcurTaskTrees entstand TERESA Transfor mati
77. Pr sentationsmodell sollen aus dem Aufgabenmodell abgeleitet werden Es ergeben sich Probleme sobald das Aufgabenmodell ge ndert wird So m ssen die abge leiteten Modelle an neue Aktionen des Aufgabenmodells angepasst werden Un ter Umst nden ist auch eine Anpassung des Dom nenmodells notwendig falls ein Task mit neuen Objekten arbeitet F r das Fallbeispiel des MP3 Players k nn te z B ein neuer Task das zuf llige Ausw hlen des n chsten Lieds sein Im Dia logmodell muss dazu dann vorgesehen werden dass der Benutzer diese Funk 34 Klassifikation bestehender Ans tze tionalit t ein und ausschalten kann Im Pr sentationsmodell sind f r die jeweili gen Modalit ten Anpassungen vorzunehmen z B eine GUI w rde um eine ent sprechende Taste erweitert werden Im Dom nenmodell muss allerdings sicher gestellt werden dass dieselbe Funktionalit t auch vorhanden ist Eine Playlist Klasse ist im Beispiel um eine Methode zum Randomisieren ihrer Eintr ge zu erweitern Zun chst sind die verschiedenen Arten von Mappings zu untersuchen Puerta und Eisenstein beschreiben in ihrer Arbeit sechs Mappings 158 Task Dialog Mapping Da Tasks durch Gruppierung zusammengefasst werden gibt es hier verschiedene M glichkeiten des Mappings F r einen Ausschnitt aus ei nem Dialog kann es sinnvoll sein mehrere Tasks zusammenzufassen oder eine Gruppe in mehrere Teildialoge zu trennen Task Presentation Mapping Die Bestandteile einer Ben
78. Se mehr Eine aktuelle Arbeit stammt aus dem Jahr 2004 Leland et al stellten ein Konzept f r ein UIMS f r TUIs vor das bisher jedoch nicht implementiert wurde 96 5 1 2 Seeheim Modell Das Seeheim Modell entstand kurz nach der Einf hrung von User Interface Ma nagement Systemen Es wurde 1985 bei einem Workshop in Seeheim bei Darm stadt vorgestellt und besteht aus drei Komponenten welche ein Bindeglied zwi schen Benutzer und Anwendung darstellen 154 Eine Schnittstelle zur Anwen dung eine Dialogsteuerung und eine Pr sentationskomponente Schnittstelle Dialog Pr sentations Anwendung Anwendung steuerung komponente gt Benutzer Bypass Steuerungu Bypass Abbildung 5 1 Das Seeheim Modell 94 Architekturen fiir multimodale Benutzerschnittstellen Abbildung 5 1 stellt die Komponenten des Seeheim Modells grafisch dar Die Schnittstelle zur Anwendung beschreibt den Zugriff auf die Semantik der jeweili gen Anwendung Durch sie erfolgt auch die Kommunikation mit der Anwendung Die Dialogsteuerung realisiert die Interaktivitat der Anwendung Sie verarbeitet Benutzereingaben und bestimmt den Verlauf der Interaktion zwischen Benutzer und System Die Pr sentationskomponente steuert die Erscheinung der Benut zerschnittstelle inklusive welche Ein und Ausgabem glichkeiten dem Benutzer zur Verf gung stehen Zus tzlich existiert noch eine Komponente die als Bypass vorgesehen ist Durch sie wird eine
79. ace mo dels for user interface construction tools the MASTERMIND approach In Proceedings of the IFIP TC2 WG2 7 Working Conference on Engineering for Human Computer Interaction 120 150 Chapman amp Hall Ltd London UK UK ISBN 0 412 72180 5 1996 TANAKA Katsumi A robust selection system using real time multi modal user agent interactions In Proceedings of the 4th international conference on Intelligent user interfaces 105 108 1998 THOMPSON Ken Short Descriptions of the QEF Tools http www gef com html toolsdesc html 1968 TIDWELL Jenifer Common Ground A Pattern Language for Human Computer Interface Design www mit edu jtidwell interaction_patterns html TOURAINE Damien BOURDOT Patrick BELLIK Yacine BOLOT Laurence A framework to manage multimodal fusion of events for advanced inter actions within virtual environments In Proceedings of the workshop on Virtual environments 2002 159 168 2002 TREWIN Shari ZIMMERMANN Gottfried VANDERHEIDEN Gregg Abstract user interface representations how well do they support universal access In ACM Conference on Universal Usability 2003 77 84 Vancouver British Columbia Canada 2003 152 Literaturverzeichnis 191 192 193 194 195 196 197 198 199 200 201 202 203 ULLMER Brygg ISHII Hiroshi Emerging Frameworks for Tangible User In terfaces 579 601 Addison Wesley August 2001 UNDERKOF
80. as Diagramm 7 und propagiert den aktuellen Dialogschritt an den Mapper 8 Dieser verteilt die Information an die Komponenten der beteiligten Modalit ten 9 10 Damit ist die Anwendung bereit Eingaben durch den Benutzer zu emp fangen interaction Start m Start App UlBuilder Un ul2 T T T 1 start gt _ 2 create gt UlModel 3 create Se e eer e SS gt Mapper 4 Tegister 6 start le 5 tegister e 7 ac_next B perf i i 9 perform gt 10 perform 4 Abbildung 6 2 Sequenzdiagramm zum Verhalten des mArch Frameworks beim Start einer Anwendung Uls registrieren sich beim Builder dieser initiiert an schlie end den Interaktionszyklus 112 Realisierung eines Software Frameworks 6 2 Ausf hren von UML Es ist m glich aus den geparsten UML Diagrammen Code f r eine Zielplatt form zu kompilieren oder die Diagramme zur Laufzeit zu interpretieren wie in Abschnitt 2 3 beschrieben wurde F r das Kompilieren spricht die bessere Per formance dagegen spricht dass Anpassungen in der Modellierung ein erneutes Kompilieren erzwingen F r das Interpretieren spricht dass Eingaben von Benut zern sich schnell genug verarbeiten lassen und Anpassungen in der Modellierung nur einen Neustart der Anwendung erforder
81. as Wind Werkzeug Bild aus 191 Landschaftsplanung mit SandScape Der Benutzer verformt den Sand und sieht zugleich die projezierten Ergebnisse Bild aus 79 Links ein Kaffeeautomat rechts die Benutzerschnittstelle eines Au tomaten als Anwendung nur in Software Bild links von http desroqnnationsde vente ie u wen er Se ae er ee Zwei MP3 Player Links Apple Ipod rechts Media Player Classic http mpe he sourceforge net 2 22 Modelltransformationen im Cameleon Framework Transformationen und entsprechende Elemente am Beispiel des MP3 Players Ae 2 mu a anne ea ke aos Ze es a Sd at AS Das Models and Mappings Klassifikationsframework Ausschnitt aus dem Zustandsdiagramm einer Uhr nach der urspr ng lichen Arbeit Harels von 1987 2 CC Coon Dialogmodell des MP3 Players als Zustandsdiagramm Einordnung von Zustandsdiagrammen in das Klassifikationsframework Die Aufgaben des MP3 Players mit ConcurTaskTrees ConcurTaskTrees im Klassifikationsframework UsiXML im Klassifikationsframework ooo 3 10 Links das Klassendiagramm des Getr nkeautomaten rechts das Akti vit tsdiagramm EE Selen a vii viii Abbildungsverzeichnis 3 11 Zustandsdiagramm zur Beschreibung des Verhaltens der Aktion hello Es zeigt die Begr ung mit Geldeinwurf 3 12 Zustandsdiagramm zur Beschreibung des Verhaltens der Aktion select Es zeigt die Auswahl eine
82. ass Mappings zu UML Diagrammen auf einfache Weise m glich werden W nschens wert sind auch Ableitungsregels tze die beschreiben in welchen Kontexten Be nutzerschnittstellen auf welche Weisen angepasst werden m ssen Solche Regel s tze k nnen dann zur Generierung von Benutzerschnittstellen oder zur Fission w hrend der Laufzeit einer Anwendung eingesetzt werden UML Begriffe Englisch Deutsch Die UML findet weltweit Einsatz und es wird auch verst rkt auf Deutsch ber sie geschrieben In dieser Arbeit wurden weitgehend die deutschen bersetzungen der Begriffe verwendet Die folgende bersicht fasst die verwendeten Begriffe zusammen und st tzt sich auf die Definition von Jeckle 83 action Aktion activity Aktivit t activity diagram Aktivit tsdiagramm activity edge Kante activity final node Endknoten activity node Aktivit tsknoten oder Schritt aggregation Aggregation Teile Ganzes Beziehung association Assoziation ungerichtet behavior Verhalten class diagram Klassendiagramm concurrent nebenl ufig constraint Einschr nkung control edge Ablaufkante decision Entscheidung dependency Abh ngigkeit entry action Eintrittsaktion event Ereignis 135 136 UML Begriffe Englisch Deutsch exit action Austrittsaktion final state Endzustand flow final node Ablaufende generalization Generalisierung guard Bedingung initial node Startknoten initial state Anfangszustand interaction Interaktion inte
83. at sich gezeigt dass der schrittweise bergang von abstrakten zu konkreteren Modellen im Lauf des Entwicklungsprozesses eine zu fr he Fest legung auf einzelne Elemente der endg ltigen Benutzerschnittstelle vermeidet wie da Silva und Barclay beispielsweise mit dem Teallach System festgestellt ha ben 179 11 T amp C Control AUI Abstract IO Physical IO Software IO Graphical ge Physical Button Speech UI 2D Button Function Key VoiceXML lt vxml gt FUI lt block gt class Abbildung 3 2 Transformationen und entsprechende Elemente am Beispiel des MP3 Players Am folgenden Beispiel sollen die verschiedenen Ebenen des Cameleon Frame works noch genauer analysiert werden In Abbildung 3 2 sieht man die Ebenen beim Abspielen eines Liedes aus dem zweiten Fallbeispiel Auf der Ebene Tasks and Concepts existiert dazu ein Objekt Player und ein Task Play_Music zum Abspielen von Musik Dem Objekt werden auf der abstrakten Ebene Eingabe Interaktoren fiir Hardware und Software zugeordnet Auf der CUI Ebene ent sprechen diese Tasten Buttons oder Sprachbefehlen Die eigentliche Schnittstelle wird bei der Ausf hrung durch Bin rcode oder die Interpretation von Markup 3 3 Models and Mappings Klassifikationsframework 43 Sprachen tibernommen Die Interaktion eines Benutzers wird durch die verschie denen Ebenen bertragen So kann auf die Funktionalit ten der Dom nenobjek te zugegriffen werden Ein B
84. aten zust ndig Die View Komponente stellt die Daten dar in der Regel auf ei nem Bildschirm Es k nnen mehrere Views gleichzeitig existieren und auch ver schiedene Visualisierungen derselben Daten zeigen z B eine Tabelle und ein Balkendiagramm Die Controller Komponente ist schlie lich f r die Eingaben des Benutzers zust ndig Abbildung 5 4 zeigt die Komponenten des MVC Konzepts Der Benutzer t tigt Eingaben ber den Controller der die Eingabe auswertet und mit ihr das Modell ndert nderungen am Modell werden einem oder mehreren Views mitgeteilt Der Benutzer erh lt die Ausgaben durch die Views Ausgabe Controller Abbildung 5 4 Komponenten des MVC Konzepts Zwei parallele Views Presentation Abstraction Control PAC wurde 1987 von Coutaz et al vorgestellt 39 23 Die Komponenten sind hnlich aufgebaut wie beim MVC Konzept Das 5 1 Ans tze f r Architekturen 97 Modell wird Abstraction genannt und Controller und View sind zu einer Kompo nente Presentation zusammengefasst Eine neue Komponente Control steuert das Zusammenspiel von Presentation und Abstraction PAC erm glicht hierarchi sche Strukturen indem die Control Komponenten mehrerer PAC Agenten mit einander verkn pft werden Agenten von h heren Schichten m ssen nicht un bedingt eine Abstraction oder eine Presentation besitzen reine Control Agenten sind ebenfalls m glich Der hierarchische Aufbau l sst sich beispielsweise bei Fenstersyste
85. aturverzeichnis 59 60 61 62 63 64 65 66 67 68 69 70 71 72 HAREL David Statecharts in the making a personal account Communi cations of the ACM 52 3 67 75 ISSN 0001 0782 2009 Harmonia Inc Blacksburg Virginia U S A User Interface Markup Lan guage UIML Specification Version 3 0 Draft 2002 HARTSON H Rex SIOCHI Antonio C HIx D The UAN a user oriented representation for direct manipulation interface designs ACM Trans Inf Syst 8 3 181 203 ISSN 1046 8188 1990 HAUCK E A DENT B A Burroughs B6500 B7500 stack mechanism In AFIPS 68 Spring Proceedings of the April 30 May 2 1968 spring joint computer conference 245 251 ACM New York NY USA 1968 HILL Ralph D The abstraction link view paradigm using constraints to connect user interfaces to applications In Proceedings of the SIGCHI confe rence on Human factors in computing systems 335 342 ACM Press 1992 HINCKLEY Ken CZERWINSKI Mary SINCLAIR Mike Interaction and mo deling techniques for desktop two handed input In Proceedings of the 11th annual ACM symposium on User interface software and technology 49 58 1998 HOARE C A R Communicating sequential processes Commun ACM 21 8 666 677 ISSN 0001 0782 1978 HOARE C A R Communicating Sequential Processes Prentice Hall ISBN 0 13 153271 5 1985 HOGREEE Dieter Estelle LOTOS und SDL Spri
86. aufbereitet und einem Benutzer mitteilt Dieser t tigt seine Eingabe die den Zustand des Systems ndert und der Zyklus beginnt von neuem Der Interaktionszyklus kann generell in physikalische und logische Interaktion unterteilt werden Mit logischer Interaktion bezeichnet man die Interaktion die ein Benutzer mit dem System vornehmen will Intention Die logische Interaktion wird von Alan Dix et al wiederum in drei Ebenen gegliedert Die lexikalische Ebene die syn taktische Ebene und die semantische Ebene 46 S 545 Auf der semantischen Ebene wird die Wirkung von Interaktionen auf die internen Datenstrukturen des Systems beschrieben Hier wird festgelegt welche Informa tionen ausgegeben werden Die lexikalische Ebene beschreibt die Repr sentatio nen von Interaktionselementen Dies sind z B das Aussehen von Elementen am Eine detaillierte Abhandlung ber die Trennung zwischen logischer und physikalischer Interaktion findet sich bei 56 10 Grundlagen Bestimmen des Ziels Bilden der Intention Bewerten des Systemzustands Y Spezifizieren des Interpretieren des Aktionsablaufs Systemzustands A Y Ausf hren einer Erfassen des Aktion Systemzustands Abbildung 2 3 Interaktionszyklus nach D Norman 131 S 47 Links die Aus f hrungsphase rechts die Evaluationsphase Bildschirm oder Tasten welche vom Benutzer gedr ckt werden Auf der syntakti schen Ebene werden Ordnung Reihenfolge und Struktur beschri
87. bbildung 4 5 Zustandsdiagramm f r den MP3 Player Der Oberzustand enth lt drei Regionen mit parallel aktiven Zustandsdiagrammen wird das Zustandsdiagramm eingesetzt Viele Interaktionen lassen sich gut durch Zust nde beschreiben beispielsweise die Wahl eines Getr nks an einem Automa ten oder die Wiedergabe von Musik Entlang der Transitionen k nnen durch die Actions Operationen auf Objekten ausgef hrt werden Durch sie lassen sich wie bei Aktivit tsdiagrammen Aus gaben vornehmen oder der interne Zustand des Systems ver ndern Eingaben des Benutzers geschehen durch Trigger welche die Transitionen schalten Durch Guards lassen sich bei Verzweigungen die richtigen Transitionen ausw hlen 4 3 Dialogmodell 81 state machine held hello display toggle_irritation reset c10 addCredit 0 1 hello_price c20 addCredit 0 2 c50 addCredit 0 5 c100 addCredit 1 Q e Tee showPrice Tee Kaba showPrice Kaba Kaffee showPrice Kaffee Latte showPrice Latte Cappuccino showPrice Cappuccino Abbildung 4 6 Zustandsdiagramm des Getr nkeautomaten mit Begr ung und Geldeinwurf In Abbildung 4 6 und 4 7 sind die Zustandsdiagramme des Getr nkeautoma ten zu sehen Die Begr ung wird durch einen einzelnen Zustand umgesetzt Im Diagramm in Abbildung 4 7 ist die Auswahl eines Getr nks zu sehen die mit einem zusammengesetzten Zustand arbeitet An den Transitionen stehen die ve
88. beschrieben und es wurde verdeutlicht an welchen Stellen Ankn p fungspunkte zur vorliegenden Arbeit existieren Zum Abschluss der Arbeit stehen noch eine Umsetzung des mArch Modells in ein eigenes Software Framework und eine Illustration anhand der Fallbeispiele aus Realisierung eines Software Frameworks Eine Idee die entwickelt und umgesetzt wird ist wichtiger als eine Idee die nur als Gedanke existiert Buddha In den vorangegangenen Kapiteln wurde erarbeitet wie mit Modellen Benut zerschnittstellen beschrieben werden k nnen wie dazu UML einsetzbar ist und welche Architektur ben tigt wird In diesem Kapitel wird eine Realisierung des mArch Modells beschrieben Um die Umsetzung von Anwendungen auf Basis von UML Modellen zu vereinfachen wurde ein eigenes Software Framework im Fol genden mArch Framework genannt erstellt Zu Beginn des Kapitels wird ein berblick ber die Komponenten des mArch Frameworks gegeben Anschlie end wird beschrieben wie sich das Framework beim Start einer Anwendung verh lt W hrend der Startphase werden die UML Diagramme eingelesen und alle Komponenten des mArch Frameworks initiali siert Nach der Beschreibung der Startphase wird das Verhalten zur Laufzeit erl u tert Zuerst wird auf die Ausf hrung von Aktivit tsdiagrammen eingegangen und der verwendete Algorithmus vorgestellt Danach folgt der Algorithmus f r die Ausf hrung von Zustandsdiagrammen Die Anbindung von Klassendiagramm
89. bindung bzw wahlweise Generierung von Benut zerschnittstellen m glich ist In Kapitel 4 Modellieren von Interaktionsanwendungen mit UML folgte ei ne detaillierte Beschreibung wie mit UML Interaktionsanwendungen modelliert werden k nnen Das Kapitel dient auch als Verfahrensbeschreibung zur Mo dellierung von Interaktionsanwendungen mit UML indem es demonstriert in welchem Fall welches Diagramm eingesetzt wird Die UML umfasst 14 Dia grammarten von denen vier eingesetzt werden Klassendiagramme zur Beschrei bung des Dom nenmodells Use Case und Aktivit tsdiagramme um das Aufga benmodell zu gliedern und zu beschreiben und Zustandsdiagramme mit denen das Verhalten innerhalb des Dialogmodells beschrieben wird Durch den Einsatz von UML lassen sich Dom nen Aufgaben und Dialogmodell auf detailliertere Weise beschreiben als bei den anderen vorgestellten Notatio nen Die Verbindung der Diagramme untereinander wird durch den Einsatz von UML stark vereinfacht Damit die erarbeiteten Konzepte umgesetzt werden k nnen bedarf es einer ge eigneten Software Architektur In Kapitel 5 Architekturen f r multimodale Be nutzerschnittstellen wurden bestehende Ans tze beschrieben die allerdings ein 7 2 Ausblick 133 zeln f r sich genommen Schw chen aufweisen wenn sie f r multimodale Be nutzerschnittstellen eingesetzt werden sollen Das mArch Modell ist eine erwei terte Software Architektur f r die bestehende Ans
90. bungsmodell Umgebungsmodelle beschreiben die Umgebung in der die Interaktion zwischen Benutzer und System stattfindet Es existieren unterschiedlich komplexe Model 3 6 Modelle f r Kontext Evaluation und einzelne Modalit ten 65 le da der Einfluss der Umgebung auf Anwendungen von der Anwendung selbst und allgemein g ltigen Faktoren bestimmt wird Im Zusammenhang mit UsiXML wurde in Abschnitt 3 5 2 bereits ein einfaches Umgebungsmodell vorgestellt vgl 196 Es ist in das Kontextmodell von Usi XML integriert und beschreibt die Umgebung durch drei Attribute n mlich durch den light ingLevel der durch eine Zahl dargestellt wird sowie isNoisy und isStressing Die letzten beiden Attribute sind Wahrheitswerte Dieses einfa che Modell gen gt bereits um eine Reihe von unterschiedlichen Auspr gungen von Benutzerschnittstellen beschreiben zu k nnen Calvary et al haben weitere Attribute von Umgebungsmodellen beschrieben 24 Ein Modell kann Informationen zu vorhandenen Objekten Personen und Vorg ngen enthalten die peripher zur aktuellen Aufgabe eines Benutzers geh ren sich aber auf sein Verhalten auswirken k nnen Nach den Autoren sollen die Attribute durch Dom nenanalysten festgelegt werden die entscheiden welche Informationen f r eine Anwendung relevant sind 3 6 4 Modelle zur Evaluation Evaluationsmodelle beschreiben wie eine Reihe von Eigenschaften der Benut zerschnittstelle gemessen werden k nnen Es ist m
91. chnitt 3 4 3 beschriebenen Diagrammen Sie k nnen ebenfalls hierarchisch aufgebaut werden um Paralleli t t abzubilden und enthalten noch einige UML spezifische Erweiterungen Eine eigene Diagrammart f r ein Pr sentationsmodell ist in UML nicht vorge sehen auch Benutzer Umgebungs oder Ger temodelle fehlen Sie lassen sich allerdings durch das Einbinden bestehender Modelle oder durch Beschreibung solcher Modelle in UML bereitstellen Durch das Beschreiben als Sprachpakete f r UML bleibt dabei die Kompatibilit t innerhalb der Sprache erhalten UML bietet jedoch einige zus tzliche Diagramme die weitere Sichten auf das Modell liefern F r diese Arbeit sind Use Case Diagramme und Sequenzdiagram me relevant Use Case Diagramme zeigen was ein System f r Benutzer leistet Sie werden meist eingesetzt um das Verhalten von Benutzerschnittstellen zu beschreiben 60 Klassifikation bestehender Ans tze activity getraenkeautomaf Ez getraenkeautomat start hello package Dad ei getraenkeautomat J select select DrinksVendor selected addCredit amount production showPrice name DrinksVendor remove production remove DrinksVendor a Klassendiagramm b Aktivit tsdiagramm Abbildung 3 10 Links das Klassendiagramm des Getr nkeautomaten rechts das Aktivit tsdiagramm Jeder Use Case Anwendungsfall kapselt eine Menge von A
92. chreiben Auch Hierarchiebildung ist m glich Dazu bietet UML eine Reihe von Alternativen wie Diagramme miteinander verbunden oder ineinander eingebettet werden k nnen Tabelle 3 1 fasst die bewerteten Eigenschaften der vorgestellten Notationen nach den Kriterien aus Abschnitt 3 2 1 noch einmal zusammen Die Verst ndlichkeit von Produktionssystemen h ngt stark von der Gestaltung der Regeln ab und ist darum geklammert UML bietet die meisten Vorz ge und wird daher f r diese Arbeit zur Beschreib ung des Verhaltens und der Dom nenobjekte von Interaktionsanwendungen aus gew hlt Die Entscheidung f r UML begr ndet sich durch die M chtigkeit der Notation zur Beschreibung von Aufgaben Dialog und Dom nenmodell Ein nicht zu vernachl ssigender Faktor ist auch die starke Verbreitung und Werk 3 7 Bewertung 69 o ovo E SS g gt CG 2 Co Di E n bel E g x 82 F E E 2 5 3 E 5 S D ei fo n E r 5 A sa E gt e Ed Kriterium O A N Oo D D Erweiterbarkeit um Modalit ten o o Angemessenheit o Verst ndlichkeit o 0 Ausdrucksst rke E Universalit t Er Werkzeugunterst tzung Verbreitung S bk kb Tabelle 3 1 Zusammenfassung der Eigenschaften der vorgestellten Notationen Bewertungsskala o zeugunterst tzung von UML Die Vertrautheit durch den Einsatz im normalen Entwicklungsalltag reduziert die H rden zum Ein
93. chreibung Eine Verfahrensbeschreibung zur Modellierung von Interaktionsanwend ungen mit UML Das mArch Modell als Software Architektur f r multimodale Interaktions anwendungen Zusammenfasung 157 Ein Software Framework welches multimodale User Interface Manage ment Systeme auf Basis des mArch Modells erm glicht Abschlie end wird ein Ausblick auf weitere Themen gegeben an denen auf Basis der vorliegenden Arbeit geforscht werden kann Der Anhang enth lt eine bersetzung der wichtigsten Begriffe aus der UML zwi schen Englisch und Deutsch Summary Keywords Human computer interaction task modelling interactive systems user interfaces model based development user interface management systems UIMS object oriented design methods multimodal interfaces Classification according to the Computing Classification System 8 H 1 2 User Machine Systems H 5 2 User Interfaces D 2 Software Engineering D 2 2 Design Tools and Techniques D 2 11 Software Architectures 1 3 6 Interac tion Techniques The creation of multimodal interactive applications remains a major challenge despite many advances in application development The reason is the variety of existing modalities which have to be supported For each modality a complete user interface needs to be implemented or adapted By employing suitable abstract models for the interaction between user and app lication and connecting them to modalities methods fro
94. chtet dessen Kanten Interaktionen durch Modalit ten sind e Complementarity Komplementarit t Falls in einem Zeitraum mehrere Modalit ten genutzt werden m ssen um den Zustand eines Systems zu ndern so hei en sie komplement r zueinander e Assignment Zuweisung Falls nur eine Modalit t einsetzbar ist um den Zustand eines Systems ver ndern zu k nnen so ist diese Modalit t der Zustands nderung zugewiesen e Redundancy Redundanz Wenn zwei Modalit ten ber die gleiche Aus drucksm chtigkeit verf gen ber beide der Zustand des Systems identisch ver ndert werden kann und sie im selben Zeitraum genutzt werden k n nen dann sind sie redundant zu einander e Equivalence quivalenz Wenn durch zwei Modalit ten das gleiche Ziel erreicht wird sind sie quivalent Die CARE Eigenschaften stellen einen formalen Rahmen dar innerhalb dessen Aussagen ber multimodale Systeme getroffen werden k nnen Man kann mit ihnen zum Beispiel berpr fen ob manche Aktionen nur ber eine bestimmte Modalit t erreichbar sind ob quivalente Pfade vorhanden sind oder mehrere Modalit ten gemeinsam genutzt werden m ssen 2 2 5 Wichtige Modalit tskategorien Bisher war in dieser Arbeit von grafischen Oberfl chen engl graphical user inter faces GUIs die Rede doch nach der obigen Definition k nnen zwei verschiedene GUIs bereits verschiedene Modalit ten sein Damit es einfacher ist ber Grup pen von hnlichen Modalit
95. chtet und tiberlebte mehrere Kriege unversehrt 1950 wur de er von einem buddhistischen M nch durch Brandstiftung zerst rt Der M nch hatte die Sch nheit des Geb udes nicht mehr ertragen k nnen Dank der ber lieferten Pl ne und Skizzen konnte ein exaktes Modell erstellt werden und 1955 wurde der Kinkaku ji restauriert Abbildung 2 5b HTC Touch mit freundlicher Genehmigung der Firma HTC Abbildung 2 6 URP 2 7 SandScape mit freundlicher Genehmigung des MIT Me dia Laboratory Abbildung 2 8a Kaffeeautomat mit freundlicher Genehmigung von Alex zigs hot82 Abbildung 2 9a Mit freundlicher Genehmigung von Jannes Glas stock xchng
96. ctors in computing systems 57 64 ACM Press New York NY USA ISBN 0 201 50932 6 1990 DASKE Lisa Generierung prototypischer GUIs auf Basis von UML Zustands und Aktivit tsdiagrammen Master s thesis Universit t Ulm 2009 DEUTSCHE TELEKOM AG T Net Bedienungsanleitung Bonn 2003 DHAWALE Pushkar MASOODIAN Masood ROGERS Bill Bare hand 3D gesture input to interactive systems In CHINZ Oe Proceedings of the 7th ACM SIGCHI New Zealand chapter s international conference on Computer human interaction 25 32 ACM New York NY USA ISBN 1 59593 473 1 2006 Literaturverzeichnis 141 45 Dix Alan FINLAY Janet ABOWD Gregory D BEALE Russell Human computer interaction Prentice Hall 2003 46 Dix Alan FINLAY Janet ABOWD Gregory D BEALE Russell Human computer interaction Pearson 2004 47 DUARTE Carlos CARRI O Luis A conceptual framework for developing adaptive multimodal applications In IUI Oe Proceedings of the 11th international conference on Intelligent user interfaces 132 139 ACM Press New York NY USA ISBN 1 59593 287 9 2006 48 DUDDINGTON Jonathan eSpeak text to speech http espeak sourceforge net 2007 49 DUDENREDAKTION Duden 01 Die deutsche Rechtschreibung Bibliographi sches Institut Mannheim ISBN 3411040149 2006 50 ELSHOLZ Jan Patrick HERMANN Marc DE MELO Guido WEBER Micha el Personalizable Ambient Fixture In 4th IET IEEE International
97. d Ter minale Die trennen die Seiten der Regeln Durch das Symbol f r Oder ist die Auswahl zwischen Alternativen m glich Grammatiken bieten eine Reihe von Vorteilen Sie sind erweiterbar und je nach Design sehr ausdrucksstark Sie k nnen universell gestaltet werden Dem gegen ber steht die Gefahr eine unverst ndliche oder nicht allgemein genug gehaltene Grammatik zu erstellen Wie man am Beispiel sieht bleibt die Beschreibung des Dialogs kompakt Ein Nachteil ist dass Nebenl ufigkeit nicht direkt unterst tzt wird Im Beispiel kann nie gleichzeitig die Lautst rke ge ndert werden w hrend eine andere Aktion ausgef hrt wird Auch die Ber cksichtigung des unterschied lichen Verhaltens der Aktionen ist nicht einfach m glich Aus dem Pause Modus wird auch durch stop das Lied angehalten aber w hlt man danach play so startet das Lied vom Anfang im Gegensatz zur pausierten Stelle Dieses Verhal ten geht aus der Grammatik allerdings nicht hervor Im Klassifikationsframework l sst sich durch eine Grammatik meist nur ein Mo dell abdecken Es ist zwar m glich eine Grammatik zu finden in der z B ein Dom nenmodell mit einer Programmiersprache umgesetzt werden kann und das gleichzeitig Elemente f r ein Aufgaben und ein Dialogmodell enth lt solche Grammatiken existieren jedoch nicht f r den praktischen Gebrauch Grammati ken werden von technischen Systemen in hohem Umfang eingesetzt allerdings gibt es nur eine geringe Zah
98. d design of context sensitive interactive applications a discussion of notations In TAMODIA 04 Proceedings of the 3rd annual conference on Task models and diagrams 43 50 ACM Press New York NY USA ISBN 1 59593 000 0 2004 83 JECKLE Mario UML auf gut Deutsch http jeckle de uml de index html 2004 144 Literaturverzeichnis 84 85 86 87 88 89 90 91 92 93 94 95 96 97 JECKLE Mario Unified Modeling Language UML Tools http www jeckle de umltools htm 2004 JECKLE Mario Rupp Chris HAHN J rgen QUEINS Stefan UML Glas klar Hanser Fachbuchverlag ISBN 3446229523 2005 JOHN Bonnie E KIERAS David E The GOMS family of user interface analysis techniques comparison and contrast ACM Trans Comput Hum Interact 3 4 320 351 ISSN 1073 0516 1996 KASIK David J A user interface management system SIGGRAPH Comput Graph 16 3 99 106 ISSN 0097 8930 1982 KECHER Christoph UML 2 0 Das umfassende Handbuch Galileo Press ISBN 3898427382 2006 KERER Clemens KIRDA Engin Layout Content and Logic Separation in Web Engineering In Web Engineering Software Engineering and Web Ap plication Development volume 2016 of LNCS 135 147 2000 KLEENE Stephen C Representation of events in nerve nets and finite automata Annals of Mathematics Studies 34 3 41 1956 KLUGE Verena Modellgetriebene Generierung graphischer Benutze
99. dar program on a palm sized device a laptop and a wall sized display Ben Shneiderman 178 Heutzutage wird zunehmend mehr Informationstechnik in Alltagsgegenst nde integriert und immer mehr Menschen verlassen sich auf Dienste und Informatio nen die elektronisch bereitgestellt werden Die Anzahl kleiner tragbarer Ger te und immer gr erer Ger te wie Wanddisplays und Geb udetechnik mit denen Benutzer interagieren k nnen w chst Durch die Integration von Technik in Geb ude und R ume sowie die immer klei neren assistiven Ger te werden Anwendungen im w rtlichen Sinne ubiquit r verf gbar Mit der wachsenden Rechenleistung ist es mittlerweile auch m glich gro e Fortschritte im Sinne von Marc Weisers Ans tzen zum ubiquitous com puting zu machen 204 Es ist m glich Alltagsgegenst nde zur Interaktion mit digitalen Daten zu verwenden Der Computer als solches r ckt immer mehr aus dem Blickfeld Die Nutzung der Ger te ndert sich abh ngig von der Umgebung Im B ro mag ein Benutzer eine klassische Desktop Umgebung bevorzugen unterwegs ist es dagegen ein kleines leichtes Ger t mit geringer Rechenleistung und eventuell Spracheingabe 210 und zu Hause ist es eher eine Projektionswand um Filme anzusehen Dabei erwartet ein Benutzer dass er Anwendungen mit den verschie denen Ger ten in der gleichen Art verwenden kann Zus tzlich zur Nutzung von immer mehr Ger ten gibt es eine nderung der Art in der e
100. dell Eeer Be ehe Ray 4 5 2 Generierung von Benutzerschnittstellen 4 5 3 Direktes Mapping zu Modalit ten 2 2 2 2 ASO KA rn on re rn re hoe aber Pewee Barden Warn eet ee Inhaltsverzeichnis v 5 Architekturen f r multimodale Benutzerschnittstellen 91 5 1 Ans tze f r Architekturen a a aaa aaa a 92 5 1 1 User Interface Management Systeme UIMS 92 5 1 2 Seeheim Modell 020004 93 5 1 3 Arch und Arch Slinky Modell 94 5 1 4 Multimodale Pr sentationskomponenten 96 5 1 5 Kombination der Ans tze zum multimodalen Arch mArch Modell 2 de a le do oh iert AR A ss 97 5 2 Zusammenspiel der Komponenten 99 5 2 1 Dom nenobjekte und Domanenadapter 99 5 2 2 Dialogsteuerung 00005 ee eee 100 5 2 3 Pr sentationskomponente Mapper 100 5 24 Modalit ten Ee REN AEN Oe i ee a 100 5 3 Fission und Fusion 101 Beil FISSION ty 2 ea A ne wre Be oe Bie een 102 5 332 FUSION 0 en an PRE Rel ee I Be Es 103 SUAS Fazit cn Sr DE EE 104 6 Realisierung eines Software Frameworks 105 6 1 Aufbau des User Interface Management System Frameworks 106 6 1 1 Parsen von UML Diagrammen 107 6 1 2 Initialisierung des Frameworks 110 6 2 Ausf hren von UM 112 6 2 1 Hilfsmechanismus Kaktusstack 114 6 2 2 Aktivit tsdiagramme 115 6 2 3 Zustandsdiagramme 118 6 2 4 Anbindung
101. dells aus einem Aufgabenmodell ab geleitet werden 5 Model modification Das Modell wird durch den Designer ver ndert er kann z B ein unvollst ndig generiertes Modell komplettieren 6 Model update Falls in einem Modell eine Eigenschaft ver ndert oder hin zugef gt wird werden in einem verbundenen Modell per Hand vom De signer oder automatisch durch einen Algorithmus die entsprechenden Ei genschaften aktualisiert Das Mapping Problem besteht aus einer Reihe von Teilproblemen Je nach Art der verwendeten Modelle und der Verbindungen zwischen ihnen treten verschiedene dieser Teilprobleme auf 3 2 Ans tze zur Klassifikation Im Folgenden werden verschiedene Ans tze zur Klassifikation von Notationen vorgestellt und ein Verfahren zu Einordnung erarbeitet Dies soll es erm gli chen die verschiedenen in Frage kommenden M glichkeiten zur Beschreibung von Interaktionsanwendungen einzuordnen und zu bewerten Dabei stellt sich die Frage in welchem Detailgrad eine sinnvolle Klassifikation und Bewertung vorgenommen werden kann 3 2 Ans tze zur Klassifikation 37 An Notationen gibt es eine Reihe von Anforderungen von denen die relevanten herausgegriffen werden Wie im Kapitel Grundlagen bereits vorgestellt bezeichnet man mit dem Begriff Interaktion nicht die einzelne Handlung eines Benutzers und die Reaktion ei nes Systems darauf vielmehr wird der Begriff synonym f r Handlungsabl ufe verwendet Darum ist es ein zentral
102. der bezogenes Handeln zweier oder mehrerer Personen Wechselbeziehung zwi schen Handlungspartnern Erweitert man den Begriff ein wenig so l sst sich darunter auch die Wechsel beziehung zwischen Mensch und Maschine verstehen Dix et al nennen jede Kommunikation zwischen Mensch und Maschine Interaktion unabh ngig davon ob diese direkt oder indirekt erfolgt 46 S 4 Interaktion kann dabei ein ein zelner Austausch oder eine l ngere Abfolge bezeichnen Ein interaktives System besteht aus mindestens einer Maschine mit der eine wechselseitige Kommuni kation m glich ist 2 1 1 Dialoge Die Bedeutung des Begriffs des Dialogs berschneidet sich mit dem der Interakti on Sobald zwei Partner miteinander kommunizieren sind sie im Dialog Hierbei steht traditionell die Kommunikation im Vordergrund Dial g griech Zwiegespr ch gegenseitige m ndliche Mitteilung verschiedener auch einander widerstreitender Ansichten ber einen Gegenstand auch ein Schriftwerk oder Teil desselben in der Form einer solchen Unterredung Meyers Konversationslexikon 108 Definition 2 Dialog Ein Dialog beinhaltet die gesamte Interaktion zwischen den Dialogteilnehmern Er besteht aus einer logisch zusammenh ngenden Menge einzel ner Interaktionen Ein Dialog umfasst bei interaktiven Systemen die Gesamtheit der Interaktion unabh ngig von der Art in welcher sie geschieht Es spielt es nur eine unterge ordnete Rolle ob eine Anweisun
103. deren Modellen unter Einbeziehung der Kontextmodelle zu generieren Die andere M glichkeit ist falls es nur wenige Kontexte gibt die Be nutzerschnittstellen h ndisch zu erzeugen Bevor beide M glichkeiten beschrie ben werden muss noch das Mapping zwischen den abstrakten Interaktionsmo dellen und dem Pr sentationsmodell erstellt werden 4 5 1 Mapping zwischen Aufgaben Dialog und Pr sentationsmodell Um festzustellen zwischen welchen Elementen Mappings notwendig sind be trachtet man die Verbindungen des Pr sentationsmodells mit anderen Modellen Durch das Aufgaben und das Dialogmodell wird beschrieben welche Teile des Pr sentationsmodells wann aktiv sein sollen und wie sie sich verhalten soll Das Dom nenmodell ist indirekt angebunden Operationen auf seinen Objekten k n nen via Dialog und Aufgabenmodell durchgef hrt werden Beim Ansatz dieser Arbeit werden die Elemente von Aktivit ts und Zustandsdiagrammen mit dem Pr sentationsmodell verbunden Tabelle 4 1 stellt einen berblick ber alle ver kn pfbaren Elemente dar Diagramm Element Aktivit tsdiagramm Aktion Operation innerhalb einer Aktion Zustandsdiagramm Zustand Trigger Actions die durch Trigger ausgel st werden Tabelle 4 1 Verkn pfbare Elemente von Aktivit ts und Zustandsdiagrammen Im Aktivit tsdiagramm k nnen der Name bzw die ID einer Aktion oder die in einer Aktion spezifizierten Operationen verkn pft werden Da Aktionen ab
104. e Task Dialog and Task Presentation Mapping Problem Some Preliminary Results In PALANQUE Philippe PATERNO Fabio Eds Interactive Sys tems Design Specification and Verification volume LNCS 1946 227 246 Springer 2001 LINK Stefan SCHUSTER Thomas HOYER Philip ABECK Sebastian Mo dellgetriebene Entwicklung grafischer Benutzerschnittstellen i com 6 37 43 2007 LOK Simon FEINER Steven NGAI Gary Evaluation of visual balance for automated layout In Proceedings of the 9th international conference on Intelligent user interface 101 108 2004 L PEZ JAQUERO Victor MONTERO Francisco REAL Fernando Desi gning user interface adaptation rules with T XML In IUI 09 Proceedings of the 13th international conference on Intelligent user interfaces 383 388 ACM New York NY USA ISBN 978 1 60558 168 2 2009 MARTIN James ODELL James J Object Oriented Methods Prentice Hall PTR Upper Saddle River NJ USA ISBN 0136308562 1994 MCGLASHAN Scott BURNETT Daniel C CARTER Jerry DANIELSEN Pe ter FERRANS Jim HUNT Andrew LUCAS Bruce PORTER Brad REHOR Ken TRYPHONAS Steph Voice Extensible Markup Language VoiceXML Version 2 0 http www w3 org TR voicexm120 2004 MCTEAR Michael F Spoken dialogue technology enabling the conversa tional user interface ACM Comput Surv 34 1 90 169 ISSN 0360 0300 2002 MEALY George H A method for synthesizing sequential circuits Bell System T
105. e Arbeit Fine ausge w hlte Menge wird im Folgenden kurz vorgestellt Paketdiagramme helfen bei der Entwicklung gr erer Systeme und beschreiben wie Sammlungen von Klassen zusammengefasst werden Durch sie kann die bersichtlichkeit besser gewahrt werden da sie eine Gliederung nach funktio nalen Aspekten vornehmen Im Beispiel des MP3 Players kann man sich Pakete f r das Abspielen von Musik oder auch f r unterschiedliche Playlist Navigation f r verschiedene Varianten des Produkts vorstellen Gerade bei gr eren Systemen kommen auch Komponentendiagramme zum Ein satz Sie beschreiben die Struktur eines Systems zur Laufzeit Insbesondere ver deutlichen diese Diagramme wie die verschiedenen Komponenten erzeugt wer den und was f r Verbindungen zwischen ihnen bestehen Diese Eigenschaften sind z B f r die Spezifikation von Schnittstellen n tzlich 4 5 Prasentationsmodell 83 activity AC playingf AC playing J mp3 to pcm pcem to hardware file source file sink pcm source pem sink Abbildung 4 8 Aktivitatsdiagramm fiir das Wandeln von MP3 zu PCM Sequenzdiagramme zeigen den Austausch von Nachrichten zwischen Kommuni kationspartnern innerhalb des Systems Sie beschreiben dabei die zeitliche und logische Abfolge von Nachrichten Sie k nnen z B auff hren in welcher Rei henfolge Methoden von Objekten innerhalb des Getr nkeautomaten aufgerufen werden k nne
106. e GUI mit dem Glade User Interface Designer erstellt siehe Abschnitt 4 5 3 F r weitere Modalit ten werden ebenfalls Beschreibung en der Benutzerschnittstellen erstellt z B mit VoiceXML oder einem anderen Toolkit f r eine Sprachschnittstelle und mit direkter Ausprogrammierung eine Benutzerschnittstelle f r TUIs app Drinksvendor new ui UIBuilder new app drinksvendor mdzip U Start Listing 6 1 Starten des Getr nkeautomats durch Verwendung des UIBuilders in der Sprache Ruby Parallel zur Erstellung der Benutzerschnittstellen f r die verschiedenen Modali t ten kann die Anwendung selbst entwickelt werden F r die Nutzung des Fra meworks sind nur wenige Zeilen zus tzlicher Code n tig Aus Listing 6 1 wird ersichtlich wie der Getr nkeautomat initialisiert und seine Benutzerschnittstelle gestartet wird In Zeile 2 wird dem UIBuilder eine Referenz auf die Anwen dung und der Pfad zur XMI Datei mit den UML Diagrammen bergeben Danach muss nur noch in Zeile 3 die Steuerung der Anwendung an die Dialogkompo nente bergeben werden Wie bereits in Abschnitt 6 1 2 beschrieben initialisiert und verbindet die Kompo nente durch Einsatz des Builder Patterns alle beteiligten anderen Komponenten Dies sind die Dialogsteuerung UIMode1 der Mapper sowie die verschiedenen Modalit ten 6 3 2 Integration neuer Modalit ten Im Framework werden alle Klassen die eine Modalit t beschreiben von der Klas se CUI abgeleitet
107. e Notationen Alle vorgestellten No tationen sind weiter so aufgebaut dass ihre Teilmodelle mit einander verbunden sind ber Abw gungen wie die Analysest rke gegen die Ausdruckskraft und Einsatz zur Spezifikation gegen Ausf hrung der Notation kann nur berichtet werden da diese Entscheidungen von den Sch pfern einer Notation getroffen werden Keinen Einflu auf die Wahl einer Notation soll die Ergonomie von Benutzer schnittstellen haben Notationen sollen soweit von Benutzerschnittstellen ent koppelt sein dass sie nur einen indirekten Einflu auf diese Eigenschaft besit zen Ebenso soll die Konsistenz von Interaktionsabl ufen keine zu gro e Rolle spielen Eine Notation soll die Interaktion einheitlich beschreiben Inkonsisten zen k nnen dann nur bei der Ableitung verschiedener Benutzerschnittstellen aus einem abstrakten Modell entstehen Diese Inkonsistenzen zu beseitigen ist aller dings Schwerpunkt von Arbeiten die sich mit der Generierung von Benutzer schnittstellen befassen Eine Werkzeugunterst tzung ist nicht zwingend erforderlich Vorhandene Werk zeuge sind jedoch prinzipiell von Vorteil da sie die Anwendung der Notation f rdern Schlie lich soll eine Notation auch m glichst verbreitet und damit von den an der Anwendungserstellung beteiligten Gruppen akzeptiert sein Es ergeben sich damit sieben Punkte die f r alle Notationen abzupr fen sind 1 Erweiterbarkeit um Modalit ten 2 Angemessenheit der Notation
108. e verschiedenen Elemente aus denen die GUI sich zusammensetzt Eine solche Strukturierung ergibt sich durch die Gruppierungen in den Ausgangsmodellen und l sst sich bei einer automatischen Generierung nutzen 5 2 Zusammenspiel der Komponenten Nachdem im letzten Abschnitt die Komponenten des mArch Modells beschrieben wurden wird im Folgenden erl utert wie die Komponenten zusammenarbeiten und welche Aufgaben in ihnen ausgef hrt werden Die Komponenten k nnen plattform bergreifend durch Kommunikationsmecha nismen verbunden werden damit Anwendungen mehrere Ger te und Plattfor men f r ihre Benutzerschnittstelle verwenden k nnen 5 2 1 Dom nenobjekte und Dom nenadapter Die Dom nenobjekte beschreiben die Anwendung und werden durch Klassen diagramme modelliert Sobald das System gestartet wird werden auch die Do m nenobjekte initialisiert Zur Laufzeit interagiert der Benutzer durch seine Ein gaben mit den Aktivit ts und Zustandsdiagrammen der Dialogsteuerung An Transitionen zwischen Zust nden und in Aktionen sind die Methoden der Do m nenobjekte referenziert Durch das Aufrufen der Methoden ndert sich der interne Zustand der Anwendung Dom nenobjekte k nnen beliebig geartet implementiert werden solange eine Anbindung zur Laufzeit sicher gestellt ist Der Dom nenadapter sorgt f r diese Anbindung der Anwendung an die Dialogsteuerung und setzt dazu die notwen dige Technik wie z B verteilte Objekte oder CORBA ein D
109. e verwendet Diese sollen nun n her beschrieben werden 76 Modellieren von Interaktionsanwendungen mit UML 4 2 2 Aktivit tsdiagramme Aktivit tsdiagramme Activity Charts stellen den zeitlichen Ablauf von T tig keiten dar Sie beschreiben Nebenl ufigkeit Ausnahmebehandlung und Tren nung der Zust ndigkeiten mehrerer Benutzer Sie erlauben auch dass andere Aktivit ts oder Zustandsdiagramme in sie eingebettet werden 136 141 138 142 Ihre wichtigsten Elemente sind Aktionen actions verbindende Kanten activity edges und Kontrollelemente control nodes Aktivit tsdiagramme eignen sich besonders um eine abstraktere Sicht auf Inter aktionsabl ufe zu beschreiben hnlich wie die Knoten bei den ConcurTaskTrees l sst sich die Aktion in einem Aktivit tsdiagramm als ein Task verstehen Statt strikt hierarchisch modellieren zu m ssen erlauben Aktivit tsdiagramme sowohl iterative Abl ufe als auch Schachtelungen um Komplexit t zu verbergen Die Schachtelung erlaubt es bereits modellierte Teile wiederzuverwenden F r die Schachtelung wird das Element Aktivit t activity eingesetzt Mit Aktivit ten ist es auch m glich parametrisierte Knoten zu erstellen was die Wiederverwend barkeit f rdert Werden Tasks als Aktionen modelliert so kann es notwendig sein einen kom plexen Task detaillierter zu beschreiben Man kann ihn darum als Aktivit t be schreiben oder ein Aktivit tsdiagramm in ihn einbetten Alternativ l
110. eben Bei einer grafischen Oberfl che finden sich an dieser Stelle Informationen zum Layout der Elemente bei Sprachsystemen die Grammatik Auf der untersten Ebene findet die physikalische Interaktion statt Damit bezeich net man jegliche Interaktion die ein Benutzer mit Ein und Ausgabeger ten hat Beispiele hierf r sind das Dr cken einer Maustaste die Tastatureingabe oder das Sprechen von Kommandos bei sprachgesteuerten Systemen Auch die Aus gabe durch verschiedene Ger te f llt hierunter Ein Benutzer interagiert mit dem System durch die Interaktionselemente Dies kann z B durch das Bet tigen einer Reihe von Kn pfen geschehen ber das Anklicken von Symbolen mit der Maus ber das Ber hren eines Touch Screens oder ber eine Spracheingabe Das System pr ft bei der Eingabe ob sie syntaktisch korrekt ist Bestimmte Be fehle d rfen z B nicht aufeinander folgen so kann erst nach einer initialen Ein gabe eine Undo Funktion verwendet werden Wie oben schon erw hnt ist dies 2 1 Interaktion 11 Anderung des Systemzustands logische Interaktion semantische Ebene lexikalische Ebene syntaktische Ebene physikalische Interaktion Abbildung 2 4 Interaktionszyklus aus Sicht eines technischen Systems auch die Stelle an der bei Spracheingabe die Worte durch eine Grammatik in Kommandos und andere Worte unterschieden werden Ebenso k nnen auf den beiden bergeordneten Ebenen Pr fungen der Eingabe erfolg
111. echnical Journal 34 5 1045 1079 1955 MEGGINSON David BROWNELL David Simple API for XML http www saxproject org April 2004 MELLOR Stephen J BALCER Marc J MELLOR Stephen BALCER Marc Executable UML A Foundation for Model Driven Architecture Addison Wesley Professional ISBN 0201748045 2002 MEYER Joseph Ed Meyers Gro es Konversations Lexikon Ein Nach schlagewerk des allgemeinen Wissens Bibliographisches Institut 6 auflage edition 1902 08 MILGRAM Paul TAKEMURA Haruo UTSUMI Akira KISHINO Fumio Aug mented reality A class of displays on the reality virtuality continuum SPIE 2351 282 292 1994 146 Literaturverzeichnis 110 111 112 113 114 115 116 117 118 119 120 121 122 MILLER George A The Magical Number Seven Plus or Minus Two So me Limits on Our Capacity for Processing Information The Psychological Review 63 81 97 1955 MIRCROSOFT Microsoft Surface http www microsoft com surface April 2008 MONTERO Francisco L PEZ JAQUERO Victor VANDERDONCKT Jean GONZ LEZ Pascual LOZANO Maria LIMBOURG Quentin Solving the Mapping Problem in User Interface Design by Seamless Integration in IdealXML In Interactive Systems volume 3941 2006 of LNCS 161 172 2006 MOORE Edward Forrest Gedanken experiments on Sequential Machines Automata Studies Annals of Mathematical Studies 34 129 153 Princeton
112. egriff eines Modells wird eingefiihrt und die Verwendungen von Modellen genauer erklart Auf Architekturen fiir interaktive Systeme wird in Kapitel 5 Architekturen f r multimodale Benutzerschnittstellen detaillierter eingegangen um eine geeignete Umsetzung zu erstellen Zum Schluss des Ka pitels werden Fallbeispiele vorgestellt die in der gesamten Arbeit Verwendung finden r Use and Context Social organization and work An Human machine Fit and Adaption Application areas Computer _ Dialogue Computer O SS p techniques graphics information 8 Zo DO Se Dialogue Dialogue ences Input and genre architecture and interaction Ergonomics output devices g ie Example systems Evaluation and case studied Implementation techniques techniques and tools Design approaches Ke n Development Process Abbildung 2 1 Felder der MMI nach ACM SIGCHI 9 Das Gebiet der Disserta tion ist farbig markiert 2 1 Interaktion Der Begriff Interaktion wird vom Lateinischen inter zwischen und agere han deln abgeleitet In den Sozialwissenschaften kennzeichnet der Begriff die ge genseitige Beeinflussung die wechselseitige Abh ngigkeit und das Miteinander in Verbindung Treten zwischen Individuen und sozialen Gebilden Im Duden wird Interaktion wie folgt definiert 49 2 1 Interaktion Definition 1 Interaktion Interaktion die Psychologisch Soziologisch aufein an
113. eich der Tan gible Interaction weitere Modalit ten ausbilden 69 Dies sind unter anderem Interaktion mit dem ganzen K rper full body interaction d h die M glichkeit den gesamten K rper f r Interaktionen zu verwenden und Interaktion durch die r umliche Anordnung von Objekten vorzunehmen 175 Vermutlich wird sich im Lauf der Zeit eine neue Modalit tskategorie bilden da diese Form der Interaktion nicht mehr zu TUIs passt F r den breiten Einsatz geeignet ist die Eingabe durch die Gestik der H nde oder einzelner Finger 44 Mausgesten sind schon l nger vorhanden und be reits in verschiedenen GUIs im Einsatz Manche Anwendungen lassen sich auch nachtr glich durch Plugins erweitern so dass sie Gesten erkennen Durch ein entsprechendes Plugin l sst sich bspw ein Browser so erweitern dass ein Tab geschlossen bzw ge ffnet werden kann oder man durch die History navigieren kann 7 Die Eingabe von Gesten l sst sich schnell von Benutzern erlernen und im Alltag anwenden Durch die Blickrichtung kann ein Benutzer auf einfache Art Objekte ausw hlen Dazu lassen sich die Bewegungen der Augen verfolgen wie es schon manche Kameras anbieten 27 Der Einsatz innnerhalb einer Kamera dient zur Fokussie rung des Motivs und erlaubt ein schnelleres Arbeiten Weitere Ans tze bestim men die Blickrichtung direkt ber eine Kamera ohne dass der Benutzer seine Augen in einem festen Winkel auf Me ger te richten muss 203 186 Eine Modali
114. el use case and activity diagrams struc ture and describe the task model and state diagrams describe the behavior of the dialog model The chapter gives an overview of how user interfaces can be connected directly or how they can be generated Chapter 5 introduces a software architecture which implements the presented concepts Existing approaches still contain weaknesses if they are to be used for multimodal user interfaces The chapter introduces the mArch model which is an advanced software architecture that combines the advantages of existing approaches It facilitates multimodal interactive applications with a centralized dialog control The various modalities can be distributed to different platforms Towards the end of the thesis chapter 6 describes how the mArch model from the previous chapter is utilized in a software framework for a multimodal user interface management system for building applications The software framework implements the described architecture and can be extended with little effort to include new modalities The utilization of the framework and the easy integrati on of new modalities is demonstrated in case studies Chapter 7 summarizes the results of this thesis The most important contributions to research are e The Models and Mappings classification framework for the assessment of no tations for interactive applications the coverage of models and mappings e The identification of UML as a suitable language
115. em grafisch oder durch Sprache realisiert werden und sind modalit tsunabh ngig Wizards sind Fragedialoge die einen Benutzer durch eine Reihe von Fragen f hren Formulare sind in grafischen Oberfl chen wie Buchungssystemen im Einsatz Bei Benutzerschnittstellen existieren auch Stile zur unterschiedlichen Repr sen tation Bei grafischen Oberfl chen kann ein Benutzer z B auff lligere Farben bevorzugen ein anderer legt Wert auf dezente T ne und passende Schriften Bei Sprache werden dagegen verschiedene Stimmlagen und Tempi favorisiert Al lerdings spricht man meist nicht von Stilen sondern bei grafischen Oberfl chen von Pr sentationsvorlagen engl Templates oder dem Look amp Feel Dabei werden einheitliche Darstellungen wie die genannten Farben Schriften oder Stimmlagen f r Benutzerschnittstellen beschrieben so dass sie f r verschiedene Anwendung en eingesetzt werden k nnen Ein Beispiel einer solchen Beschreibungssprache sind die Cascading Style Sheets CSS 208 Im Folgenden wird ein kurzer berblick ber drei etablierte Modalit tskategori en und einige weitere Modalit ten gegeben Grafische Benutzerschnittstellen GUIs Eine grafische Benutzerschnittstelle GUI ist eine Modalit tskategorie die ein haptisches Eingabeger t und einen Bildschirm verwendet Streng genommen m sste die Kategorie als grafisch haptisch bezeichnet werden doch der k rze re Ausdruck hat sich durchgesetzt Fr he GUIs waren Text Use
116. en Auf der seman tischen Ebene l sst sich z B berpr fen ob der Benutzer wirklich ein Datum angegeben hat wenn er nach einem solchen gefragt wurde Dazu l sst sich das Wissen ber die Art der Daten in dieser Ebene verwenden 2 1 4 Inhalt Logik und Form Insgesamt l sst sich die Interaktion mit einem System in drei Bestandteile tren nen Inhalt Logik und Form 89 Unter Inhalt werden blicherweise Informatio nen verstanden welche einem Benutzer vermittelt werden sollen Inhalte k n nen in verschiedenen Medien wie Sprache Text oder Bildern vorliegen Im Bereich Logik muss zwischen der Interaktionslogik und der Anwendungslogik unterschieden werden Interaktionslogik beinhaltet die Elemente welche inner halb eines Dialogs Teile der Ausgabe beschreiben Sie enth lt einen generischen Anteil der f r eine Modalit t fest vorgegeben ist z B der Teil eines Programms 12 Grundlagen welcher ein Fenster erzeugt und verwaltet Weiter enthalt sie schematische An teile z B Widgets einer grafischen Oberfl che Anwendungslogik bezeichnet Elemente die auf Funktionalit t eines Systems zur ckgreifen um z B etwas zu berechnen oder in irgendeiner Weise Daten zu verarbeiten Die Ausgabe kann analog zur Eingabe in verschiedener Form erfolgen Schon innerhalb einer Interaktionsart kann es verschiedene Formen geben So k nnen z B Texte in verschiedenen Schriften Gr en und Farben dargestellt werden Im Bereich des Webdesign
117. en dient zur Bereitstellung von Funktionalit t Schlie lich wird auf das Pr sentati onsmodell und damit verbunden auf Fusion und Fission eingegangen Zum Ende des Kapitels wird noch ein berblick ber die Verwendung des mArch Frameworks gegeben Zus tzlich wird beschrieben wie neue Modalit ten einge bunden werden k nnen 105 106 Realisierung eines Software Frameworks 6 1 Aufbau des User Interface Management System Frameworks Das Software Framework fiir das mArch Modell wird durch eine Reihe von Klas sen realisiert Abbildung 6 1 zeigt eine bersicht ber die wichtigsten Klassen durch welche die Umsetzung erfolgt Die Klassen Application UIBuilder Mapper und CUI im unteren Bereich der Abbildung bilden das mArch Modell nach Das Dom nenmodell ist im linken Teil der Abbildung lokalisiert Die jeweili ge Anwendung z B ein Getr nkeautomat oder ein MP3 Player wird durch die Klasse Application repr sentiert Ihre Oberklasse ThreadedApp kapselt die Anwendung in einen eigenen Thread so dass sie parallel zur Dialogsteuerung und den anderen Komponenten ausgef hrt werden kann Eine Klasse f r die Dom nenadapter Komponente ist nicht notwendig da alle Anwendungsaufrufe direkt durch Methoden von Dom nenobjekten der Klasse Application bereit gestellt werden Die Dialogsteuerung steht im Mittelpunkt des Diagramms Sie wird durch die Klasse UIModel implementiert und leitet sich von XMI ab einer Oberklasse die die U
118. en thermoception Schmerz nociception Gleichgewicht equilibrioception Tabelle 2 1 berblick ber die Sinnesmodalit ten Auf die wichtigsten Sinnesmodalit ten wird im Folgenden detaillierter eingegan gen Sehen Das Sehen ist f r fast alle Menschen die wichtigste Art Informationen aus ihrer Umwelt zu erhalten Dabei wird Licht durch das Auge aufgenommen und im Gehirn verarbeitet Das menschliche Auge ben tigt Licht um stimuliert zu werden Es wandelt das Licht in elektrische Signale um die es dann ber die Nervenstr nge an das Gehirn weiterleitet H ren ber den H rsinn nimmt der Mensch Druckunterschiede und Schallwell en wahr und kann dar ber hinaus r umlich orten woher sie kommen Das menschliche Geh r kann Frequenzen zwischen 20 Hz und 20 kHz wahrneh men Mit zunehmendem Alter verschlechtert sich die H rf higkeit insbesondere im oberen Frequenzbereich Mit Kl ngen lassen sich zahlreiche Informationen bertragen wie man am Beispiel der Sprache sehen kann Bei heutigen Desktop Systemen werden in der Regel einfache Kl nge verwendet um simple Benach richtigungen wie Fehler zu bermitteln 14 Grundlagen Haptische Kan le Durch den Tastsinn werden weitere wichtige Informationen bertragen Man kann z B f hlen ob ein Objekt glatt oder rau warm oder kalt ist Dar ber hinaus l sst sich auch Druck auf einer Hautfl che wahrnehmen Die kin sthetische Wahrnehmung findet durch Rezept
119. en erzeugt und durch das Dialogsystem angesteuert Es ist jedoch auch m glich die Benutzerschnittstellen zu generie ren In diesem Fall kann eine Fission in mehreren Stufen von der abstrakten Interaktionsbeschreibung zu Benutzerschnittstellen vorgenommen werden Ausgehend von der vorliegenden Arbeit wurde bereits eine Diplomarbeit zur Ge nerierung prototypischer GUIs betreut die viel versprechende Ergebnisse als Vor studie lieferte 42 Eine weitere Arbeit untersucht derzeit regelbasierte Ans tze zur automatischen Generierung 91 In der vor kurzer Zeit begonnenen Dis sertation von Mark Poguntke wird ebenfalls auf das Thema der automatischen Generierung von grafischen Benutzerschnittstellen und der Ableitung von Trans formationsregeln f r abstrakte Interaktionsbeschreibungssprachen eingegangen 156 Das Thema wird dabei im Kontext von Benutzerschnittstellen in Kraft fahrzeugen behandelt Im Kontext des Sonderforschungsbereichs Transregio 62 stehen die begonnenen Arbeiten von Frank Honold und Felix Sch ssel die sich mit automatisierter Fission im Zusammenhang mit Kontextmodellen und der ad aptiven Fusion von Eingaben befassen 68 172 Zum Gebiet der Kontextmodelle wie Benutzereigenschaften Ger temodell und Umgebung ergibt sich durch diese Arbeit ein neues Bet tigungsfeld ber Kon textmodelle wirken eine Vielzahl von Kr ften auf die Benutzerschnittstelle ein Zu untersuchen ist wie Kontextmodelle beschrieben werden k nnen so d
120. en k nnen vier LEDs ein Tonmodul und ein Vibrationsmechanismus eingesetzt werden Abbildung 6 10 zeigt die Wiimote mit ihren r umlichen Eingabem glichkeiten In der Realisierung implementiert die Klasse WiiUI die Schnittstelle zu einer Wiimote siehe Abbildung 6 8 Die Methode wii_events bearbeitet alle Ein gabeereignisse die von einer Wiimote kommen F r den MP3 Player werden mehrere Buttons und zwei Gesten f r die Interaktion genutzt In Tabelle 6 4 sind alle Aktionen die mit der Wiimote ausgef hrt werden k nnen aufgef hrt 6 2 Ausf hren von UML 125 Aktion mit Wiimote Kommando Button B Play Button A Pause Wippe Rechts N chstes Lied Wippe Links Vorheriges Lied Button Plus Lauter Button Minus Leiser Nicken nach oben Vorheriges Lied Nicken nach unten N chstes Lied Tabelle 6 4 Aktionen mit der Wiimote zur Steuerung des MP3 Players Z Gieren Rollen Nicken Abbildung 6 10 Die Wiimote mit ihren r umlichen Eingabem glichkeiten Zusammenspiel der Komponenten Beim Start einer Anwendung wird nach der Initialisierung der verschiedenen Komponenten des mArch Frameworks die Kontrolle ber die Interaktionssteue rung der Dialogsteuerung bergeben Diese interpretiert die geladenen UML Diagramme und betritt die erste Aktion eines Aktivit tsdiagramms Die Dialog steuerung sendet anschlie end eine Nachricht an den Mapper der die Nach richt an die verschiedenen beteiligten Modalit ten verteil
121. end zu neuen Modalit ten die viele Schwierigkeiten der Bedienung aktueller Anwendungen reduzieren sollen 144 Man erwartet sich von ihnen eine leichtere Erlernbarkeit und einfachere Benutzung Zugleich sind jedoch neue Werkzeuge notwendig um Anwendungen entwickeln zu k n nen in die verschiedene Modalit ten wie Sprache oder Gestik integriert werden 1Nintendo Wii ber Controller http www nintendo com wii Microsoft XBox 360 ber Kamera http www xbox com en US live projectnatal 2 Auch als reality based user interfaces RBIs bekannt 1 1 Problemstellung Myers stellte 2000 fest dass die bisherigen Techniken zur Mensch Maschine In teraktion auf Anwendungen f r Ger te mit normalen bis gro en Displays und einer Maus optimiert sind und dringend eine Weiterentwicklung fiir ubiquitare Anwendungen erfolgen sollte Dies erfordert verbesserte Methoden zur ger te unabh ngigen Spezifikation von Benutzerschnittstellen 117 1 1 Problemstellung F r viele Modalit ten existieren heute Beschreibungssprachen Trotzdem ist es nach wie vor sehr aufwendig f r eine Anwendung Benutzerschnittstellen zur Verf gung zu stellen Dies liegt daran dass neben einer Vielzahl von Plattformen Eigenschaften der Benutzer wie Pr ferenzen oder Sehschw chen ber cksichtigt werden m ssen Au erdem steigt auch der Entwicklungsaufwand mit der An zahl der zu unterst tzenden Modalit ten F r jede Modalit t wird die komplette Benutzerschnit
122. enutzer kann z B die Methode play des Objekts Player aufrufen welche mit der Wiedergabe der Musik beginnt Das Cameleon Framework zeigt wie Modelle zur Entwicklung interaktiver An wendungen nach den Prinzipien des Model Driven Software Development ein gesetzt werden und welche Transformationen dabei zum Einsatz kommen Ins besondere beschreibt es die Translation zwischen verschiedenen Modellen Von Vorteil ist dass das Framework universell einsetzbar ist und keine Notatio nen vorschreibt Ein Nachteil ist dass das Aufgabenmodell und das Dom nenmodell zusammen gefasst werden Es handelt sich um zwei verschiedene Modelle die so den Ein druck erwecken ein einzelnes Modell zu sein Das Framework macht keine Aussagen ber Internationalisierung oder Personali sierung Diese sind allerdings in der Ebene der Final User Interfaces anzusiedeln 3 2 4 Fazit Neben der fr hen Arbeit von Abowd et al der Arbeit Puertas und Eisensteins siehe Abschnitt 3 1 2 zum Mapping Problem und dem Cameleon Framework gibt es nach meinem Kenntnisstand keine Arbeiten die einen systematischen berblick ber alle verwendbaren Modelle und den Mappings zwischen ihnen bieten Bisherige Klassifikationen decken den zu modellierenden Raum nicht vollst ndig ab Zus tzlich zu den oben ausgew hlten Anforderungen ist ein erweitertes Klas sifikationsframework notwendig welches alle relevanten Modelle und Mappings beinhaltet 3 3 Models and Mappings Klas
123. er 38 2 2 Modalit ten 17 werden Auch wenn sich hier beide Modalit ten durch die Eigenschaften der Ge r te unterscheiden k nnte man diese zusammenzufassen F r eine ausf hrliche Abgrenzung dieser Modalit ten sei auf Bernsens Arbeit verwiesen 15 16 2 2 3 Multimodalit t Modalit ten treten in verschiedenen Auspr gungen auf Falls zur Ein oder Aus gabe nur eine einzelne Modalit t zum Einsatz kommt nennt man dies unimodal Interessant wird es wenn mehrere Modalit ten zum Einsatz kommen Bernsen definiert Multimodalit t lediglich ber die Ausgabemodalit t Ein Sys tem ist multimodal falls Informationen auf verschiedene Arten repr sentiert und ausgegeben werden Dies kann gleichzeitig oder sequentiell geschehen 15 Nigay und Vernier sehen ein System als multimodal an falls es verschiedene Interaktionssprachen zum Einsatz bringt Dabei kann ein einzelnes Ger t ver wendet werden so dass z B die Anzeige von Text Bild oder Animation auf ei nem Bildschirm ausreichend ist Ein einzelnes Ger t kombiniert in diesem Fall mehrere Interaktionssprachen man kann deshalb von verschiedenen Modalit ten sprechen 201 In dieser Arbeit sollen jedoch nicht nur die Ausgabemodalit ten sondern auch die Eingabemodalit ten betrachtet werden Die folgende Definition ber cksichtigt deshalb beide Arten von Modalit t Multimodalit t kann bei einem System dann bei der Eingabe der Ausgabe oder beidem auftreten Defini
124. er Adapter kann auch die Sprachunabh ngigkeit der Implementierung der Dom nenobjekte sicherstel len indem er einen entsprechenden Anbindungsmechanismus bereith lt 100 Architekturen fiir multimodale Benutzerschnittstellen 5 2 2 Dialogsteuerung Die Dialogsteuerung verwendet Aktivitats und Zustandsdiagramme um den Ab lauf der Interaktion zu regeln Die Diagramme mtissen dazu beim Start einer Anwendung geladen und in ein geeignetes internes Format berf hrt werden Der Ablauf eines Dialogs erfolgt wie in Kapitel 4 Modellieren von Interaktions anwendungen mit UML beschrieben Ausgehend von einem Aktivit tsdiagramm werden Aktionen gestartet Sobald der Benutzer eine Aktion ausf hrt wird die Benutzerinteraktion an die Dialogsteuerung gemeldet die den internen Zustand des Dialogs aktualisiert Die Dialogsteuerung w hlt auf Basis des Interaktionsmo dells die n chste Aktion aus und benachrichtigt die Pr sentationskomponente Sie bertr gt den eindeutigen Namen der Aktion welche von der Pr sentations komponente an alle Modalit ten weiter vermittelt wird Die Komponenten f r die einzelnen Modalit ten nehmen daraufhin eine Aktualisierung ihrer Benut zerschnittstellen vor 5 2 3 Pr sentationskomponente Mapper Die Pr sentationskomponente vermittelt zwischen den Modalit ten und der Dia logsteuerung Wie bereits in Abschnitt 4 5 3 ausgef hrt lassen sich die Namen von Aktionen und Zust nden f r ein Mapping auf
125. eren Alle Trigger bei Zustandsdiagrammen bezeichnen bereits Events Von den anderen Elementen dienen einige als Eventquellen so z B das Betreten eines Zustands oder einer Aktion Auf Seiten des Pr sentationsmodells m ssen diese Events ab gefangen und entsprechend verarbeitet werden state machine sm player amp sm player J inc_volume Player inc_volume aussen dec volume Player dec_volume T previous Player previous next Player next a activity ac player E ac player N N start welcome play Player play stop Player stop Player stopped pause Player pause play dialog sm player playing paused do AC playing Play Player pause J a Aktivit tsdiagramm MP3 Player b Zustandsdiagramm MP3 Player Abbildung 4 9 Links das Aktivit tsdiagramm des MP3 Players rechts das Zu standsdiagramm der Aktion play dialog 2Meilir Page Jones beschreibt dies im Detail 145 86 Modellieren von Interaktionsanwendungen mit UML Das Beispiel des MP3 Players soll zur Verdeutlichung des Mappings dienen In Abbildung 4 9a und 4 9b sieht man noch einmal sein Aktivit ts und Zustandsdia gramm Wird der Player gestartet so wird die Aktion welcome betreten Diese l st einen Event an das Pr sentationsmodell aus und kann dort z B eine Be gr ungsnachricht ausgeben Mit dem Betreten der Aktion play dialog wird ebenfalls e
126. erschiedene Diagrammarten F r diese Arbeit sind davon nur eine Auswahl relevant Klassen Aktivit ts Use Case und Sequenzdiagramme Die folgenden Abschnitte sind nach diesen Diagrammarten gegliedert Sie zeigen welche Dia gramme f r ein Modell zum Einsatz kommen und stellen die wichtigsten Ele mente vor Zur Illustration werden die beiden Fallbeispiele aus dem Grundlagen kapitel verwendet lVerkehrssprache weit verbreitete Sprache 71 72 Modellieren von Interaktionsanwendungen mit UML Abbildung 4 1 zeigt die Zusammenh nge zwischen den verschiedenen Diagram men Use Case Diagramme werden eingesetzt um Aktivit tsdiagramme zu struk turieren Aktivit tsdiagramme beschreiben den Ablauf von Tasks und verwen den Zustandsdiagramme um einzelne Aktionen detailliert zu beschreiben Ein Zustandsdiagramm kann zur Beschreibung eines Verhaltens wiederum ein Akti vit tsdiagramm verwenden Beide Aktivit ts und Zustandsdiagramme setzen Klassendiagramme ein um auf Dom nenobjekte zuzugreifen Struktur strukturiert Aufgaben Use Case Diagramm Aktivit tsdiagramm Zustandsdiagramm Abbildung 4 1 Zusammenhang zwischen den eingesetzten UML Diagrammen Zum Ende des Kapitels wird auf die Modelle eingegangen die von UML nicht direkt unterst tzt werden Es werden Ans tze gezeigt mit denen insbesonde re das Pr sentationsmodell realisiert werden kann Dazu wird auf den Kontext einer Anwendung eingegangen also auf die Ben
127. ersetzung in andere Sprachen beh lt sich der Autor vor 1 Auflage 2010 Inhaltsverzeichnis Inhaltsverzeichnis Abbildungsverzeichnis 1 Einleitung 1 1 Problemstellung e 1 2 Ziel cea Karner ee De a ee 1 3 Aufbau der Arbeit sss 0 cee te ns 2 Grundlagen St Interaktion si dred ae Barth 2A Dialoge 2 cane wk en Bed Bape 2 1 2 Antropozentrischer Interaktionszyklus 2 1 3 Systemzentrischer Interaktionszyklus 2 1 4 Inhalt LogikkundForm 2 2 Modalit ten n 22 2 ee eA wa een 2 2 1 Sinnesmodalit ten 2 2 2 Modalit t als Repr sentation von Information 2 2 3 Multimodalit t 2 2 4 CARE Eigenschaften 2 2 5 Wichtige Modalit tskategorien Grafische Benutzerschnittstellen GUIs Sprachbedienschnittstellen 2 22222220 Tangible User Interfaces TUIs Weitere Modalit ten 2 3 Modelle zae arei 4a 2 3 5 aan re we awe ra a 2 4 Fallbeispiele sa i una een ae wel ee 2 4 1 Getr nkeautomat 2 22mm 24 2 MP3 Player 2 gieren E e EE Mie ARE Ban 2 5 E EE Rr a Dar Ave 3 Klassifikation bestehender Ans tze iii iv Inhaltsverzeichnis 3 1 Modellarten und Mapping Problem 3 1 1 Arten von Modellen 3 1 2 Mapping Problem 2 2 2 2 22 nme 3 1 3 Arten von Mappings und Problemen 3 2 Ans tze zur Klassifikation 3 2 1 Anforderungen 3 2 2 Fr he Aufgl
128. es Anliegen der Arbeit solche Interaktions abl ufe beschreiben zu k nnen Zur Klassifikation muss auch die Abdeckung von Modellen ber cksichtigt werden siehe Abschnitt 3 1 1 Ein interaktives System besteht aus der Kombination von Inhalt Form sowie der Beschreibung des Verhaltens eines Systems durch Anwendungslogik und In teraktionslogik Darum ist es wichtig die Mappings zwischen den verschiedenen Modellen mit zu betrachten Schlie lich ist auch die M chtigkeit der Notation zu bewerten Bietet sie bei spielsweise Konstrukte um alles N tige zu beschreiben und sind Abk rzungen f r umst ndliche Schreibweisen vorhanden 3 2 1 Anforderungen Zun chst wird mit den allgemeinen Anforderungen die erf llt werden sollen begonnen Abowd et al beschrieben bereits 1989 eine Reihe von Anforderungen 2 und andere Autoren wie Weld et al befassten sich mit Themen wie Persona lisierung 205 Die Anforderungen werden hier gesammelt dargestellt Internationalisierung Eine Benutzerschnittstelle soll sich an verschiedene Spra chen und Kulturen anpassen lassen Texte sollen in Landessprache vorliegen Ma einheiten Datum Uhrzeit und viele weitere Elemente sollen in der Kon vention eines vorgegebenen Landes ausgegeben werden Eine Notation sollte Internationalisierung unterst tzen oder zumindest nicht einschr nken Personalisierbarkeit Eine Benutzerschnittstelle soll an die Bed rfnisse der En danwender angepasst werden k nnen
129. ese breite Unterst tzung bieten zu k nnen erm glicht UsiXML auf ver schiedenen Abstraktionsstufen zu modellieren und anschlie end Transformatio 3 5 Abstrakte Modelle fiir Interaktion 57 nen in andere Stufen vorzunehmen Es werden alle Modelle aus dem Klassi fikationsframework abztiglich des Dialog und Evaluationsmodells unterstiitzt Zus tzlich werden Modelle f r Mappings Transformationen und Ressourcen ein gef hrt Die Modelle werden der Reihe nach kurz erl utert Das Taskmodell entspricht dem Aufgabenmodell aus dem Klassifikationsframe work Es basiert auf ConcurTaskTrees die um Benutzerstereotypen angereichert sind So lassen sich Tasks f r verschiedene Stereotypen gruppieren Im Dom nenmodell lassen sich Klassen mit Attributen und Methoden beschrei ben Zus tzlich sind Relationen wie Aggregation und Generalisierung m glich Das Pr sentationsmodell ist entsprechend dem Cameleon Framework in ein Ab stract User Interface AUI und Concrete User Interface CUI unterteilt Das AUI definiert schachtelbare Container zur Gruppierung von Elementen sowie Eingabe und Ausgabeelemente Das CUI enth lt spezifische Elemente f r drei Modalit tskategorien F r GUIs sind Elemente wie Fenster Dialogboxen Radio buttons oder Fortschrittsbalken vorhanden F r Sprache stehen Ein und Aus gabeelemente zur Verf gung Dar ber hinaus sind Elemente f r 3D Interaktion vorhanden wie Buttons Schieberegler B ume und Text
130. ew hlten Button wie dieser mit ei nem Event verkn pft wird 4 6 Fazit In diesem Kapitel wurde beschrieben wie mit UML Interaktionsanwendungen modelliert werden k nnen F r das Dom nenmodell wurde der Einsatz von Klas sen beschrieben Es wurde ein Verfahren vorgestellt bei dem Aktivit tsdiagram me die grobe Strukturierung bernehmen und Zustandsdiagramme f r direct manipulation oder zustandsbehaftete Situationen eingesetzt werden Zus tzlich wurden Use Case Diagramme vorgestellt und kurz ber den Einsatz von Paket Komponenten und Sequenzdiagrammen berichtet 4 6 Fazit 89 File Edit View Projects Help SRSEIE EEN SINE lt search widgets gt U2 With or without you v Toplevels Crowded House Weather with you Ee SR71 Right now d gt play dialog Down gt EI vbox1 E ses hbuttonbox1 v M hbox2 image1 E inc_volume a4 Previous gt Play Pause H m ow E Window Properties Gtkwindow play dialog m B General Packing common Signals amp Ceol l E it t a Control and Dis lt H De cB 1 L ei a e E ay d B a O gt E E Den gt BOA Ao E gt Composite Wid gt Tree Model gt Text Buffers gt Miscellaneous gt Specialized W
131. g an ein System per Sprache oder Knopfdruck bermittelt wird Ein interessanter Aspekt dabei ist dass der Dialogteilnehmer ein Ziel mit dem Dialog verfolgt Ein Dialog ohne Ziel ist zwar m glich aber bedeutungslos In der Praxis sind selbst Dialoge wie z B das Gespr ch ber das Wetter von Zielen der Dialogteilnehmer bestimmt 14 In interaktiven Systemen dienen Dialoge zur Erf llung bestimmter Aufgaben Ein Dialog ist z B eine Sicherheitsabfrage vor dem L schen von Dateien oder ein For mular Ein berweisungsformular lie e sich beispielsweise in winzige Teildialoge aufteilen bei denen separat Name Bankleitzahl usw abgefragt werden Dies ist jedoch meist nicht sinnvoll weshalb in der Definition auch nicht die kleinste Menge von Interaktionen gefordert wird Grundlagen Interaktion innerhalb eines Dialogs erfolgt durch Elemente mit denen ein Be nutzer Ein und Ausgaben durchfiihren kann Definition 3 Interaktionselement Ein Interaktionselement ist ein Element durch das Interaktion erfolgt Es kann ein Eingabe oder ein Ausgabeelement sein Beispiele sind Texteingabefelder Buttons Sprachkommandos und Gegenst nde die in einem Tangible User Interface TUI benutzt werden Schlie lich gilt es noch zu definieren wie ein Benutzer mit einem System intera gieren kann Dazu dient die Benutzerschnittstelle Die Benutzerschnittstelle wird in dieser Arbeit nach der Norm ISO 9241 110 verstanden Alle Bestandteile eines
132. ge schlossene Aufgaben repr sentieren eignet sich ein Mapping zu Pr sentations elementen die einen kompletten Teildialog beschreiben Dies k nnen z B einfa che Eingaben sein die in sich eine abgeschlossene Aufgabe bilden Ein anderes Beispiel sind Ausgaben mit denen eine Anwendung ihren Benutzer informiert Bei Zustandsdiagrammen k nnen ebenfalls der Name bzw die ID eines Zustands f r ein Mapping verwendet werden Dar ber hinaus sind die Trigger an den Tran sitionen die wichtigsten Elemente Sie entsprechen Interaktionen des Benutzers und werden mit den passenden Interaktionselementen verbunden Dabei sind 4 5 Prasentationsmodell 85 auch die Actions die durch Trigger ausgel st werden k nnen zu ber cksichti gen Sie d rfen Signale senden die auch zur Kommunikation mit dem Benutzer genutzt werden k nnen Die Menge der betroffenen Elemente aus den abstrakten Interaktionsmodellen ist also berschaubar Es stellt sich noch die Frage wie ein Mapping umgesetzt wird und welche Elemente in einem Pr sentationsmodell betroffen sind Am einfachsten lassen sich die Elemente der Interaktionsmodelle mit der Pr sentation verbinden in dem ein model linking ber die Namen der Signale Zu st nde Aktionen und Ausgabeereignisse vorgenommen wird Eine Verbindung ber den Namen allein stellt eine Verbindung dar die mit moderatem Aufwand pflegbar ist Eine solche Verbindung l sst sich durch den Einsatz von Events realisi
133. gten Klassen verwendet Entsprechend der vorhandenen Ein und Ausgabeger te werden Ob jekte f r die einzelnen Modalit ten angelegt 6 1 1 Parsen von UML Diagrammen Zum Austausch von UML Diagrammen wurde 2003 von der Object Management Group das eXtensible Markup Language Metadata Interchange XMI Format ein gef hrt 139 Bei XMI handelt es sich um ein offenes XML basiertes Austausch format in dem ein Diagramm in seiner logischen Form und zus tzlich eine Be schreibung der Positionen aller Diagrammelemente f r die grafische Repr senta tion abgelegt wird 108 Realisierung eines Software Frameworks UML Diagramme lassen sich zwar von Hand zeichnen XMI Dateien werden je doch meist mit Werkzeugen erstellt Es exisitiert eine sehr gro e Menge an Werk zeugen Jeckle stellte bereits 2004 eine Liste von ber 100 UML Tools zur Bear beitung von Diagrammen zusammen 84 F r diese Arbeit wurde das Programm MagicDraw ausgew hlt 129 da es alle Diagrammarten von UML auch in der Sprachversion 2 2 unterst tzt Alle Elemente der UML werden durch die Meta Object Facility MOF spezifiziert 141 Die MOF beschreibt dabei jedes der Elemente durch eigene Klassen Es besteht somit die M glichkeit nur die MOF Elemente zu nutzen und einen sehr allgemeinen Parser zu erstellen welcher sich an unterschiedliche Versionen der UML durch Auswerten des jeweiligen Meta Modells anpassen kann Da in den letzten Versionen lediglich Details
134. he Oberfl che f r alte Anwendungen ohne eine solche bieten Die Ans tze werden nach den Anforderungen die in diesem Kapitel gesammelt wurden bewertet Zus tzlich werden sie mit dem entwickelten Klassifikations framework auf die Abdeckung an Modellen und Mappings hin untersucht Nach der Bewertung der verschiedenen Ans tze werden noch spezialisierte Mo delle und Sprachen f r die brigen Modelle des Klassifikationsframeworks vorge stellt Diese Sprachen und Modelle vereinfachen die Umsetzung von Systemen Es finden sich Modelle zur Beschreibung von Benutzereigenschaften von Ger ten und von einzelnen Modalit ten 3 4 Ans tze zur Beschreibung von Dialogen und Oberfl chen Die erste Kategorie von Ans tzen beschreibt Dialoge Oberfl chen und deren Ver halten Sie besteht aus fr hen etablierten Ans tzen Zum Teil wurden sie f r an dere Zwecke entwickelt lie en sich dann jedoch auch auf Benutzerschnittstellen bertragen Es werden drei Gruppen von Notationen vorgestellt Grammatiken Ereignissprachen und die mit ihnen verwandten Produktionssysteme sowie Zu standsdiagramme Aus jeder Gruppe wird ein Repr sentant mit einem Beispiel ausf hrlicher illustriert 3 4 1 Grammatiken Grammatiken wurden zur Spezifikation von GUIs verwendet Reisner verwen det in seiner Arbeit von 1981 die Backus Naur Form BNF um einen Dialog zu beschreiben 164 BNF dient meist als formale Notation zur Spezifikation von Programmiersprachen D
135. i gt Gtk Obsolete l Abbildung 4 10 Glade User Interface Designer rechts im Kontextmen die Ver kn pfung eines Buttons mit einem Event Der vorgestellte Ansatz enth lt weiterhin die M glichkeit zur hierarchischen Mo dellierung er bietet jedoch eine Reihe von zus tzlichen UML spezifischen Ele menten Eine hierarchische Aufgabenanalyse wie bei den ConcurTaskTrees bleibt damit weiterhin m glich Aufgaben und Dialogmodell sind durch die Kopplung der Diagramme in UML st rker als bisher miteinander verbunden Ein beson derer Vorteil des Ansatzes ist dass die UML eine weit verbreitete Sprache ist Eine Ableitung von Pr sentationsmodellen ist m glich und wie Abschnitt 4 5 1 zeigt sind nur wenige Elemente f r Mappings zu betrachten Es gen gt aller dings nicht lediglich das Mapping ber die Namen der Elemente zwischen den Modellen herzustellen Auch die zu Grunde liegende Architektur muss diesen Ansatz unterst tzen und die Verteilung der Events vornehmen Das Mapping Problem kann durch keinen Ansatz vermieden werden Es lassen sich jedoch f r die gesamte UML vorhandene Mappings einsetzen Dies reduziert den Aufwand Mappings zu erstellen und zu pflegen erheblich 90 Modellieren von Interaktionsanwendungen mit UML Auf das Evaluationsmodell wurde in diesem Kapitel nicht eingegangen Evalua tionsmodelle lassen sich jedoch unabh ngig zum hier vorgestellten Verfahren einsetzen Die i
136. ialNode MergeNode DecisionNode Abbildung 6 5 Die eingesetzten Modellelemente f r Aktivit tsdiagramme nach 142 Actions k nnen komplex aufgebaut sein und andere Elemente enthalten In die sem Fall spricht man von einer StructuredActivityNode In der Realisierung wird gespeichert welche anderen Elemente eines Diagramms zu einer StructuredAc tivityNode geh ren Au er den Elementen f r Aktionen m ssen auch alle zugeh rigen berg nge ge speichert werden F r jeden Ubergang wird ein Objekt der Klasse Edge angelegt welches die ID der Quelle und des Ziels speichert Dies ist notwendig da auf eine Edge nur von ihrem Quell Node aus zugegriffen werden kann Die InterruptibleActivityRegions unterbrechbarer Aktivit tsbereich werden hn lich wie StructuredActivityNodes mit Hilfe von Gruppen modelliert Jede Regi on beinhaltet Aktivit tsknoten und kanten und kann durch eine Edge mit dem Attribut interrupts unterbrochen werden wobei die enthaltenen Nodes der Region terminiert werden 6 2 Ausf hren von UML 117 Input current node id stack 1 current edges edges current node id 2 current edges current edges mit guard true Edges betrachten 3 foreach edge current edges do 4 node nodes edge target 5 if edge interrupts then stack exit edge source edge target 6 if node type CallBehaviorAction then
137. iates New Jersey 1983 29 Carp Stuart K MACKINLAY Jock D ROBERTSON George G The design space of input devices In Proceedings of the SIGCHI conference on Human factors in computing systems Empowering people 117 124 1990 30 CARD Stuart K MACKINLAY Jock D ROBERTSON George G A morpho logical analysis of the design space of input devices In ACM Transactions on Information Systems 99 122 ACM ACM Press 1991 31 CARD Stuart K MORAN Thomas User technology from pointing to pondering In Proceedings of the ACM Conference on The history of personal workstations 183 198 ACM ACM Press 1986 32 CARTER Scott HURST Amy MANKOFF Jennifer LI Jack Dynamically adapting GUIs to diverse input devices In Assets 06 Proceedings of the 8th international ACM SIGACCESS conference on Computers and accessibi lity 63 70 ACM New York NY USA ISBN 1 59593 290 9 2006 33 CASCHERA Maria Chiara FERRI Fernando GRIFONI Patrizia Ambiguity detection in multimodal systems In AVI 08 Proceedings of the working conference on Advanced visual interfaces 331 334 ACM New York NY USA ISBN 0 978 60558 141 5 2008 140 Literaturverzeichnis 34 35 36 37 38 39 40 41 42 43 44 CLERCKX Tim LUYTEN Kris CONINX Karin The mapping problem back and forth customizing dynamic models while preserving consistency In TAMODIA 04 Proceedings of the 3
138. ichtert werden soll TERESA verlangt ein Top down Vorgehen Aus einer m glichst hohen Abstrak tionsstufe werden durch die Transformationsschritte die konkreteren Benutzer schnittstellen erzeugt Dabei werden verschiedene Plattformen unterst tzt denn TERESA erzeugt prim r Oberfl chen f r das Web Standardm ig erzeugt es die allgemeine Spezifikation als XHTML Code im letzten Transformationsschritt kann f r Pocket PC oder Mobiltelefone transformiert werden Zus tzlich existiert eine Unterst tzung von VoiceXML um den Ansatz multimodaler zu gestalten Die Entwickler gingen davon aus dass es weder m glich noch w nschenswert ist alle Arten von Interaktionselementen f r alle Plattformen anzubieten So wird ein Mobiltelefon nicht Drag and Drop unterst tzen und eine Webseite in der Regel keine Spracheingabe anbieten Mittlerweile widerlegen das iPhone und barrierefreie Webseiten diese Pr misse Bei der Transformation werden Tasks automatisch nach Heuristiken gruppiert Auch bei den weiteren Schritten vom Dialog zum Pr sentationsmodell lassen sich Heuristiken f r die Zielplattformen anwenden oder z B durch einen Gestalter die Transformationen anpassen in dem Gruppierung oder Stil Farben Schriftschnitte ge ndert werden k nnen ConcurTaskTrees sind eine m chtige und zugleich einfach anwendbare Notati on zur Beschreibung von Aufgabenmodellen Durch die zur Verf gung stehen den Transformationen in der Entwicklungsumgebung TER
139. ie bisherige Pr sentationskomponente wird in eine Presentation Component und in eine Interaction Toolkit Component aufgeteilt Die Presentation Component ist eine Adapterkomponente die Toolkit unabh ngig arbeitet Die Interaction Toolkit Component realisiert die Benutzer schnittstelle Die Schnittstelle zur Anwendung wurde um die Domain Adaptor Component erweitert Bei ihr handelt es sich um eine Vermittlungskomponente die vom Benutzer ben tigte Funktionalit t bereitstellt welche nicht direkt vom System angeboten wird Dies k nnen z B Kombinationen von mehreren Metho den des Systems oder zus tzlich implementierte Methoden sein Die Domain Specific Component enth lt die Dom nen Objekte und damit die Anwendung Zwischen den verschiedenen Komponenten wird durch unterschiedliche Objekte kommuniziert die an den Pfeilen annotiert sind 5 1 Ans tze f r Architekturen Dialogue Doma Component Objects Domain Adaptor Component Domain Objects Domain Specific Component 95 Presentation Objects Presentation Component Interaction Objects Interaction Toolkit lt gt Component Abbildung 5 2 Das Arch Modell nach 12 Abbildung 5 3 zeigt das Slinky Metamodell Es zeigt dass die einzelnen Kom ponenten des Arch Modells in unterschiedlicher Komplexitat realisiert werden k nnen Dialogue Abbildung 5 3 Das Slinky Metamodell nach 12 wool yorjoeseyul Das Arch Slinky
140. iederung nach Abowdetal 3 2 3 Cameleon Framework 324 JE A Se Ae ee dele een 3 3 Models and Mappings Klassifikationsframework 3 4 Ans tze zur Beschreibung von Dialogen und Oberfl chen 3 4 1 Grammatiken 3 4 2 Ereignissprachen und Produktionssysteme 3 4 3 Zustandsdiagramme 3 44 E 2 8 a al en ne ZO te 3 3 5 Abstrakte Modelle f r Interaktion 3 5 1 ConcurTaskTrees 2 2 2 222 n nennen 3 5 2 USer Interface eXtensible Markup Language UsiXML 3 5 3 Unified Modeling Language UML 3 6 Modelle f r Kontext Evaluation und einzelne Modalit ten 3 6 1 Beschreibung von Benutzereigenschaften 3 6 2 Ger temodell 3 6 3 Umgebungsmodell 3 6 4 Modelle zur Evaluation e 3 6 5 Notationen f r einzelne Modalit ten 3 7 Bewertung 22a ei ren Modellieren von Interaktionsanwendungen mit UML 4 1 Dom nenmodell 4 1 1 Klassendiagramm 2 2005 gh Buet 22 Area Ze Meee ew bon By Pi Ane 4 2 Aufeabenmodell 2 0 0 0 2 bee 4 2 1 Use Case Diagramme 2 2 2 onen 4 2 2 Aktivit tsdiagramme 4 2 3 Einsatz o ate a ee een 4 3 Dialogmodell eaei bo 302 Ga PR paw Senn 4 3 1 Zustandsdiagramme e 4 3 2 Einsatz ge ices san an an Ba Pv es ed ele ee Ae Sd 4 4 Erg nzende Diagramme 2 2 none 4 5 Pr sentationsmodell 2 2 222mm nennen 4 5 1 Mapping zwischen Aufgaben Dialog und Pr sentations Mo
141. ieren gen gt es concrete user interfaces CUIs zu schaffen wie in Abschnitt 4 5 fest gestellt wurde F r jede Modalit t ist dabei ein eigenes CUI zu erstellen Die Ableitung eines Modells aus anderen Modellen entspricht dem Mapping mo del derivation Jedes CUI ist von den Kontextmodellen abh ngig In ein CUI flie en Informationen aus Benutzer Umgebungs und Ger temodell ein Es ist not wendig Regeln f r die Ableitung aufzustellen die die verschiedenen Modelle als Ausgangspunkt verwenden Eine Reihe von Attributen der Kontextmodelle ist statisch andere Attribute ndern sich zur Laufzeit Statische Attribute sind z B der Name des Benutzers oder die Aufl sung des verwendeten Ger ts Dynami sche Attribute sind dagegen Lautst rke Helligkeit oder die Aufmerksamkeit des Benutzers in seiner Umgebung Zur Erstellung von Regeln f r Transformationen existieren diverse Arbeiten Stol ze et al stellten in ihrer Arbeit fest dass der Einsatz von Modellen zur Erstellung von Benutzerschnittstellen die Entwicklung deutlich beschleunigt 184 Arbei ten zu Transformationen gibt es schon seit einiger Zeit Wiecha und Boies stellten 4 5 Prasentationsmodell 87 1990 einen solchen Ansatz vor der zus tzlich Stilinformationen ber cksichtigte 206 Ein neuerer Ansatz stammt von da Silva et al die Regeln f r die automa tische Generierung von GUIs einsetzten 179 Die Regeln zur Transformation der Interaktionsmodelle ben tige
142. ig auf ihrem Gebiet Es gibt eine gro e Anzahl an solchen Beschrei bungssprachen deren Aufz hlung nicht zielf hrend ist deshalb werden nur we nige vorgestellt Diese werden aus den drei gro en Modalit tskategorien GUIs Sprache und TUIs herausgegriffen Insgesamt haben Notationen f r einzelne Modalit ten eine l ngere Geschichte Angefangen bei Toolkits die zur Vereinfachung der Programmierung von GUIs entstanden sind entwickelten sich eigenst ndige Notationen Ein fr hes Beispiel ist UIL die Motif User Interface Language eine Sprache die GUIs f r Motif be Motif entstand um 1989 und wird weiterhin gepflegt Die letzte Version 2 3 2 stammt vom 12 6 2009 3 7 Bewertung 67 schreibt Sie war weit verbreitet und wurde auch von g ngigen Werkzeugen un terst tzt 51 Tk ist dagegen ein um 1989 entstandenes plattform bergreifendes Toolkit das auch ber Anbindungen zu einer ganzen Reihe von Programmier sprachen verf gt Vor allem durch seine fr he Verf gbarkeit und die Anbindung an Skriptsprachen fand Tk schnelle Verbreitung 197 Seit den 1990ern wurden verschiedene neue Notationen f r GUIs entwickelt Zur abstrakten Beschreibung von GUIs wurden z B die User Action Annotation UAN von Hartson vorgestellt die Interaktionen durch Maus und Tastatur als Eingabeoperationen beschreibt 61 Constantine et al stellten 2002 die Canonical Abstract Prototypes CAP vor eine Notation die GUIs auf dem Pr sentat
143. igger wird erzeugt wenn ein bestimmtes Signal anliegt F r ein Zustands diagramm das das interne Verhalten eines Systems beschreibt benutzt man vor allem diesen Triggertyp Jedes Mal wenn sich der Wert einer Variablen ndert wird der Guard neu gepr ft Sollte sich sein Wert auf wahr ndern wird ein ChangeTrigger erzeugt der als Ausl ser der Transition dient Ein ChangeTrigger ist immer auch implizit gegeben wenn ein Guard ohne Trigger verwendet wird TimeTrigger werden nach Ablauf einer Zeitspanne ab Betreten des Quellzustands oder zu einem fest gegebenen Zeitpunkt erzeugt Zustandsdiagramme bieten noch eine Reihe weiterer Elemente wie die Historie history auf die an dieser Stelle nicht weiter eingegangen wird 4 3 2 Einsatz In dieser Arbeit werden Zustandsdiagramme dazu eingesetzt das Verhalten in nerhalb von Aktionen aus Aktivit tsdiagrammen genauer zu beschreiben sofern dies notwenig ist Wann welches Diagramm eingesetzt wird ist eine Design Entscheidung Falls sich eine Interaktion mit Zust nden besser beschreiben l sst 80 Modellieren von Interaktionsanwendungen mit UML state machine sm playerf 5 sm player inc_volume Player inc_volume aussen dec volume Player dec_volume previous Player previous next Player next stop Player stop play Player play stopped p Player stop pause Player pause a do AC playing play Player paus A
144. igsten Sprachkategorien bewertet Eine hnliche Entwicklung ist bei Modalit ten zu beobachten Die berwiegende Mehrheit an Benutzerschnittstellen machen nach wie vor GUIs aus Im Lauf der Zeit haben sich aber weitere neue Modalit ten wie etwa Sprache oder Tangible Einleitung User Interfaces etabliert Aufgrund der Menge an Mischformen ist es unm g lich geworden alle Modalit ten detailliert zu betrachten deshalb werden einige exemplarisch herausgegriffen Zur Realisierung wird auf bestehende Ans tze zu r ckgegriffen sofern dies m glich und angebracht ist Der Schwerpunkt dieser Arbeit liegt auf dem Einsatz von Modellen zur Beschrei bung von Interaktionsanwendungen Das Thema der Generierung von Benutzer schnittstellen aus Modellen wird nur angerissen Stattdessen wird eine Interpre tation der Interaktionsmodelle bevorzugt Durch diese Arbeit sollen multimodale Benutzerschnittstellen erm glicht wer den deren Verhalten durch abstrakte Interaktionsmodelle beschrieben wird Be nutzerschnittstellen werden durch die Trennung der Repr sentation ihrer Inhal te Oberfl chen Sprache etc von der Interaktionslogik einfacher zu erstellen sein 1 3 Aufbau der Arbeit Zu Beginn der Arbeit werden in Kapitel 2 Grundlagen die wichtigsten Begriffe dieser Arbeit vorgestellt und definiert Nach der Behandlung von Interaktion Modalit ten und Modellen werden zwei Fallbeispiele vorgestellt die im Lauf der Arbeit zur Illustrat
145. in Benutzer mit Anwendungen interagiert Bei kleinen Ger ten erfolgt die Interaktion ber eine Tastatur mit nur wenigen Tasten einen Stift oder durch Ber hren des Displays Einige Ger te bieten parallel dazu eine Sprachsteuerung Einleitung die z B bei Mobiltelefonen verbreitet ist Weitere M glichkeiten der Interaktion bieten sich bei Konsolenspielen bei denen die Gesten des Benutzers und gan ze K rperbewegungen von den Ger ten erkannt werden an Auch Tangible User Interfaces TUIs Systeme bei denen der Benutzer Alltagsgegenst nde manipu liert um dadurch Daten zu ver ndern werden zunehmend erforscht Benutzer bevorzugen in dieser zunehmenden Vielfalt an Interaktionsm glichkei ten solche Ger te und Systeme die sie ihren Pr ferenzen entsprechend unter st tzen Mischformen sind je nach Umgebung und Anwendungszweck dement sprechend erw nscht Weiter ist es interessant Anwendungen nicht auf ein Ger t festzulegen sondern vorhandene Interaktionsm glichkeiten von anderen Ger ten mitzubenutzen Systeme die durch verschiedene Ger te den Zugang zu In formationen oder Diensten erm glichen und dabei verschiedene Benutzerschnitt stellen gleichzeitig bieten werden Multiple User Interfaces MUIs genannt Alle verwendbaren Ger te m ssen dabei koordiniert werden 173 da sich die Be nutzerschnittstelle sonst unvorhersehbar verhalten w rde Diese Vielfalt stellt eine gro e Herausforderung f r die Anwendungsentwicklu
146. in Event ausgesendet Nimmt man eine GUI als Modalit t an wird bei dieser ein Fenster mit dem gleichen Namen angezeigt das die Bedienele mente f r die Anwendung enth lt Durch das Betreten des Zustandsdiagramms und seiner Unterzust nde werden weitere Events an das Pr sentationsmodell gesendet Diese k nnen in diesem Beispiel ignoriert werden da sie keine neuen Informationen f r den Benutzer liefern Bet tigt der Benutzer eine Schaltfl che um Musik abzuspielen so l st diese das Ereignis play aus das als Trigger im Zu stands bergang die Transition zu playing aktiviert Dabei wird die Operation play ausgef hrt welche die Wiedergabe der Musik startet Damit das Mapping zwischen den Modellen zuverl ssig funktioniert muss si chergestellt werden dass f r alle relevanten Events bei allen beteiligten Model len Vorkehrungen zur Bearbeitung getroffen worden sind Au erdem m ssen die verwendeten Namen eindeutig sein Wie ein Verfahren zur automatischen Erzeugung eines solchen Mappings aussehen kann wird im n chsten Abschnitt beschrieben 4 5 2 Generierung von Benutzerschnittstellen Auch wenn es nicht das Ziel dieser Arbeit ist Verfahren zur Generierung von Benutzerschnittstellen zu untersuchen sondern die Modelle zu interpretieren lohnt es sich auf diese verwandte Thematik einzugehen Im Folgenden wird eine Skizze der notwendigen Techniken pr sentiert Um Benutzerschnittstellen innerhalb eines Pr sentationsmodells zu gener
147. ine sehr formale Notation kann die Analyse ei nes Dialogs erschweren da komplexe Parameter zu ber cksichtigen sind Sie ist aber wichtig um automatisch Benutzerschnittstellen zu erzeugen Spezifikation vs Ausf hrung Eine Notation die zur Spezifikation eines Mo dells geeignet ist kann f r die Ausf hrung des Modells ungeeignet sein 3 2 Ans tze zur Klassifikation 39 Ein Punkt der von keinem der genannten Autoren aufgef hrt wird ist die Ver breitung und damit indirekt die Akzeptanz einer Notation Wird eine Notation nur von einer kleinen Gruppe eingesetzt so bestehen gr ere H rden sie zu nutzen als wenn es sich um eine gebr uchliche Notation handelt Zusammenfassung der Eigenschaften F r diese Arbeit sind einige der aufgez hlten Figenschaften vernachl ssigbar Nicht jede Notation muss erweiterbar sein dies ist nur notwendig wenn die vorhandenen Elemente nicht f r alle Einsatzzwecke ausreichen Einige grund s tzliche Eigenschaften m ssen jedoch bei jeder zu bewertenden Notation vor handen sein Jede Notation verf gt ber M glichkeiten zur Strukturierung ihrer Elemente Redundanz ist in fast jeder Notation vorhanden und wird nur dann zu einem Problem falls sie berhand nimmt Die Notationen werden so ausge w hlt dass sie Internationalisierung und Personalisierbarkeit unterst tzen oder zumindest nicht einschr nken Weiter erfolgte bei der Auswahl der Notationen eine Beschr nkung auf plattformunabh ngig
148. ion eingesetzt werden Kapitel 3 Klassifikation bestehender Ans tze stellt das Problem der Verkn p fungen zwischen Modellen das Mapping Problem vor In einem eigens entwi ckelten Framework zur Klassifikation liegt ein Schwerpunkt der Arbeit Die Klas sifikation wird im selben Kapitel auf bestehende Ans tze angewandt um eine Modellierungssprache zu bestimmen Die folgenden Kapitel 4 Modellieren von Interaktionsanwendungen mit UML und 5 Architekturen f r multimodale Benutzerschnittstellen bilden den zwei ten Schwerpunkt der Arbeit Kapitel 4 beschreibt das Vorgehen bei der Model lierung von Interaktionsanwendungen Kapitel 5 erarbeitet eine Architektur mit der multimodale Benutzerschnittstellen realisiert werden k nnen In Kapitel 6 Realisierung wird das entwickelte Framework zur Realisierung der Architektur vorgestellt Der Einsatz wird an Fallbeispielen erl utert Ein Fazit der Arbeit zieht Kapitel 7 das auch die wissenschaftlichen Beitr ge sammelt Im Anhang findet sich eine bersicht ber die englischen Begriffe der Unified Modeling Language und deren deutschen Aquivalente Grundlagen Die Wahrheit und Einfachheit der Natur sind immer die letzten Grundlagen einer bedeutenden Kunst Paul Ernst Der Weg zur Form Bevor Verfahren zur Erstellung multimodaler Benutzerschnittstellen vorgestellt werden erfolgt eine Einordnung in das Feld der Mensch Maschine Interaktion MMI im englischen Huma
149. ions und Dialogmodell beschreibt 36 37 Einzelne Teildialoge konnten hier noch nicht miteinander verbunden werden Allerdings wird bereits eine grafische Notation benutzt Eine aktuelle Notation ist XUL XML User Interface Language die von Goodger et al entwickelt wurde 57 157 XUL setzt auf der Gecko Engine von Mozil la auf und erm glicht es mit jedem Mozilla basierten Webbrowser eine native Oberfl che zu erstellen Nat rlich existieren neben Notationen f r GUIs auch Notationen f r andere Mo dalit ten Im Sprachbereich ist VoiceXML weit verbreitet eine Markup Sprache des W3C f r Sprachdialoge die schon in der zweiten Version vorliegt 103 VoiceXML findet zus tzlich zu reinen Sprach bzw Telefonieanwendungen auch Einsatz in Kombination mit Webseiten durch den Standard XHTML Voice 10 F r Tangible User Interfaces entstehen erst Notationen Leland et al stellten 2004 in einem Konzeptpapier die Grundlagen f r TUIML vor eine Beschrei bungssprache f r TUIs TUIML hnelt den vorgestellten abstrakten Modellen denn sie verf gt ebenfalls ber ein Aufgaben Dom nen und Repr sentations modell Zus tzlich soll TUIML noch Elemente f r die zu manipulierenden Objek te und ihre Eigenschaften enthalten Diese Notation ist jedoch erst in der kon zeptionellen Phase 3 7 Bewertung Die in Abschnitt 3 4 vorgestellten Grammatiken Ereignissprachen Produktions regeln und Zustandsdiagramme sind zwar ausdrucksstarke Notati
150. ittstellen m glich wie Abbildung 3 2 illustriert Das neue Framework bleibt in diesem Punkt kompatibel da das Concrete User Interface und das Final User Interface beide im Pr sentationsmodell enthalten sind Es bleibt den Entwick lern berlassen innerhalb des Pr sentationsmodells die Granularit t zu w hlen So gen gen z B vielen Entwicklern Toolkits zur Umsetzung des Pr sentations modells diese entsprechen einer Modellierung auf Ebene eines CUIs Bei Bedarf bleibt es jederzeit m glich eine Reifikation im Pr sentationsmodell auf die Ebene von FUIs vorzunehmen Bewertung bisheriger Ans tze Im Rest dieses Kapitels werden bisherige Ans tze zur Modellierung von Inter aktionsanwendungen bewertet Diese lassen sich in mehrere Gruppen gliedern Eine fr he Unterteilung stammt von 1995 von Myers der eine Reihe weiterer Kategorien unterschied 119 46 Klassifikation bestehender Ans tze Die verschiedenen Ans tze zur Beschreibung von Benutzerschnittstellen werden in zwei Kategorien mit Untergruppen eingeteilt Die erste Kategorie sind An s tze die Dialoge und Oberfl chen bzw deren Verhalten beschreiben Hierzu geh ren Grammatiken Ereignissprachen Produktionsregeln und Zustandsdia gramme Die zweite Kategorie machen Ans tze aus die abstrakte Modelle ver wenden die wichtigsten Repr sentanten werden vorgestellt Einige weitere Ka tegorien sind f r diese Arbeit nicht relevant wie z B Screen Scraper die eine grafisc
151. ium on User interface software and technology 269 278 ACM New York NY USA ISBN 978 1 59593 679 2 2007 WORLD WIDE WEB CONSORTIUM Cascading Style Sheets http www w3 org TR CSS1 WORLD WIDE WEB CONSORTIUM XML Path Language XPath http www w3 org TR xpath 1999 WORLD WIDE WEB CONSORTIUM W3C Multimodal Interaction Frame work http www w3 org TR mmi framework http www w3 org TR mmi framework May 2003 WORLD WIDE WEB CONSORTIUM Document Object Model DOM Level 3 Core Specification http www w3 org TR DOM Level 3 Core April 2004 WORLD WIDE WEB CONSORTIUM RDF XML Syntax Specification Revi sed http www w3 org TR rdf syntax grammar February 2004 WORLD WIDE WEB CONSORTIUM Document Object Model DOM http www w3 org DOM January 2005 WORLD WIDE WEB CONSORTIUM Composite Capability Preference Pro files CC PP Structure and Vocabularies 2 0 http www w3 org TR CCPP struct vocab2 April 2007 WORLD WIDE WEB CONSORTIUM XForms 1 0 http www w3 org TR 2006 REC xforms 20060314 2007 ZIMMERMANN Gottfried VANDERHEIDEN Gregg GILMAN Al Prototype implementations for a universal remote console specification In Confe rence on Human Factors in Computing Systems 510 511 2002 Zusammenfassung Schl sselw rter Mensch Maschine Interaktion Aufgabenmodellierung inter aktive Systeme Benutzerschnittstellen modellbasierte Entwicklung User Inter face Management Syste
152. ks werden alle Unterklassen von ActivityNodes zu Objekten der eigenen Klasse Node zusammengefasst Da UML Elemente nicht in ihrer vollen Komplexit t unterst tzt werden m ssen sondern lediglich wenige Attribute wie ID Verhalten und Trigger f r die Interpretation ben tigt werden ist es zweckm ig eine Vereinfachung vorzunehmen und daf r das Attribut type einzuf hren Durch dieses Attribut kann die Art eines Nodes unterschieden werden Die Klassen der Realisierung wurden bereits in Abbildung 6 1 vorgestellt Eine Besonderheit stellen Input Pins dar da sie zur Darstellung von Objektfl s sen zwischen Actions ben tigt werden Alle bisherigen Verbindungen zwischen Elementen von Aktivit tsdiagrammen steuerten den Kontrollfluss Bei einem Ob jektfluss zwischen zwei Actions startet dieser am Output Pin einer Action und en det am Input Pin der referenzierten Action Input Pins beinhalten indirekt einen Kontrollfluss 116 Realisierung eines Software Frameworks package Data ES Activity Diagram Modelelementg ActivityGroup InterruptibleActivityRegion 0 1 i Hinterrlipts interruptibleRegion node containedNode 0 1 interruptingEdge a ae target incomin Activity o 4 ActivityNode H ActivityEdge 0 1 source outgoing 1 0 1 StructuredActivityNode Action ObjectNode ControlFlow ControlNode Pin Z ActivityFinalNode Init
153. ktionen in sich Ein Use Case ist z B beim Getr nkeautomat das Kaufen eines Getr nks Damit steht eine M glichkeit zur Verf gung komplexe Aufgaben in einem Use Case zusam menzufassen und Aufgaben miteinander zu verbinden Sequenzdiagramme zeigen wie verschiedene Elemente zur Laufzeit miteinander kommunizieren Sie beschreiben die Arten von Nachrichten die gesendet wer den k nnen wann dabei neue Objekte im Dom nenmodell erstellt werden oder wann ein Objekt zerst rt wird Damit eignen sie sich f r die Beschreibung der Abfolge von Interaktionen zwischen dem Benutzer dem System als Ganzem und seinen internen Objekten Zus tzlich werden Sequenzdiagramme oft zur Spezi fikation von Testf llen genutzt 85 88 Das Fallbeispiel des Getr nkeautomaten soll f r UML als Beispiel dienen Das Dom nenmodell wird in Abbildung 3 10a als einfache Klasse abgebildet Sie be sitzt unter anderem Methoden um das Guthaben des Benutzers beim Automat zu erh hen und das Geld zur ckzufordern Als Aufgabenmodell dient ein Aktivi t tsdiagramm welches in Abbildung 3 10b zu sehen ist Die beiden Zustandsdiagramme in Abbildung 3 11 und 3 12 beschreiben das Ver halten der Aktionen hello und select aus dem Aktivit tsdiagramm Im Aktivi 3 5 Abstrakte Modelle fiir Interaktion 61 state machine hellof Gi hello display toggle_irritation c10 addCredit 0 1 c20 addCredit 0 2 c50 addCredit 0 5 c100 addCredit 1
154. l 98 beschreiben drei Kategorien von Mappings 1 3 Sp ter wurden diese von Clerckx et al 34 um drei weitere Problempunkte erweitert 4 6 siehe hierzu auch Don Norman 131 36 Klassifikation bestehender Ans tze 1 Model derivation Ein vorher nicht spezifiziertes Modell wird aus den Ele menten und Relationen eines oder mehrerer bestehender Modelle abge leitet Die Parameter der Transformationsregeln m ssen dabei festgelegt werden Zum Beispiel ist es m glich ein Dialogmodell aus einem Aufga benmodell abzuleiten wenn gen gend Wissen ber die Art der Tasks vor handen ist 2 Model linking binding Die Elemente und Relationen eines oder meh rerer bestehender Modelle werden verarbeitet um Relationen zwischen Elementen festzustellen zu aktualisieren oder wieder herzustellen Dieser Mechanismus kann innerhalb eines Modells zur Bereinigung von Relatio nen verwendet werden Er kann genauso gut zwei miteinander verbundene Modelle synchron halten 3 Model composition Ein oder mehrere vorher spezifizierte Modelle wer den teilweise oder komplett vereinigt um daraus ein neues Modell zu erzeugen oder die urspr nglichen Modelle wieder abzuleiten wie beim Reverse Engineering Im zweiten Fall kann man auch von Model decom position sprechen 4 Partial model derivation Elemente oder Relationen eines Modells wer den aus einem anderen Modell abgeleitet So k nnen z B Transitionen zwischen Zust nden eines Dialogmo
155. l geschulter Anwender die Grammatiken erstellen 3 4 2 Ereignissprachen und Produktionssysteme Ereignissprachen und Produktionssysteme repr sentieren beide regelbasierte An s tze In solchen Systemen existiert eine Menge von Regeln die festlegen wie 48 Klassifikation bestehender Ans tze auf bestimmte Ereignisse Events reagiert werden soll Eine Regel kann meh rere neue Ereignisse ausl sen auf welche dann die selbe oder andere Regeln anwendbar sind Alle Regeln sind parallel aktiv eine Notwendigkeit die sich aus der Beschreibung von verteilten Prozessen und hnlichen Problemstellungen ergab Sowohl Ereignissprachen als auch Produktionssysteme lassen sich zur Be schreibung von Dialogmodellen einsetzen Der Unterschied zwischen ihnen be trifft ihre Einsatzgebiete so dass beide in diesem Abschnitt behandelt werden Die wichtigsten Repr sentanten sind Communicating Sequential Processes CSP und Production Rules die im Folgenden vorgestellt werden Communicating Sequential Processes wurden 1978 von Hoare vorgestellt 65 66 um sequentielle und parallele Prozesse beschreiben zu k nnen Die Nota tion wird seit geraumer Zeit auch zur Beschreibung von Benutzerschnittstellen eingesetzt Als Weiterentwicklungen existieren Specifying and Prototyping Inter action SPI von Heather Alexander 5 und Agents von Gregory Abowd 3 CSP legt mit wenigen Sprachelementen Regeln fest Eine Regel besteht aus zwei Seiten die durch ein
156. ledigen will genauer zu beschreiben Jede Aktion sollte dabei in sich abgeschlossen sein Die Verbindungen werden immer erst nach der Aus f hrung einer Aktion traversiert au er es erfolgt eine Unterbrechung 78 Modellieren von Interaktionsanwendungen mit UML Aktivit tsdiagramme beschreiben den grob strukturierten Ablauf der Interaktion zwischen Benutzer und System Will man direct manipulation 177 beschrei ben bei der sich die Ausgabe zeitgleich mit der Eingabe ndert so setzt man innerhalb einer Aktion ein Zustandsdiagramm ein Es muss mindestens ein definierter Startpunkt f r alle Diagramme existieren damit sie maschinell verwendbar sind Dazu wird im Aktivit tsdiagramm auf der obersten Modellierungsebene wenigstens ein Startknoten mit start bezeichnet Der bzw die Startknoten k nnen dann automatisch ausgewertet werden und die gesamte Anwendung steuern Falls eine Aktion durch ein weiteres Diagramm spezifiziert wird wird dieses ge startet sobald die Aktion betreten wird Das aufrufende Diagramm bleibt aktiv bis das eingebettete Diagramm abgearbeitet ist Falls in einem aufrufenden Dia gramm z B eine Unterbrechung stattfindet werden die betroffenen aufgerufe nen Diagramme ebenfalls abgebrochen Innerhalb von Aktionen lassen sich Operationen aus Klassendiagrammen ver wenden um Ausgaben vorzunehmen oder den internen Zustand des Systems zu ver ndern Die Objekte und ihre Attribute dienen damit als Variablen die du
157. lt die in der Arbeit immer wieder aufgegriffen werden um Ans tze zu veranschaulichen Die folgenden Kapitel verwenden die eingef hrten Begriffe insbesondere den Modalit tsbegriff In der Einleitung wurde in der Problemstellung aufgezeigt dass die Vielfalt an vorhandenen Modalit ten die Erstellung von multimodalen Anwendungen erschwert Durch den Einsatz geeigneter Modelle lassen sich Ver fahren des Model Driven Software Development anwenden welche die Erstell ung der multimodalen Anwendungen erleichtern Klassifikation bestehender Ans tze During the process of stepwise refinement a notation which is natural to the problem in hand should be used as long as possible Niklaus Wirth Nachdem im Kapitel Grundlagen die wichtigen Begriffe f r diese Arbeit gekl rt und das Problemfeld abgegrenzt wurde befasst sich dieses Kapitel mit dem Fin den einer geeigneten Notation um modellbasierte Interaktionsanwendungen zu erstellen Als Erstes werden hierf r die verschiedenen Arten von Modellen die bei Inter aktionsanwendungen zum Einsatz kommen untersucht Problematisch ist dabei die Verbindung zwischen verschiedenen Modellen F r diese Problemstellung hat sich der Begriff des Mapping Problems etabliert der anschlie end erl utert wird Damit Modelle als Basis f r Anwendungen verwendet werden k nnen m ssen sie in irgendeiner Form festgehalten werden Dies geschieht mit Hilfe von No tationen Um eine geeignete Notatio
158. m Bereich der automatischen Transformation von Modellen sollte nicht vergessen werden dass die Generierung ein komplexes Thema ist Caffiau et al beschrieben in ih rer Arbeit einige auftretende Probleme 22 Aufgabenmodelle sind weitgehend verschieden von Pr sentationsmodellen Die Inhalte eines Dialogs m ssen sich nicht genau mit einem Task decken Fin Task kann in mehrere Teildialoge aufge teilt werden oder mit einem anderen Task in einem Dialog kombiniert repr sen tiert werden Benutzerfehler werden in der Regel in Aufgabenmodellen ignoriert schlie lich ist die Auswahl der richtigen Interaktionselemente nicht trivial Die Wahl zwischen einem Dropdown Men und Feldern mit Radiobuttons in einer GUI kann nicht nur von der Displaygr e des Ausgabeger ts abh ngen Gajos et al erg nzten dass der Generierungsprozess zu vom Benutzer vorhersehbaren Ergebnissen f hren muss da sonst eine Verunsicherung des Benutzers bei der Bedienung eintreten kann 54 Nachdem die notwendigen Techniken zur Generierung von Benutzerschittstel len skizziert wurden und verschiedene Aspekte kritisch betrachtet wurden soll die zweite Variante das h ndische Erzeugen von Benutzerschnittstellen kurz beschrieben werden 88 Modellieren von Interaktionsanwendungen mit UML 4 5 3 Direktes Mapping zu Modalit ten Zur Demonstration des in diesem Kapitel vorgestellten Verfahrens gen gt ein Mapping das von Hand hergestellt wird Das Vorgehen besteht im
159. m model based software development can be applied to the problem An important aspect is to minimize the effort spent on mappings between the participating models User interfaces can be implemented in a simpler way if representation of content user interface language etc and interaction logic are separated In this thesis chapter 2 introduces important concepts interaction modalities and multimodality It also introduces basic concepts of model based software development and case studies Chapter 3 describes the mapping problem in detail The mapping problem con sists in the difficulty of establishing and maintaining links between different mo dels In order to classify existing approaches the Models and Mappings classifica tion framework is developed Existing notations are evaluated utilizing the clas sification framework by analysing which models are involved and capturing all mappings between models The framework is used to classify important repre sentatives of modeling languages An important result of this classification is the choice of Unified Modeling Language UML as the most suitable notation for domain and interaction modeling 159 160 Summary Chapter 4 describes in detail how interactive applications can be modeled with UML It also serves as a process description and demonstrates which UML dia gram is employed in which case Of the 14 UML diagrams four are employed class diagrams describe the domain mod
160. machine sm player Sr sm player J e inc_volume Player inc_volume aussen dec volume Player dec_volume activity ac player ki ac player start welcome Player play dialog pause Player pause sm player playing th do AC playing Play Player paus amp a Aktivit tsdiagramm MP3 Player b Zustandsdiagramm MP3 Player stop Player stop Abbildung 6 11 Links das Aktivit tsdiagramm des MP3 Players rechts das zu geh rige Zustandsdiagramm 6 2 6 Fusion und Fission In Abschnitt 5 3 wurden bereits verschiedene Ans tze f r Fusion und Fission vorgestellt In der Realisierung sind zwar weit komplexere Verfahren zur auto matischen Generierung von Benutzerschnittstellen m glich da diese jedoch au erhalb des Fokus dieser Arbeit liegen wurde ein Ansatz zur direkten Anbindung der Modalit ten gew hlt 6 3 Anwendung des Frameworks 127 Die Fusion der Eingaben l sst sich durch eine Vielzahl von Verfahren bew lti gen In dieser Arbeit wurde die Mapper Komponente so realisiert dass der Fu sionsmechanismus einfach austauschbar ist So k nnen in sp teren Arbeiten die Wirksamkeiten verschiedener Mechanismen miteinander verglichen werden 6 3 Anwendung des Frameworks Es ist ein Ziel der Arbeit eine einfache Verwendung der entwickelten Frame works zu erm glichen Die Klassen wurden in diesem Kapitel bereits weitgehend vorgestellt Das ers
161. me UIMS objektorientiertes Design multimodale Be nutzerschnittstellen Einordnung in das Computing Classification System 8 H 1 2 User Machine Systems H 5 2 User Interfaces D 2 Software Engineering D 2 2 Design Tools and Techniques D 2 11 Software Architectures 1 3 6 Interaction Techni ques Die Erstellung multimodaler Interaktionsanwendungen ist trotz vieler Fortschrit te in der Anwendungsentwicklung eine gro e Herausforderung Die Ursache liegt in der Vielzahl von vorhandenen Modalit ten die unterst tzt werden sol len F r jede Modalit t muss eine komplette Benutzerschnittstelle implementiert oder adaptiert werden Durch geeignete abstrakte Modelle f r die Interaktion zwischen Benutzer und Anwendung und ihre Anbindung an Modalit ten lassen sich Verfahren aus der modellbasierten Software Entwicklung auf das Problem anwenden Ein wichti ger Aspekt ist den Aufwand f r Mappings zwischen den beteiligten Modellen gering zu halten Benutzerschnittstellen sind durch die Trennung der Repr sen tation ihrer Inhalte Oberfl chen Sprache etc von Interaktionslogik einfacher zu erstellen In der Arbeit werden zuerst in Kapitel 2 Grundlagen die wichtigsten Begriffe definiert Interaktion Modalit t und Multimodalit t Weiter werden Grundbe griffe der modellbasierten Softwareentwicklung und Fallbeispiele eingef hrt Kapitel 3 Klassifikation bestehender Ans tze stellt das Mapping Problem de tailliert vor
162. men nutzen Ein PAC Agent modelliert den Inhalt eines Fensters ein bergeordneter Agent die Bildlaufleisten Ein weiterer Agent der nur aus einer Control Komponente besteht steuert das gesamte Fenster Abbildung 5 5 illus triert dieses Beispiel P Presentation A Abstraction Fensterinhalt Bildlaufleisten C Control Abbildung 5 5 PAC Agenten in hierarchischer Anordnung Die Agenten be schreiben die Teile eines Fensters Der oberste Agent steuert das Fenster und besitzt weder Abstraction noch Presentation 5 1 5 Kombination der Ans tze zum multimodalen Arch mArch Modell Werden MVC oder PAC allein eingesetzt so erfolgt die Steuerung der Interaktion noch nicht durch ein Dialogmodell wie es das Arch Slinky Konzept erm glicht Die Modelle von MVC und PAC dienen rein der Abstraktion von Anwendungsda ten die dem Benutzer kommuniziert werden sollen Ihr Vorteil ist dass sie durch mehrere Views und Controller beziehungsweise durch mehrere Presentation Komponenten die Benutzung mehrerer Modalit ten parallel erm glichen Durch die Kombination mit einem Arch Slinky basierten UIMS l sst sich die urspr ng liche Idee einer Trennung zwischen Anwendung Darstellung und Dialogsteue rung der User Interface Management Systeme weiterverfolgen Die Schw chen der einzelnen Ans tze lassen sich durch die Kombination beheben 98 Architekturen fiir multimodale Benutzerschnittstellen Dialogsteuerung Domanen Prasentation adapter Map
163. men wird in UML durch Pseudo states Pseudozust nde umgesetzt Pseudostates sind Elemente wie Startknoten 6 2 Ausf hren von UML 119 Input trigger stack Alle relevanten Transitionen sammeln 1 transitions stack top elems mit V transition trigger trigger 2 foreach t transitions do 3 if t target type Pseudostate then transitions U t target 4 end 5 foreach trans transitions do 6 if trans trigger null and trigger then l sche trans 7 if trigger trans trigger then l sche trans 8 if not app test_guard trans guard then l sche trans 9 end 10 foreach trans transitions do 11 foreach effect trans effect do un 12 app call effect 13 mapper update effect 14 end 15 if trans target state regions then 16 stack transit trans source trans target 17 stack enter_and_keep trans target state regions trans target 18 enter_region state regions trans target 19 else Alle anderen Zust nde 20 target states trans target 21 if target type State then 22 stack transit trans source trans target 23 mapper update target name 24 end 25 if target type FinalState then 26 list Strang des Kaktusstacks mit Ende trans source 27 stack exit list pop 28 activity diagram algorithm list pop 29 end 30 end 31 end Algorithmus 3 Algorithmus des Interpreters ftir Zustandsmaschinen Gabelung Vereinigung und Entscheidung initial fork join choice Ein Pseudo state besitzt einen Typ kind der d
164. mplementierung ei nes Systems begonnen werden kann 37 Ein Benutzer wird innerhalb des Diagramms Akteur actor genannt Der Akteur benutzt das System durch einzelne Use Cases Er stellt dabei Anfragen an das System und erh lt Ergebnisse als Ausgabe Jeder Use Case ist eine Sammlung von Aktionen die der Reihe nach abgearbeitet werden m ssen um die Ausgabe zu erzeugen package Datz Ka Music System 1 Music System Benutzer 9 edit playlist Abbildung 4 3 Use Case Diagramm mit zwei Use Cases Abbildung 4 3 zeigt ein Use Case Diagramm fiir den MP3 Player der zwei Use Cases enthalt Es gibt nur einen Akteur den Benutzer Das System Music Sys tem umfasst zwei Use Cases Musik h ren sowie die Playlist bearbeiten Der Use Case zum Musik h ren wird im Fallbeispiel umgesetzt Dieser wird durch andere Diagramme genauer beschrieben im Beispiel durch ein Aktivit tsdia gramm das im n chsten Abschnitt vorgestellt wird Zwischen Use Cases k nnen auch Beziehungen bestehen Ein Use Case kann ein en anderen Use Case beinhalten oder einen bestehenden erweitern Komplexere Systeme profitieren von diesen Eigenschaften indem sie Gemeinsamkeiten von Use Cases zusammengefassen Ein Use Case kann durch Diagramme die ein Verhalten beschreiben detailliert definiert werden Daf r kommen vor allem Aktivit ts und Zustandsdiagramme in Frage In dieser Arbeit werden hierf r stets Aktivit tsdiagramm
165. n 4 5 Pr sentationsmodell Nachdem vorgestellt wurde wie die verschiedenen Modelle zur abstrakten Be schreibung der Interaktion und der Dom ne mit UML umgesetzt werden wird als n chstes auf das Pr sentationsmodell und die Kontextmodelle eingegangen Das Pr sentationsmodell repr sentiert die verschiedenen Elemente der Benut zerschnittstelle und ihre Auspr gungen in Modalit ten Das Pr sentationsmo dell wird nicht durch eine Diagrammart der UML dargestellt Es beinhaltet eine konkrete Auspr gung einer Benutzerschnittstelle und wird aus anderen Model len abgeleitet Zu einer Ableitung werden in der Regel die drei Kontextmodelle Benutzer Umgebungs und Ger temodell ber cksichtigt Alle diese Modelle sind nicht direkt in UML vorhanden In der Auspr gung als concrete CUI oder final user interface FUI hat das Pr sentationsmodell einzelne Auspr gungen die Benutzerschnittstellen f r eine ein zelne Modalit t auf einer spezifischen Plattform mit Anpassung an den Benutzer entsprechen F r diese Arbeit spielt es keine Rolle ob dabei bin rer Code f r ein 84 Modellieren von Interaktionsanwendungen mit UML FUI entstanden ist oder die Vorstufe eines CUI erstellt wurde Der Unterschied ist lediglich die Ubersetzung vom concrete in das final user interface Daher be schrankt sich die folgende Betrachtung auf CUIs Es existieren zwei M glichkeiten um die CUls zu erhalten Eine M glichkeit ist die CUIs aus den an
166. n Die Klasse UIBuilder ist eine Hilfsklasse die f r eine Anwendung die Objekte f r Dialogsteuerung Mapper und alle verwendeten Benutzerschnittstellen an legt F r die Instanziierung der Benutzerschnittstellen wird das Builder Pattern 6 1 Aufbau des User Interface Management System Frameworks 107 package Dat E UIMS classes UML State Transition _ Trigger Edge Node id id id id id type kind type type type kind source value source trigger target target outputPin OF guard 0 interrupts behavior effect effect trigger D S 0 4 XMI 4 Jinitial_nodes l structured_nodes 1 input_pins 1 gt groups Fe regions init ThreadedApp reduce file CallStack parse xmi f CUI x T T 1 T in_q P n perform id Application 1 UIModel 1 1 Mapper call_method current_nodes show_dialog T current_states T 1 Get Speech GladeUl wiiul UIBuilder 1 1 sphinx glade wiimote dialog recognizer wii_events show_dialog clicked widget show_dialog update show_dialog update update Abbildung 6 1 Umsetzung des mArch Frameworks mit beteili
167. n Die M glichkeit zur Laufzeit ver schiedene Benutzerschnittstellen durch Fissionsmechanismen zu erzeugen ist ein wesentlicher Grund f r das Interpretieren von Modellen Daher werden in dieser Arbeit die Diagramme interpretiert Das Interpretieren ist auch unter dem Namen executable Models bekannt Die Modelle m ssen dazu vorher auf Fehler berpr ft werden dies kann eine Model checking Komponente vornehmen F r UML existieren bereits Arbeiten zu ausf hrbaren Modellen z B von Mel lor et al 107 Auch Zusammenh nge zwischen Generierung und ausf hrba ren Modellen wurden bereits untersucht 161 Allerdings existieren noch keine vollst ndigen Interpreter f r Aktivit ts und Zustandsdiagramme Eine Entwick lungsumgebung f r Aktivit tsdiagramme die w hrend diese Arbeit entstand und um Zustandsdiagramme erweitert wurde ist ActiveCharts Die Entwicklungsum gebung ActiveCharts wurde von Sarstedt et al vorgestellt und an der Universit t Ulm entwickelt 170 1 Sie bietet ber Aktivit tsdiagramme hinaus die M g lichkeit Klassen und deren Methoden zu modellieren die von Aktionen benutzt werden k nnen ActiveCharts verwendet bisher Microsoft Visio um Diagramme zu erzeugen und setzt Visio als Komponente in der Entwicklungsumgebung ein um Diagramme auszuf hren Dadurch ist eine Bindung an eine Plattform vor handen in zuk nftigen Versionen wird eine plattformunabh ngige Umgebung angestrebt Abstract State Machines ASMs
168. n Computer Interaction HCI In diesem Kapitel wer den au erdem die grundlegenden Begriffe der Arbeit bestimmt und das Arbeits gebiet genauer beschrieben Human computer interaction is a discipline concerned with the de sign evaluation and implementation of interactive computing sys tems for human use and with the study of major phenomena sur rounding them Curricula for Human Computer Interaction ACM SIGCHI 9 Die Association for Computing Machinery ACM hat in ihrem Curriculum f r die ses Feld 9 die Disziplin der Mensch Maschine Interaktion umfassend definiert In Abbildung 2 1 sieht man die beteiligten Bereiche Diese Arbeit befasst sich dabei mit dem Bereich der Ein Ausgabe Dialogtechniken sowie Architekturen fiir Dialoge Die Ein Ausgabe bezieht sich auf die Schnittstelle zum Menschen Unter Schnittstelle werden sowohl die Hardware als auch die Arten der Interak tion von Menschen mit Systemen verstanden wobei Ger te nur als Mittel zum Zweck begriffen werden Dialogtechniken beschreiben die Arten von Interaktion mit einem System Es lassen sich verschiedene Sprachen und Verfahren zu einer Beschreibung von Dialogen verwenden Im folgenden Kapitel 3 Klassifikation bestehender Ans tze wird hierauf genauer eingegangen 5 Grundlagen In diesem Kapitel werden zun chst die Begriffe der Interaktion und des Dialogs genauer geklart Zuerst werden die Begriffe Interaktion und Interaktionszyklus eingefiihrt Der B
169. n UML erstellten Modelle lassen sich auch bedingt zur Evaluation verwenden Bei einer Task Analyse besteht z B die M glichkeit auf die Aktionen im Aktivit tsdiagramm zur ckzugreifen 5 Architekturen f r multimodale Benutzerschnittstellen Architektur ist Harmonie und Einklang aller Teile die so erreicht wird dass nichts weggenommen zugef gt oder ver ndert werden k nnte ohne das Ganze zu zerst ren Leon Battista Alberti 1452 In Kapitel 4 wurde vorgestellt wie mit Hilfe von UML interaktive Anwendungen modelliert werden k nnen Dieses Kapitel beschreibt eine geeignete Software Architektur die multimodale Anwendungen realisierbar macht Unter dem Be griff Software Architektur wird in dieser Arbeit eine Strukturierung in Kompo nenten die einen Referenzrahmen f r Implementierungen vorgibt verstanden Um eine solche Architektur zu finden werden zuerst bestehende Ans tze f r Software Architekturen bewertet und anschlie end eine geeignete Architektur beschrieben welche den Anforderungen modellbasierter Interaktionsanwend ungen gen gt Die bisher vorgestellten Modelle erm glichen die Gliederung einer Architektur in Komponenten die wiederum durch konzeptionelle Modelle beschrieben wer den k nnen Das Zusammenspiel zwischen den einzelnen Modellen wird auf die Verbindung der Komponenten bertragen Wenn mehrere Modalit ten gleichzeitig eingesetzt werden so kann es zu Kon flikten bei der Benutzereingabe kommen
170. n Zustand state beschreibt den Status in dem sich ein System zu einem be stimmten Zeitpunkt befindet Er beinhaltet alle aktuellen Attribute eines Sys tems Durch eine Transition transition wird in einen anderen Zustand gewech selt Transitionen werden mit der Notation Trigger Guard Action geschrieben Trig ger sind Signale die von au en auf das System einwirken Sie l sen Transitio nen aus Ein Guard ist ein boolscher Ausdruck der angibt ob die Transition beschritten werden darf Es muss darauf geachtet werden dass sich die Guards gegenseitig ausschlie en denn zu einem Trigger k nnen mehrere Transitionen vorhanden sein Eine Action ruft Operationen auf um den Systemzustand zu ndern oder l st weitere Signale aus Zust nde k nnen einfache oder zusammengesetzte Zust nde sein Einfache Zu st nde k nnen genauer in ihrem Verhalten beschrieben werden indem man in ihnen mit entry do und exit festlegt was geschehen soll sobald der Zustand betreten wird solange im Zustand verweilt wird und sobald er verlassen wird Zusammengesetzte Zust nde dienen der Hierarchisierung und enthalten in UML Regionen In Abbildung 4 5 sieht man drei Regionen innerhalb des bergeordne ten Zustands aussen die parallel aktiv sind Sie enthalten Zustandsdiagramme zur Regelung der Lautst rke der Navigation in der Playlist und zur Steuerung der Wiedergabe Es gibt verschiedene Arten von Signalen welche Transitionen ausl sen Ein Si gnalTr
171. n dieser Arbeit wurden eine Reihe von Aufgaben bew ltigt Im Fol genden werden die Kapitel zusammengefasst ihre wissenschaftlichen Beitr ge aufgezeigt hervorgehoben und bewertet Kapitel 1 Einleitung motivierte die Notwendigkeit der Arbeit Die Problemstel lung und das Ziel der Arbeit wurden vorgestellt In Kapitel 2 Grundlagen wurden die wichtigsten Begriffe definiert Nach Ein f hrung des Interaktionsbegriffs folgte eine ausf hrliche Vorstellung der Begriffe der Modalit t und Multimodalit t Die Vielfalt an Arten der Informationsrepr sentation f hrt zu einer gro en Menge an Modalit ten Zum Ende des Kapi tels wurden Grundbegriffe der modellbasierten Softwareentwicklung und Fall beispiele f r die Arbeit eingef hrt In Kapitel 3 Klassifikation bestehender Ans tze wurde das Mapping Problem detailliert vorgestellt Das Mapping Problem beschreibt die Schwierigkeit zwi schen verschiedenen Modellen Mappings herzustellen Es gibt verschiedene Ar ten von Mappings z B Verkn pfungen zwischen Modellen Zusammensetzen 131 132 Fazit und Ausblick mehrerer Modelle zu einem neuen Modell und das Ableiten eines Modells aus anderen Modellen Um die bestehenden Ans tze einordnen zu k nnen wurde das Models and Mappings Klassifikationsframework entwickelt mit dem Notationen bewertet werden k nnen Bisherige Ans tze zur Klassifikation konzentrierten sich auf die Einordnung einzelner Aspekte aus dem Umfeld
172. n mit Hilfe eines Stabs ver ndern Es l sst sich einstellen ob die W nde der Geb ude aus Glas oder lichtundurch l ssigem Material sein sollen Dementsprechend passt das System die Schatten an Durch ein Wind Werkzeug welches auch ein Objekt ist das auf die Oberfl che gelegt wird erscheinen Pfeile unterschiedlicher L nge auf der Oberfl che Dadurch kann erkannt werden wie der Wind um die Geb ude streichen wird wobei die Windrichtung durch einfaches Drehen des Wind Werkzeugs ver ndert werden kann Die Pfeill nge gibt dabei die St rke des Windes an Der Benutzer kann jederzeit die Geb ude anders positionieren um so ihre optimale Anordnung zu bestimmen W hrend fr here TUIs statischer Natur waren und Eingaben durch Verschieben oder Drehen von Objekten geschah lassen sich TUIs der zweiten Generation da durch nutzen dass man ihre Materialien direkt verformten kann 80 Ein Bei spiel f r diese Art von TUI ist SandScape ein System in dem der Benutzer eine Landschaft aus Sand verformt und gleichzeitig das Ergebnis der Landschaftsbe rechnungen auf dem Sand durch eine Projektion angezeigt bekommt 79 Die Benutzeroberfl che des Systems ist in Abbildung 2 7 zu sehen Zus tzlich wird in diesem Fall noch eine Ansicht von der Position der Finger des Benutzers auf die Seitenwand projiziert Weitere Modalit ten Es gibt noch eine Reihe von weiteren Modalit ten die derzeit noch nicht weit verbreitet sind 2 2 Modalit ten 23
173. n prim r die wenigen im letzten Abschnitt vor gestellten Elemente d h Trigger Operationen und die Namen von Aktionen und Zust nden Im Lauf der Zeit wurden verschiedene spezielle Sprachen f r Transformationsre geln entwickelt Urspr nglich wurden deklarative Sprachen oder Constraints ein gesetzt 63 169 T XML ist eine XML basierte Transformationssprache die von L pez Jaquero et al 2009 vorgestellt wurde 101 Besonders auf das Metamo dell von UML ist dagegen MOF Queries Views Transformations MOF QVT ab gestimmt eine Transformationssprache die von der Object Management Group entwickelt wird 140 Regeln lassen sich in verschiedene Kategorien gliedern Neben den eigentlichen Transformationsregeln existieren auch Meta Regeln die die Anwendbarkeit von Regelmengen auf einen Kontext berpr fen Eine besondere Sorte Regeln sind Ausnahmen die von Entwicklern f r Sonderf lle gew nscht werden Dies kann z B durch Besonderheiten im Design eines Endger ts oder durch erw nschtes Branding f r ein Produkt notwendig werden Pederiva et al nennen diese Regeln Beautifications und beschrieben ein Verfahren wie man Anpassungen an Stan dardtransformationen wieder in den Prozess zur ck flie en lassen kann 151 Eine ausf hrlichere Behandlung der Thematik von Regeln und Generierung er folgt in der Dissertation von Mark Poguntke die aktuell in Bearbeitung ist 156 Trotz des Vorhandenseins von Regeln und jahrelanger Forschung i
174. n sprechen doch wird in dieser Arbeit der k rzere Begriff verwendet Definition 6 Modalit t Eine Modalit t ist eine Art der Informationsrepr sen tation f r Mensch oder Maschine in der Information in einer bestimmten Form physikalisch dargestellt wird Modalit ten k nnen durch die Art der Informations repr sentation unterschieden werden Die Art der Informationsrepr sentation entspricht der oben beschriebenen In teraktionssprache in Kombination mit den ben tigten Ger ten Zwei Beispiele sollen die Unterschiede der Informationsrepr sentation verdeutlichen Ein Sys tem erlaubt es Text einzugeben Eine Tastatur ben tigt eine Interaktionssprache ber die z B K rzel oder einzelne Tasten zur Bedienung einer Anwendung de finiert sind Die Eingabe ber einen Stift kann durch eine Sprache zur Erkenn ung von Buchstaben hnlich wie eine Tastatur genutzt werden Soll dagegen eine Unterschrift kalligraphisch eingegeben werden so muss die Sprache den Pfad anstelle von einzelnen Buchstaben beschreiben k nnen Als weiteres Bei spiel soll die Ausgabe von akustischen Signalen und nat rlicher Sprache dienen Hier unterscheiden sich die Sprachen zur Repr sentation der auszugebenden In formationen noch st rker voneinander Nicht immer sind die Unterschiede so klar wie in den hier gew hlten Beispiel en Bei einer Stifteingabe kann z B zus tzlich der ausge bte Druck gemessen siehe auch die Vorarbeit von Coutaz Nigay und Salb
175. n von Objekten aus der Dom ne den Ablauf des Dialogs beeinflussen k nnen ist ein Mapping analog zum Task Domain Mapping notwenig Environment Presentation Mapping Die Eigenschaften einer Umgebung k nnen sich dies stark auf das Pr sentationsmodell auswirken In sehr lauten Umgebun gen kann das Pr sentationsmodell z B die verwendeten Modalit ten der Umge bung anpassen und auf Sprache zu Gunsten von grafischer Ausgabe verzichten 3 1 Modellarten und Mapping Problem 35 Umgekehrt verh lt es sich bei direkter Sonneneinstrahlung auf Anzeigeger te wodurch diese schwer ablesbar werden Device Presentation Mapping Auch die eingesetzten Ger te und ihre M glichkei ten beeinflussen das Pr sentationsmodell Die Modalit ten die von Ein und Ausgabeger ten bereitgestellt werden lassen sich vom Pr sentationsmodell aus verwenden User Presentation Mapping Auch die Eigenschaften des Benutzers beeinflussen das Pr sentationsmodell Ein blinder Benutzer wird keine GUI bedienen ein Tauber keine Sprachschnittstelle verwenden wollen Doch so extrem m ssen die Beispiele nicht sein schon Vorwissen Aufgeregtheit oder eine Sehschw che sind wertvolle Informationen um die Pr sentation der Benutzerschnittstelle zu opti mieren Mit passenden Evaluationsmodellen sind zwei weitere Mappings vorstellbar Das User Domain Mapping und das User Dialog Mapping Ein User Domain Mapping findet im Kopf des Benutzers statt Dieser bildet sich ein men
176. n von einander unabh ngige Eingaben die durch den Mapper zur Dialogsteuerung weitergereicht werden Der kompliziertere Fall ist dass mehrere Eingaben vorhanden sind die kom biniert werden m ssen Es kann sich in diesem Fall um mehrmals die gleiche Information oder um widerspr chliche Informationen handeln Eine ausf hrliche Behandlung von Fusionsmechanismen findet sich z B in der Dissertation von Nigay 125 aus dem Jahr 1994 Sie unterscheidet grunds tzlich zwei M glichkeiten der Eingabe Die Eingabe kann sich zeitlich berlappen oder es k nnen zwei Eingaben sehr dicht aufeinander folgen Wie von Nigay und Cou taz beschrieben wird in beiden F llen betrachtet ob die Eingaben sich auf das gleiche Interaktionselement beziehen Ist dies nicht der Fall so sind die Einga ben unabh ngig von einander Andernfalls wird anschlie end untersucht ob eine Eingabe mehrfach vorgenommen wurde oder ob ein Widerspruch zwischen den Eingaben besteht 127 Auch in der Arbeit von Tourraine et al wird eine Fusi on nach zeitlicher N he vorgenommen 189 Die Arbeit nimmt dabei R cksicht auf den Typ der Eingabe um z B Sprachbefehle mit Gesten zu einer einzelnen Eingabe kombinieren zu k nnen und so transmodale Eingaben zu erm glichen Die Arbeit von Cashera et al aus dem Jahr 2008 betrachtet zus tzlich die Sicher heit mit der Eingaben erkannt worden sind 33 Sprach oder Gestikeingaben werden vom jeweiligen Erkenner mit einer Bewertung der Wahr
177. n zu finden ist zu untersuchen welchen Anspr chen eine Notation gen gen muss Zus tzlich bedarf es eines Schemas in das die verschiedenen Modelle eingeordnet werden k nnen Durch die An forderungen l sst sich auch eine Bewertung vornehmen Dazu wird ein eigens entwickeltes Schema vorgestellt Verschiedene repr sentative Notationen wer den vorgestellt und bewertet Das Kapitel endet mit der Wahl einer Notation die im Rest der Arbeit verwendet wird 3 1 Modellarten und Mapping Problem Die Benutzung von Modellen im Bereich interaktiver Benutzerschnittstellen er f llt verschiedene Zwecke und bietet eine Reihe von Vorteilen 94 Sie dienen 31 32 Klassifikation bestehender Ans tze zur automatischen Generierung von Benutzerschnittstellen wobei direkt eine Implementierung aus einem Modell generiert wird 185 Sie unterst tzen die Kontrolle der Konsistenz und Vollst ndigkeit So l sst sich berpr fen ob z B alle vom Benutzer auszuf hrenden Aktionen ber die Navigationsstrukturen er reicht oder aktiviert werden k nnen 93 Sie erm glichen die Erzeugung von Hilfe Systemen oft kontextabh ngig einschlie lich Animationen und Erkl rung en 53 183 182 Schlie lich sind sie auch beim Evaluieren von erstellten Sys temen von Nutzen und erm glichen z B die Messung der Geschwindigkeit mit der ein Benutzer eine Aufgabe erledigen kann 86 Angesichts der vielen verschiedenen Zwecke ist es verst ndlich dass ein ein
178. nal Psychology 41 211 221 1967 ANONYMOUS Mouse Gestures Redox https addons mozilla org en US firefox addon 39 2008 ASSOCIATION FOR COMPUTING MACHINERY The 1998 ACM Compu ting Classification System http www acm org about class ccs98 html 1988 ASSOCIATION FOR COMPUTING MACHINERY Curricula for Human Com puter Interaction http www acm org sigchi cdg cdg2 html 1992 AXELSSON Jonny CROSS Chris FERRANS Jim McCoss Gerald RA MAN T V WILSON Les XHTML Voice Profile 1 2 http www voicexml org specs multimodal x v 12 March 2004 137 138 Literaturverzeichnis 11 12 13 14 15 16 17 18 19 20 21 22 BARCLAY Peter J KENNEDY Jessie Teallach s presentation model In AVI 00 Proceedings of the working conference on Advanced visual interfaces 151 154 ACM New York NY USA ISBN 1 58113 252 2 2000 Bass Len FANEUF Ross MAYER Niel PELLEGRINO Bob REED Scott SEACORD Robert SHEPPARD Sylvia SZCZUR Martha R A metamodel for the runtime architecture of an interactive system The UIMS tool de velopers workshop ACM SIGCHI Bulletin 24 1 32 37 January 1992 DEN BERGH Jan Van LUYTEN Kris CONINX Karin High Level Modeling of Multi user Interactive Applications In CONINX Karin LUYTEN Kris SCHNEIDER Kevin A Eds TAMODIA 06 Proceedings of the 5th annu al conference on Task modelsand diagrams volume LNCS 4385 153 1
179. nd Verification of Interactive Systems 237 248 Springer Berlin ISBN 978 3 540 34145 1 2005 131 Norman Donald A The Psychology of Everyday Things Basic Books 1988 132 Nunes Duarte Nuno Jardim Object Modeling for User Centered Develop ment and User Interface Design The Wisdom Approach Ph D thesis Uni versity of Madeira April 2001 133 NYLANDER Stina The Ubiquitous Interactor Mobile Services with Multiple User Interfaces Ph D thesis Uppsala University Sweden November 2003 134 NYLANDER Stina Semi automatic generation of device adapted user in terfaces In 3rd International Conference on Pervasive Computing 109 114 2005 135 OBJECT MANAGEMENT GROUP Model Driven Architecture http www omg org mda 136 OBJECT MANAGEMENT GROUP Diagram Interchange Version 1 0 April 2006 137 OBJECT MANAGEMENT GROUP Meta Object Facility MOF Core Specifica tion January 2006 148 Literaturverzeichnis 138 139 140 141 142 143 144 145 146 147 148 149 150 151 OBJECT MANAGEMENT GROUP Object Constraint Language Version 2 0 May 2006 OBJECT MANAGEMENT GROUP MOF 2 0 XMI Mapping Version 2 1 1 De cember 2007 OBJECT MANAGEMENT GROUP MOF Query Views Transformations April 2008 OBJECT MANAGEMENT GROUP OMG Unified Modeling Language Infra structure Version 2 2 February 2009 OBJECT MANAGEMENT GROUP
180. nden sich im Hauptmen Zum Abfragen ihrer Nachrichten dr cken sie die 1 Die Einstellungen ihres Anrufbeantworters ndern sie ber die 3 F r weitere Leistungsmerkmale dr cken sie die 4 F r einfache Anwendungen wie Anrufbeantworter gen gt diese Form des Dia logs Komplexere Eins tze bleiben Anwendungen bei dieser Form des Dialogs aber verwehrt Der Vorteil ist die einfache Realisierungsm glichkeit dieser Dia logsysteme Das Verfahren die Eingaben des Benutzers ber Tonwahl auszuwer ten hat sich in der Praxis bew hrt da es robust ist und Unsicherheiten bei der Erkennung der Eingaben vermeidet McTear unterscheidet in seinem berblickartikel zwischen drei Arten von Sys temen zustandsbasierte frame basierte und agenten basierte Systeme 104 Das obige Beispiel ist klar zustandsbasiert Frame basierte Systeme arbeiten mit Templates und erlauben etwas mehr Freiheiten Agenten basierte Systeme er m glichen nat rlichsprachliche Dialoge und das F hren komplexer Dialoge Das folgende Beispiel von 1997 zeigt einen nat rlichen Dialog mit einem solchen agenten basierten System 168 User I m looking for a job in the Calais area Are there any servers System No there aren t any employment servers for Calais However there is an employment server for Pas de Calais and an employment server for Lille Are you interested in one of these Das agenten basierte System ist in der Lage zus tzlich zur abschlagigen Antwo
181. ng dar Bisher wird in den meisten F llen eine Anwendung lediglich f r eine grafi sche Benutzerschnittstelle entwickelt Schon seit den 1990ern existieren Arbei ten wie von Mynatt 121 die GUIs auf Sprachschnittstellen abbilden Neuere Ans tze wie 2006 von Carter versuchen GUIs auf noch mehr Ger te abzubil den 32 Jede Anwendung kann sich bez glich der verwendeten Modalit t wie Sprache TUI oder GUI anders verhalten Die Nutzer sind dadurch allerdings ei ner gr eren kognitiven Last ausgesetzt da sie die verschiedenen Abl ufe und Verhaltensweisen erst erlernen m ssen und es zu Umstellungsschwierigkeiten beim Wechsel der Modalit t kommen kann Einfache Abbildungen zwischen GUI Sprache und anderen Interaktionsarten sind damit zwar m glich unterst tzen aber den Benutzer nicht optimal in seiner T tigkeit Weil f r die Erstellung einer Oberfl che einer Anwendung im Mittel 50 des ge samten Entwicklungsaufwands einer Anwendung verbraucht werden wie Myers 1992 ermittelt hat 120 sind insbesondere Ans tze die an dieser Stelle Arbeit sparen auch konomisch interessant Zwar ist die Studie von Myers schon ei nige Jahre alt und in der Zwischenzeit sind neue Werkzeuge zur Unterst tzung von Entwicklern geschaffen worden dennoch muss von einem relativ hohen Auf wand f r die Entwicklung ausgegangen werden wenn man den Aufwand f r die Vielfalt der unterschiedlichen Benutzerschnittstellen einbezieht Es existiert ein starker Tr
182. ngen zum Vergleich verschiedener Fusionsalgorithmen existieren bisher noch nicht Durch die Nachvollziehbarkeit des Anwendungsframeworks ist eine Vergleichbarkeit bei der Bewertung des Ver haltens verschiedener Algorithmen gegeben Weitere interessante experimentelle Untersuchungen bieten sich zum Einsatz von Modalit ten an Derzeit existieren nur wenige Arbeiten die ermitteln unter welchen Bedingungen eine spezielle Modalit t zur Interaktion mit dem Benutzer besonders geeignet ist Das Anwendungsframework l sst sich um zus tzliche Modalit ten erweitern Diese Erweiterungen k nnen zum Testen von neuen Interaktionsmechanismen in z B Tangible User Interfaces sowie zum Zusammenspiel von multiplen Moda lit ten genutzt werden Neue Gebiete erschlie en sich bei der bergreifenden Nutzung von Modalit ten die bisher wenig untersucht ist F r sie ist eine semantische Beschreibung 1 Transmodalit t die berlappende Nutzung von Modalit ten innerhalb eines Tasks Vergl Ab schnitt 2 2 3 134 Fazit und Ausblick der Interaktionselemente und ihrer Verkn pfungen ein neues Themengebiet Durch eine solche Beschreibung lassen sich Zuordnungen ber die Grenzen von Modalit ten hinweg durch die semantischen Zusammenh nge inferieren Ein weiteres erst teilweise erschlossenes Themenfeld ist die Untersuchung von Verfahren zur automatisierten Fission zur Laufzeit In dieser Arbeit wurden Be schreibungen von Benutzerschnittstell
183. nger Verlag Berlin 1989 HONOLD Frank Daniel Informationsfission bei adaptiven multimodalen Systemen vorl ufiger Titel Dissertation noch unver ffentlicht HORNECKER Eva BUUR Jacob Getting a grip on tangible interaction a framework on physical space and social interaction In CHI 06 Procee dings of the SIGCHI conference on Human Factors in computing systems 437 446 ACM New York NY USA ISBN 1 59593 372 7 2006 HUGGINS DAINES David CMUSphinx The Carnegie Mellon Sphinx Pro ject http cmusphinx sourceforge net 2007 INCITS Protocol to Facilitate Operation of Information and Electronic Pro ducts through Remote and Alternative Interfaces and Intelligent Agents Pre sentation Template 2005 INCITS Protocol to Facilitate Operation of Information and Electronic Pro ducts through Remote and Alternative Interfaces and Intelligent Agents Re source Desription 2005 Literaturverzeichnis 143 73 INCITS Protocol to Facilitate Operation of Information and Electronic Pro ducts through Remote and Alternative Interfaces and Intelligent Agents Tar get Description 2005 74 INCITS Protocol to Facilitate Operation of Information and Electronic Pro ducts through Remote and Alternative Interfaces and Intelligent Agents Uni versal Remote Console 2005 75 INCITS Protocol to Facilitate Operation of Information and Electronic Pro ducts through Remote and Alternative Interfaces and Intelligent Age
184. nsatz von UML In den bereits vorgestellten Notationen UsiXML und ConcurTaskTrees wird das Pr sentationsmodell aus dem Aufgabenmodell abge leitet Bei UML lie e es sich ebenfalls aus Aufgaben und Dialogmodell ableiten Die anderen Modelle lassen sich durch Einbinden bestehender Ans tze oder Ab decken in UML erg nzen 3 6 Modelle f r Kontext Evaluation und einzelne Modalit ten 63 Evaluation Domain Br Abbildung 3 13 UML im Klassifikationsframework 3 6 Modelle f r Kontext Evaluation und einzelne Modalit ten Nachdem im vorigen Abschnitt abstrakte Modelle f r Interaktion vorgestellt wur den sollen in diesem Abschnitt die brigen spezialisierten Modelle f r Kontext Evaluation und einzelne Modalit ten kurz eingef hrt werden F r die einzelnen Bereiche werden berblicke und Repr sentanten angegeben Durch die Erg n zung mit diesen Modellen lassen sich alle Aspekte der modellbasierten Entwick lung interaktiver Anwendungen abdecken Der Kontext einer Anwendung setzt sich aus Benutzer Ger te und Umgebungs modell zusammen 3 6 1 Beschreibung von Benutzereigenschaften Ein Benutzermodell beschreibt die verschiedenen Eigenschaften eines Benutzers Dazu geh ren unver nderliche Attribute wie Gr e oder Geschlecht F r viele F lle sind gerade Einschr nkungen wie Sehschw chen Farbblindheit oder re duzierte Beweglichkeit wichtig Benutzerschnittstellen sollten sich anpassen um dem Benutzer den Zugang
185. nt r implementiert sind Ein weiterer Nachteil ist die Vermischung verschiedener Modalit tskategorien beim Pr sentationsmodell An dieser Stelle ist eine Trennung der Modalit ten in verschiedene plattformspezifische Pr sen tationsmodelle wie z B bei ConcurTaskTrees vorteilhafter Da UsiXML nicht er weiterbar ist lassen sich sp ter auch keine Elemente von neuen Ger ten oder neuen Interaktionsverfahren erg nzen Die Unified Modeling Language UML deckt nur einen Teil aller Modelle ab Allerdings ist ihre Ausdrucksst rke bei den Modellen deutlich gr er als bei den anderen Notationen Dies ist nicht verwunderlich da aus vielen fr heren Be schreibungssprachen Ideen in die UML bernommen wurden Die UML ist die ausdruckst rkste Notation beim Dom nenmodell Im Vergleich zu ConcurTask Trees ist sie in Bezug auf das Aufgabenmodell mindestens genauso m chtig da sie ber mehr Varianten zum Ausdr cken von Verhalten verf gt W hrend ande re Notationen ein Dialogmodell aus einem Aufgabenmodell ableiten ist die UML die einzige Notation die ein komplett eigenes Dialogmodell bietet Eine weite re St rke liegt in ihrer Verbreitung und der verf gbaren Werkzeugunterst tzung Das Fehlen von Pr sentations und Kontextmodellen ist nicht zwingend ein Nach teil da diese aus anderen oben vorgestellten Notationen erg nzt werden k nnen Ein zus tzlicher Vorteil der UML ist ihre Skalierbarkeit und die F higkeit kom plexe Anwendungen zu bes
186. nts User Interface Socket Description 2005 76 INTERNATIONAL ORGANIZATION FOR STANDARDIZATION ISO IS 8807 In formation Processing Systems Open Systems Interconnection LOTOS A Formal Description Technique Based on Temporal Ordering of Observa tional Behaviour 1989 77 INTERNATIONAL ORGANIZATION FOR STANDARDIZATION DIN EN ISO 9241 110 Grundsatze der Dialoggestaltung 1990 78 INTERNATIONAL ORGANIZATION FOR STANDARDIZATION ISO IEC 14772 1 1998 Information technology Computer graphics and image proces sing The Virtual Reality Modeling Language Part 1 Functional spe cification and UTE 8 encoding http www iso ch cate d25508 html 1997 79 IsHu Hiroshi The tangible user interface and its evolution Communica tions of the ACM 51 6 32 36 ISSN 0001 0782 2008 80 Ten Hiroshi RATTI Carlo PIPER Ben WANG Yao BIDERMAN Assaf BEN JOSEPH E Bringing clay and sand into digital design continuous tangible user interfaces BT Technology Journal 22 4 287 299 October 2004 81 JACOB Robert J K GIROUARD Audrey HIRSHFIELD Leanne M HORN Michael S SHAER Orit SOLOVEY Erin Treacy ZIGELBAUM Jamie Reality based interaction a framework for post WIMP interfaces In CHI 08 Proceeding of the twenty sixth annual SIGCHI conference on Human factors in computing systems 201 210 ACM New York NY USA ISBN 978 1 60558 011 1 2008 82 JAN VAN DEN BERGH CONINX Karin Model base
187. odel based user interface development en vironment In AVI 00 Proceedings of the working conference on Advanced visual interfaces 155 160 ACM New York NY USA ISBN 1 58113 252 2 2000 Literaturverzeichnis 151 180 181 182 183 184 185 186 187 188 189 190 SOMMERVILLE Ian Software Engineering Pearson 8 auflage edition 2007 SONDERGAARD Thomas rubyzip http rubyzip sourceforge net 2006 STOCK Ingo WEBER Michael Authoring technical documentation using a generic document model In SIGDOC 06 Proceedings of the 24th annual ACM international conference on Design of communication 172 179 ACM New York NY USA ISBN 1 59593 523 1 2006 STOCK Ingo WEBER Michael STEINMEIER Eckhard Metadata based au thoring for technical documentation In SIGDOC 05 Proceedings of the 23rd annual international conference on Design of communication 60 67 ACM New York NY USA ISBN 1 59593 175 9 2005 STOLZE Markus RIAND Philippe WALLACE Mark HEATH Terry Agi le Development of Workflow Applications with Interpreted Task Models In WINCKLER Marco JOHNSON Hilary PALANQUE Philippe Eds TA MODIA 07 Proceedings of the 6th annual conference on Task models and diagrams volume LNCS 4849 2 14 Springer November 2007 SZEKELY Pedro A SUKAVIRIYA Piyawadee Noi CASTELLS Pablo MUT HUKUMARASAMY Jeyakumar SALCHER Ewald Declarative interf
188. odell zur Verf gung zu stellen Assoziationen und Generali sierungen dienen zur Darstellung von Abh ngigkeiten unter den Klassen und zur Beschreibung von Vererbungshierarchien Sie besitzen keine Auswirkungen auf Benutzerinteraktionen darum wird im Folgenden nur ein Teil ihrer Einsatzm g lichkeiten vorgestellt Klassen verk rpern Typen denen Objekte zugeordnet werden Ihre Attribute be schreiben die statischen Eigenschaften die Objekte besitzen Jede Klasse besitzt eine Liste mit Operationen die auf ein Objekt der Klasse angewandt werden k nnen Jede Operation kann Parameter besitzen In Abbildung 4 2a und 4 2b sind die Klassen des Getr nkeautomats und des MP3 Players zu sehen Der Ge tr nkeautomat besitzt nur ein einzelnes Attribut n mlich das Guthaben das ein Benutzer einzahlen kann Der MP3 Player hat zwei Attribute den Titel des aktu ellen Lieds und die Playlist Beide Anwendungen besitzen eine Reihe von Opera tionen Der Getr nkeautomat hat z B eine Methode um Geld einzuzahlen die auch einen Parameter bergeben bekommt addCredit amount Der MP3 Player hat dagegen nur Methoden ohne Parameter package Data getraenkeautomat package Data 2 Player DrinksVendor Player Song credit title 1 title list addCredit amount daalt Song r reset play produce pause showPrice name stop remove next
189. on Intelligent user interfaces 214 215 2002 161 RAISTRICK Chris FRANCIS Paul WRIGHT John Model Driven Architec ture with Executable UML Cambridge University Press ISBN 0521537711 2004 162 REENSKAUG Trygve Models Views Controllers Technical report Xerox Palo Alto Research Laboratory PARC 1979 163 REISIG Wolfgang Abstract State Machines for the Classroom 15 46 Mo nographs in Theoretical Computer Science Springer 2008 164 REISNER P Formal Grammar and Human Factors Design of an Interactive Graphics System IEEE Trans Softw Eng 7 2 229 240 ISSN 0098 5589 1981 165 REKIMOTO Jun Organic interaction technologies from stone to skin Commun ACM 51 6 38 44 ISSN 0001 0782 2008 150 Literaturverzeichnis 166 167 168 169 170 171 172 173 174 175 176 177 178 179 RICHTER Kai Methoden zur Unterst tzung bei der Entwicklung plattform bergreifender Benutzerschnittstellen Ph D thesis Technische Universit t Darmstadt 2007 RUSSELL Sean REXML http www germane software com software rexml March 2008 SADEK David DE MORI Renato Dialogue Systems 523 561 Academic Press ISBN 9780122090554 1997 SANNELLA Michael Skyblue a multi way local propagation constraint solver for user interface construction In Proceedings of the 7th annual ACM symposium on User interface software and technology 137 146 199
190. on Environment for inteRactivE Systems representAtion durch die Zusam menarbeit von Berti et al mit Paterno 17 TERESA ist eine Entwicklungsumgebung mit einem grafischen Editor 115 die durch mehrere Transformationsschritte aus einer Taskbeschreibung in Concur TaskTrees fertige Benutzerschnittstellen erzeugen kann Begonnen wird mit ei nem allgemeinen und abstrakten Task Modell in Form von ConcurTaskTrees aus 4Spaterer Repr sentant Die Arbeit von Shepard von 1989 die Hierarchical Task Analysis HTA 176 vorstellt Klassifikation bestehender Ans tze 54 ll I ll GI aS avigate lt j3 ti lt chase crease emaus Lan Musie op Music gt M 3 gt u a BI gt userlncrease p increase userDecrease p decrease userNext p next userPrevious P previous alee userStop p stop gt gt m gt e e userPlay p play userPause p pause Abbildung 3 7 Die Aufgaben des MP3 Players mit ConcurTaskTrees 3 5 Abstrakte Modelle fiir Interaktion 55 dem die konkreten User Interfaces f r verschiedene Plattformen abgeleitet wer den k nnen Durch dieses Verfahren kann sich der Anwendungsdesigner zu n chst auf die logischen Aspekte konzentrieren Die plattformspezifischen De tails werden erst in den sp teren Arbeitsschritten betrachtet Auf allen Abstrak tionsebenen l sst sich die Benutzerschnittstelle XML basiert speichern wodurch ein Einstieg auf jeder Stufe auch durch fremde Werkzeuge erle
191. on Johannes M ller untersucht und als Sinnesmodalit ten bezeichnet 122 171 Die Zuordnung geschieht dabei nach dem von M ller formulierten Gesetz der spezifischen Sinnesenergien 19 Die Sinnesmodalit ten beschreiben aber lediglich die Aufnahme von Informatio nen beim Menschen 2 Widgets sind z B Buttons Labels oder Eingabefelder 2 2 Modalit ten 13 Definition 5 Sinnesmodalit t Eine Sinnesmodalit t ist ein Empfindungskom plex wie Sehen H ren Riechen Schmecken oder F hlen Die Empfindung wird nach dem Sinnesorgan kategorisiert Der Begriff wird nur f r Menschen verwendet Die Z pfchen der Netzhaut lassen sich zum Beispiel durch Licht und durch Druck stimulieren Beide Eindr cke geschehen ber verschiedene physikalische Mecha nismen doch die Sinnesmodalit t Sehen ist die selbe Am meisten Informationen nimmt der Mensch durch das Sehen auf ca 80 Danach folgt H ren mit 15 den Rest teilen sich die anderen Sinne 19 Bei dieser Aufteilung ist zu ber cksichtigen dass die Sinne sich erg nzen Informa tionen werden nur bedingt ber eine einzelne Sinnesmodalit t aufgenommen Tabelle 2 1 zeigt einen berblick ber alle Sinnesmodalit ten Sinnesmodalit t Hauptkan le Sehen vision H ren audition Haptische Kan le Druck Ber hrung tactition auch tangible Kin sthetische Wahrnehmung proprioception Sonstige Schmecken gustation Riechen olfaction W rme und K lteempfind
192. onald Knuth schlug den Namen 1964 in einem Leser brief vor und er wurde allgemein bernommen 92 Die Elemente der BNF sind Sequenz Auswahl und Rekursion Die Grammatik wird durch Regeln festgelegt Durch das Konzept der Rekursion l sst sich auch eine Iteration darstellen Nebenl ufige Dialoge lassen sich nicht in BNF darstel len Recht hnlich zur BNF sind regul re Ausdr cke Diese werden h ufig in Editoren oder Skripten verwendet um in Texten zu suchen oder lexikalische Analysen kW NH 3 4 Ans tze zur Beschreibung von Dialogen und Oberfl chen 47 vorzunehmen Die Notation geht auf Stephen C Kleene zur ck 90 der sie regul re Mengen nannte Durch Ken Thompson der diese Notation in einem Editor einsetzte wurden regul re Ausdr cke bekannt 187 Die Notation schwankt je nach Werkzeug die Grundkonzepte sind jedoch immer gleich Sequenz und Iteration Durch das Fehlen von Rekursion sind regul re Ausdr cke nicht so ausdrucksstark wie die Backus Naur Form Die Gruppe der Grammatiken wird am Fallbeispiel des MP3 Players illustriert dessen Benutzerschnittstelle in BNF beschrieben wird lt player gt lt volume gt lt playlist gt lt controls gt lt volume gt inc_volume dec_volume lt playlist gt previous next lt controls gt play pause stop Listing 3 1 Dialogmodell des MP3 Players in BNF In Listing 3 1 sieht man Nichtterminale die durch lt gt markiert werden un
193. onen durch die mangelnde Anbindung der Dom ne und weiterer Modelle gen gen sie nicht den Anforderungen an eine universelle abstrakte Notation f r Interaktionsan wendungen Auch die im selben Abschnitt am Rande gestreiften neueren Nota tionen l sen diese Probleme nicht Es gen gt nicht durch Notationen wie Grammatiken Ereignissprachen und Pro duktionsregeln eine formale Analyse zu erm glichen w hrend gleichzeitig ihre Nutzbarkeit begrenzt bleibt Diese Begrenzung soll durch grafische Notationen 68 Klassifikation bestehender Ans tze berwunden werden 200 Zentrale Modelle f r Interaktionsanwendungen sind das Dom nen Aufgaben und Dialogmodell Die vorgestellten abstrakten Modelle setzten alle grafische Notationen ein Con curTaskTrees haben ihre St rke bei der Beschreibung hierarchischer Tasks Nach teilig sind die fehlende Anbindung eines Dom nenmodells und die fehlenden Kontextmodelle f r Ger te Umgebung und Benutzer Die hierarchische Model lierung ist manchmal ein Hindernis bei der Modellierung da sie dazu zwingt f r teils einfache Anwendungen tiefe Hierarchien erstellen zu m ssen Auch die Verwendung von Rekursion zur Wiederholung eines Tasks ist nicht intuitiv UsiXML deckt am meisten Modelle unter den vorgestellten Notationen ab Die M glichkeit Mappings und Transformationen frei definieren zu k nnen ist ein gro er Vorteil des Ansatzes Ein gravierender Nachteil ist dass einige Modelle nur rudime
194. oren in den Muskeln Ge lenken und Sehnen statt und liefert dem Gehirn Informationen ber die Position der K rperteile Diese Wahrnehmung ist f r die Benutzung von Werkzeugen sehr wichtig da sie es erm glicht ohne st ndige Kontrolle z B durch die Augen die Gliedma en zu positionieren und damit Bewegungen wie Gehen oder Grei fen auszuf hren Bei Blinden verst rkt sich die Wahrnehmung des Tastsinns und des H rsinns Beide ersetzen dann zum gro en Teil die Informations bertragung des visuellen Kanals Sonstige Sinnesmodalit ten Die Sinnesmodalit ten wie Schmecken und Rie chen werden in der Mensch Maschine Interaktion kaum verwendet da es auf wendig ist diese Sinne in diesem Kontext zu stimulieren Es sind erst wenige Ger te entwickelt die z B D fte zuverl ssig erzeugen oder erkennen k nnen Ein weiteres Problem ist dass ein einmal erzeugter Duft nicht einfach aus einem Raum entfernt werden kann Hierf r gibt es noch keine praktikablen L sungen Diese Sinnesmodalit ten k nnten jedoch in gewissem Umfang sinnvoll einge setzt werden um Informationen ber die periphere Wahrnehmung zu vermit teln In diesem Fall werden Informationen ber Temperatur B rsenkurse oder die Auslastung einer technischen Anlage z B durch den Geruch oder W rme bertragen Dabei muss zus tzlich noch auf Latenzzeiten bei der Wahrnehmung geachtet werden 2 2 2 Modalit t als Repr sentation von Information Auch Maschinen verf gen ber
195. per Dom nen Modalit ten M objekte Abbildung 5 6 Die Kombination aus Arch Slinky und multimodalen Pr sentati onskomponenten bildet das multimodale Arch Modell mArch In Abbildung 5 6 ist die kombinierte Architektur zu sehen Das Konzept des Arch Slinky Modells wird zur konzeptionellen Gliederung verwendet Auf der rechten Seite verzweigt sich das Modell zu den einzelnen Modalit ten hin Da mehrere Modalit ten parallel unterst tzt werden und das Modell auf dem Arch Slinky Modell basiert wird es multimodales Arch Modell mArch Modell genannt Das mArch Modell beinhaltet fast die gleichen Komponenten wie das Arch Slinky Modell Die Dom nenobjekte werden im Dom nenmodell durch Klassendiagram me beschrieben Sie legen die Funktionalit t der Anwendung fest Das Verhalten der Dialogsteuerung wird durch das Aufgaben und das Dialog modell beschrieben die bereits in Kapitel 4 Modellieren von Interaktionsan wendungen mit UML eingef hrt wurden F r das Aufgabenmodell werden Ak tivit tsdiagramme f r das Dialogmodell Zustandsdiagramme eingesetzt Da die Verkn pfungen zwischen Dom nenmodell sowie Aufgaben und Dialog modell bekannt sind kann die Dom nenadapter Komponente kompakt realisiert werden Sie leitet lediglich die Aufrufe an Dom nenobjekte weiter Die Anbindung verschiedener Modalit ten geschieht ber die Pr sentationskom ponente Sie vermittelt zwischen dem abstrakten Dialogmodell und
196. production previous inc_volume dec_volume welcome a Klassendiagramm Getr nkeautomat b Klassendiagramm MP3 Player Abbildung 4 2 Links das Klassendiagramm des Getr nkeautomaten rechts das des MP3 Players 74 Modellieren von Interaktionsanwendungen mit UML Das Klassendiagramm des MP3 Players zeigt dass die Klasse Player mit der Klasse Song assoziiert ist Dabei handelt es sich um eine Komposition Ein Objekt der Klasse Player kann beliebig viele Objekte der Klasse Song besitzen Die Song Objekte bilden in diesem Fall die Playlist Nicht abgebildet sind Generalisierungsbeziehungen Diese bezeichnen Vererb ungshierarchien und zeigen welche Klasse eine Ableitung einer allgemeineren Oberklasse ist 4 1 2 Einsatz Mit Klassendiagrammen l sst sich die gesamte Anwendungslogik eines Systems beschreiben Wichtig f r den Einsatz zur Modellierung von Interaktionsanwend ungen ist dass nicht einfach alle Klassen f r die Interaktion verwendet werden Es ist besser die Komplexit t einer Anwendung durch wenige Klassen die als Fassade fungieren zu verbergen Zu diesem Zweck wird das Facade Pattern ein gesetzt 55 Klassen stellen durch ihre Attribute Zustandsvariablen f r die Anwendung zur Verf gung die zur Laufzeit durch die Interaktion mit dem Benutzer ver ndert werden In den Beispielen sind diese das Guthaben eines Benutzers und das aktuelle Lied Durch die bereitgestellten Operationen der Klassen kann von
197. r schiedenen Signale f r Benutzereingaben und die Operationen die aufgerufen werden Zustandsdiagramme k nnen andere Diagramme die ein Verhalten beschreiben aufrufen Dies sind Zustands und Aktivit tsdiagramme Abbildung 4 8 zeigt ein Aktivit tsdiagramm das in den Zustand playing des Zustandsdiagramms in Abbildung 4 5 eingebettet ist Das Aktivit tsdiagramm das den Datenfluss und die Umwandlung der Daten w hrend des Abspielens beschreibt wird durch die Anweisung do AC playing aufgerufen 82 Modellieren von Interaktionsanwendungen mit UML state machine select E select J I 100 addCredit 1 Kaba checkCredit Kaba produce Kaba c50 addCredit 0 5 c20 addCredit 0 2 c10 addCredit 0 1 Kaffee checkCredit Kaffee produce Kaffee Latte checkCredit Latte produce Latte Tee checkCredit Tee produce Tee Capuccino checkCredit Cappuccino produce Cappuccino pggle_irritation milk addMilk cancel cancel sugar addSugar milk addMilk ugar addSugar sugar_and_milk Abbildung 4 7 Zustandsdiagramm des Getr nkeautomaten f r die Auswahl ei nes Getr nks 4 4 Erg nzende Diagramme Es gibt noch weitere Diagramme die im Entwicklungsprozess eingesetzt werden k nnen Diese sind wie das Use Case Diagramm nicht zwingend n tig um eine Interaktionsanwendung zu erstellen unterst tzen aber di
198. r ts erreicht Wie man sieht sind in eine Aktion des MP3 Players und in zwei des Getr nkeautomaten weitere Diagramme eingebettet Dar ber hinaus lassen sich eine Reihe weiterer Elemente verwenden die in den Beispielen nicht ben tigt werden Unterbrechungsbereiche interruptible activity 4 2 Aufgabenmodell 77 activity getraenkeautomaf Ei getraenkeautomat J N start Ze Aa PS hello activity ac player kel ac player 7 start select welcome Player selected production play dialog DrinksVendor sm player SS th remove DrinksVendor a Aktivitatsdiagramm MP3 Player b Aktivit tsdiagramm Getr nkeautomat Abbildung 4 4 Links das Aktivit tsdiagramm des MP3 Players rechts das des Getr nkeautomaten regions k nnen durch Signale abgebrochen werden Mit ihrer Hilfe lassen sich beispielsweise Ausnahmeereignisse beschreiben Aktivit tsbereiche activity partitions erm glichen eine Teilung in verschiedene Bereiche denen sich Rollen zuordnen lassen So lassen sich z B ein Kunde und ein Sachbearbeiter beschreiben die gemeinsam an einer Aufgabe arbeiten aber verschiedene T tigkeiten ausf hren Durch Objektknoten object nodes lassen sich Daten visualisieren die von einer Aktion f r eine sp tere Aktion bereitgestellt werden 4 2 3 Einsatz Aktivit tsdiagramme werden eingesetzt um die Aktionen die ein Benutzer mit einem System er
199. r Call Stack sorgt daf r dass nach einem solchen Aufruf das Programm an der Stelle danach fortgesetzt wird 4 In dieser Arbeit wird der Call Stack zum Speichern der Position in den Diagram men verwendet In UML Diagrammen k nnen wegen Parallelit t mehrere Ak tionen oder Zust nde gleichzeitig aktiv sein Immer wenn in einem Diagramm ein Element durch ein anderes Diagramm genauer spezifiziert wird wird dies in einem Call Stack vermerkt Da bei UML Diagrammen durch Parallelit t Verzwei gungen entstehen wurde f r diese Arbeit die Idee des Call Stacks um Verzwei gungen erweitert Diese Idee wurde bereits 1968 von Hauck und Dent beschrie ben die einen Stack mit zwei Enden in einer Implementierung in Hardware ver wendeten 62 Wegen der m glichen mehrfachen Verzweigungen beim Einsatz eines solchen Stacks f r UML Diagramme wird der Stack Kaktusstack genannt nt bie transit a b SE and SCH exit b m n o Abbildung 6 4 Kaktusstack mit m glichen Operationen 6 2 Ausf hren von UML 115 In Abbildung 6 4 sind die verschiedenen Operationen zu sehen die auf dem Kak tusstack m glich sind Alle Kaktusstacks in der Abbildung besitzen mehrere Ver zweigungen Die einfachste Operation ist ein bergang d h in einem Diagramm wird von einem Zustand zu einem anderen oder einer Aktion zur n chsten ge wechselt Diese Operation wird transit genannt und ndert die Spitze einer Verzweigung von a nach b Wird von einem Diagramm au
200. r Interfaces als Eingabeger t kamen klassisch Tastatur und Maus zum Einsatz Mittlerweile fin den sich Varianten die mit Stiften bedient werden In Abbildung 2 5a sieht man eine aktuelle Anwendung zur Paketverwaltung unter Linux 20 Die klassische GUI ist jedoch ein fensterbasiertes System das bei allen g ngigen Betriebssystemen wie Windows MacOS oder Unix als Interaktionsschnittstelle engl graphical user interface 20 Grundlagen Anwendung findet Dieser Interaktionsstil wird auch WIMP genannt da er Fens ter Icons Men s und ein Zeigegerat Maus verwendet GUIs sind die derzeit am meisten verbreiteten Benutzerschnittstellen im PC Bereich Sie eignen sich besonders gut fiir Aufgaben bei denen bildlich textuell gearbeitet werden muss oder zum Erstellen von grafischen Inhalten wie z B dem Nachbearbeiten von Fotos ntation 1 Search forwards a Debian Aptitude b HTC Touch Abbildung 2 5 Zwei GUIs links eine Text basierte Oberfl che zur Paketverwal tung rechts ein Mobiltelefon mit Touchscreen von HTC http www htc com Wichtige Neuerungen sind zoombare GUIs wie von Perlin und Meyer 1999 vor gestellt 152 sowie die Manipulation von GUIs durch zwei Mause 64 In den letzten Jahren finden auch immer mehr Ger te Verbreitung die ber hrungs empfindliche Oberfl chen zur Eingabe verwenden Diese k nnen mit einem oder mehreren Fingern bedient werden wie z B die Multitouch Oberflache Microsoft
201. raction diagram Interaktionsdiagramm interruptible activity region Unterbrechbarer Aktivit tsbereich lifeline Lebenslinie message Nachricht Botschaft method Methode node Knoten object edge Objektkante object node Objektknoten pattern Muster protocol state machine Protokoll Zustandsautomat state Zustand statechart diagram Zustandsdiagramm state machine Zustandsautomat substate Teilzustand superclass Oberklasse transition Transition Ubergang use case Use Case Anwendungsfall use case diagram Use Case Diagramm Anwendungsfalldiagramm Literaturverzeichnis 1 2 3 4 5 6 7 8 9 10 ActiveCharts http activecharts informatik uni ulm de 2007 ABOWD Gregory BOWEN Jonathan D Dixm Alan HARRISON Michael TOOK Roger User Interface Languages A Survey of Existing Methods Technical report Oxford University Computing Laboratory October 1989 ABOWD Gregory D Agents Communicating interactive processes In INTERACT 90 Proceedings of the IFIP TC13 Third Interational Conference on Human Computer Interaction 143 148 North Holland ISBN 0 444 88817 9 1990 AHO Alfred V SETHI Ravi ULLMAN Jeffrey D Compilers Principles Techniques and Tools Addison Wesley Longman 1985 ALEXANDER Heather Formally based Tools and Techniques for Human Computer Dialogues Ellis Horwood 1987 ANNETT John DUNCAN Keith D Task Analysis and training design Oc cupatio
202. raktion mit dem Benutzer zu steu ern Sie sollte ferner dynamisch um Modalit ten erweiterbar sein Eine solche Architektur sollte vorzugsweise verschiedene Plattformen zur Laufzeit unterst t zen Dies ist dann wichtig wenn mehrere Modalit ten verwendet werden sollen die an jeweils eigene spezielle Plattformen gebunden sind 5 1 Ans tze f r Architekturen Im folgenden werden verschiedene Ans tze f r Architekturen vorgestellt die mo dellbasierte Interaktionsanwendungen unterst tzen Eine gesonderte Kategorie stellen Toolkits dar auf sie wird als erstes eingegangen Bestehende Toolkits sind die am st rksten verbreitete Art Benutzerschnittstel len f r Systeme zu entwickeln Sie erf llen eine Reihe der Anforderungen Sie unterst tzen eine plattformunabh ngige Modellierung sind internationalisier bar und durch Themes personalisierbar Allerdings erf llen sie einige notwendige Anforderungen nicht Sie unterst tzen nicht die parallele Nutzung mehrerer Mo dalit ten und sie bieten auch nicht die M glichkeit eine Anwendung parallel auf mehreren Plattformen verf gbar zu machen Hierf r sind umfassendere Ans tze notwendig 5 1 1 User Interface Management Systeme UIMS Der Ausdruck User Interface Management System UIMS wurde 1982 von Kasik eingef hrt nachdem er untersucht hatte wie grafische Oberfl chen das Gebiet der Mensch Maschine Interaktion erweitern w rden 87 5 1 Ans tze f r Architekturen 93 Ziele
203. rch Aktionen ver ndert werden Jeder Aktionsknoten muss mit den entsprechenden Ein und Ausgaben verbun den werden Hierf r kann ein eindeutiger Name oder eine ID dienen Wie dies umzusetzen ist wird im Kapitel zur Realisierung genauer erl utert 4 3 Dialogmodell Das Dialogmodell beschreibt wie sich die Benutzerschnittstelle einer Anwen dung verh lt Dies geschieht in der Regel in Zusammenarbeit mit dem Pr senta tionsmodell welches die Interaktionselemente dazu bereitstellt siehe Definition 3 Dazu beschreibt das Dialogmodell die m glichen Aktionen des Benutzers und wie die Anwendung darauf reagieren soll In dieser Arbeit werden Zustandsdiagramme eingesetzt falls ein Dialog nicht be reits ausreichend durch eine Aktion aus einem Aktivit tsdiagramm beschrieben werden kann Es muss also nicht zwingend ein gesondertes Zustandsdiagramm f r jede Aktion geben 4 3 1 Zustandsdiagramme Ein Zustandsdiagramm statechart diagram enth lt immer eine Zustandsma schine state machine die das Verhalten von Systemen bei bestimmten Ereig nissen beschreibt Zustandsdiagramme entsprechen weitgehend den auf Seite 49 vorgestellten Zustandsdiagrammen von Harel 4 3 Dialogmodell 79 Ihre Hauptelemente sind Zust nde und Transitionen welche die Zust nde ver binden Sie besitzen Elemente zur Kontrolle der Ablaufsteuerung hnlich zu de nen der Aktivit tsdiagramme Abbildung 4 5 zeigt das Zustandsdiagramm des MP3 Players Ei
204. rd annual conference on Task models and diagrams 33 42 ACM Press New York NY USA ISBN 1 59593 000 0 2004 CONSTANTINE Larry The Peopleware Papers Notes on the Human Side of Programming Prentice Hall Professional Technical Reference ISBN 0130601233 2001 CONSTANTINE Larry L Canonical Abstract Prototypes for Abstract Visual and Interaction Design In JORGE Joaquim NUNES Nuno E CUNHA Joao Falc o Eds Proceedings of DSV IS 2003 volume LNCS 2844 1 15 Springer 2003 CONSTANTINE Larry L LOCKWOOD Lucy A D Usage Centered Enginee ring for Web Applications IEEE Software 19 2 42 50 March 2002 COUTAZ J NIGAY L SALBER D The MSM framework A Design Space for Multi Sensori Motor Systems In 3rd International Conference EWHCI 1993 231 241 1993 CouTAZ Jo lle PAC an object oriented model for dialog design In Human Computer Interaction INTERACT 87 431 436 Elsevier Science Publishers 1987 Coutaz Jo lle NIGAY Laurence SALBER Daniel BLANDFORD Ann May Jon YOUNG Richard M Four easy pieces for assessing the usabili ty of multimodal interaction the CARE properties In Human Computer Interaction INTERACT 95 IFIP TC13 Interantional Conference on Human Computer Interaction 115 120 Chapman amp Hall ISBN 0 412 71790 5 1995 DAN R OLSEN Jr Propositional production systems for dialog descripti on In CHI 90 Proceedings of the SIGCHI conference on Human fa
205. re und dient auch meist als Grundlage f r Techniken der modellba sierten Softwareentwicklung Mitte der 1990er Jahre begannen Anstrengungen um aus der Vielzahl von be stehenden Modellierungssprachen f r objektorientierte Programmierung einen einheitlichen Standard zu schaffen 102 Eine Reihe verschiedenster Beschrei bungssprachen floss im Lauf der Zeit in UML ein Es finden sich in UML z B Teile von Flussdiagrammen die noch sehr hnlich wie 1973 verwendet werden 123 Elemente aus Petrinetzen die zur Beschreibung von Nebenl ufigkeit die nen 153 oder Elemente der oben vorgestellten Zustandsdiagramme Der gro e 3 5 Abstrakte Modelle fiir Interaktion 59 Vorteil der UML ist dass alle diese Konzepte durch eine Metasprache beschrie ben werden k nnen und damit untereinander verkn pfbar sind Die Meta Object Facility stellt einfache grundlegende Konzepte bereit mit denen die Elemente der Sprachpakete beschrieben werden 137 Die wichtigen Elemente f r diese Arbeit werden in der Superstructure Specifica tion festgelegt 142 Dort werden die beiden Bereiche Structure und Behavior unterschieden Structure enth lt Sprachpakete mit denen statische Aspekte von Systemen beschrieben werden davon werden in dieser Arbeit lediglich Klassen diagramme verwendet Behaviors beschreiben das dynamische Verhalten eines Systems zur Laufzeit In ihrem Bereich sind mehr Sprachpakete relevant hier von kommen Use Case Diagramme Aktivit t
206. roberfl chen Master s thesis Universitat Ulm voraussichtlich 2010 KNUTH Donald E backus normal form vs Backus Naur form Commun ACM 7 12 735 736 ISSN 0001 0782 1964 KOVACEVIC Srdjan TACTICS A Model Based Framework for Multimodal Interaction In Proceedings of the AAAI Spring Symposium on Intelligent Multi Media Multi Modal Systems 1994 KOVACEVIC Srdjan UML and User Interface Modeling In BEZIVIN Jean MULLER Pierre Alain Eds UML volume 1618 of Lecture Notes in Com puter Science 253 266 Springer ISBN 3 540 66252 9 1998 KRASNER Glenn E POPE Stephen T A cookbook for using the model view controller user interface paradigm in Smalltalk 80 Journal of Object Oriented Programming 1 3 26 49 1988 LELAND Nancy SHAER Orit JACOB Robert J K TUIMS Laying the Foundations for a Tangible User Interface Management System In Tool kit Support for Interaction in the Physical World Workshop Pervasive 2004 April 2004 LIMBOURG Quentin VANDERDONCKT Jean MICHOTTE Benjamin BOUILLON Laurent LOPEZ JAQUERO Victor UsiXML A Language Sup porting Multi path Development of User Interfaces In Engineering Hu man Computer Interaction and Interactive Systems volume 3425 2005 of LNCS 200 220 2005 Literaturverzeichnis 145 98 99 100 101 102 103 104 105 106 107 108 109 LIMBOURG Quentin VANDERDONCKT Jean SOUCHON Nathalie Th
207. roduce Kaba c50 addCredit 0 5 c20 addCredit 0 2 c10 addCredit 0 1 Kaffee checkCredit Kaffee produce Kaffee Latte checkCredit Latte produce Latte Tee checkCredit Tee produce Tee Capuccino checkCredit Cappuccino produce Cappuccino pggle_irritation sugar addSugar milk addMilk cancel cancel milk addMilk sugar_and_milk sugar addSugar Abbildung 3 12 Zustandsdiagramm zur Beschreibung des Verhaltens der Aktion select Es zeigt die Auswahl eines Getr nks einer Sprachfamilie da die verschiedenen Diagramme alle durch die selbe Me tasprache beschrieben werden Bei UML werden die Elemente anhand von IDs miteinander verkn pft so dass sie bei einer Ver nderung automatisch aktuali siert werden F r UML existiert eine gro e Auswahl an Modellierungswerkzeugen von rein grafischen Editoren hin zu Systemen die Codegenerierung aus Diagrammen oder Roundtrip Engineering bieten Dank dieser weitreichenden Werkzeugun terst tzung stellt UML einige weitere Vorz ge bereit So lassen sich Pr fungen durchf hren ob Elemente verkn pft sind so dass z B eine verkn pfte Methode nicht einfach gel scht werden kann UML ist eine sehr weit verbreitete Beschreib ungssprache die in vielf ltigen Bereichen Anwender besitzt Das Fehlen von Pr sentations und Kontextmodellen ist nur bedingt ein Nachteil f r den Ei
208. rt Alternativen anzubieten und den Dialog mit dem Benutzer weiterzufiihren 22 Grundlagen Tangible User Interfaces TUIs Eine Modalitatskategorie die in den letzten Jahren mehr Verbreitung findet sind Tangible User Interfaces TUIs die manchmal auch als Reality based User Interfa ces RBIs bezeichnet werden TUIs sind Benutzerschnittstellen bei denen einzel ne physikalische Objekte vom Benutzer manipuliert werden k nnen Die Objekte sind dabei Repr sentanten von digitaler Information mit der ein Benutzer durch sie interagiert Wie Rekimoto 2008 beschrieben hat ist der gr te Unterschied von TUIs zu GUIs dass die manipulierbaren Benutzerschnittstellen organischer und f r den Anwender gewohnter sind 165 Auch Jacob sieht einen Trend zu TUIs und zeigt auf wie sie sich allm hlich in den allt glichen Ger ten verbreiten 81 Ein Beispiel f r ein TUI ist Urban Planning URP das von Underkoffler und Ishii 1999 vorgestellt wurde 192 URP ist ein experimentelles System zur St dte planung das in Abbildung 2 6 gezeigt wird Ein Benutzer kann Geb udemodelle aus Drahtgestellen bauen und auf eine Oberfl che stellen Je nach eingestell ter Tageszeit werden die jeweiligen Beleuchtungsverh ltnisse auf der Oberfl che dargestellt indem die Geb ude Schatten werfen Durch die Ver nderung der Ta geszeit kann ein Benutzer sehen welche Geb udeteile abgeschattet werden Zu s tzlich l sst sich die Transparenz der Schatte
209. rzust nde enthalten In diesem Fall muss der Kaktusstack aktualisiert werden 15 18 Ansonsten verbleiben noch zwei F lle ein einfacher Zustand oder ein Endzustand kann erreicht wor den sein Bei einem einfachen Zustand wird die Transition auf dem Kaktusstack nachvollzogen und anschlie end eine Aktualisierung der Ausgabe durchgef hrt 21 24 Falls ein Endzustand erreicht wurde wird der Strang des Kaktusstacks ben tigt von dem die Transition ausging Dessen Zustandsmaschine wird been det 27 Nach der Beendigung des Zustandsdiagramms ist im dar ber liegenden Aktivit tsdiagramm eine Aktion beendet und von ihr aus muss die passende Ed ge zur n chsten Aktion traversiert werden Zu diesem Zweck erfolg ein Aufruf f r Algorithmus 2 28 6 2 4 Anbindung von Klassendiagrammen Sowohl in Zustands als auch in Aktivit tsdiagrammen k nnen Operationen auf Klassen integriert sein Die Operationen werden bei einem Zustandsdiagramm durch Effects entlang von Transitionen oder innerhalb von Zust nden OnEnter OnExit do ausgef hrt In Aktivit tsdiagrammen k nnen Aktionen als CallOpe rationActions auf Methoden von Klassen verweisen UML besitzt ein fertiges Mapping durch ein Binding von Behaviors an Methoden von Klassen Zur Anbindung m ssen daher nur die ben tigten Methoden mit Transitionen oder Aktionen verkn pft werden F r die Modellierung von Anwendungen wird in der Regel eine Vielzahl von Klas sen verwendet Zur Beschreibung de
210. s Getranks 220 3 13 UML im Klassifikationsframework 00 4 1 Zusammenhang zwischen den eingesetzten UML Diagrammen 4 2 Links das Klassendiagramm des Getr nkeautomaten rechts das des MP3 Players 2 03 NA Se an ee Bs 4 3 Use Case Diagramm mit zwei Use Cases 0 4 4 Links das Aktivit tsdiagramm des MP3 Players rechts das des Ge tr nkeautomaten soa 4 5 Zustandsdiagramm f r den MP3 Player Der Oberzustand enth lt drei Regionen mit parallel aktiven Zustandsdiagrammen 4 6 Zustandsdiagramm des Getr nkeautomaten mit Begr ung und Geld CINWUTE A er na he RE BS T ee ae A 4 7 Zustandsdiagramm des Getr nkeautomaten f r die Auswahl eines Getr nks e ANEN ee ee Bas Ar aan 4 8 Aktivit tsdiagramm f r das Wandeln von MP3 zu PCM 4 9 Links das Aktivit tsdiagramm des MP3 Players rechts das Zustands diagramm der Aktion play dialog 2 2 2 22 2 4 10 Glade User Interface Designer rechts im Kontextmen die Verkn p fung eines Buttons mit einem Event 2 2 2 nn 5 1 Das Seeheim Modell 5 2 Das Arch Modell nach 12 2 2 2 oc Comm 5 3 Das Slinky Metamodell nach 12 2 2 2 2 2 0 5 4 Komponenten des MVC Konzepts Zwei parallele Views 5 5 PAC Agenten in hierarchischer Anordnung Die Agenten beschreiben die Teile eines Fensters Der oberste Agent steuert das Fenster und besitzt weder Abstraction noch Presentation
211. s Verhaltens der Benutzerschnittstelle einer Anwendung kann die Verwendung einer vollst ndigen Modellierung zu komplex sein F r diesen Zweck l sst sich eine Klasse mit ausgew hlten Methoden eines Ein Zustand der keine Unterzust nde enth lt 6 2 Ausf hren von UML 121 Subsystems erstellen Sie delegiert die Funktionalit t an andere Klassen des Sub systems und bietet durch die Auswahl an Methoden eine vereinfachte Schnittstel le Eine solche Klasse implementiert das Fassaden Pattern engl facade pattern von Gamma et al 55 Eine Klasse die eine Fassade verwendet kann nicht feststellen dass diese andere Klassen verbirgt Durch diesen Mechanismus las sen sich Klassen die nicht f r das Verhalten der Benutzerschnittstelle ben tigt werden verbergen In Abbildung 6 7a ist die Klasse Player des MP3 Players zu sehen Sie wirkt als Fassade und verbirgt die Implementierung der Playlist state machine sm player amp sm player J inc_volume Player inc_volume USSEN dec volume Player dec_volume previous Player previous next Player next song package Data E Player2 stop Player stop Player play Player play stopped title playlist p Player stop play pause Player pause pause stop playing next do AC playing Play Player paus previous inc_volume dec_volume uit welcome paused
212. s ein anderes Dia gramm betreten so bleibt die aufrufende Aktion bzw der aufrufende Zustand aktiv Daf r existiert die Operation enter_and_keep die in der Abbildung den Knoten b des zweiten Stacks aktiv bel sst und drei weitere Enden m n 0 zum Kaktusstack hinzuf gt Durch die Operation exit wird der Stack zur ckgebaut In der Abbildung bewirkt exit von Knoten b aus dass die Knoten m n und o vom Stack entfernt werden Am Beispiel des MP3 Players entspricht diese Opera tion dem Verlassen der Aktion sm player Das enthaltene Zustandsdiagramm mit allen aktiven Regionen wird in diesem Fall abgebrochen 6 2 2 Aktivit tsdiagramme Nach der Einf hrung des Kaktusstacks wird im Folgenden beschrieben wie Akti vit tsdiagramme ausgef hrt werden Die realisierte Dialogsteuerung verwendet nur einen Teil aller Modellelemente der Aktivit tsdiagramme Activity Activity Node in verschiedenen Auspr gungen ActivityEdge und ActivityGroup Dieses Subset ist auf alle Elemente erweiterbar Abbildung 6 5 zeigt einen berblick ber die wichtigsten verwendeten Elemente von Aktivit tsdiagrammen und die Relationen zwischen ihnen ActivityNodes k nnen Aktionen Actions oder Kontrollknoten sein Zur Steue rung von Abl ufen lassen sich DecisionNodes MergeNodes ActivityFinalNodes und InitialNodes einsetzen Die Verbindungen zwischen Aktionen und Steuerele menten werden durch die ActivityEdges beschrieben In der Implementierung des mArch Framewor
213. s hat sich schon fr h herausgestellt dass eine Trennung von Inhalt und Form sinnvoll ist So wurde 1994 die erste Version von Casca ding Style Sheets CSS eingef hrt welche verschiedene Formatierungen und Positionierungsm glichkeiten erlaubt 208 In der Regel ist jedoch mindestens die Interaktionslogik des Dialogs mit dem restlichen Programm vermischt hinzu kommen Teile welche die Eingabe berpr fungen vornehmen und nicht direkt mit der Interaktionslogik zu tun haben Bei einem sauberen Entwurf sind zu mindest die Interaktions und die Anwendungslogik von einander getrennt Die Trennung in die Bestandteile Inhalt Logik und Form ist schon l nger bekannt auch wenn sich erst um das Jahr 2000 Publikationen wie von Kerer und Kierda des Themas annahmen 89 2 2 Modalit ten Menschen senden und empfangen laufend Botschaften So wurde von Watzla wick im Metakommunikativen Axiom postuliert dass es unm glich ist Nichts zu kommunizieren 202 Arbeitet man mit einem Computer so l uft die Interaktion mit dem Ger t zwar anders ab als zwischen Menschen folgt aber dem gleichen Grundmuster Der Benutzer nimmt Eingaben am Computer vor und der Computer reagiert darauf mit Ausgaben Beides wird ber eine Reihe von Kan len bertragen 2 2 1 Sinnesmodalit ten Systemtheoretisch betrachtet handelt es sich bei Sinnesmodalit ten um die Kan le ber die Nachrichten ausgetauscht werden In der Medizin wurden diese Kan le bereits 1837 v
214. s keine Aussagen getroffen werden Es wird zwar eine grobe Strukturierung vorgeschlagen doch keine spezifischen Notationen eingesetzt da es sich nur um einen konzeptionellen Ansatz handelt Eine Erweiterung des Systems bleibt aber m glich Der Ansatz ist universell ge nug um auf beliebige Anwendungen bertragbar zu bleiben Nach dieser Ver ffentlichung von Abowd et al gab es bis zur Ver ffentlichung des Cameleon Frameworks das im n chsten Abschnitt vorgestellt wird keine Arbeiten die dediziert Modelle und ihre Zusammenh nge betrachtet 3 2 3 Cameleon Framework 2003 stellten Calvary et al ein Framework f r Benutzerschnittstellen mit vielen Zielplattformen vor 26 welches im Rahmen des Cameleon Forschungsprojekts 3 2 Ans tze zur Klassifikation 41 entwickelt wurde Vanderdonckt et al nutzten dieses Framework als Basis fiir USIXML einer Notation die im Anschlu vorgestellt wird und den Kern des Frameworks kompakt pr sentiert 196 Das Framework gibt vor dass eine Notation f r Benutzerschnittstellen eine Be schreibung auf verschiedenen Ebenen vornehmen muss Jede Ebene ist dabei auf eine Aufgabe spezialisiert wie in Abbildung 3 1 illustriert Die Ebene Tasks and Concepts beschreibt die auszuf hrenden Vorg nge und die dom nen spezifischen Konzepte die f r die Vorg nge n tig sind Die Ebene des Abstract User Interface bestimmt den Raum der Interaktion Teil aufgaben werden hier zusammengefasst Pattern
215. s verwendet und Analysen der ben tigten kognitiven Kapazit ten lassen sich durchf hren Das UI ist noch un abh ngig von Modalit ten Auf der Ebene des Concrete User Interface werden konkrete Interaktionsobjekte ausgew hlt Interaktionsobjekte k nnen z B Elemente aus Toolkits sein Diese Ebene ist noch unabh ngig von der endg ltig verwendeten Plattform Die Ebene des Final User Interface beschreibt das ausf hrbare User Interface Das FUI wird entweder interpretiert wie z B eine Webseite oder besteht aus bin rem Code y Reifikation A Abstraktion lt gt Translation Abbildung 3 1 Modelltransformationen im Cameleon Framework Das Cameleon Framework beschreibt Transformationen zwischen den verschie denen Ebenen Es ist m glich von einer Ebene zu einer h heren zu abstrahieren 42 Klassifikation bestehender Ans tze Abstraktion oder zu einer tieferen zu konkretisieren Reifikation Innerhalb einer Ebene kann zwischen zwei Kontexten bersetzt werden So kann beispiels weise zwischen einem FUI in HTML und WML in beide Richtungen eine Uber setzung Translation stattfinden Die Translation zwischen verschiedenen Kon texten wurden bisher nur von Calvary et al beschrieben 26 Das Cameleon Framework ist dabei unabh ngig vom Entwicklungsansatz Es kann klassisch im Wasserfallmodell entwickelt werden wobei nur Reifikationen stattfinden aber auch Reverse Engineering wird durch die Abstraktion vorge sehen Es h
216. satz der Notation zur Interak tionsmodellierung Das folgende Kapitel geht detaillierter auf die Modellierung mit UML ein Im Anschluss wird eine Architektur zur Verwendung der Modelle beschrieben bevor ein Kapitel die prototypische Realisierung beschreibt Modellieren von Interaktionsanwendungen mit UML Die Idee ist das Absolute und alles Wirkliche ist nur Realisierung der Idee Georg Wilhelm Friedrich Hegel 1770 1831 Im vorangegangenen Kapitel wurde die Unified Modeling Language UML als Notationen f r Interaktionsanwendungen ausgew hlt Die UML ist in ihren ein zelnen Sprachpaketen deutlich m chtiger als ihre Konkurrenten Mittlerweile ist sie au erdem eine so weit verbreitete Notation dass sie als lingua franca der Software Ingenieure gilt Es existieren mehrere Versionen im April 2005 wurde von der Object Management Group der neue Standard UML 2 0 offiziell verab schiedet dieser Arbeit liegt die Version 2 2 von 2009 zu Grunde 141 142 In diesem Kapitel wird detailliert beschrieben wie man Interaktionsanwendung en mit UML modelliert Ein Beitrag dieser Arbeit ist eine Verfahrensbeschrei bung die eine Anleitung zur Modellierung von Interaktionsanwendungen mit UML gibt Es ist nicht Ziel dieses Kapitels eine umfassende Einf hrung in UML zu geben hierzu sei auf die B cher von Jeckle et al oder Kecher verwiesen 85 88 Da die UML aus einer Reihe von Notationen entstand enth lt sie mittlerweile 14 v
217. schehen kann und wie die Generierung von Benutzerschnittstellen durch die verschiedenen Modelle beeinflusst wird Im anschlie enden Abschnitt wird auf die Fusion der Eingabe eingegangen Weil diese Arbeit den Fokus auf die Be schreibung des Verhaltens von modellbasierten Benutzerschnittstellen legt wird lediglich ein kompakter berblick ber bestehende Arbeiten zu den Themen Fu sion und Fission gegeben 5 3 1 Fission Das Konzept der Fission ist die Verteilung von Ausgaben an alle beteiligten Mo dalit ten Dazu werden die Nachrichten der Dialogsteuerung von der Mapper Komponente kopiert und an alle verf gbaren Modalit ten gesendet Es gibt verschiedene M glichkeiten wie die Nachrichten verarbeitet werden k n nen Die einfachste M glichkeit ist der Einsatz von fertigen Templates die f r die verschiedenen Dialogschritte ausgegeben werden Alternativ kann die gesamte Benutzerschnittstelle entweder vor der Benutzung des Systems oder fortlaufend zur Laufzeit generiert werden Der erste Ansatz ist mit der Model Driven Architecture MDA verwandt 135 Dabei entspricht das Platform Independent Model PIM der Interaktionsbeschreibung und das Plat form Specific Model PSM einem erzeugten System mit eingebundenen Benut zerschnittstellen f r bestimmte im Voraus festgelegte Modalit ten Der Ansatz die Benutzerschnittstelle vor der Benutzung zu erzeugen hat den Vorteil auch auf wenig leistungsf higen Endger ten eingesetzt werden zu
218. scheinlichkeit 104 Architekturen fiir multimodale Benutzerschnittstellen geliefert Die Eingaben durch verschiedene Modalit ten werden w hrend der Fusion unter Ber cksichtigung ihrer Wahrscheinlichkeiten verkn pft und dann die wahrscheinlichste Eingabe als Ergebnis verwendet 5 4 Fazit Die ersten Kapitel der Arbeit analysierten den Problemraum f hrten ein Klas sifikationsframework ein und w hlten UML als Notation f r abstrakte Interakti onsbeschreibungen Im vorangegangen Kapitel 4 Modellieren von Interaktions anwendungen mit UML folgte eine detaillierte Verfahrensbeschreibung wie mit UML Interaktionsanwendungen modelliert werden k nnen Dieses Kapitel analysiert bisherige Ans tze von Architekturen f r multimoda le Anwendungen Die bisherigen Ans tze sind konzeptioneller Art und nur be dingt f r multimodale Anwendungen die zugleich verteilte Modalit ten einset zen k nnen geeignet Mit dem mArch Modell wurde eine Synthese aus dem Arch Slinky Ansatz und multimodalen Pr sentationskomponenten vorgestellt Diese Software Architektur ist f r multimodale Anwendungen mit verteilten Mo dalit ten geeignet und erm glicht den plattform bergreifenden Einsatz von An wendungen Verfahren zur Fusion und Fission werden in dieser Arbeit ausgeklammert So wohl Fusion als auch Fission sind umfassende Themenfelder welche deutlich ber das Gebiet dieser Arbeit hinausgehen Die Funktionsweisen beider Verfah ren wurden
219. sdiagramme Zustandsdiagramme und Sequenzdiagramme zum Einsatz Durch UML lassen sich die relevanten Modelle f r interaktive Benutzerschnitt stellen abdecken Das Dom nenmodell ist mit Klassendiagrammen gleichzuset zen Mit Klassendiagrammen k nnen Klassen ihre Attribute Methoden mit ihren Parametern und Vererbungshierarchien beschrieben werden Zus tzlich erm g lichen sie auch Beziehungen zwischen Klassen wie Aggregation oder Kompositi on Auch Assoziationen wie in Entity Relationship Modellen sind m glich um die Multiplizit t einzelner Attribute beschreiben zu k nnen Aktivit tsdiagramme k nnen als Aufgabenmodell eingesetzt werden Genau ge nommen entspricht eine Aktion innerhalb der Diagramme gerade der Definiti on eines Tasks Diese Diagramme beinhalten eine Ablaufsteuerung und k nnen zus tzlich Nebenl ufigkeit das Abbrechen ganzer Bereiche und den Fluss von Objekten zwischen Aktionen beschreiben Analog zu ConcurTaskTrees gibt es die M glichkeit hierarchische Diagramme aufzubauen da eine Aktion als Beschrei bung ihres Verhaltens wieder ein Aktivit tsdiagramm enthalten darf Im Gegensatz zu ConcurTaskTrees und UsiXML existiert mit den Zustandsdia grammen ein eigener Diagrammtyp zur Beschreibung des Verhaltens von einzel nen Dialogen Bei der Modellierung mit UML wird das Dialogmodell aus diesem Grund nicht aus dem Aufgabenmodell abgeleitet sondern eigens erstellt Zu standsdiagramme entsprechen weitgehend den in Abs
220. sentation in der Regel um mehr als 90 Dateigr e Zeilen Diagramm vorher nachher vorher nachher Reduktion Getr nkeautomat 516 4kB 20 3 kB 9816 630 96 1 MP3 Player 547 5 kB 17 9 kB 10514 600 96 7 Tabelle 6 1 Einsparungen durch Reduktion der UML Diagramme Prozentsatz auf Dateigr e bezogen Es gibt zwei M glichkeiten die vorliegenden Diagramm zu parsen Tree oder Stream basiert Tree basierte Parser lesen das komplette X lt ML Dokument ein und erzeugen daraus einen Baum im Hauptspeicher Das W3C hat f r diese Zu griffsart mit dem Document Object Model DOM eine Schnittstelle entwickelt 6 1 Aufbau des User Interface Management System Frameworks 109 213 211 Beim Stream basierten Parsen werden nur Funktionen definiert die aufgerufen werden sobald der Parser auf ein bestimmtes Tag trifft Auch hierftir existiert mit der Simple API for XML SAX eine standardisierte Schnittstelle die durch eine Gruppe informell kooperierender Autoren der XML DEV Mailingliste entstand 106 SAX Parser sind ressourcenschonender da nicht das komplet te Dokument in Strukturen im Speicher gewandelt werden muss Daf r ist die Navigation im XML Dokument erschwert DOM Parser haben einen h heren Res sourcenverbrauch da das komplette Dokument eingelesen wird Ihr Vorteil ist dass sehr einfach auf alle Teile eines XML Dokuments zugegriffen werden kann Durchl ufe Parser total real kBps
221. sifikationsframework Um eine umfassende Klassifikation des Einsatzes von Modellen f r Benutzer schnittstellen vornehmen zu k nnen ist auch das Cameleon Framework nicht ausreichend Das Cameleon Framework konzentriert sich auf die Transformatio nen zur Abstraktion Reifikation und Translation zwischen Modellen Es fehlen M glichkeiten eine Reihe von Teilmodellen detaillierter zu beschreiben Im Folgenden wird das Models and Mappings Klassifikationsframework vorge stellt das f r diese Arbeit entwickelt wurde Es ist zus tzlich um ein Ger te modell ein Benutzermodell und ein Umgebungsmodell erweitert Ein Evaluati onsmodell wird f r die Klassifikation vorgesehen ist aber f r die Erstellung von interaktiven Anwendungen nicht direkt notwendig 44 Klassifikation bestehender Ans tze Zus tzlich zu den Modellen muss eine Klassifikation Aussagen ber die relevan ten Mappings zwischen den Modellen treffen k nnen Es spielt eine gro e Rolle ob es sich bei einem Mapping um eine Verkn pfung oder eine Transformation von Modellen handelt Hierzu werden die verschiedenen Arten von Mappings aus Abschnitt 3 1 3 herangezogen In Abbildung 3 3 sieht man das Models and Mappings Klassifikationsframework In der Abbildung sind f r alle verwendbaren Modelle Bereiche vorgesehen Task steht f r das Aufgabenmodell Domain f r das Dom nenmodell Dialog f r das Dialogmodell Presentation f r das Pr sentationsmodell Device bezeichnet das
222. sse mit dem Mapper Sie besitzen zwei Queues f r Nachrichten eine zum Senden und eine zum Empfangen Im Folgenden wird am MP3 Player exemplarisch beschrieben wie solche Komponenten zusammen wirken Im Prototyp sind drei Modalit ten implementiert eine grafische Schnitt stelle eine Sprachschnittstelle sowie eine Schnittstelle f r tangible Interaktion durch Wii Remotes Jede dieser Komponenten wird durch eine eigene Klasse im plementiert wie Abbildung 6 8 zeigt package Data ES Mods cul in_q Queue call_method perform id show_dialog SpeechUl sphinx recognizer show_dialog clicked widget update show_dialog update wii_events show_dialog update Abbildung 6 8 Ableitung der Klassen SpeechUI GladeUI und WiiUI von der Klasse CUI 6 2 Ausf hren von UML 123 Grafische Benutzerschnittstelle Die fiir den MP3 Player erstellte GUI verwendet Glade und damit GTK2 199 198 Das mArch Framework erm glicht dass statt dessen ein beliebiges ande res Toolkit verwendet werden kann Die Glade Komponente ist erweiterbar so dass z B auch die Mechanismen f r Internationalisierung noch genutzt werden k nnen 116 In Abschnitt 4 5 3 wurde bereits der Glade User Interface Designer vorgestellt mit dem grafische Oberfl chen modelliert werden k nnen In Abbildung 6 9 ist eine GUI f r den MP3 Player zu sehen die mit dem User Interface Designer
223. t In Abbildung 6 11a wird zuerst die Aktion welcome betreten Die GUI des MP3 Players zeigt zur Begr ung des Benutzers einen kurzen Begr ungsdialog an Durch die Sprach schnittstelle wird eine Begr ung ausgegeben und die Wiimote l t ihre LEDs aufleuchten Nach Beendigung der Begr ung wird die Aktion sm player betreten Diese Aktion f hrt zur Anzeige der GUI in Abbildung 6 9 Sobald der Benutzer eine Schaltfl che der GUI bet tigt z B Wiedergabe empf ngt die Komponente der GUI vom Toolkit ein entsprechendes Event Der Name des Events wird von der 126 Realisierung eines Software Frameworks GUI als Nachricht an den Mapper gesendet Da mit dem MP3 Player fast immer eine Musikausgabe erfolgt wird eine Sprachausgabe w hrend der Bedienung vermieden Auch ber die Wiimote werden keine Ausgaben vorgenommen Ein gaben ber Sprachbefehle oder Aktionen mit der Wiimote werden wie bei der GUI in Nachrichten f r den Mapper gewandelt Der Mapper kann mehrere Einga ben bei Bedarf fusionieren und reicht das Ergebnis als Trigger an die Dialogsteue rung weiter Die Dialogsteuerung verarbeitet den Trigger und betritt gegebenen falls neue Zust nde oder f hrt Aktionen aus Die Dialogsteuerung informiert den Mapper ber Ver nderungen damit dieser ein Update der Benutzerschnittstel len bewirken kann Durch die damit verbundene Systemantwort schlie t sich der Kreis der Interaktion zwischen Dialogsteuerung und Benutzer state
224. t t die es bereits seit ber zehn Jahren gibt und die in den letzten Jahren eine gr ere Verbreitung gefunden hat ist direkte Eingabe durch Touch bzw Multitouch Touch bedeutet dass durch die Ber hrung eines Displays direkt mit Objekten gearbeitet werden kann Bei Multitouch lassen sich mehrere Finger gleichzeitig einsetzen Touch ist mit der Eingabe durch Tastaturen verwandt und ein Spezialfall einer GUI Vorteile von Touch sind die einfache Interaktion und dass keine zus tzlichen Eingabeger te wie eine Maus ben tigt werden Nachteile sind die geringere Pr zision der Eingaben Erm dung bei langer Benutzung und Verschmutzung des Displays 207 2 3 Modelle 25 2 3 Modelle In den vorherigen beiden Abschnitten dieses Kapitels wurde der Begriff der Inter aktion eingef hrt und die Art in der Benutzer mit Anwendungen interagieren gekl rt Im Folgenden wird der Begriff des Modells betrachtet Im Folgenden wird der Begriff des Modells untersucht Bei der Erstellung von Anwendungen soll systematisch und geplant vorgegangen werden Dies ist Thema des Bereichs Software Engineering 180 Ein Modell ist eine abstrakte Beschreibung der Wirklichkeit anhand derer Aussagen ber das Verhalten Daten und die Zusammensetzung aus Komponenten der Anwendung getroffen werden k nnen Die modellbasierte Entwicklung von interaktiven Systemen um die es in die ser Arbeit geht zielt darauf ab Modelle mit einem hohen Abstraktionsgrad zu iden
225. tales Modell wel ches mit dem vorhandenen Dom nenmodell verglichen werden kann um Ab weichungen und damit potentielle Missverst ndnisse fr hzeitig zu erkennen Ein User Dialog Mapping kann verwendet werden um zu berpr fen wie gut ein Benutzer der Navigation durch die verschiedenen Tasks folgen kann Das Environment User Mapping beschreibt die Einfl sse der Umgebung auf den Benutzer So k nnen z B weitere Menschen in der N he eines Benutzers dazu f hren dass dessen Vorlieben f r Modalit ten sich ndern Manche Benutzer st ren sich an Benachrichtigungen durch Tonsignale oder Sprache Wie durch die Auflistung klar wird existieren eine ganze Reihe von Mappings Diese k nnen unterschiedlich komplex sein da jedes Modell verschieden viele Arten von Elementen enthalten kann Ein Ziel dieser Arbeit ist es die Anzahl an Mappings zu reduzieren Dies kann durch geschickte Wahl von Notationen und die Wahl der richtigen Werkzeuge geschehen Die Problematik kann dabei nicht umgangen werden es ist lediglich m glich auf vorhandene Mappings zur ckzu greifen und diese wiederzuverwenden Dabei spielt die Art des Mappings eine Rolle 3 1 3 Arten von Mappings und Problemen Wie in den letzten Abschnitten schon anklang existieren verschiedene Arten von Mappings Modelle k nnen mit einander verbunden sein und aus einem Mo dell kann ein neues abgeleitet werden Auch in der bestehenden Literatur wurde dieses Thema behandelt Limbourg et a
226. teht eine Operation auf einem Dom ne nobjekt in der gleichen Schreibweise Vorteilhaft ist daf r dass durch die Klam merung von Ausgabeereignissen eine saubere Schnittstelle zum Pr sentations modell vorhanden ist Im Klassifikationsframework werden bei dieser Notation zus tzlich zum Dialogmodell die Verbindungen zu Pr sentations und Dom nen modell gekennzeichnet Nach ihrem H hepunkt in den 1980er und 1990ern hat die Verbreitung solcher Systeme zu Gunsten anderer Verfahren nachgelassen 3 4 3 Zustandsdiagramme Zustandsdiagramme engl state charts oder state transition networks existieren schon seit den 1950ern Sie sind gerichtete Graphen in denen Knoten Zust nde markieren und Kanten berg nge bezeichnen 105 113 Harel erweiterte die Zustandsdiagramme 1987 um Hierarchie und Nebenl ufig keit um dadurch die Anzahl von Knoten im Zustandsraum reduzieren zu k n nen 58 59 Abbildung 3 4 zeigt einen Teil eines Zustandsdiagramms einer Uhr Durch eine gestrichelte Linie wird angezeigt dass nebenl ufige Zust nde existie ren In der Abbildung ist die Zeitmessung nebenl ufig zur Anzeige der Uhrzeit Bereits 1968 stellte Newman ein System vor bei dem das Verhalten einer GUI durch austauschbare Zustandsdiagramme beschrieben wird 124 Auch heu 50 Klassifikation bestehender Ans tze Abbildung 3 4 Ausschnitt aus dem Zustandsdiagramm einer Uhr nach der ur spr nglichen Arbeit Harels von 1987 te werden reine Z
227. tellte Framework verbirgt die meisten seiner Klassen vor dem Anwender In Abbildung 6 12 sind die wichtigsten Klassen des Frameworks zu sehen mit denen Entwickler in Ber hrung kommen package Data amp Anwendung mit Framework ThreadedApp UIModel current_nodes current_states 1 Application 1 UlBuilder 1 Mapper 1 4 1 cul in_q 1 _ call_method perform id show_dialog GladeUI glade dialog clicked widget show_dialog update Abbildung 6 12 Die wichtigsten Klassen des Frameworks Im Folgenden wird nun beschrieben wie Entwickler das Framework einsetzen k nnen um Anwendungen zu schreiben und neue Modalit ten in das Frame work zu integrieren 6 3 1 Regul rer Einsatz Im normalen Einsatz des Frameworks werden Anwendungen modelliert Der Ge tr nkeautomat dient im Folgenden als Beispielanwendung 128 Realisierung eines Software Frameworks Zuerst m ssen Diagramme entwickelt werden welche die Funktionalit t der ent sprechenden Anwendung und das Verhalten der Benutzerschnittstelle festlegen Beim Getr nkeautomat sind dies ein Klassendiagramm ein Aktivit tsdiagramm und zwei Zustandsdiagramme vgl die Abbildungen 4 2a 4 4b 4 6 und 4 7 Im zweiten Schritt sind Beschreibungen f r die Modalit ten zu erstellen Beim Getr nkeautomat wird ein
228. tform vorgenommen Von einer Anwendung zum Abspielen von Musik werden zum Beispiel ein Modell des Verhaltens und ein Klassendiagramm erstellt Diese bilden zusammen das PIM Durch eine Trans formation wird Code f r eine Desktopanwendung in der Sprache C erzeugt Durch eine weitere Transformation wird aus dem PIM Code f r ein Mobiltelefon in C erzeugt Diese beiden erzeugten Programme sind plattformabh ngig und bilden somit jeweils ein PSM An ihnen m ssen nur noch wenige Anpassungen vorgenommen werden damit der Programmcode auf den Zielplattformen aus f hrbar ist 2 4 Fallbeispiele In den n chsten Kapiteln werden die Eigenschaften von Modellen die Erstellung von multimodalen Benutzerschnittstellen und andere Aspekte vorgestellt Anhand ausgew hlter Fallbeispiele werden die theoretischen Aspekte erl utert Als Beispiele wurden ein Getr nkeautomat und ein MP3 Player ausgew hlt Bei de konzentrieren sich auf jeweils eine kleine Menge von m glichen Interaktio nen Sie werden hier kurz eingef hrt um sp ter auf sie zur ckgreifen zu k nnen 5Name von der Object Management Group markenrechtlich gesch tzt 2 4 Fallbeispiele 27 2 4 1 Getr nkeautomat Getr nkeautomaten wie in Abbildung 2 8a gibt es in vielen gr eren Einrich tungen Manche Firmen bieten ihren Angestellten kostenlos warme Getr nke an in diesem Beispiel soll jedoch f r die Leistungen bezahlt werden Da f r diese Arbeit der Bau eines solchen Ger
229. tifizieren Sie erlauben es ein System auf einer semantisch orientierten Ebe ne zu spezifizieren und zu analysieren 146 Aus einer Spezifikation kann eine Anwendung generiert werden Deklarative modellbasierte Ans tze bieten nach Nunes drei Vorteile 132 1 Sie bieten eine abstrakte Sicht auf die Benutzerschnittstelle und erlauben es damit sich erst sp ter mit primitiveren Details zu besch ftigen Dabei f rdern sie die Exploration und Innovation 2 Sie erm glichen Methoden die systematisches Design unterst tzen 3 Sie liefern die Infrastruktur die zur Automatisierung der Prozesse der Ge staltung und Erzeugung von Benutzerschnittstellen ben tigt wird F r interaktive Anwendungen spielen haupts chlich das Verhalten der Anwen dung gegen ber dem Benutzer und die Interaktionsm glichkeiten des Benutzers eine Rolle Modelle lassen sich f r verschiedene Zwecke einsetzen Zun chst wird vorge stellt wie Software modellgetrieben entwickelt wird danach wie Modelle direkt ausgef hrt werden k nnen Model Driven Software Development Im Software Engineering wurde ber mehrere Jahre der Einsatz von Modellen zur Codegenerierung erforscht Dies geschah da im Lauf der Zeit die zu ent wickelnden Systeme immer komplexer wurden und nderungen an ihnen sich darum sowohl w hrend der Entwicklung als auch in der Wartungsphase immer aufw ndiger gestalteten Erschwerend kommt hinzu dass viele Plattformen wie 26 Grundlagen
230. tion 7 Multimodalit t Treten in einem Dialog mehrere Ein oder Ausga bemodalit ten parallel oder sequentiell auf oder berlappen sie sich im zeitlichen Ablauf so wird dies multimodal genannt Falls w hrend der Durchf hrung einer Interaktion die Modalit t gewechselt wird oder falls zwei Modalit ten vorhanden sind die sonst unabh ngig genutzt wer den die in diesem Fall aber berlappend f r verschiedene Teile einer Interaktion genutzt werden so hei t dies transmodal Eine Eingabe bei der ein Benutzer gleichzeitig auf ein Objekt deutet und dazu ein Kommando durch Sprache sagt ist ein Beispiel f r Transmodalit t Sowohl Sprache als auch Gestik k nnen als eigenst ndige Modalit ten genutzt werden hier sind sie jedoch zu einer Interak tion verquickt Nur weil ein System multimodale Interaktion anbietet bedeutet dies aber nicht dass Benutzer sofort multimodal damit arbeiten Vielmehr erm glicht Multimo dalit t es Benutzern die f r sie und die aktuelle Aufgabe geeignete Modalit t einzusetzen Damit erh ht sich nach einer Einarbeitung und Gew hnungsphase die Effizienz der Benutzer 143 18 Grundlagen 2 2 4 CARE Eigenschaften Coutaz et al entwickelten 1995 die sogenannten CARE properties 40 CARE steht dabei fiir Complementarity Assignment Redundancy und Equivalence Die se Eigenschaften dienen der formalen Beurteilung von Interaktionsmodellierung f r Modalit ten Ein System wird als Zustandsautomat betra
231. tstelle ein weiteres Mal implementiert im besten Fall angepasst Gesucht wird daher eine M glichkeit die Benutzerschnittstelle modalit tsunab h ngig also abstrakter zu beschreiben In Folge w rde sich der Aufwand f r einzelne Modalit ten deutlich reduzieren Eine abstrakte Beschreibung bedeutet ein Modell zu erstellen F r Anwendun gen Benutzer Interaktion und verwandte Bereiche existieren eine Vielzahl von Modellen und Beschreibungssprachen Die verschiedenen Modelle lassen sich miteinander verbinden und Benutzerschnittstellen f r einzelne Modalit ten k n nen durch solche Verkn pfungen abgeleitet werden Das Anwachsen von Ver kn pfungen zwischen Modellen stellt allerdings ein Problem dar Aus Modellen lassen sich andere Modelle ableiten auch dies stellt eine Art von Verbindung der Modelle dar Verkn pfungen m ssen bei Ver nderungen aktualisiert werden Dies kann schon bei kleinsten Anpassungen eines Modells eine Vielzahl komple xer nderungen in anderen Modellen nach sich ziehen 1 2 Ziel Ziel dieser Arbeit ist es geeignete abstrakte Modelle f r die Interaktion zwischen Benutzern und Anwendungen zu finden die die Menge an Verkn pfungen zwi schen den Modellen m glichst gering h lt Schon seit Mitte der 1950ern gibt es Sprachen die zur Beschreibung von Benut zerschnittstellen geeignet sind 90 Seitdem ist die Anzahl an Beschreibungs sprachen kontinuierlich gewachsen Deshalb werden Repr sentanten der wich t
232. ulm university UU ulm Modellbasierte Entwicklung von Interaktionsanwendungen Dissertation zur Erlangung des Doktorgrades Dr rer nat der Fakult t f r Ingenieurwissenschaften und Informatik der Universit t Ulm vorgelegt von Guido Manuel de Melo aus Stuttgart Bad Cannstatt Institut f r Medieninformatik 2010 Bibliografische Information der Deutschen Nationalbibliothek Die Deutsche Nationalbibliothek verzeichnet diese Publikation in der Deutschen Nationalbibliografie detaillierte bibliografische Daten sind im Internet ber http dnb d nb de abrufbar ISBN 978 3 86853 493 1 Amtierender Dekan Prof Dr Ing Michael Weber Gutachter Prof Dr Ing Michael Weber Gutachter Prof Dr Helmuth Partsch Tag der Promotion 9 Februar 2010 Verlag Dr Hut M nchen 2010 Sternstr 18 80538 Mtinchen Tel 089 66060798 www dr hut verlag de Die Informationen in diesem Buch wurden mit gro er Sorgfalt erarbeitet Dennoch k nnen Fehler nicht vollst ndig ausgeschlossen werden Verlag Autoren und ggf bersetzer bernehmen keine juristische Verantwortung oder irgendeine Haftung f r eventuell verbliebene fehlerhafte Angaben und deren Folgen Alle Rechte auch die des auszugsweisen Nachdrucks der Vervielf ltigung und Verbreitung in besonde ren Verfahren wie fotomechanischer Nachdruck Fotokopie Mikrokopie elektronische Datenaufzeich nung einschlie lich Speicherung und bertragung auf weitere Datentr ger sowie b
233. und bekommt sein Geld zur ck Nachdem ein Getr nk hergestellt wurde gibt der Automat das R ckgeld aus wartet kurz auf die Entnahme des Bechers und kehrt dann wieder zur Begr ung zur ck 2 4 2 MP3 Player MP3 Player sind heute sehr weit verbreitet Es gibt sie als separate Ger te oder integriert in gr eren Ger ten wie Mobiltelefonen Autoradios oder DVD Ab spielger ten Auch als Programm gibt es viele Variationen f r eine Vielzahl von Plattformen In Abbildung 2 9a ist ein dediziertes Abspielger t dargestellt In Ab bildung 2 9b sieht man den Media Player Classic ein weit verbreitetes Programm zum Abspielen von MP3s f r Microsoft Windows D Deigacos the ligh File View Play Navgate Favorites Help NEE Ful 000335 D Cake Short Skirt Long Jacket mp3 00 03 24 3 Delgados the light before we land mp3 00 01 57 4 Valkytis mp3 a Apple Ipod b Media Player Classic Abbildung 2 9 Zwei MP3 Player Links Apple Ipod rechts Media Player Classic http mpc hc sourceforge net F r das Fallbeispiel findet eine Vereinfachung statt Auf Bedienelemente wie Auf nahmefunktionen grafische Visualisierung der Musik oder Equalizer wird ver zichtet Der MP3 Player besitzt eine Playlist es ist m glich die Lautst rke einzustellen und Musik abzuspielen Die Playlist bildet eine Schleife und ist der Einfachheit halber nicht ver nderbar Nach dem Einschalten begr t der MP3 Player den Benutzer durch eine
234. und verbindet sie miteinan der Input Referenz auf anwendung Pfad zu XMT Modalit ten Lege Array zur Threadverwaltung an 1 threads Array new Erzeugen von Dialogmodell wims und Mapper 2 uims UIModel new X MI 3 mapper Mapper new Verbinden der Komponenten miteinander 4 mapper connect uims uims 5 uims connect_app anwendung 6 uims connect_mapper mapper Registrieren der Modalit ten beim Mapper 7 foreach mod modalities do 8 threads add mod thread 9 mapper register mod 10 end Dialog starten 11 uims start Algorithmus 1 Initialisierung des Frameworks durch UIBuilder In Algorithmus 1 ist der Ablauf der Initialisierung dargestellt Es werden Kompo nenten zur Dialogsteuerung und Verwaltung der Modalit ten angelegt Die An wendungskomponente wird mit der Dialogsteuerung die Dialogsteuerung mit dem Mapper und der Mapper mit allen Modalit ten verbunden Schlie lich wird der Dialog gestartet 6 1 Aufbau des User Interface Management System Frameworks 111 Im Sequenzdiagramm der Abbildung 6 2 ist das Verhalten des Software Frame works beim Start einer Anwendung zu sehen Die Anwendung startet als erstes den UIBuilder dieser erzeugt die Dialogsteuerung und den Mapper 2 3 Beim Mapper registrieren sich anschlie end die verf gbaren Modalit ten 4 5 Nachdem das Dialogmodell initialisiert wurde wird es vom UIBuilder aus ge startet 6 Das Dialogmodell verfolgt vom vorgegebenen Startknoten aus d
235. ungen zu anderen Modalit ten genommen werden muss Die einfachste Umsetzung einer Modalit t l sst sich durch den Einsatz von Tem plates f r Aktionen und Zust nde realisieren Die Nachrichten der Dialogsteue rung ber aktuelle Aktionen und Zust nde werden mit den Templates verkn pft und von der Modalit tskomponente zu den passenden Ereignissen ausgegeben In Kapitel 6 Realisierung wird dieses Verfahren an Hand eines Beispiels de monstriert 5 3 Fission und Fusion Die Mapper Komponente verkn pft mehrere Modalit ten mit der Dialogsteue rung Fusion bedeutet dass Eingaben eines Benutzers miteinander verschmolzen werden Eine Fusion ist bei der Verwendung von mehreren Modalit ten notwen dig da diese durch ungen gende Erkennung der Benutzereingabe widerspr ch liche Eingaben liefern k nnen Unter Fission versteht man die Aufspaltung der Ausgabe Eine Fission geschieht immer wenn sich der interne Zustand der Dia logsteuerung ndert und die Zustands nderung an die einzelnen Modalit ten kommuniziert werden muss Die vorgestellte Mapper Komponente bernimmt die Verteilung der Informationen In der Literatur wird der Begriff weiter gefasst es werden auch Verfahren darunter verstanden bei denen die Benutzerschnitt stellen der einzelnen Modalit ten zur Laufzeit generiert werden 102 Architekturen fiir multimodale Benutzerschnittstellen Im Folgenden wird beschrieben wie die Fission hin zu einzelnen Modalit ten ge
236. urch eine Aufz hlung definiert wird In Abbil dung 6 6 sind die entsprechenden englischen Namen aus dem Standard festge halten berg nge zwischen Zust nden werden durch Objekte der Klasse Transition be schrieben Transitionen verbinden Pseudostates Regionen und Zust nde unter einander und k nnen ein Verhalten Behavior besitzen 120 Realisierung eines Software Frameworks In der Realisierung werden Informationen ber die Zugeh rigkeit von Zust nden zu Regionen an separater Stelle gespeichert In Abbildung 6 1 werden deshalb nur die Klassen State und Transition aufgef hrt um Zustandsdiagramme zu be schreiben Jeder Zustand besitzt mehrere Attribute Guard Effect und Trigger Wird ein Zustandsdiagramm betreten so kommt Algorithmus 3 zum Einsatz Es werden alle Zustands berg nge zu den Spitzen des Kaktusstacks gesammelt de ren Trigger dem aktuellen Trigger entsprechen 1 Diese Transitionen werden bis zum n chsten Zustand verfolgt da sie durch Pseudozust nde eine Kette bil den k nnen 2 4 Anschlie end werden die Transitionen herausgefiltert die nicht gleich dem Trigger sind 5 9 Nach diesen Schritten sind lediglich noch die begehbaren Transitionen brig Diese k nnen ein Verhalten Effect besitzen welches das Ausf hren von Opera tionen auf der Anwendung bewirkt Ist dies der Fall wird ber den Mapper eine Aktualisierung der Ausgabe vorgenommen 11 14 Es k nnen Regionen betreten werden die Unte
237. ustandsdiagramme zur Beschreibung von Interaktion einge setzt so z B von Hinckley et al zur Beschreibung von zweih ndiger Eingabe am Desktop 64 F r das Fallbeispiel des MP3 Players l sst sich ein Zustands diagramm f r das Dialogmodell verwenden In Abbildung 3 5 wird das resultierende Dialogmodell dargestellt Von Vorteil ist die Strukturierung des Diagramms Zustandsdiagramme sind zwar nicht er weiterbar doch lassen sie sich universell einsetzen um abstrakt Dialoge oder Tasks zu beschreiben Sie sind intuitiv verst ndlich und ausdrucksstark Ein wei terer Vorteil ist die Verf gbarkeit von Werkzeugunterst tzung und ihre weite Verbreitung Im Klassifikationsframework finden sie im Aufgaben und Dialogmodell Einsatz Verbindungen zum Pr sentations und Dom nenmodell sind einfach m glich da an den berg ngen zwischen den Zust nden Ausdr cke der Art Event Condi tion Action stehen k nnen Durch die Actions lassen sich sowohl Elemente des Pr sentations als auch des Dom nenmodells ansprechen 3 4 4 Fazit Die vorgestellten Ans tze zur Beschreibung von Dialogen haben ihre jeweiligen St rken Grammatiken sind erweiterbar und k nnen sehr universell gestaltet werden Ereignissprachen und Produktionsregeln sind ausdrucksstark und bie ten eine erste Verkn pfung von Dialogmodell und Dom ne Zustandsdiagramme 3 4 Ans tze zur Beschreibung von Dialogen und Oberfl chen 51 off off player volume GOUSSE
238. utzer Umgebungs und Ger temodelle 4 1 Dom nenmodell Durch das Dom nenmodell sollen die Objekte die in einem System vorhanden sind definiert werden Es legt fest welche Aktionen mit Objekten ausgef hrt werden k nnen welche Eigenschaften Objekte besitzen und welche Relationen zwischen ihnen bestehen Andere Modelle greifen auf die Dom nenobjekte zu r ck um Aktionen in einer Anwendung zu bewirken Dies k nnen das Aufgaben Dialog oder Pr sentationsmodell sein Um die Dom ne einer Anwendung zu beschreiben werden Klassendiagramme eingesetzt Jede Klasse beschreibt dabei den Typ einer Reihe von Objekten Zur Laufzeit einer Anwendung werden Objekte der Klassen instanziiert die anschlie end von anderen Modellen verwendet werden k nnen Klassendiagramme m ssen sich dabei nicht auf die Klassen beschr nken die f r andere Modelle wichtig sind sie k nnen vielmehr die komplette Anwendung und ihre internen Details beschreiben 4 1 Dom nenmodell 73 4 1 1 Klassendiagramm Klassendiagramme dienen zur Beschreibung statischer Strukturen Sie visualisie ren dazu die wesentlichen Eigenschaften der verschiedenen Strukturen und die Beziehungen zwischen den Strukturen Ein Klassendiagramm enth lt eine Reihe von Elementen Klassen Attribute und Operationen werden hier vorgestellt Auch wenn es noch mehr Elemente gibt ge n gen Klassen mit ihren Attributen und Operationen um genug Funktionalit t f r das Dom nenm
239. utzerschnittstelle k nnen analog zu Tasks gruppiert werden Dementsprechend m ssen Teile bei einer Um gruppierung im jeweils anderen Modell ebenfalls angepasst werden Domain Presentation Mapping Elemente aus dem Dom nenmodell besitzen At tribute die entweder zur Darstellung wichtig sind oder direkt in ihr angezeigt werden sollen An dieser Stelle ist es sinnvoll zus tzlich ein Ger temodell ein zubeziehen Damit l sst sich das Pr sentationsmodell an die Gegebenheiten des Ger ts anpassen Task User Mapping Ein Benutzermodell kann verschiedene Arten von Nutzern enthalten die nur einen Teil der vorhandenen Tasks verwenden Damit lassen sich auf einfache Art verschiedene T tigkeiten f r Rollen realisieren Dies f hrt jedoch zu einer Vervielfachung aller Mappings die Transformationen sind da f r jede Rolle passende Transformationen vorhanden sein m ssen Task Domain Mapping Da durch Tasks der Zustand der Dom nenobjekte ver n dert werden kann ist dieses Mapping notwendig Presentation Dialog Mapping Die Elemente eines Dialogs m ssen mit ihren ent sprechenden Pr sentationselementen durch ein Mapping verbunden werden Zus tzliche Mappings sind m glich wenn man weitere Kombinationen der Mo delle bildet Diese sollen hier behandelt werden Domain Dialog Mapping Durch Interaktion mit dem Pr sentationsmodell ist es m glich dass schon im Dialogmodell Daten von Dom nenobjekten ver ndert werden sollen Da zus tzlich Date
240. von Klassendiagrammen 120 6 2 5 Anbindung des Pr sentationsmodells 122 Grafische Benutzerschnittstelle 123 Sprachbedienschnittstelle 0 123 Tangible User Interface TUI 124 Zusammenspiel der Komponenten 125 6 2 6 Fusion und Fission 00522 e ee 126 6 3 Anwendung des Frameworks 127 6 3 1 Regul rer Einsatz 20 0000 127 6 3 2 Integration neuer Modalit ten 2 2 22 2000 128 6 4 Bast 3 Ae Ap ee eier d a ee er ee ee 130 7 Fazit und Ausblick 131 EN ars wa N eee ae neh 131 72 Ausblick a 32 232 8 22 2 al toa ww ER Keb ee Be Bs 133 A UML Begriffe Englisch Deutsch 135 Literaturverzeichnis 137 vi Inhaltsverzeichnis Zusammenfassung 155 Summary 159 Dank 161 Abbildungsverzeichnis 2 1 2 2 2 3 2 4 2 5 2 6 2 7 2 8 2 9 3 1 3 2 3 3 3 4 3 5 3 6 3 7 3 8 3 9 Felder der MMI nach ACM SIGCHI 9 Das Gebiet der Dissertation ist farbig markiert e Interaktionszyklus im Interaction Framework nach ACM SIGCHI 45 Interaktionszyklus nach D Norman 131 S 47 Links die Ausf h rungsphase rechts die Evaluationsphase 4 Interaktionszyklus aus Sicht eines technischen Systems Zwei GUIs links eine Text basierte Oberfl che zur Paketverwaltung rechts ein Mobiltelefon mit Touchscreen von HTC http www E OM eset ces ale ated a Seas EE Planung mit URP Links unten d
241. wechselnde Phasen zerlegt Execution die Ausf hrung einer Aktion sowie Evaluation die Bewertung der Aktion auf ihren Beitrag zum Erreichen des Ziels 2 1 Interaktion Ausgabe System Benutzer Ziele Eingabe Abbildung 2 2 Interaktionszyklus im Interaction Framework nach ACM SIGCHI 45 Eine Aktion unterteilt sich in 7 feinere Schritte die in Abbildung 2 3 zu sehen sind Der Zyklus beginnt in der Regel beim Benutzer der ein Ziel erreichen will In der Ausf hrungsphase wird dazu die Intention gebildet etwas im System im Bild Die Welt genannt ver ndern zu wollen Die Intention wird anschlie end in mehrere Aktionen zerlegt die dann ausgef hrt werden und dadurch den Zu stand der Welt ndern W hrend der Evaluationsphase geschehen drei Dinge Die nderungen werden sichtbar und vom Benutzer erfasst Ihre Bedeutung wird interpretiert und schlie lich wird der aktuelle Systemzustand bewertet Dieser l sst sich dann mit dem Ziel vergleichen und nach Bedarf beginnt der Zyklus mit einem ver nderten oder neuen Ziel erneut 2 1 3 Systemzentrischer Interaktionszyklus Statt aus Benutzersicht l sst sich der Interaktionszyklus auch aus Sicht des tech nischen Systems betrachten Der Zyklus kann hier ebenfalls in mehrere Schritte untergliedert werden Abbildung 2 4 zeigt die Schritte im gesamten Zyklus aus Sicht eines technischen Systems Ein System beginnt den Zyklus indem es Infor mationen ber seinen internen Zustand
242. wesentlichen aus drei Schritten 1 Auswahl einer Modalit t 2 Finden aller relevanten Elemente in den Diagrammen 3 Integration der Namen der Elemente in die Benutzerschnittstelle Diese Schritte werden am Beispiel des MP3 Players erl utert Zuerst wird eine Modalit t ausgew hlt die verwendet werden soll F r diese wird dabei festgelegt welche Ger te eingesetzt werden Im Fall des MP3 Players soll eine GUI f r einen Desktop Rechner erstellt werden Als Beschreibungsspra che f r die GUI soll GTK verwendet werden 198 Damit nicht alle Elemente in Code angelegt werden m ssen wird Glade eingesetzt eine Sprache die GTK Widgets in XML beschreibt 199 Um alle relevanten Elemente zu finden wird auf Tabelle 4 1 aus Abschnitt 4 5 1 zur ckgegriffen Im Fall des MP3 Players sind die Elemente innerhalb des Zu standsdiagramms zwei Aktionen sechs Zust nde und zehn Transitionen mit Trig gern vergleiche Abbildung 4 9a und 4 9b Beim Erstellen der GUI werden die Namen der Aktionen Zust nde und Trigger in die Oberfl che integriert Buttons werden mit Sendeereignissen f r Events mit den Namen der Trigger versehen Nicht alle Aktions und Zustandsnamen m s sen ber cksichtigt werden In diesem Beispiel gen gt es ein Dialogfenster f r die Aktion welcome und ein weiteres f r play dialog anzulegen Abbildung 4 10 zeigt die Oberfl che des Glade User Interface Designers Auf der rechten Seite sieht man im Kontextmen zum ausg
Download Pdf Manuals
Related Search
Related Contents
ULTRA-ACT ウルトラマンゼロ Mon ordi malin de VTech Pompes HOSPIRA GEMSTAR JVC AV24WT5EP User's Manual HomePilot® Anleitung herunterladen User Manual MP102E - Physik Instrumente Manuale d`uso LG 37LK450 37" Full HD Black LCD TV Copyright © All rights reserved.
Failed to retrieve file