Home
Modellbasierte Entwicklung von
Contents
1. 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 unimo dal 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 einem Bildschirm ausreichend ist Ein einzelnes Ger t kombiniert in diesem 16 Grundlagen Fall mehrere Interaktionssprachen man kann deshalb von verschiedenen Mo dalit ten sprechen 201 In dieser Arbeit sollen jedoch nicht nur die Ausgabemodalit ten sondern auch die Eingabemodalit ten betrachtet werden Die folgende Definition ber cksich tigt deshalb beide Arten von Modalit t Multimodalit t kann bei einem System dann bei der Eingabe der Ausgabe oder beidem auftreten Definition 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 Inte
2. 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 Mo deling of Multi user Interactive Applications In CONINX Karin LUY TEN Kris SCHNEIDER Kevin A Eds TAMODIA 06 Proceedings of the 5th annual conference on Task modelsand diagrams volume LNCS 4385 153 168 Springer October 2006 BERNE Eric Transactional Analysis in Psychotherapy Grove Press New York 1961 BERNSEN Niels Ole A Reference Model for Output Information in Intel ligent 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 PATERN Fabio SANTORO Carmen TE RESA A transformation based environment for designing multi device interactive applications In Proceedings of the 9th international confe rence 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
3. 143 144 Zusammenfasung Es dient auch als Verfahrensbeschreibung zur Modellierung von Interaktions anwendungen und zeigt in welchem Fall welches UML Diagramm angewandt wird Von 14 Diagrammarten der UML werden vier eingesetzt Klassendia gramme zur Beschreibung des Dom nenmodells Use Case und Aktivit tsdia gramme um das Aufgabenmodell zu gliedern und zu beschreiben und Zu standsdiagramme mit denen das Verhalten innerhalb des Dialogmodells be schrieben wird Das Kapitel zeigt auch berblicksartig wie eine direkte Anbin dung bzw wahlweise Generierung von Benutzerschnittstellen m glich ist Kapitel 5 Architekturen f r multimodale Benutzerschnittstellen stellt eine Software Architektur vor welche die erarbeiteten Konzepte umsetzt Bestehen de Ans tze weisen f r sich genommen Schw chen auf wenn sie f r multimo dale Benutzerschnittstellen eingesetzt werden sollen Das entwickelte mArch Modell ist eine erweiterte Software Architektur f r die die Vorz ge bestehen der Ans tze kombiniert und perfektioniert wurden Es erm glicht multimodale Interaktionsanwendungen 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 An wend
4. 213 214 215 216 WELD D ANDERSON C DOMINGOS P ETZIONI O LAU T GAJOS K WOLFMAN S Automatically Personalizing User Interfaces In Pro ceedings of IJCAI 03 7 2003 WIECHA Charles BOIES Stephen Generating user interfaces princip les 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 Proceedings of the 20th annual ACM symposium 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
5. 37 3 2 3 Cameleon Framework 38 32 4 BAZ nenn anna a BO SER a rei 40 3 3 Models and Mappings Klassifikationsframework 40 3 4 Ans tze zur Beschreibung von Dialogen und Oberfl chen 43 3 4 1 Grammatiken aeaa 43 3 4 2 Ereignissprachen und Produktionssysteme 44 3 4 3 Zustandsdiagramme 46 3 4 E E SEENEN 47 3 5 Abstrakte Modelle f r Interaktion 48 3 5 1 ConcurTaskTrees 49 3 5 2 USer Interface eXtensible Markup Language UsiXML 52 3 5 3 Unified Modeling Language UML 54 3 6 Modelle f r Kontext Evaluation und einzelne Modalit ten 57 3 6 1 Beschreibung von Benutzereigenschaften 59 3 6 2 Ger temodell 59 3 6 3 Umgebungsmodell 60 3 6 4 Modelle zur Evaluation 60 3 6 5 Notationen f r einzelne Modalit ten 61 3 7 Bewertung AA ES 62 Modellieren von Interaktionsanwendungen mit UML 65 4 1 Dom nenmodell 2 2 Como 66 4 1 1 Klassendiagramm 2045 66 4 1 2 Einsatz 2 04 23 55 Gb en eek ae MA enden 67 4 2 Aufgabenmodell 2 2 2 0 0 002 ee 68 4 2 1 Use Case Diagramme aoao e 68 4 2 2 Aktivit tsdiagramme 69 SE Einsatz an Ann er Ya ees 71 4 3 Dialogmodell 71 4 3 1 Zustandsdiagramme 72 4 3 2 Eins tz oo 22 feel eo Ae a a ae BU A 73 4 4 Erg nzende Diagrammer 74 4 5 Pr sentationsmodell 75 4 5 1 Mapping zwischen Aufgaben Dialog und Pr sentati OnsMOdell seek cee ee Sos ee 7
6. Dialog und Pr sentationsmodell k nnen auf Objekte des Dom nenmodells zugreifen Das Pr sentationsmodell ist mit Benutzer Ger te und Umgebungs modell 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 compose 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 compose f r das Zusammensetzen von Modellen zu einem neuen Mo dell 4 modify f r die Modifikation eines Modells durch einen Entwickler 42 Klassifikation bestehender Ans tze Geschieht eine teilweise Ableitung eines Modells wird dies im beschreiben den Text zum Diagramm vermerkt Auch ein Model update wird nicht im Dia gramm markiert da es Folgen an vielen Stellen der beteiligten Modelle haben kann und somit nicht zur bersichtlichkeit beitr gt Im Erl uterungstext zur jeweiligen Abbildung wird beschrieben welche Modelle durch die Mappings zusammenwirken In Abbildung 3 3 sieht man drei deriv V
7. Literaturverzeichnis 64 65 66 67 68 69 70 71 72 73 74 75 76 77 HINCKLEY Ken CZERWINSKI Mary SINCLAIR Mike Interaction and modeling techniques for desktop two handed input In Proceedings of the 11th annual ACM symposium on User interface software and techno logy 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 HOGREFE Dieter Estelle LOTOS und SDL Springer 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 Project http cmusphinx sourceforge net 2007 INCITS Protocol to Facilitate Operation of Information and Electronic Products through Remote and Alternative Interfaces and Intelligent Agents Presentation Template 2005 INCITS Protocol to Facilitate Operation of Information and Electronic Products through Remote and Alternative Interfaces and Intel
8. fahren 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 Attribute EE song El elle Sr eh State playing paused stopped Regeln Inc_volume vol ine Dec_volume gt vol dee Previous gt song dec Next gt Song Inc Play stopped gt playing player play display play Play paused gt playing player unpause display play Pause gt paused player pause display pause SLOP 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 46 Klassifikation bestehender Ans tze denn direkt nach einem Zustand wie playing steht eine Operation auf einem Dom nenobjekt in der gleichen Schreibweise Vorteilhaft ist daf r dass durch die Klammerung von Ausgabeereignissen eine saubere Schnittstelle zum Pr sentationsmodell vorhanden ist Im Klassifikationsframework
9. Als Beschrei bungssprache f r die GUI soll GTK verwendet werden 198 Damit nicht alle Elemente in Code angelegt werden m ssen wird Glade eingesetzt eine Spra che 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 Zustandsdiagramms zwei Aktionen sechs Zust nde und zehn Transitionen mit Triggern 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 ssen ber cksichtigt werden In diesem Beispiel gen gt es ein Dialogfenster f r die Aktion welcome und ein weiteres f r play dialog anzulegen Ab bildung 4 10 zeigt die Oberfl che des Glade User Interface Designers Auf der rechten Seite sieht man im Kontextmen zum ausgew hlten Button wie dieser mit einem 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 Klassen beschrieben Es wurde ein Verfahren vorgestellt bei dem Aktivit tsdia gramme die grobe Strukturierung bernehmen und Zustandsdiagramme f r direct manipulation oder zustandsbehaftete Situationen eingesetzt werden Zu s tzlich wurden Use C
10. Aufwand f r einzelne Modalit ten deutlich reduzieren Eine abstrakte Beschreibung bedeutet ein Modell zu erstellen F r Anwen dungen 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 nnen durch solche Verkn pfungen abgeleitet werden Das Anwachsen von Verkn 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 ak tualisiert werden Dies kann schon bei kleinsten Anpassungen eines Modells eine Vielzahl komplexer nderungen in anderen Modellen nach sich ziehen 1 2 Ziel Ziel dieser Arbeit ist es geeignete abstrakte Modelle f r die Interaktion zwi schen Benutzern und Anwendungen zu finden die die Menge an Verkn pfun gen zwischen den Modellen m glichst gering h lt Schon seit Mitte der 1950ern gibt es Sprachen die zur Beschreibung von Be nutzerschnittstellen geeignet sind 90 Seitdem ist die Anzahl an Beschrei bungssprachen kontinuierlich gewachsen Deshalb werden Repr sentanten der wichtigsten Sprachkategorien bewertet Eine hnliche Entwicklung ist bei Modalit ten zu beobachten Die berwie gende Mehrheit an Benutzerschnittstellen machen nach wie vor GUIs aus Im Lauf der Zeit haben sich a
11. 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 Anwen dung und ihre internen Details beschreiben 4 1 1 Klassendiagramm Klassendiagramme dienen zur Beschreibung statischer Strukturen Sie visuali sieren 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 gen gen Klassen mit ihren Attributen und Operationen um genug Funktiona lit t f r das Dom nenmodell zur Verf gung zu stellen Assoziationen und Ge neralisierungen dienen zur Darstellung von Abh ngigkeiten unter den Klassen 4 1 Dom nenmodell 67 und zur Beschreibung von Vererbungshierarchien Sie besitzen keine Auswir kungen auf Benutzerinteraktionen darum wird im Folgenden nur ein Teil ihrer Einsatzm glichkeiten vorgestellt Klassen verk rpern Typen denen Objekte zugeordnet werden Ihre Attribute beschreiben die statischen Eigenschaften die Objek
12. Entwicklern berlassen innerhalb des Pr sentationsmodells die Granularit t zu w hlen So gen gen z B vielen Entwicklern Toolkits zur Umsetzung des Pr sentationsmodells diese entsprechen einer Modellierung auf Ebene eines CUIs Bei Bedarf bleibt es jederzeit m glich eine Reifikation im Pr sentations modell 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 Die verschiedenen Ans tze zur Beschreibung von Benutzerschnittstellen wer den in zwei Kategorien mit Untergruppen eingeteilt Die erste Kategorie sind Ans tze die Dialoge und Oberfl chen bzw deren Verhalten beschreiben Hier zu geh ren Grammatiken Ereignissprachen Produktionsregeln und Zustands diagramme Die zweite Kategorie machen Ans tze aus die abstrakte Modelle verwenden die wichtigsten Repr sentanten werden vorgestellt Einige weitere Kategorien sind f r diese Arbeit nicht relevant wie z B Screen Scraper die eine grafische Oberfl che f r alte Anwendungen ohne eine solche bieten 1 2 3 3 4 Ans tze zur Beschreibung von Dialogen und Oberfl chen 43 Die Ans tze werden nach den Anforderungen die in diesem Kapitel gesammelt wurden bewertet Zus tzlich werden sie mit dem entw
13. 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 dienen 153 oder Elemente der oben vorgestellten Zustandsdiagramme Der gro e Vorteil der UML ist dass alle diese Konzepte durch eine Metasprache beschrieben 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 Specifi cation festgelegt 142 Dort werden die beiden Bereiche Structure und Behavi or unterschieden Structure enth lt Sprachpakete mit denen statische Aspekte von Systemen beschrieben werden davon werden in dieser Arbeit lediglich Klassendiagramme verwendet Behaviors beschreiben das dynamische Verhal 3 5 Abstrakte Modelle f r Interaktion 55 ten eines Systems zur Laufzeit In ihrem Bereich sind mehr Sprachpakete rele vant hiervon kommen Use Case Diagramme Aktivit tsdiagramme Zustands diagramme und Sequenzdiagramme zum Einsatz Durch UML lassen sich die relevanten Modelle fiir interaktive Benutzerschnitt stellen abdecken Das Dom nenmodell ist mit Klassendiagrammen gleichzuset zen Mit Klassendiagrammen k nnen Klassen ihre Attribute Methoden mit ih ren Parametern und Vererbungshierarchien beschrieben werden Zus tzlich er
14. Human Computer Interaction INTERACT 87 431 436 Elsevier Science Publishers 1987 CouTAZ Jo lle Nicay Laurence SALBER Daniel BLANDFORD Ann May Jon YOUNG Richard M Four easy pieces for assessing the usa bility 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 descrip tion In CHI 90 Proceedings of the SIGCHI conference on Human factors 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 06 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 Dix Alan FINLAY Janet ABOWD Gregory D BEALE Russell Human computer interaction Prentice Hall 2003 Dix Alan FINLAY Janet ABOWD Gregory D BEALE Russell Human computer interaction Pearson 2004 DUARTE Carlos CARRI O Luis A conceptual framework for develo
15. 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 Abbildung 2 9b sieht man den Media Player Classic ein weit verbreitetes Programm zum Abspielen von MP3s f r Microsoft Windows F r das Fallbeispiel findet eine Vereinfachung statt Auf Bedienelemente wie Aufnahmefunktionen grafische Visualisierung der Musik oder Equalizer wird verzichtet 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 Einfach heit halber nicht ver nderbar Nach dem Einschalten begr t der MP3 Player Grundlagen File View Play Navgate Favorites Help x 1 SBR ESO only my railgun Full 00 03 35 2 Cake Short Skirt Long Jacket np3 00 03 24 3 Delgados the light before we land mp3 00 91 57 4 Valkyrie mp3 z Pu m a o 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 den Benutzer durch eine 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
16. Zustandsdiagramm zur Beschreibung des Verhaltens der Ak tion select Es zeigt die Auswahl eines Getranks deriv link Abbildung 3 13 UML im Klassifikationsframework text Evaluation und einzelne Modalit ten kurz eingef hrt werden F r die ein zelnen Bereiche werden berblicke und Repr sentanten angegeben Durch die Erg nzung mit diesen Modellen lassen sich alle Aspekte der modellbasierten Entwicklung interaktiver Anwendungen abdecken Der Kontext einer Anwendung setzt sich aus Benutzer Ger te und Umge bungsmodell zusammen 3 6 Modelle f r Kontext Evaluation und einzelne Modalit ten 59 3 6 1 Beschreibung von Benutzereigenschaften Ein Benutzermodell beschreibt die verschiedenen Eigenschaften eines Benut zers 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 reduzierte Beweglichkeit wichtig Benutzerschnittstellen sollten sich anpassen um dem Benutzer den Zugang zu Informationen und die Interaktion m glichst einfach 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 Benutzer k nnte auch abgelenkt zu einem anderen Thema antworten Ein fr hes Benutzermodell wurde 1983 von Card Moran und Newell in ihrem Buch The Psychology of Human C
17. checkCredit Kaba produce Kaba c50 addCredit 0 5 c20 addCredit 0 2 Kaffee checkCredit Kaffee produce Kaffee Latte checkCredit Latte produce Latte Tee checkCredit Tee produce Tee Capuccino checkCredit Cappuccino produce Cappuccino display toggle_irritation cancel cancel sugar addSugar milk addMilk milk addMilk sugar_and_milk sugar addSugar Abbildung 4 7 Zustandsdiagramm des Getr nkeautomaten f r die Auswahl eines Getr nks activity AC playing Ei AC playing Bess stream mp3 to pcm stream pcm to hardware rr file source file sink pcm source pem sink Abbildung 4 8 Aktivitatsdiagramm fiir das Wandeln von MP3 zu PCM und logische Abfolge von Nachrichten Sie k nnen z B auff hren in welcher Reihenfolge Methoden von Objekten innerhalb des Getr nkeautomaten aufge rufen werden k nnen 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 76 Modellieren von Interaktionsanwendungen mit UML Das Pr sentationsmodell repr sentiert die verschiedenen Elemente der Benut zerschnittstelle und ihre Auspr gungen
18. dass eine No tation 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 Moda lit ten Erweiterbarkeit um Modalit ten Es soll im Nachhinein m glich sein die Benutzerschnittstelle um weitere Modalit ten zu erweitern Redundanz Die Notation soll mit m glichst wenig Redundanz arbeiten Beschreibung von Struktur Strukturierende Elemente sind in der Notation vorzusehen Universalit t Die Notation soll f r ein m glichst breites Spektrum von An wendungen einsetzbar sein Konsistenz Die Interaktion soll immer gleich verlaufen Eine Funktion des Systems 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 gen gen wie sie z B von der DIN EN ISO 9241 110 aufgestellt wurden 77 Eine weitere wichtige Eigenschaft ist die Erweiterbarkeit der Notation Rich ter nennt sie in seiner Arbeit Dynamische Erweiterbarkeit 166 Bei Richter sind es Elemente von Toolkits in dieser Arbeit ist der Begriff weiter gefasst um auch die Erweiterbarkeit einer Notation um neue Notationselemente abzu decken Van den Bergh und Coninx 82 beschrieben 2004 eine Reihe von weniger fo
19. nition 3 Dazu beschreibt das Dialogmodell die m glichen Aktionen des Be nutzers und wie die Anwendung darauf reagieren soll In dieser Arbeit werden Zustandsdiagramme eingesetzt falls ein Dialog nicht bereits ausreichend durch eine Aktion aus einem Aktivit tsdiagramm beschrie 72 Modellieren von Interaktionsanwendungen mit UML ben werden kann Es muss also nicht zwingend ein gesondertes Zustandsdia gramm 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 Freig nissen beschreibt Zustandsdiagramme entsprechen weitgehend den auf Seite 46 vorgestellten Zustandsdiagrammen von Harel Ihre Hauptelemente sind Zust nde und Transitionen welche die Zust nde ver binden Sie besitzen Elemente zur Kontrolle der Ablaufsteuerung hnlich zu denen der Aktivit tsdiagramme Abbildung 4 5 zeigt das Zustandsdiagramm des MP3 Players Ein 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 ge wechselt 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 Transit
20. st diese das Ereignis play aus das als Trigger im Zustands 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 generieren gen gt es concrete user interfaces CUIs zu schaffen wie in Abschnitt 4 5 festgestellt wurde F r jede Modalit t ist dabei ein eigenes CUI zu erstellen Die Ableitung eines Modells aus anderen Modellen entspricht dem Mapping model derivation Jedes CUI ist von den Kontextmodellen abh ngig In ein CUI flie en Informationen aus Benutzer Umgebungs und Ger temodell ein Es ist notwendig Regeln f r die Ableitung aufzustellen die die verschiedenen Modelle als
21. 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 MYvnATT 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 M LLER Johannes Handbuch der Physiologie des Menschen J H lscher Verlag dritte verbesserte auflage edition http vlp mpiwg berlin mpg de references id 1it17251 1837 NASSI I SHNEIDERMAN B Flowchart techniques for structured pro gramming SIGPLAN Not 8 8 12 26 ISSN 0362 1340 1973 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 N Gay Laurence Conception et mod lisation logicielles des syst mes in teractifs application aux interfaces multimodales Ph D thesis Labora toire de G nie Informatique IMAG Universit Joseph Fourier January 1994 NIGAY Laurence COUTAZ Jo lle A design space for multimodal sys tems concurrent processing and data fusion In Proceedings of the SIG CHI conference on Human fact
22. 9 2006 33 CASCHERA Maria Chiara FERRI Fernando GRIFONI Patrizia Ambigui ty detection in multimodal systems In AVI 08 Proceedings of the wor king conference on Advanced visual interfaces 331 334 ACM New York NY USA ISBN 0 978 60558 141 5 2008 34 CLERCKX Tim LUYTEN Kris CONINX Karin The mapping problem back and forth customizing dynamic models while preserving consis tency In TAMODIA 04 Proceedings of the 3rd annual conference on Task models and diagrams 33 42 ACM Press New York NY USA ISBN 1 59593 000 0 2004 35 CONSTANTINE Larry The Peopleware Papers Notes on the Human Side of Programming Prentice Hall Professional Technical Reference ISBN 0130601233 2001 130 Literaturverzeichnis 36 37 38 39 40 41 42 43 44 45 46 47 48 CONSTANTINE Larry L Canonical Abstract Prototypes for Abstract Visu al 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 Engi neering 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
23. Aktivit tsdiagramme die w hrend diese Arbeit ent stand und um Zustandsdiagramme erweitert wurde ist ActiveCharts Die Ent wicklungsumgebung ActiveCharts wurde von Sarstedt et al vorgestellt und an der Universit t Ulm entwickelt 170 1 Sie bietet ber Aktivit tsdiagramme hinaus die M glichkeit Klassen und deren Methoden zu modellieren die von Aktionen benutzt werden k nnen ActiveCharts verwendet bisher Microsoft Vi sio um Diagramme zu erzeugen und setzt Visio als Komponente in der Ent wicklungsumgebung ein um Diagramme auszuf hren Dadurch ist eine Bin dung an eine Plattform vorhanden in zuk nftigen Versionen wird eine platt formunabh ngige Umgebung angestrebt Abstract State Machines ASMs sind ein Ansatz das Verhalten von UML Dia grammen durch formale verifizierbare Automaten zu beschreiben 21 163 104 Realisierung eines Software Frameworks Abstrakte Zustandsmaschinen beschreiben durch die nderungen ihrer inter nen 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 Realisierbarkei
24. 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 Gestaltung 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 Benut zers eine Rolle Modelle lassen sich f r verschiedene Zwecke einsetzen Zun chst wird vor gestellt 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 Model len zur Codegenerierung erforscht Dies geschah da im Lauf der Zeit die zu entwickelnden 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 Platt formen wie Java und NET sowie eine Vielzahl von Endger ten wie Desktops Netbooks und Mobiltelefone unterst tzt werden sollen Im Software Engineering wird in den meisten Vorgehensweisen mit der Spezi fikation der Anwendung begonnen be
25. Arbeitsgruppe um Vanderdonckt 2004 vorgestellt wurde und meh rere Entwicklungswerkzeuge umfasst 196 UsiXML st tzt sich stark auf die Erkenntnisse des Cameleon Projekts und legt auch das Cameleon Framework zu Grunde Mittlerweile wird UsiXML von einem eigenen Konsortium standar disiert 194 195 Ein gro es Anliegen dieses Konsortiums ist es Werkzeuge f r den Entwick lungs und Transformationsprozess bereitzustellen Sie sollen multi path de velopment 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 Edi tor 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 Be nutzerschnittstellen aus dem Aufgabenmodell 97 Der Editor kann aus ei nem Aufgabenmodell automatisch verschiedene Implementierungen wie Java Swing oder HTML erzeugen Um diese breite Unterst tzung bieten zu k nnen erm glicht UsiXML auf ver schiedenen Abstraktionsstufen zu modellieren und anschlie end Transforma tionen in andere Stufen vorzunehmen Es werden alle Modelle aus dem Klas sifikationsframework abz glich des Dialog und Evaluationsmodells unter 3 5 Abstrakte Modelle f r Interaktion 53 st tzt Zus tzlich werden Model
26. Ausgangspunkt verwenden Eine Reihe von Attributen der Kon textmodelle ist statisch andere Attribute ndern sich zur Laufzeit Statische Attribute sind z B der Name des Benutzers oder die Aufl sung des verwende ten Ger ts Dynamische Attribute sind dagegen Lautst rke Helligkeit oder die Aufmerksamkeit des Benutzers in seiner Umgebung Zur Erstellung von Regeln f r Transformationen existieren diverse Arbeiten Stolze et al stellten in ihrer Arbeit fest dass der Einsatz von Modellen zur Erstellung von Benutzerschnittstellen die Entwicklung deutlich beschleunigt 184 Arbeiten zu Transformationen gibt es schon seit einiger Zeit Wiecha und Boies stellten 1990 einen solchen Ansatz vor der zus tzlich Stilinforma tionen ber cksichtigte 206 Fin neuerer Ansatz stammt von da Silva et al die Regeln f r die automatische Generierung von GUIs einsetzten 179 Die 4 5 Pr sentationsmodell 79 Regeln zur Transformation der Interaktionsmodelle ben tigen prim r die we nigen im letzten Abschnitt vorgestellten Elemente d h Trigger Operationen und die Namen von Aktionen und Zust nden Im Lauf der Zeit wurden verschiedene spezielle Sprachen f r Transformati onsregeln entwickelt Urspr nglich wurden deklarative Sprachen oder Cons traints eingesetzt 63 169 T XML ist eine XML basierte Transformationss prache die von L pez Jaquero et al 2009 vorgestellt wurde 101 Besonders auf das Metamodell von UML ist dagegen MOF Queri
27. Das Framework macht keine Aussagen ber Internationalisierung oder Perso nalisierung Diese sind allerdings in der Ebene der Final User Interfaces anzu siedeln y Reifikation A Abstraktion lt gt Translation Abbildung 3 1 Modelltransformationen im Cameleon Framework 40 Klassifikation bestehender Ans tze T amp C Play_Music Player play Control Abstract IO Physical IO Software IO en FT Graphical Physical Button Speech UI 2D Button Function Key VoiceXML l lt block gt 1 FUI oc class Abbildung 3 2 Transformationen und entsprechende Elemente am Beispiel des MP3 Players CUI 3 2 4 Fazit Neben der fr hen Arbeit von Abowd et al der Arbeit Puertas und Fisensteins 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 n dig ab Zus tzlich zu den oben ausgew hlten Anforderungen ist ein erweiter tes Klassifikationsframework notwendig welches alle relevanten Modelle und Mappings beinhaltet 3 3 Models and Mappings Klassifikationsframework 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 konze
28. 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 da bei nicht umgangen werden es ist lediglich m glich auf vorhandene Mappings zur ckzugreifen und diese wiederzuverwenden Dabei spielt die Art des Map pings 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 Modell kann ein neues abgeleitet werden Auch in der bestehenden Literatur wurde dieses Thema behandelt Limbourg et al 98 beschreiben drei Katego rien von Mappings 1 3 Sp ter wurden diese von Clerckx et al 34 um drei weitere Problempunkte erweitert 4 6 1 Model derivation Ein
29. DrinksVendor P J a Aktivit tsdiagramm MP3 Player b Aktivit tsdiagramm Getr nkeautomat Abbildung 4 4 Links das Aktivit tsdiagramm des MP3 Players rechts das des Getr nkeautomaten Die Abbildungen 4 4a und 4 4b zeigen die Aktivit tsdiagramme des MP3 Play ers und des Getr nkeautomaten Wie man sieht entspricht ein Aktivit tsdia gramm einem gerichteten Graph Es enth lt Kanten entlang derer die verschie denen Aktionen geschehen Kontrollelemente steuern den Ablauf Von den Bei spielen 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 no des zu entscheiden wie im Ablauf die Kanten traversiert werden sollen Parallelisierungs Fork nodes und Synchronisationsknoten join nodes k n nen eingesetzt werden um den Ablauf zu parallelisieren und auch wieder zu sammenzuf hren Das Verhalten entlang der Kanten ist hnlich zu Petrinetzen 153 Tokens bestimmen welche Aktionen aktiv sind An Parallelisierungs knoten wird ein Token vervielfacht um alle Transitionen zu beschreiten An Synchronisationsknoten 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 Pl
30. Mapper umgesetzt werden Im Fall von Toolkits existieren in der Regel Event Mechanismen die verwendet werden k nnen Bei FUIs muss die verwendete Komponente ent sprechende Event Mechanismen enthalten um mit dem Mapper kommunizie ren zu k nnen In fr heren Arbeiten wurde eine direkte Verkn pfung von einzelnen Modali t ten untereinander versucht Die Arbeit von Mynatt und Edwards aus dem Jahr 1992 beschreibt beispielsweise die Abbildung von GUIs in Sprachschnitt stellen durch eine starre Unterordnung von Sprache unter GUIs 121 Erst mit dem Cameleon Framework wird ab dem Jahr 2003 das Konzept mehrerer parallel aktiver Modalit ten in der Literatur popul r Der Vorteil einer Mapper Komponente wie sie in dieser Arbeit Einsatz findet liegt darin dass jede Moda lit t f r sich beschrieben werden kann ohne dass R cksicht auf Verkn pfungen zu anderen Modalit ten genommen werden muss Die einfachste Umsetzung einer Modalit t l sst sich durch den Einsatz von Templates f r Aktionen und Zust nde realisieren Die Nachrichten der Dialog steuerung ber aktuelle Aktionen und Zust nde werden mit den Templates verkn pft und von der Modalit tskomponente zu den passenden Freignissen ausgegeben In Kapitel 6 Realisierung wird dieses Verfahren an Hand eines Beispiels demonstriert 5 3 Fission und Fusion Die Mapper Komponente verkn pft mehrere Modalit ten mit der Dialogsteue rung Fusion bedeutet dass Eingaben eines Benutzers
31. Work shop on Task Models and Diagrams for User Interface Design TAMO DIA2002 Bucarest 127 134 2002 26 CALVARY Ga lle COUTAZ Jo lle THEVENIN David LIMBOURG Quen tin BOUILLON Laurent VANDERDONCKT Jean A Unifying Reference Framework 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 Com puter Interaction Lawrence Erlbaum Associates New Jersey 1983 29 CARD Stuart K MACKINLAY Jock D ROBERTSON George G The de sign 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 mor phological analysis of the design space of input devices In ACM Tran sactions 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 per sonal 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 accessi bility 63 70 ACM New York NY USA ISBN 1 59593 290
32. 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 Wiederaufnehmens aus dem Pausemodus ist jedoch komplexer da in hierar chischen B umen eine Zyklusbildung durch R ckverbindungen verboten ist Durch das rekursive Aufrufen von Play l sst sich diese Funktionalit t nachbil den 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 re geln 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 Benut zeraktion ausgef hrt wurde setzt sie der folgende Systemtask in der Anwen dung um Die Tasks sind mit dem Operator gt gt verbunden was bedeutet dass nach erfolgreicher Beendigung des linken Tasks mit dem rechten Task begon nen wird Sieben Jahre nach der Arbeit zu ConcurTaskTrees entstand TERESA Trans formation Environment for inteRactivE Systems representAtion durch die Zu sammenarbeit von Berti et al mit Patern 17 Sp terer Repr sentant Die Arbeit von Shepard von 1989 die Hierarchical Task Analysis HTA 176 vorstellt Klassifikation bestehender Ans tze 50 Gi MR3 Playe chease crease eiNOUS
33. als XHTML Code im letzten Transformations schritt 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 Schrit ten vom Dialog zum Pr sentationsmodell lassen sich Heuristiken f r die Ziel plattformen anwenden oder z B durch einen Gestalter die Transformationen anpassen indem Gruppierung oder Stil Farben Schriftschnitte ge ndert wer den k nnen ConcurTaskTrees sind eine m chtige und zugleich einfach anwendbare Nota tion zur Beschreibung von Aufgabenmodellen Durch die zur Verf gung ste henden Transformationen in der Entwicklungsumgebung TERESA ist es mit m igem Aufwand m glich Dialog und Pr sentationsmodelle abzuleiten und Anwendungen 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 ledig lich die Anwendung von R
34. an den Map per 8 Dieser verteilt die Information an die Komponenten der beteiligten Modalit ten 9 10 Damit ist die Anwendung bereit Eingaben durch den Be nutzer zu empfangen 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 Performance dagegen spricht dass Anpassungen in der Modellierung ein er neutes Kompilieren erzwingen F r das Interpretieren spricht dass Eingaben von Benutzern sich schnell genug verarbeiten lassen und Anpassungen in der Modellierung nur einen Neustart der Anwendung erfordern Die M glichkeit zur Laufzeit verschiedene Benutzerschnittstellen durch Fissionsmechanismen zu erzeugen ist ein wesentlicher Grund f r das Interpretieren von Modellen Daher werden in dieser Arbeit die Diagramme interpretiert Das Interpretie ren ist auch unter dem Namen executable Models bekannt Die Modelle m s sen 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 Mellor et al 107 Auch Zusammenh nge zwischen Generierung und ausf hrbaren Modellen wurden bereits untersucht 161 Allerdings existieren noch keine vollst ndigen Interpreter f r Aktivit ts und Zustandsdiagramme Eine Ent wicklungsumgebung f r
35. ausgef hrt werden Die realisierte Dialogsteuerung ver wendet nur einen Teil aller Modellelemente der Aktivit tsdiagramme Activity ActivityNode in verschiedenen Auspr gungen ActivityEdge und ActivityGroup Dieses Subset ist auf alle Elemente erweiterbar Abbildung 6 5 zeigt einen ber blick 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 Steuer elementen werden durch die ActivityEdges beschrieben In der Implementierung des mArch Frameworks 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 son dern lediglich wenige Attribute wie ID Verhalten und Trigger f r die Interpre tation 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 be reits 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 Kon
36. der Kombination von Inhalt Form sowie der Beschreibung des Verhaltens eines Systems durch Anwendungslogik und Interaktionslogik Darum ist es wichtig die Mappings zwischen den verschiede nen 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 Anforderun 3 2 Ans tze zur Klassifikation 35 gen 2 und andere Autoren wie Weld et al befassten sich mit Themen wie Per sonalisierung 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 Endanwender angepasst werden k nnen In einer GUI k nnen Benutzer bei spielsweise Icons in Toolbars austauschen um oft verwendete Funktionen schnell im Zugriff zu haben Hier gilt wie bei der Internationalisierung
37. di rekt mit Objekten gearbeitet werden kann Bei Multitouch lassen sich mehre re 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 In den vorherigen beiden Abschnitten dieses Kapitels wurde der Begriff der Interaktion eingef hrt und die Art in der Benutzer mit Anwendungen intera gieren gekl rt Im Folgenden wird der Begriff des Modells betrachtet Im Fol genden wird der Begriff des Modells untersucht Bei der Erstellung von Anwendungen soll systematisch und geplant vorgegan gen werden Dies ist Thema des Bereichs Software Engineering 180 Ein Mo dell ist eine abstrakte Beschreibung der Wirklichkeit anhand derer Aussagen 2 3 Modelle 23 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 identifizieren Sie erlauben es ein System auf einer semantisch orientierten Ebene zu spezifizieren und zu analysieren 146 Aus einer Spezifikation kann eine Anwendung generiert werden Deklarative modellbasierte
38. eine geeignete Umsetzung zu erstellen Zum Schluss des Kapitels werden Fallbeispiele vorgestellt die in der gesamten Arbeit Verwen dung finden Grundlagen r Use and Context Social organization and work ai Human machine Fit and Adaption Application areas Computer Dialogue Computer O O o 2 techniques graphics information TER SE NO Ze Dialogue Dialogue Language Dee Input and genre architecture and interaction Ergonomics output devices Example systems Evaluation and case studies Implementation techniques techniques and tools Design approaches V gt Development Process Abbildung 2 1 Felder der MMI nach ACM SIGCHI 9 Das Gebiet der Disser tation 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 Miteinan der in Verbindung Treten zwischen Individuen und sozialen Gebilden Im Du den wird Interaktion wie folgt definiert 49 Definition 1 Interaktion Interaktion die Psychologisch Soziologisch auf einander bezogenes Handeln zweier oder mehrerer Personen Wechselbeziehung zwischen Handlungspartnern Erweitert man den Begriff ein wenig so l sst sich darunter auch die Wechsel beziehung zwischen Mensch und Maschine verstehen Dix et al nenn
39. eine nor male Maus mit mehreren Tasten dienen Diese besitzt dann zwei Attribute f r die Koordinaten im Raum wobei nur die Ver nderungen bei einer Bewegung gemessen werden Damit ist es m glich die Maus aufzuheben und an einer 14 Grundlagen anderen Stelle wieder abzusetzen ohne dass sich der Zeiger am Bildschirm be wegt 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 alle 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 Eigen schaften sind verschiedene Abstraktionen denkbar Es l sst sich eine Unter teilung in drei Ebenen vornehmen wie bei der logischen Interaktion im In teraktionszyklus siehe Abschnitt 2 1 3 in die lexikalische die syntaktische und die semantische Ebene 126 Die lexikalische Ebene beschreibt physikali sche Eingabeereignisse wie einen Tastendruck oder Mausklick die syntaktische Ebene dient zur Kontrolle ob Eingaben in einer vorgegebenen Reihenfolge ge schehen Die semantische Ebene dient der Pr fung ob die gew hlte Aktion im aktuellen Zusammenhang sinnvoll ist Nigay und Coutaz beschriebe
40. 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 Schall wellen wahr und kann dar ber hinaus r umlich orten woher sie kommen Das menschliche Geh r kann Frequenzen zwischen 20 Hz und 20 kHz wahr nehmen Mit zunehmendem Alter verschlechtert sich die H rf higkeit insbe sondere im oberen Frequenzbereich Mit Kl ngen lassen sich zahlreiche Infor mationen bertragen wie man am Beispiel der Sprache sehen kann Bei heu tigen Desktop Systemen werden in der Regel einfache Kl nge verwendet um simple Benachrichtigungen wie Fehler zu bermitteln 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 Rezeptoren in den Muskeln Ge lenken und Sehnen statt und liefert dem Gehirn Informationen ber die Positi on 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 Au gen die Gliedm
41. 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 Con ference on Human Factors in Computing Systems 510 511 2002 Zusammenfassung Schl sselw rter Mensch Maschine Interaktion Aufgabenmodellierung in teraktive Systeme Benutzerschnittstellen modellbasierte Entwicklung User Interface Management Systeme UIMS objektorientiertes Design multimo dale Benutzerschnittstellen 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 De sign Tools and Techniques D 2 11 Software Architectures 1 3 6 Interaction Techniques Die Erstellung multimodaler Interaktionsanwendungen ist trotz vieler Fort schritte in der Anwendungsentwicklung eine gro e Herausforderung Die Ursa che liegt in der Vielzahl von vorhandenen Modalit ten die unterst tzt werden sollen F r jede Modalit t muss eine komplette Benutzerschnittstelle imple mentiert 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
42. 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 ei ne einzelne 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 FUI entstanden ist oder die Vorstufe eines CUI erstellt wurde Der Unterschied ist lediglich die bersetzung vom concrete in das final user inter face Daher beschr nkt sich die folgende Betrachtung auf CUIs Es existieren zwei M glichkeiten um die CUls zu erhalten Eine M glichkeit ist die CUIs aus den anderen Modellen unter Einbeziehung der Kontextmo delle zu generieren Die andere M glichkeit ist falls es nur wenige Kontexte gibt die Benutzerschnittstellen h ndisch zu erzeugen Bevor beide M glich keiten beschrieben werden muss noch das Mapping zwischen den abstrakten Interaktionsmodellen und dem Pr sentationsmodell erstellt werden 4 5 1 Mapping zwischen Aufgaben Dialog und Pr sentationsmodell Um festzustellen zwisch
43. ist ihre Ausdrucksst rke bei den Modellen deutlich gr er als bei den anderen Notationen Dies ist nicht verwunderlich da aus vielen fr heren Beschreibungssprachen Ideen in die UML bernommen wurden Die UML ist die ausdruckst rkste Notation beim Dom nenmodell Im Vergleich zu Concur TaskTrees ist sie in Bezug auf das Aufgabenmodell mindestens genauso m ch tig da sie ber mehr Varianten zum Ausdr cken von Verhalten verf gt W h rend andere Notationen ein Dialogmodell aus einem Aufgabenmodell ableiten ist die UML die einzige Notation die ein komplett eigenes Dialogmodell bietet Eine weitere St rke liegt in ihrer Verbreitung und der verf gbaren Werkzeug unterst tzung Das Fehlen von Pr sentations und Kontextmodellen ist nicht zwingend ein Nachteil da diese aus anderen oben vorgestellten Notationen er g nzt werden k nnen Ein zus tzlicher Vorteil der UML ist ihre Skalierbarkeit und die F higkeit komplexe Anwendungen zu beschreiben Auch Hierarchiebil dung ist m glich Dazu bietet UML eine Reihe von Alternativen wie Diagramme miteinander verbunden oder ineinander eingebettet werden k nnen oO o K g n A S Gel A bo H K My 8 5 a E28 3 E ES E 5 g Eos S v x x Ke rs a S rA S An Ain fen E 3 O a Kriterium O A N O D D Erweiterbarkeit um Modalit ten o o Angemessenheit o Se ee ors Verstandlichkeit o 0 Ausdrucksstarke Universalit t o af af pee bb ey Werkzeugunte
44. lt 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 4 2 Aufgabenmodell 69 package Dad RS Music System Music System Benutzer edit playlist Abbildung 4 3 Use Case Diagramm mit zwei Use Cases Zwischen Use Cases k nnen auch Beziehungen bestehen Ein Use Case kann einen anderen Use Case beinhalten oder einen bestehenden erweitern Kom plexere Systeme profitieren von diesen Eigenschaften indem sie Gemeinsam keiten 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 tsdiagramme verwendet Diese sollen nun n her beschrieben werden 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 act
45. 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 senta tionsmodell interagiert Dazu beschreibt es die m glichen Aktionen des Benut zers und wie die Anwendung darauf reagieren soll Das Umgebungsmodell environment model wurde von Duarte und Carrico beschrieben 47 Es liefert kontextuelle Informationen wie beispielsweise ber Lautst rke Helligkeit und den Aufenthaltsort Die Informationen h ngen 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 lAuch concepts model genannt 25 3 1 Modellarten und Mapping Problem 31 Das Ger temodell device model beschreibt ber Profile die Eigenschaften von eingesetzten Ger ten Einzelne Ger te werden durch ihre Attribute gekenn zeichnet Ein Ausgabeger t besitzt z B Attribute f r die Aufl sung in Pixeln ein Eingabeger t wie eine Maus verf gt beispielsweise ber Attribute f r ihre Koordinaten und f r die verschiedenen Kn pfe 214 Das Evaluationsmodell beschreibt 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
46. m glichen sie auch Beziehungen zwischen Klassen wie Aggregation oder Kom position 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 genommen entspricht eine Aktion innerhalb der Diagramme gerade der Defini tion eines Tasks Diese Diagramme beinhalten eine Ablaufsteuerung und k n nen 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 Beschreibung ihres Verhaltens wieder ein Aktivit tsdiagramm enthalten darf activity getraenkeautomaf F i getraenkeautomat J start hello hello th package Data ES getraenkeautomat select select DrinksVendor credit selected addCredit amount peer i production produce d 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 Im Gegensatz zu ConcurTaskTrees und UsiXML existiert mit den Zustandsdia grammen ein eigener Diagrammtyp zur Beschreibung des Verhaltens von ein zelnen Dialogen Bei der Modellierung mit
47. miteinander verschmol zen werden Fine Fusion ist bei der Verwendung von mehreren Modalit ten notwendig da diese durch ungen gende Erkennung der Benutzereingabe wi derspr chliche Eingaben liefern k nnen Unter Fission versteht man die Auf spaltung der Ausgabe Eine Fission geschieht immer wenn sich der interne Zu stand der Dialogsteuerung 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 5 3 Fission und Fusion 93 Benutzerschnittstellen der einzelnen Modalit ten zur Laufzeit generiert wer den Im Folgenden wird beschrieben wie die Fission hin zu einzelnen Modalit ten geschehen 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 Beschreibung des Verhaltens von modellbasierten Benutzerschnittstellen legt wird lediglich ein kompakter berblick ber bestehende Arbeiten zu den The men Fusion 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 g
48. nokogiri 138 Literaturverzeichnis 150 151 152 153 154 155 156 157 158 159 160 161 162 163 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 Ines VANDERDONCKT Jean ESPANA Sergio PANACH Ignacio PASTOR Oscar The Beautification Process in Model Driven En gineering of User Interfaces In BARANAUSKAS C cilia PALANQUE Phil ippe ABASCAL Julio BARBOSA Simone Diniz Junqueira Eds Human Computer Interaction INTERACT 2007 volume 4662 2008 of LNCS 411 425 2008 PERLIN Ken MEYER Jon Nested User Interface Components In Pro ceedings of the 12th annual ACM symposium on User interface software and technology 11 18 1999 PETRI Carl Adam Kommunikation mit Automaten Ph D thesis Schrif ten des Rheinisch Westfalischen Institutes ftir instrumentelle Mathema tik an der Universitat Bonn 1962 PFAFF G HAGEN P Eds Seeheim Workshop on User Interface Mana gement Systems Springer Verlag Berlin 1985 PHANOURIOU Constantinos Uiml A device independent user interface markup language Ph D thesis Virginia Polytechnic Institute Blacks burg Virgina United States 2000 POGUNTKE Mark Modellgetriebene Entwicklung flexibler Mensch Fahrzeug Interaktion mit externen Infotainmentanwendungen vorl u f
49. pause stop Playing next do AC playing play Player pause previous inc_volume dec_volume uit welcome paused a Klassendiagramm MP3 b Zustandsdiagramm MP3 Player Player Abbildung 6 7 Links das Klassendiagramm des MP3 Players rechts das Zu standsdiagramm Von der Klasse CUI abgeleitete Klassen verbinden sich automatisch durch Auf ruf des Konstruktors der Oberklasse mit dem Mapper Sie besitzen zwei Queu es fiir Nachrichten eine zum Senden und eine zum Empfangen Im Folgenden wird am MP3 Player exemplarisch beschrieben wie solche Komponenten zu sammenwirken Im Prototyp sind drei Modalit ten implementiert eine grafi sche Schnittstelle eine Sprachschnittstelle sowie eine Schnittstelle f r tangible Interaktion durch Wii Remotes Jede dieser Komponenten wird durch eine ei gene Klasse implementiert wie Abbildung 6 8 zeigt Grafische Benutzerschnittstelle Die f r 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 wer den 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
50. sehen eine Modalit t als einen Typ eines Kommunikationskanals in Kombination mit der Art in der ein Kon zept ausgedr ckt oder verstanden wird 3 Diese Definition baut auf den obigen Vorarbeiten von Modalit 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 darge stellt werden 15 In Bernsens Arbeit werden verschiedene Arten der Infor mationsrepr sentation gesammelt um aus ihrer Kombination die Menge aller m glichen Basismodalit ten zu schaffen F r diese Arbeit ist ein solcher An 3siehe auch die Vorarbeit von Coutaz Nigay und Salber 38 2 2 Modalit ten 15 satz allerdings ebenso wenig zielf hrend wie eine Auflistung aller m glichen physikalischen Interaktionsm glichkeiten Es gen gt verschiedene Arten von Modalit ten unterscheiden zu k nnen Wie in Abschnitt 2 1 4 zur Trennung von Inhalt Logik und Form bereits be merkt besitzt eine Modalit t dabei eine Richtung Im Folgenden wird der Begriff Modalit t definiert Analog zu den Sinnesmo dalit ten kann man auch von Interaktionsmodalit ten 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
51. sich als hierarchische PAC Agenten oder mit dem MVC Konzept als Kombination von View und Controller realisieren In beiden F llen liegen Abstraction bzw Modell bei der Dialogsteuerung In die ser 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 Aufgliederung 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 zusammenfassen Ein PAC Agent beschreibt beispielsweise eine Interaktion in Software auf der AUI Ebene Fin Unteragent beschreibt eine GUI Unteragen ten steuern das Anwendungsfenster und die verschiedenen Elemente aus de nen die GUI sich zusammensetzt Eine solche Strukturierung ergibt sich durch die Gruppierungen in den Ausgangsmodellen und l sst sich bei einer automa tischen Generierung nutzen 5 2 Zusammenspiel der Komponenten Nachdem im letzten Abschnitt die Komponenten des mArch Modells beschrie ben wurden wird im Folgenden erl utert wie die Komponenten zusammenar beiten und welche Aufgaben in ihnen ausgef hrt werden Die Komponenten k nnen plattform bergreifend durch Kommunikationsme chanismen verbunden werden damit Anwendungen mehrere Ger te und Platt formen f r ihre Benutzerschnitt
52. von Modellen Modellbasierte Anwendungen verwenden in der Regel mehr als nur ein einzel nes Modell Es existieren Modelle f r verschiedene Aspekte der Anwendung des Benutzers und noch weitere im Umfeld Nach Puerta und Eisenstein unter scheidet 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 Reihen folgen und Alternativen zusammenfassen Zus tzlich k nnen Elemente Infor mationen ber Bedingungen zur Ausf hrung von Aktionen besitzen Das Dom nenmodell domain model definiert Objekte die im System vor handen sind und welche Aktionen mit ihnen durchgef hrt werden k nnen Es beschreibt dazu auch die Abh ngigkeiten und Relationen von Objekten unter einander sowie die Attribute der Objekte Das Benutzermodell user model beschreibt die verschiedenen Arten von Be nutzern die eine Anwendung nutzen und die Eigenschaften der Benutzer Es handelt sich hierbei jedoch nicht um ein kognitives Modell welches Informa tionsaufnahme und hnliches beschreibt sondern um ein Modell das Eigen schaften wie Alter Sehschw chen und Pr ferenzen von Benutzern beschreibt Das Pr sentationsmodell presentation model repr sentiert die verschiedenen Elemente der Benutzerschnittstelle und ihre Auspr gungen visuell haptisch usw Es enth
53. werden Benutzerfehler werden in der Regel in Auf gabenmodellen ignoriert schlie lich ist die Auswahl der richtigen Interaktions elemente nicht trivial Die Wahl zwischen einem Dropdown Men und Feldern mit Radiobuttons in einer GUI kann nicht nur von der Displaygr e des Aus gabeger ts abh ngen Gajos et al erg nzten dass der Generierungsprozess zu vom Benutzer vorhersehbaren Ergebnissen f hren muss da sonst eine Verun sicherung 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 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 wesentli chen aus drei Schritten 1 Auswahl einer Modalit t 80 Modellieren von Interaktionsanwendungen mit UML 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 die se wird dabei festgelegt welche Ger te eingesetzt werden Im Fall des MP3 Players soll eine GUI f r einen Desktop Rechner erstellt werden
54. werden bei die ser Notation zus tzlich zum Dialogmodell die Verbindungen zu Pr sentations und Dom nenmodell gekennzeichnet Nach ihrem H hepunkt in den 1980er und 1990ern hat die Verbreitung solcher Systeme zu Gunsten anderer Verfah ren nachgelassen 3 4 3 Zustandsdiagramme Zustandsdiagramme engl state charts oder state transition networks existie ren schon seit den 1950ern Sie sind gerichtete Graphen in denen Knoten Zu st nde markieren und Kanten berg nge bezeichnen 105 113 Harel erweiterte die Zustandsdiagramme 1987 um Hierarchie und Nebenl u figkeit um dadurch die Anzahl von Knoten im Zustandsraum reduzieren zu k nnen 58 59 Abbildung 3 4 zeigt einen Teil eines Zustandsdiagramms ei ner Uhr Durch eine gestrichelte Linie wird angezeigt dass nebenl ufige Zu st nde existieren In der Abbildung ist die Zeitmessung nebenl ufig zur Anzei ge der Uhrzeit Abbildung 3 4 Ausschnitt aus dem Zustandsdiagramm einer Uhr nach der urspr nglichen Arbeit Harels von 1987 Bereits 1968 stellte Newman ein System vor bei dem das Verhalten einer GUI durch austauschbare Zustandsdiagramme beschrieben wird 124 Auch heu te werden reine Zustandsdiagramme 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 res
55. wichti ger Aspekt ist den Aufwand f r Mappings zwischen den beteiligten Modellen gering zu halten Benutzerschnittstellen sind durch die Trennung der Repr sentation ihrer Inhalte Oberfl chen Sprache etc von Interaktionslogik ein facher 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 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 Mappings zwischen Modellen einer Notation erfassen Mit dem Klassifikationsf ramework 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
56. wird und wie mehrere Modalit ten angebunden 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 sel ben Zeitraum wie die oben beschriebenen Modelle entstanden andere Ans tze die hierauf eingehen Die zwei bekanntesten sind Model View Controller und Presentation Abstraction Control Das Model View Controller MVC Konzept wurde 1979 von Reenskaug beim Xerox Palo Alto Research Center PARC entwickelt 162 Die erste Imple mentierung wurde f r die Erstellung von Benutzeroberfl chen mit Smalltalk 80 verwendet 95 Ziel war die Trennung von Benutzerschnittstellen in aus tauschbare Objekte Die Modell Komponente ist f r die Verarbeitung und Spei cherung der Daten zust ndig Die View Komponente stellt die Daten dar in der Regel auf einem Bildschirm Es k nnen mehrere Views gleichzeitig existieren und auch verschiedene Visualisierungen derselben Daten zeigen z B eine Ta belle 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 Architekturen f r multimodale Benutzerschnittstellen Modell ndert nderungen am Modell werden einem oder mehreren Views mitgeteilt De
57. zur Bedienung von Anwendungen Die Klasse SpeechUI in Abbildung 6 8 verf gt ber eine zus tzliche Methode recognizer ber welche eine kon tinuierliche 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 Komman Realisierung eines Software Frameworks Kommando Phoneme NEXT NEHKS NEXT 1 NEHKST PAUSE PAOZ PLAY PLEY PREVIOUS PRIYVIWAHS SOFTER SAOFTER SOFTER 1 SAAFTER STOP STAAP Tabelle 6 3 Sprachkommandos f r den MP3 Player und ihre Phoneme dos 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 Ein satz 48 Es unterst tzt verschiedene Sprachen und auch Aussprachevarianten wie unterschiedliche Stimmlagen In Konfigurationsdateien f r die Sprachbedienschnittstelle werden die Kom mandos f r die Eingabe und S tze f r die Ausgabe abgelegt Diese Dateien werden von der Klasse SpeechUI beziehungsweise dem Sphinx Erkenner ge laden so dass w hrend der Laufzeit einer Anwendung die verschiedenen Kom mandos und Ausgaben eingesetzt werden k nnen Tangibl
58. 0 Die klassische GUI ist jedoch ein fensterbasiertes System das bei allen g ngi gen Betriebssystemen wie Windows MacOS oder Unix als Interaktionsschnitt stelle Anwendung findet Dieser Interaktionsstil wird auch WIMP genannt da er Fenster Icons Men s und ein Zeigeger t Maus verwendet GUIs sind die derzeit am meisten verbreiteten Benutzerschnittstellen im PC Bereich Sie eignen sich besonders gut f r Aufgaben bei denen bildlich textuell gearbeitet werden muss oder zum Erstellen von grafischen Inhalten wie z B dem Nachbearbeiten von Fotos Opti estricted modules available for 1 forwards a Debian Aptitude b HTC Touch Abbildung 2 5 Zwei GUIs links eine Text basierte Oberflache 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 Oberfl che Microsoft Surface 111 In Abbildung 2 5b ist der HTC Touch abgebildet ein Mobiltelefon das ber einen Touchscreen gesteuert werden kann 4engl graphical user interface 2 2 Modalit ten 19 Sprachbedienschnittstellen Sprache wird je nach Art der Anwend
59. 11 1 2008 55 GAMMA Erich HELM Richard JOHNSON Ralph VLISSIDES John De sign 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 59 HAREL David Statecharts in the making a personal account Commu nications of the ACM 52 3 67 75 ISSN 0001 0782 2009 60 Harmonia Inc Blacksburg Virginia U S A User Interface Markup Lan guage UIML Specification Version 3 0 Draft 2002 61 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 62 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 63 HILL Ralph D The abstraction link view paradigm using constraints to connect user interfaces to applications In Proceedings of the SIGCHI conference on Human factors in computing systems 335 342 ACM Press 1992 132
60. 4 ISSN 0001 0782 2008 RICHTER Kai Methoden zur Unterst tzung bei der Entwicklung plattfor m bergreifender Benutzerschnittstellen Ph D thesis Technische Univer sit 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 annu al ACM symposium on User interface software and technology 137 146 1994 SARSTEDT Stefan GESSENHARTER Dominik KOHLMEYER Jens RASCHKE Alexander SCHNEIDERHAN Matthias ActiveChartsIDE An Integrated Software Development Environment comprising a Compo nent for Simulating UML 2 Activity Charts In The 2005 European Si mulation 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 SCH SSEL Felix Adaptive Fusion in modellbasierten Anwendungen vorl 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
61. 6 4 5 2 Generierung von Benutzerschnittstellen 78 4 5 3 Direktes Mapping zu Modalit ten 79 AO ER GENEE EE Se ee A 80 Architekturen f r multimodale Benutzerschnittstellen 83 5 1 Ans tze f r Architekturen 84 5 1 1 User Interface Management Systeme UIMS 84 5 1 2 Seeheim Modell i cece ala ara wre 85 5 1 3 Arch und Arch Slinky Modell 86 5 1 4 Multimodale Pr sentationskomponenten 87 5 1 5 Kombination der Ans tze zum multimodalen Arch mArch Modell a a 89 5 2 Zusammenspiel der Komponenten 90 5 2 1 Dom nenobjekte und Dom nenadapter 90 7 5 2 2 Dialogsteuerung 5 2 3 Pr sentationskomponente Mapper 5 2 4 Modalit aten 2 0 ee ee ee eee 5 3 Fission und Fusion 5 331 VFISSION kon a is Oe a be eee wae ae Re d 9 3 2 FUSION Ws b gt re seek doseage sma epee ie ale BER ES SS E Fazit 25 3 PS SG ES YAR AE Pw oe al de ES eS Realisierung eines Software Frameworks 6 1 Aufbau des User Interface Management System Frameworks 6 1 1 Parsen von UML Diagrammen 6 1 2 Initialisierung des Frameworks 6 2 Ausf hren von UML 2 2 Comm n 6 2 1 Hilfsmechanismus Kaktusstack 6 2 2 Aktivit tsdiagramme 6 2 3 Zustandsdiagramme 6 2 4 Anbindung von Klassendiagrammen 6 2 5 Anbindung des Pr sentationsmodells Grafische Benutzerschnittstelle Sprachb
62. 7 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 aller Interaktionselemente die in einem Dialog verwendet werden k nnen Grundlagen 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 zusam men ergeben die Schnittstelle Nachdem sich die Schnittstelle zwischen System und Benutzer befindet sind vier Schritte f r eine Interaktion n tig vgl Abbil dung 2 2 Ausgabe System Benutzer Ziele Eingabe Abbildung 2 2 Interaktionszyklus im Interaction Framework nach ACM SIG CHI 45 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 abwechselnde Phasen zerlegt Execution die Ausf hrung einer Aktion sowie Evaluation die Bewert
63. 8 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 zumindest die Interaktions und die Anwendungslogik von ein ander 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 von Johannes M ller untersucht und als Sinnesmo dalit 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 Aufnah
64. 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 sentationsmodell Abbildung 3 6 zeigt die Einordnung von Harels Zustands diagrammen in das Klassifikationsframework Abgesehen von den bereits vorgestellten Notationen existieren neuere Ans t ze die ebenfalls textuell verschiedene Modelle beschreiben An dieser Stelle sei auf Trewin et al verwiesen 190 die eine Auswertung der vier bekanntes ten Ans tze vorgenommen haben XForms UIML XIML und AIAP Alle diese Ans tze bieten Fortschritte in verschiedenen Bereichen unterliegen allerdings 48 Klassifikation bestehender Ans tze Evaluation SEE Abbildung 3 6 Einordnung von Zustandsdiagrammen in das Klassifikations framework noch Einschr nkunen XForms besitzt ein Dialogmodell verbindet aber nicht die einzelnen 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 wer den 155 60 XIML ist eine Metasprache in der lediglich die Beschreibung von Elementen f r verschiedene Modelle m glich ist ein standardisiertes Vo kabular ist jedoch nicht vorhanden 159 160 AIAP wurde zur Erzeugung von Benutzerschnittstellen f r mobile Ger te in einer Dienste Architektur ent wickelt und legt seinen Schwerpunkt auf die V
65. Anwendung nur in Software Bild links von http designnation de sars a a 2288 rss 25 2 9 Zwei MP3 Player Links Apple Ipod rechts Media Player Classic http mpce he sourceforge net 2 2 22 20 26 3 1 Modelltransformationen im Cameleon Framework 39 3 2 Transformationen und entsprechende Elemente am Beispiel des MP3 Players dnandtz EE AB a er OER a ee ah eae age aes A 40 3 3 Das Models and Mappings Klassifikationsframework 41 3 4 Ausschnitt aus dem Zustandsdiagramm einer Uhr nach der urspr ng lichen Arbeit Harels von 1987 2044 46 3 5 Dialogmodell des MP3 Players als Zustandsdiagramm 47 3 6 Einordnung von Zustandsdiagrammen in das Klassifikationsframework kta ARR bees a AE Be eee A a Red hd 48 3 7 Die Aufgaben des MP3 Players mit ConcurTaskTrees 50 3 8 ConcurTaskTrees im Klassifikationsframework 52 3 9 UsiXML im Klassifikationsframework 54 3 10 Links das Klassendiagramm des Getr nkeautomaten rechts das Ak tivit tsdiagramm 2 acs E E ee a Y 55 3 11 Zustandsdiagramm zur Beschreibung des Verhaltens der Aktion hel lo Es zeigt die Begr ung mit Geldeinwurf 57 3 12 Zustandsdiagramm zur Beschreibung des Verhaltens der Aktion se lect Es zeigt die Auswahl eines Getr nks 58 3 13 UML im Klassifikationsframework 58 vii 4 1 Zusammenhang zwischen den eingesetzten UML Diagramme
66. 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 3 2 Ans tze zur Klassifikation 37 allerdings Schwerpunkt von Arbeiten die sich mit der Generierung von Benut zerschnittstellen 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 Angemessenheit der Notation Verst ndlichkeit Ausdrucksst rke Universalit t Werkzeugunterst tzung N DO U A W N Verbreitung 3 2 2 Fr he Aufgliederung nach Abowd et al In ihrer Stu
67. Benutzerschnittstellen 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 Fine Behandlung der Eingaben ist also notwendig Die Fusion vereinigt die verschiedenen Eingaben der Modalit ten zu einem ein zigen Eingabestrom Im einfachsten Fall geschehen 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 tz lich zwei M glichkeiten der Eingabe Die Eingabe kann sich zeitlich berlappen oder es k nnen zwei Eingaben sehr dicht aufeinander folgen Wie von Niga
68. 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 f r Aktivit tsdiagramme 6 2 3 Zustandsdiagramme Von Aktivit tsdiagrammen aus k nnen wie in Kapitel 4 bereits beschrieben wurde 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 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 Zustandsdiagrammen wird in UML durch Pseu dostates Pseudozust nde umgesetzt Pseudostates sind Elemente wie Start 6 2 Ausf hren von UML 109 package Datal ES State Machine Modele
69. Datei m ssen alle Startzust nde ermittelt werden Dies ist notwendig da z B ein hierarchischer Zustand mehrere Start zust 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 Aktivitatsdia gramm vorgesehen Als weitere Vereinfachung muss der Knoten den Namen start besitzen 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 und verbindet sie miteinan der 102 Realisierung eines Software Frameworks Input Referenz auf anwendung Pfad zu X MI Modalit ten Lege Array zur Threadverwaltung an threads Array new Erzeugen von Dialogmodell uims und Mapper 2 uims UIModel new X MI 3 Mapper Mapper new Verbinden der Komponenten miteinander 4 mapper connect_uims uims uims connect_app anwendung uims connect_mapper mapper Registrieren der Modalit ten beim Mapper 7 foreach mod modalities do 10 11 threads add mod thread mapper register mod end Dialog starten uims start Algorithmus 1 Initialisierung des Frameworks durch UIBuilder interaction Start K S
70. ES ac player start welcome play Player play F F Player pA PI stop Player stop Player stop play dialog pause Player pause sm player playing paused th do AC playing Play Player pause E a Aktivit tsdiagramm MP3 b Zustandsdiagramm MP3 Player Player Abbildung 4 9 Links das Aktivit tsdiagramm des MP3 Players rechts das Zu standsdiagramm der Aktion play dialog 2 Meilir Page Jones beschreibt dies im Detail 145 78 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 Zustands diagramm 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 Begr ungsnachricht ausgeben Mit dem Betreten der Aktion play dialog wird ebenfalls ein Event ausgesendet Nimmt man eine GUI als Modalit t an wird bei dieser ein Fenster mit dem gleichen Namen angezeigt das die Be dienelemente f r die Anwendung enth lt Durch das Betreten des Zustands diagramms und seiner Unterzust nde werden weitere Events an das Pr senta tionsmodell 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
71. Goals sind die Ziele des Benutzers die er bei einer Aufgabe erreichen m chte 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 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 Methods kennzeichnen Wege zum Ziel In GOMS werden Methods durch das kleingeschriebene Schl sselwort goal gekennzeichnet Selection kennzeichnet die Wahlm glichkeit zwischen den verschiedenen Methods von Do A Ww N ra m 3 6 Modelle f r Kontext Evaluation und einzelne Modalit ten GOMS kommt aus dem Bereich der kognitiven Modellierung Mit GOMS lassen sich gut hierarchische Planungen darstellen und Vorg nge in atomare Abfolgen zerlegen 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 wwo DS A AGAR Listing 3 3 Kaufen eines Kaffees an einem Getr nkeautomat mit GOMS Das Beispiel in Listing 3 3 zeigt eine Modellierung des Getr nkeautomaten mit GOMS In diesem Beispiel gibt es nur ein Ziel der Benutzer m chte ein en Ka
72. 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 Lauf zeit ab Anpassungen an eine besonders laute oder glei end helle Umgebung sollten beispielsweise direkt w hrend der Benutzung geschehen 94 Architekturen f r multimodale Benutzerschnittstellen 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 exemplarisch herausgegriffen wird ist von van den Bergh et al die eine eige ne Beschreibungssprache f r Benutzerschnittstellen beschreiben und f r Mehr benutzer Systeme einsetzen 13 Die Arbeit verwendet ConcurTaskTrees zur Beschreibung von Benutzerinteraktion und abstrakte Templates aus denen die
73. KISHINO Fumio ITOH Yuichi On tangible user interfaces humans and spatiality Personal 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 140 Literaturverzeichnis 179 180 181 182 183 184 185 186 187 188 189 190 DA SILVA Paulo Pinheiro GRIFFITHS Tony PATON Norman W Gene rating user interface code in a model based user interface development environment In AVI 00 Proceedings of the working conference on Ad vanced visual interfaces 155 160 ACM New York NY USA ISBN 1 58113 252 2 2000 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 authoring for technical documentation In SIGDOC 05 Proceedi
74. Nachrichten f r den Mapper gewandelt Der Mapper kann mehrere Eingaben bei Bedarf fusionieren und reicht das Ergebnis als Trigger an die Dialogsteuerung weiter Die Dialogsteuerung verarbeitet den Trigger und betritt gegebenenfalls neue Zust nde oder f hrt Aktionen aus Die Dialog steuerung informiert den Mapper ber Ver nderungen damit dieser ein Up date der Benutzerschnittstellen bewirken kann Durch die damit verbundene 116 Realisierung eines Software Frameworks Systemantwort schlie t sich der Kreis der Interaktion zwischen Dialogsteue rung und Benutzer state machine sm player amp sm player J inc_volume Player inc_volume aussen der volume Player dec_volume previous Player previous next Player next activity ac player Ei ac player song start lay Player pl Player p Player stop play dialog sm player th a Aktivit tsdiagramm MP3 b Zustandsdiagramm MP3 Player Player stop Player stop pause Player pause playing do AC playing paused play Player pausei Abbildung 6 11 Links das Aktivitatsdiagramm des MP3 Players rechts das zu gehorige 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 au tomatischen Generierung von Benutzerschnittst
75. Notationen f r ande re Modalit ten Im Sprachbereich ist VoiceXML weit verbreitet eine Markup Sprache des W3C f r Sprachdialoge die schon in der zweiten Version vor liegt 103 VoiceXML findet zus tzlich zu reinen Sprach bzw Telefoniean wendungen auch Einsatz in Kombination mit Webseiten durch den Standard XHTML Voice 10 Fiir Tangible User Interfaces entstehen erst Notationen Leland et al stellten 2004 in einem Konzeptpapier die Grundlagen fiir 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 sentati onsmodell Zus tzlich soll TUIML noch Elemente f r die zu manipulierenden Objekte und ihre Eigenschaften enthalten Diese Notation ist jedoch erst in der konzeptionellen Phase 3 7 Bewertung Die in Abschnitt 3 4 vorgestellten Grammatiken Ereignissprachen Produk tionsregeln und Zustandsdiagramme sind zwar ausdrucksstarke Notationen durch die mangelnde Anbindung der Dom ne und weiterer Modelle gen gen sie nicht den Anforderungen an eine universelle abstrakte Notation f r Interak tionsanwendungen Auch die im selben Abschnitt am Rande gestreiften neue ren Notationen l sen diese Probleme nicht Es gen gt nicht durch Notationen wie Grammatiken Ereignissprachen und Produktionsregeln eine formale Analyse zu erm glichen w hrend gleichzeitig ihre Nutzbarkeit begrenzt bleibt Diese Begrenzung soll durc
76. OBJECT MANAGEMENT GROUP Diagram Interchange Version 1 0 April 2006 OBJECT MANAGEMENT GROUP Meta Object Facility MOF Core Specifi cation January 2006 OBJECT MANAGEMENT GROUP Object Constraint Language Version 2 0 May 2006 OBJECT MANAGEMENT GROUP MOF 2 0 XMI Mapping Version 2 1 1 December 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 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 Associates 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 Appli cations Springer Verlag London UK ISBN 1852331550 1999 PATERNO Fabio MANCINI Cristiano MENICONI Silvia ConcurTask Trees A Diagrammatic Notation for Specifying Task Models In IN TERACT 362 369 1997 PATTERSON Aaron XML Document Parsing Comparison http github com tenderlove xml_truth PATTERSON Aaron DALESSIO Mike Nokogiri http nokogiri rubyforge org
77. Parser Quelle 148 gek rzt 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 vorgestellte 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 Par sen 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 Erstellung der UML Elemente aus den Diagrammen n tig sind Die XML Path Language XPath 209 ist eine Abfra gesprache die vom W3 Konsortium entwickelt wurde F r jedes unterst tzte Modellelement der UML State Transition Node Edge und Trigger existiert eine eigene Klasse im aus dem UML Paket aus Abbildung 6 1 in welcher al le relevanten Informationen durch Attribute repr sentiert werden Der Parser erzeugt f r jedes Element aus dem Modell ein eigenes Objekt und speichert zus tzlich Informationen 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
78. Sie beschreiben die Arten von Nachrichten die gesendet werden 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 Gan zem und seinen internen Objekten Zus tzlich werden Sequenzdiagramme oft zur Spezifikation 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 besitzt unter anderem Methoden um das Guthaben des Benutzers beim Auto mat zu erh hen und das Geld zur ckzufordern Als Aufgabenmodell dient ein Aktivit tsdiagramm welches in Abbildung 3 10b zu sehen ist Die beiden Zustandsdiagramme in Abbildung 3 11 und 3 12 beschreiben das Verhalten der Aktionen hello und select aus dem Aktivit tsdiagramm Im Aktivit tsdiagramm wird durch das Gabelungssymbol angezeigt dass ein er weiterndes Diagramm vorhanden ist In beiden Zustandsdiagrammen gibt es eine Reihe von Transistionen die Benutzerinteraktionen als ausl sende Ereig nisse besitzen Die annotierten Befehle sind mit dem Dom nenmodell verbun den 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 vie le S
79. UML wird das Dialogmodell aus die sem Grund nicht aus dem Aufgabenmodell abgeleitet sondern eigens erstellt Zustandsdiagramme entsprechen weitgehend den in Abschnitt 3 4 3 beschrie benen Diagrammen Sie k nnen ebenfalls hierarchisch aufgebaut werden um Parallelit t abzubilden und enthalten noch einige UML spezifische Erweite rungen 56 Klassifikation bestehender Ans tze 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 Sequenzdia gramme relevant Use Case Diagramme zeigen was ein System f r Benutzer leistet Sie werden meist eingesetzt um das Verhalten von Benutzerschnittstellen zu beschreiben Jeder Use Case Anwendungsfall kapselt eine Menge von Aktionen 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 zusammenzufassen und Aufgaben miteinander zu verbinden Sequenzdiagramme zeigen wie verschiedene Elemente zur Laufzeit miteinan der kommunizieren
80. Zun chst wird keine Musik gespielt erst nach der Eingabe des Befehls play beginnt die Anwendung damit Befeh le sollen hier abstrakt von der eigentlichen Benutzerschnittstelle beschrieben werden Sie k nnen als Taste an einem Ger t Button in einer GUI oder Sprach befehl 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 Abspielmodus 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 Grundla ge f r die Erzeugung von plattformspezifischen Modellen aus generischeren plattformunabh ngigen Modellen vorgestellt Zum Schluss wurden Fallbeispiele vorgestellt 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 de
81. a be oder das Sprechen von Kommandos bei sprachgesteuerten Systemen Auch die Ausgabe durch verschiedene Ger te f llt hierunter Eine detaillierte Abhandlung ber die Trennung zwischen logischer und physikalischer Inter aktion findet sich bei 56 10 Grundlagen nderung des Systemzustands logische Interaktion semantische Ebene lexikalische Ebene syntaktische Ebene physikalische Interaktion Abbildung 2 4 Interaktionszyklus aus Sicht eines technischen Systems 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 Befehle d rfen z B nicht aufeinander folgen so kann erst nach einer initialen Eingabe eine Undo Funktion verwendet werden Wie oben schon erw hnt ist dies 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 erfolgen Auf der semantischen 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 F
82. a en zu positionieren und damit Bewegungen wie Gehen oder Greifen auszuf hren 2 2 Modalit ten 13 Bei Blinden verst rkt sich die Wahrnehmung des Tastsinns und des H rsinns Beide ersetzen dann zum gro en Teil die Informations bertragung des visuel len 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 ei nem 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 Wahrneh mung geachtet werden 2 2 2 Modalit t als Repr sentation von Information Auch Maschinen verf gen ber ein quivalent zu Sinnesmodalit ten Durch Sensoren oder Eingabeger te k nnen sie Informationen aus ihrer Umwelt auf nehmen Sie k nnen auch analog zum Menschen auf verschiedene Arten Infor mationen ausgeben Sie unterscheiden sic
83. achen Verzwei gungen beim Einsatz eines solchen Stacks f r UML Diagramme wird der Stack Kaktusstack genannt m n o E wg our transit a b enter_and_keep exit b b m n o Abbildung 6 4 Kaktusstack mit m glichen Operationen In Abbildung 6 4 sind die verschiedenen Operationen zu sehen die auf dem Kaktusstack m glich sind Alle Kaktusstacks in der Abbildung besitzen mehre 106 Realisierung eines Software Frameworks re Verzweigungen Die einfachste Operation ist ein bergang d h in einem Diagramm wird von einem Zustand zu einem anderen oder einer Aktion zur n chsten gewechselt Diese Operation wird transit genannt und ndert die Spitze einer Verzweigung von a nach b Wird von einem Diagramm aus ein anderes Diagramm betreten so bleibt die aufrufende Aktion bzw der aufru fende 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 Operation 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 Aktivit tsdiagramme
84. andlung der Daten w hrend des Abspielens beschreibt wird durch die Anweisung do AC playing aufgerufen 4 4 Erg nzende Diagramme Es gibt noch weitere Diagramme die im Entwicklungsprozess eingesetzt wer den k nnen Diese sind wie das Use Case Diagramm nicht zwingend n tig um eine Interaktionsanwendung zu erstellen unterst tzen aber die Arbeit Eine ausgew hlte Menge wird im Folgenden kurz vorgestellt Paketdiagramme helfen bei der Entwicklung gr erer Systeme und beschrei ben wie Sammlungen von Klassen zusammengefasst werden Durch sie kann die bersichtlichkeit besser gewahrt werden da sie eine Gliederung nach funk tionalen 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 Einsatz Sie beschreiben die Struktur eines Systems zur Laufzeit Insbesondere verdeutlichen diese Diagramme wie die verschiedenen Komponenten erzeugt werden und was f r Verbindungen zwischen ihnen bestehen Diese Eigenschaf ten sind z B f r die Spezifikation von Schnittstellen n tzlich Sequenzdiagramme zeigen den Austausch von Nachrichten zwischen Kommu nikationspartnern innerhalb des Systems Sie beschreiben dabei die zeitliche 4 5 Pr sentationsmodell 75 state machine select Di se d J I 100 addCredit 1 Kaba
85. angible User Interfaces TUIs die manchmal auch als Reality based User Interfaces RBIs bezeichnet werden TUIs sind Benutzerschnittstellen bei de nen einzelne 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 dteplanung das in Abbildung 2 6 gezeigt wird Ein Benutzer kann Geb u demodelle aus Drahtgestellen bauen und auf eine Oberfl che stellen Je nach eingestellter Tageszeit werden die jeweiligen Beleuchtungsverh ltnisse auf der Oberfl che dargestellt indem die Geb ude Schatten werfen Durch die Ver nderung der Tageszeit kann ein Benutzer sehen welche Geb udeteile abge schattet werden Zus tzlich l sst sich die Transparenz der Schatten mit Hilfe eines Stabs ver ndern Es l sst sich einstellen ob die W nde der Geb ude aus Glas oder lichtundurchl ssigem Material sein sollen Dementsprechend passt das System die Schatten an Durch ein Wind Werkzeug
86. ase Diagramme vorgestellt und kurz ber den Einsatz von Paket Komponenten und Sequenzdiagrammen berichtet Der vorgestellte Ansatz enth lt weiterhin die M glichkeit zur hierarchischen Modellierung er bietet jedoch eine Reihe von zus tzlichen UML spezifischen Elementen 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 besonderer 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 allerdings 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 redu ziert den Aufwand Mappings zu erstellen und zu pflegen erheblich 4 6 Fazit 81 Eile Edit View Projects Help Ha welo e B ihe 7 cr lt search widgets gt ae
87. ayers wird durch das Ausschalten des Ger ts erreicht Wie man sieht sind in eine Aktion des MP3 Players und in zwei des Getr nkeautomaten weitere Diagramme einge bettet Dar ber hinaus lassen sich eine Reihe weiterer Flemente verwenden die in den Beispielen nicht ben tigt werden Unterbrechungsbereiche interruptible activity regions k nnen durch Signale abgebrochen werden Mit ihrer Hilfe lassen sich beispielsweise Ausnahmeereignisse beschreiben 4 3 Dialogmodell 71 Aktivit tsbereiche activity partitions erm glichen eine Teilung in verschiede ne 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 erledigen 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 Aktivit tsdiagramme beschreiben den grob strukturierten Ablauf der Interak tion zwischen Benutzer und System Will man direct manipulation 177 be schreiben bei der sich die Ausgabe zeitgleich mit der Eingabe ndert so setzt man i
88. ber 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 Occupational 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 Computer Interaction http www acm org sigchi cdg cdg2 html 1992 AXELSSON Jonny CROSS Chris FERRANS Jim MCCOBB Gerald RA MAN T V WILSON Les XHTML Voice Profile 1 2 http www voicexml org specs multimodal x v 12 March 2004 BARCLAY Peter J KENNEDY Jessie Teallach s presentation model In AVI 00 Proceedings of the working conference on Advanced visual inter faces 151 154 ACM New York NY USA ISBN 1 58113 252 2 2000 127 128 Literaturverzeichnis 12 13 14 15 16 17 18 19 20 21 22 23
89. ber weitere neue Modalit ten wie etwa Sprache oder Tangible User Interfaces etabliert Aufgrund der Menge an Mischformen ist es unm glich geworden alle Modalit ten detailliert zu betrachten deshalb wer den einige exemplarisch herausgegriffen Zur Realisierung wird auf bestehende Ans tze zur ckgegriffen sofern dies m glich und angebracht ist Der Schwerpunkt dieser Arbeit liegt auf dem Einsatz von Modellen zur Be schreibung von Interaktionsanwendungen Das Thema der Generierung von Benutzerschnittstellen aus Modellen wird nur angerissen Stattdessen wird ei ne Interpretation der Interaktionsmodelle bevorzugt Durch diese Arbeit sollen multimodale Benutzerschnittstellen erm glicht wer den deren Verhalten durch abstrakte Interaktionsmodelle beschrieben wird Benutzerschnittstellen werden durch die Trennung der Repr sentation ihrer Einleitung Inhalte Oberfl chen Sprache etc von der Interaktionslogik einfacher zu er stellen 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 Illustration eingesetzt werden Kapitel 3 Klassifikation bestehender Ans tze stellt das Problem der Verkn p fungen zwischen Modellen das Mapping Problem vor In einem eigens ent wickelten Framework zur Klassifika
90. beschreibt die Umgebung durch drei Attribute n m lich durch den lightingLevel der durch eine Zahl dargestellt wird sowie isNoisy und isStressing Die letzten beiden Attribute sind Wahrheitswer te Dieses einfache 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 ge h ren sich aber auf sein Verhalten auswirken k nnen Nach den Autoren sol len 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 glich die Geschwindigkeit des Benutzers bei der Erf llung einer bestimmten Aufgabe festzustellen zu messen 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
91. bieten die Inter aktion in dreidimensionalen virtuellen Raumen nutzen Der Bereich der Augmented Reality 109 berlagert Informationen durch Pro jektion und hnliche Verfahren Augmented Reality findet Anwendung in Be reichen in denen beispielsweise Techniker unterst tzt werden Diese k nnen beispielsweise durch eine besondere Brille Anweisungen zur Wartung von Mo toren 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 Abbildung 2 7 Landschaftsplanung mit SandScape Der Benutzer verformt den Sand und sieht zugleich die projezierten Ergebnisse Bild aus 79 22 Grundlagen Im Bereich der taktilen Ausgabe sind seit einigen Jahren Braillezeilen f r blin de Benutzer im Einsatz die sich durch Fortschritte bei der Mechatronik mitt lerweile g nstiger und leichter herstellen lassen hnliche Verfahren sind im Bereich Forcefeedback zum Einsatz gekommen So existieren z B M use die durch verschiedene 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 Bereich der Tangible Interaction weitere Modalit ten ausbilden 69 Dies sind unter ande rem Interaktion mit dem ganzen K rper full body interaction d h die M g lichkeit den gesamten K rper f r Interaktionen zu verwe
92. cation 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 kap selt die Anwendung in einen eigenen Thread so dass sie parallel zur Dia logsteuerung und den anderen Komponenten ausgef hrt werden kann Eine Klasse f r die Dom nenadapter Komponente ist nicht notwendig da alle An wendungsaufrufe direkt durch Methoden von Dom nenobjekten der Klasse Application bereitgestellt werden package Dad ES UIMS classes J UML State Transition Trigger Edge Node id id id id id type kind type type type kind source value source trigger target target outputPin 0 7 guard 0 interrupts behavior effect effect trigger 0 7 0 7 0 4 1 XMI 1 Hnitial_nodes 1 gt structured_nodes Fe 1 input_pins 1 o groups tel regions init ThreadedApp reduce file CallStack parse xmi Cul Go S H 1 in_q NM perform id Application 1 1 UIModel 1 1 Mapper call_method gees show_dial
93. chaften einer Umgebung k nnen sich dies stark auf das Pr sentationsmodell auswirken In sehr lauten Umge bungen kann das Pr sentationsmodell z B die verwendeten Modalit ten der Umgebung anpassen und auf Sprache zu Gunsten von grafischer Ausgabe ver zichten Umgekehrt verh lt es sich bei direkter Sonneneinstrahlung auf Anzei geger te wodurch diese schwer ablesbar werden Device Presentation Mapping Auch die eingesetzten Ger te und ihre M glich keiten beeinflussen das Pr sentationsmodell Die Modalit ten die von Ein und Ausgabeger ten bereitgestellt werden lassen sich vom Pr sentationsmo dell 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 optimieren Mit passenden Evaluationsmodellen sind zwei weitere Mappings vorstellbar Das User Domain Mapping und das User Dialog Mapping Ein User Domain Map ping findet im Kopf des Benutzers statt Dieser bildet sich ein mentales Modell welches mit dem vorhandenen Dom nenmodell verglichen werden kann um 3 1 Modellarten und Mapping Problem 33 Abweichungen und damit potentielle Missverst ndnisse fr hzeitig zu erken nen Ein User
94. chrichten an die Modalit ten sobald Aktionen oder Zust nde betreten werden Das Senden von Nachrichten entspricht einem Event Mechanismus ist aber nicht an ein Betriebssystem oder eine Plattform gebunden Durch den uni verselleren Mechanismus ist es einfacher verschiedene Hardware und Software Plattformen f r Modalit ten zu kombinieren 1Die Namen sind eindeutig und erf llen den Zweck von IDs 92 Architekturen f r multimodale Benutzerschnittstellen 5 2 4 Modalit ten An den Mapper k nnen mehrere Modalit tskomponenten angebunden wer den Unter Umst nden kann sogar eine Modalit t mehrfach angeboten werden Dies 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 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 Modalitat 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
95. das Arch Slinky Modell Die Dom nenobjekte werden im Dom nenmodell durch Klas sendiagramme beschrieben Sie legen die Funktionalit t der Anwendung fest Das Verhalten der Dialogsteuerung wird durch das Aufgaben und das Dia logmodell beschrieben die bereits in Kapitel 4 Modellieren von Interaktions anwendungen mit UML eingef hrt wurden F r das Aufgabenmodell werden Aktivit tsdiagramme f r das Dialogmodell Zustandsdiagramme eingesetzt Da die Verkn pfungen zwischen Dom nenmodell sowie Aufgaben und Dia logmodell bekannt sind kann die Dom nenadapter Komponente kompakt rea lisiert werden Sie leitet lediglich die Aufrufe an Dom nenobjekte weiter 90 Architekturen f r multimodale Benutzerschnittstellen Die Anbindung verschiedener Modalit ten geschieht ber die Pr sentations komponente Sie vermittelt zwischen dem abstrakten Dialogmodell und den verschiedenen Interaktionsobjekten der Modalit ten Dazu verteilt sie die Aus gaben an alle Modalit ten und konzentriert die Eingaben in einen einzigen Ereignisstrom Da die Pr sentationskomponente ein 1 n Mapping von der Dia logsteuerung zu den Modalit ten vornimmt wird sie in dieser Arbeit Map per genannt Der Mapper enth lt Funktionalit t mit der plattform bergreifend zwischen den Komponenten kommuniziert werden kannn Diese Funktionalit t ist notwendig da Modalit ten auf unterschiedlichen Plattformen zum Einsatz kommen Die einzelnen Modalit ten lassen
96. die tiber 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 Benutzer vorgeht und tiber welche Metaphern internen Modelle und Ziele er verf gt Dieses Modell deckt sich mit dem oben vorgestellten Begriff des Be nutzermodells 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 Spezifikationstechni ken und Sprachen zum Prototyping Dieser Bereich l sst sich in der Terminolo gie dieser Arbeit jedoch gut beim Dom nenmodell ansiedeln Unter Interaktion wird der Ablauf verstanden in dem der Austausch von In formationen zwischen Benutzer und Anwendung geschieht Der Bereich deckt sich mit dem Dialogmodell In diesem sehr fr hen Ansatz fehlen mehrere Modelle es werden keine Aus sagen zur Pr sentation der Benutzerschnittstelle gemacht Ans tze zu einem Aufgabenmodell sind noch nicht vom Dialogmodell getrennt und ber die Um gebung und die verwendbaren Ger te k nnen ebenfalls keine Aussagen getrof fen werden Es wird zwar eine grobe Strukturierung vorgeschlagen doch keine spezifischen Notationen eingesetzt da es sich nur um einen konzeptionellen Ansatz handelt 38 Klassifikatio
97. dieser Arbeit war es geeignete abstrakte Modelle f r die Interaktion zwi schen Benutzern und Anwendungen zu finden welche die Verkn pfungen 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 mul timodale Benutzerschnittstellen erm glichen bei denen alle Modalit ten ber die gleichen Interaktionsabl ufe verf gen 7 1 Beitr ge In den Kapiteln dieser Arbeit wurden eine Reihe von Aufgaben bew ltigt Im Folgenden werden die Kapitel zusammengefasst ihre wissenschaftlichen Bei tr ge aufgezeigt hervorgehoben und bewertet Kapitel 1 Einleitung motivierte die Notwendigkeit der Arbeit Die Problem stellung 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 Be griffe der Modalit t und Multimodalit t Die Vielfalt an Arten der Informati onsrepr sentation f hrt zu einer gro en Menge an Modalit ten Zum Ende des Kapitels wurden Grundbegriffe der modellbasierten Softwareentwicklung und Fallbeispiele 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 verschi
98. durch ihre textbasierte und komplexe Syntax schwierig zu erlernen und anzuwenden 200 Grafische Notationen bieten eine intuitive Alternative 3 5 1 ConcurTaskTrees Grafische Methoden stellen eine intuitive und einfache Alternative zu komple xen textuellen Notationen dar Als Erste stellten Annett und Duncan 1967 die hierarchische Task Analyse vor bei der Tasks durch eine Baumstruktur ge gliedert werden 6 Hierauf aufbauend entwickelte die Gruppe um Paterno die verbreitete Notation ConcurTaskTrees 147 Sie definiert vier Arten von Tasks Benutzertasks die kognitiv oder perzeptiv sein k nnen Interaktions tasks welche die Interaktion des Benutzers mit dem System repr sentieren Anwendungstasks in denen das System Aufgaben erledigen kann und abstrak te Tasks mit denen zusammengesetzte 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 Ope ratoren 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 Abspie len von Musik die Regelung der Lautst rke und die Navigation in der Playlist Sie sind parallel
99. e 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 dieses Feld 9 die Disziplin der Mensch Maschine Interaktion umfassend defi niert In Abbildung 2 1 sieht man die beteiligten Bereiche Diese Arbeit befasst sich dabei mit dem Bereich der Ein Ausgabe Dialogtechniken sowie Archi tekturen f r Dialoge Die Ein Ausgabe bezieht sich auf die Schnittstelle zum Menschen Unter Schnittstelle werden sowohl die Hardware als auch die Ar ten der Interaktion 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 Kapi tel 3 Klassifikation bestehender Ans tze wird hierauf genauer eingegangen In diesem Kapitel werden zun chst die Begriffe der Interaktion und des Dialogs genauer gekl rt Zuerst werden die Begriffe Interaktion und Interaktionszyklus eingef hrt Der Begriff eines Modells wird eingef hrt und die Verwendungen von Modellen genauer erkl rt Auf Architekturen f r interaktive Systeme wird in Kapitel 5 Architekturen f r multimodale Benutzerschnittstellen detaillier ter eingegangen um
100. e http www microsoft com surface April 2008 MONTERO Francisco LOPEZ JAQUERO Victor VANDERDONCKT Jean GONZALEZ 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 Machi nes Automata Studies Annals of Mathematical Studies 34 129 153 Princeton 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 Hu man Factors in Computing Systems 45 49 ACM New York NY USA ISBN 0 89791 121 0 1983 Mopt Giulio PATERN Fabio SANTORO Carmen Tool support for de signing nomadic applications In Proceedings of the 8th international conference 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 fu ture of user interface software tools ACM Transactions on Computer Human Interaction 7 1 3 28 ISSN 1073 0516 2000 136 Literaturverzeichnis 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 Myers Brad A A new model for handling input ACM Transactions on Information Systems 8 3
101. e Motif User Interface Language eine Sprache die GUIs f r Motif beschreibt Sie war weit verbreitet und wurde auch von g ngigen Werk zeugen unterst tzt 51 Tk ist dagegen ein um 1989 entstandenes plattform bergreifendes Toolkit das auch ber Anbindungen zu einer ganzen Reihe von gt Motif entstand um 1989 und wird weiterhin gepflegt Die letzte Version 2 3 2 stammt vom 12 6 2009 62 Klassifikation bestehender Ans tze Programmiersprachen 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 sentations 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 Mozilla 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
102. e Steuerung der Interaktion sowie eine 5 1 Ans tze f r Architekturen 85 Schnittstelle zur Anwendung 52 Diese Komponenten finden sich z B in Gar net einem UIMS das zwischen 1987 und 1994 an der Carnegie Mellon Univer sit t entwickelt wurde 193 118 Das System wurde f r Common Lisp und X11 sowie Macintosh entwickelt und unterst tzt den Anwender bei der Erstel lung von grafischen Oberfl chen durch einen Rapid Application Development Ansatz Garnet konzentriert sich auf grafische Oberfl chen Echtzeit F higkeit von Anwendungen 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 UIMSe 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 Management Systemen Es wurde 1985 bei einem Workshop in Seeheim bei Darmstadt vorgestellt und besteht aus drei Komponenten welche ein Binde glied zwischen Benutzer und Anwendung darstellen 154 Eine Schnittstelle zur Anwendung eine Dialogsteuerung und eine Pr se
103. e User Interface TUD 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 Interfaces 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 eingesetzt 128 Die Wii Remote auch Wiimote abgek rzt ist ein haptisches Ger t f r die Wii Spielekonsole Sie verf gt ber Beschleunigungssensoren 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 6 2 Ausf hren von UML eine Infrarotkamera und mehrere Buttons zur Eingabe F r Ausgaben 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 auf
104. eam basierten Parsen werden nur Funktionen defi niert die aufgerufen werden sobald der Parser auf ein bestimmtes Tag trifft Auch hierf r existiert mit der Simple API for XML SAX eine standardisier te Schnittstelle die durch eine Gruppe informell kooperierender Autoren der XML DEV Mailingliste entstand 106 SAX Parser sind ressourcenschonender da nicht das komplette Dokument in Strukturen im Speicher gewandelt wer den muss Daf r ist die Navigation im XML Dokument erschwert DOM Parser haben einen h heren Ressourcenverbrauch da das komplette Dokument einge lesen wird Ihr Vorteil ist dass sehr einfach auf alle Teile eines XML Dokuments zugegriffen werden kann 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 6 1 Aufbau des User Interface Management System Frameworks 101 Durchl ufe Parser total real kBps 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
105. eben Das Mappingmodell beschreibt durch Abstraktion Konkretisierung berset zung Kontext und Update Verbindungen die Beziehungen zwischen den ver schiedenen Modellen UsiXML w rde nicht dem Cameleon Framework entsprechen wenn es keine Transformationsm glichkeit von abstrakten Tasks zu konkreten Pr sentations elementen bereitstellen w rde Durch ein Transformationsmodell lassen sich Regeln mit Bedingungen f r diese Mappings erstellen Entwicklungspfade f r verschiedene Zielplattformen oder Benutzerstereotypen gruppieren dabei die Regeln Schlie lich existiert noch ein Ressourcenmodell das je nach Kontext verschie dene bersetzungen erlaubt Durch das Ressourcenmodell lassen sich z B un terschiedlich lange Texte je nach Displaygr e f r verschiedene Ger te vorse hen Das Modell ist ebenfalls weitgehend an GUIs orientiert und verf gt ber Eigenschaften 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 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 ange messene Notation zur Modellierung Eine wachsende Werkzeugunterst tzung f rdert die noch m ige Verbreitung Abbildung 3 9 zeigt UsiXML im Klassifikationsframework UsiXML bietet den gro en Vor
106. edenen Benutzerschnitt stellen 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 wi i UI 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 kann 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 verwendet Entsprechend der vorhandenen Ein und Ausgabeger te werden Objekte f r die einzelnen Modalit ten angelegt 6 1 1 Parsen von UML Diagrammen Zum Austausch von UML Diagrammen wurde 2003 von der Object Manage ment Group das eXtensible Markup Language Metadata Interchange XMI For mat eingef hrt 139 Bei XMI handelt es sich um ein offenes XML basiertes Austauschformat in dem ein Diagramm in seiner logischen Form und zus tz lich eine Beschreibung der Positionen aller Diagrammelemente f r die grafi sche Repr sentation abgelegt wird UML Diagramme lassen sich zwar von Hand zeichnen XMI Dateien werden jedoch meist
107. edenen Modellen Mappings herzustellen Es gibt verschiedene Ar ten von Mappings z B Verkn pfungen zwischen Modellen Zusammensetzen 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 bewer tet werden k nnen Bisherige Ans tze zur Klassifikation konzentrierten sich auf 121 122 Fazit und Ausblick die Einordnung einzelner Aspekte aus dem Umfeld der modellbasierten Ent wicklung wie der Transformationsebenen im Cameleon Framework Das Mo dels and Mappings Klassifikationsframework betrachtet alle beteiligten Modelle und kann alle Mappings zwischen Modellen einer Notation erfassen Durch dieses neue Klassifikationsframework wird eine Einordnung nach Modellabde ckung und eine Bewertung der vorhandenen Mappings erm glicht Die wichtigsten Repr sentanten von Modellierungssprachen wurden mit Hilfe des Klassifikationsframeworks im Rest des Kapitels bewertet Fin 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 Modeling Language ist durch Use Case Aktivit ts und Zustandsdiagram me eine geeignete Notation f r die abstrakte Beschreibung der Interakti on zwischen Benutzer und Anwendung Dar ber hinaus bietet sie eine sehr weitgehende Unterst tzun
108. edienschnittstelle Tangible User Interface TUN Zusammenspiel der Komponenten 6 2 6 Fusion und Fission 6 3 Anwendung des Frameworks 2 2 2200 6 3 1 Regul rer Einsatz 6 3 2 Integration neuer Modalit aten OA Fazit nee ae alu PS ws ee ees Fazit und Ausblick 7 1 Beitr ge eset oe ee AE eee oe a Da o D ES T2 SNusblick 2 02 2 28 8 ashe ee court ee an lan tee ota tate ea ae A UML Begriffe Englisch Deutsch Literaturverzeichnis Zusammenfassung Summary Dank 125 127 143 145 147 Abbildungsverzeichnis 2 1 Felder der MMI nach ACM SIGCHI 9 Das Gebiet der Dissertation ist f rbig markiert s s a s le at a et ee een 6 2 2 Interaktionszyklus im Interaction Framework nach ACM SIGCHI 45 8 2 3 Interaktionszyklus nach D Norman 131 S 47 Links die Ausf h rungsphase rechts die Evaluationsphase 9 2 4 Interaktionszyklus aus Sicht eines technischen Systems 10 2 5 Zwei GUIs links eine Text basierte Oberfl che zur Paketverwaltung rechts ein Mobiltelefon mit Touchscreen von HTC http www He CSCOm e vs E 2 ode EE 18 2 6 Planung mit URP Links unten das Wind Werkzeug Bild aus 191 21 2 7 Landschaftsplanung mit SandScape Der Benutzer verformt den Sand und sieht zugleich die projezierten Ergebnisse Bild aus 79 21 2 8 Links ein Kaffeeautomat rechts die Benutzerschnittstelle eines Au tomaten als
109. ekte 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 Das Cameleon Framework beschreibt Transformationen zwischen den verschie denen Ebenen Es ist m glich von einer Ebene zu einer h heren zu abstrahieren Abstraktion oder zu einer tieferen zu konkretisieren Reifikation Innerhalb einer Ebene kann zwischen zwei Kontexten bersetzt werden So kann bei spielsweise zwischen einem FUI in HTML und WML in beide Richtungen eine bersetzung Translation stattfinden Die Translation zwischen verschiedenen Kontexten 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 Reifikatio nen stattfinden aber auch Reverse Engineering wird durch die Abstraktion vor gesehen Es hat sich gezeigt dass der schrittweise bergang von abstrakten zu konkreteren Modellen im Lauf des Entwicklungsprozesses eine zu fr he Festle gung auf einzelne Elemente der endg ltigen Benutzerschnittstelle vermeidet wie da Silva und Barclay beispielsweise mit dem Teallach System festgestellt haben 179 11 Am folgenden Beispiel sollen die verschiedenen Ebenen des Cameleon F
110. ekursion 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 Bend ein plattformspezifisches Pr sentationsmodell abgeleitet Ein Nachteil ist dass die Ger tebeschreibungen nur im Werkzeug definiert sind Auch das Feh len eines Benutzer und eines Umgebungsmodells bedeutet dass multiple Pr sentationsmodelle 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 52 Klassifikation bestehender Ans tze Evaluation Abbildung 3 8 ConcurTaskTrees im Klassifikationsframework dass nur eine minimale Anbindung eines Dom nenmodells existiert Es gibt keine Automatismen die Konsistenz zwischen den verwendeten Dom nenob jekten und dem Aufgabenmodell herstellen Das Fehlen eines Evaluationsmo dells ist jedoch kein Nachteil und kann durch sp ter besprochene Notationen erg nzend ausgeglichen werden 3 5 2 USer Interface eXtensible Markup Language UsiXML Die USer Interface eXtensible Markup Language UsiXML ist eine Notation die von der
111. elegt Durch das Konzept der Rekursion l sst sich auch eine Iteration darstellen Nebenl ufige Dialoge lassen sich nicht in BNF darstellen Recht hnlich zur BNF sind regul re Ausdr cke Diese werden h ufig in Edito ren oder Skripten verwendet um in Texten zu suchen oder lexikalische Analy sen 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 im mer gleich Sequenz und Iteration Durch das Fehlen von Rekursion sind regu l 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 44 Klassifikation bestehender Ans tze 4 FOE Ee e leet Weeer eene Listing 3 1 Dialogmodell des MP3 Players in BNF In Listing 3 1 sieht man Nichtterminale die durch lt gt markiert werden und Terminale 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 ausdrucksstar
112. ell 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 wer den so werden die entsprechenden F higkeiten des Endger ts ber cksichtigt Beispielsweise m ssen Ger te mit kleinen Displays andere Steuerelemente auf weisen 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 for mal beschreiben 214 Die Ontologie wird dabei mit Hilfe des Resource Des cription Framework RDF in XML erstellt 212 Einzelne Ger te werden durch eine Ansammlung ihrer Attribute gekennzeichnet Ein Ausgabeger t besitzt z B Attribute f r die Aufl sung in Pixeln 60 Klassifikation bestehender Ans tze 3 6 3 Umgebungsmodell Umgebungsmodelle beschreiben die Umgebung in der die Interaktion zwi schen Benutzer und System stattfindet Es existieren unterschiedlich komplexe Modelle 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 UsiXML integriert und
113. ellen m glich da diese jedoch au erhalb des Fokus dieser Arbeit liegen wurde ein Ansatz zur direkten An bindung der Modalit ten gew hlt Die Fusion der Eingaben l sst sich durch eine Vielzahl von Verfahren bew l tigen In dieser Arbeit wurde die Mapper Komponente so realisiert dass der Fusionsmechanismus einfach austauschbar ist So k nnen in sp teren Arbeiten die Wirksamkeiten verschiedener Mechanismen miteinander verglichen wer den 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 weitge hend vorgestellt Das erstellte Framework verbirgt die meisten seiner Klassen vor dem Anwender In Abbildung 6 12 sind die wichtigsten Klassen des Frame works zu sehen mit denen Entwickler in Ber hrung kommen 6 3 Anwendung des Frameworks 117 package Data 5 Anwendung mit Framework ThreadedApp UIModel current_nodes current_states 1 cul 1 in_q Application UlBuilder Mapper BP 1 1 i pper 1 Leet method perform id show_dialog GladeUl 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 M
114. en Modelle an neue Aktionen des Aufgabenmodells angepasst werden Unter Umst nden ist auch eine Anpassung des Dom nenmodells not wendig falls ein Task mit neuen Objekten arbeitet F r das Fallbeispiel des MP3 Players k nnte z B ein neuer Task das zuf llige Ausw hlen des n chs ten Lieds sein Im Dialogmodell muss dazu dann vorgesehen werden dass der Benutzer diese Funktionalit t ein und ausschalten kann Im Pr sentationsmo dell sind f r die jeweiligen Modalit ten Anpassungen vorzunehmen z B eine GUI w rde um eine entsprechende Taste erweitert werden Im Dom nenmo dell muss allerdings sichergestellt werden dass dieselbe Funktionalit t auch vorhanden ist Eine Playlist Klasse ist im Beispiel um eine Methode zum Ran domisieren 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 einem Dialog kann es sinnvoll sein mehrere Tasks zusammenzufassen oder eine Gruppe in mehrere Teildialoge zu trennen 32 Klassifikation bestehender Ans tze Task Presentation Mapping Die Bestandteile einer Benutzerschnittstelle k nnen analog zu Tasks gruppiert werden Dementsprechend m ssen Teile bei einer Umgruppierung im jeweils anderen Modell ebenfalls angepasst werden Domai
115. en jede Kommunikation zwischen Mensch und Maschine Interaktion unabh ngig da von ob diese direkt oder indirekt erfolgt 46 S 4 Interaktion kann dabei ein einzelner Austausch oder eine l ngere Abfolge bezeichnen Ein interakti ves System besteht aus mindestens einer Maschine mit der eine wechselseitige Kommunikation m glich ist 2 1 1 Dialoge Die Bedeutung des Begriffs des Dialogs berschneidet sich mit dem der Inter aktion Sobald zwei Partner miteinander kommunizieren sind sie im Dialog Hierbei steht traditionell die Kommunikation im Vordergrund 2 1 Interaktion Dial g griech Zwiegespr ch gegenseitige m ndliche Mitteilung verschiedener auch einander widerstreitender Ansichten ber ei nen 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 einzelner 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 Anweisung 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 Prax
116. en welchen Elementen Mappings notwendig sind be trachtet man die Verbindungen des Pr sentationsmodells mit anderen Model len Durch das Aufgaben und das Dialogmodell wird beschrieben welche Tei le des Pr sentationsmodells wann aktiv sein sollen und wie sie sich verhal ten soll Das Dom nenmodell ist indirekt angebunden Operationen auf sei nen Objekten k nnen via Dialog und Aufgabenmodell durchgef hrt werden Beim Ansatz dieser Arbeit werden die Elemente von Aktivit ts und Zustands diagrammen mit dem Pr sentationsmodell verbunden Tabelle 4 1 stellt einen berblick ber alle verkn 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 geschlossene Aufgaben repr sentieren eignet sich ein Mapping zu Pr sentati onselementen die einen kompletten Teildialog beschreiben Dies k nnen z B 4 5 Pr sentationsmodell 77 einfache 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 Zu stand
117. er 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 Benutzerschnittstellen 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 Generierung prototypischer GUIs betreut die viel versprechende Ergebnisse als Vorstudie lieferte 42 Eine weitere Arbeit untersucht derzeit regelbasierte 1 Transmodalit t die berlappende Nutzung von Modalit ten innerhalb eines Tasks Vergl Abschnitt 2 2 3 124 Fazit und Ausblick Ans tze zur automatischen Generierung 91 In der vor kurzer Zeit begon nenen Dissertation von Mark Poguntke wird ebenfalls auf das Thema der au tomatischen Generierung von grafischen Benutzerschnittstellen und der Ablei tung von Transformationsregeln f r abstrakte Interaktionsbeschreibungsspra chen eingegangen 156 Das Thema wird dabei im Kontext von Benutzer schnittstellen in Kraftfahrzeugen behandelt Im Kontext des Sonderforschun
118. erbindung eines Dom nenmo dells mit einem Dialogmodell 216 Diese Notationen beschr nken sich alle auf einen sehr kleinen Bereich im Klassifikationsdiagramm Allein mit ihnen lassen sich keine modellbasierten Interaktionsanwendungen erstellen W n schenswert 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 Dom nenmodells sowie die Verbindung dieser Modelle untereinander und mit dem Dialogmodell Dadurch wird eine vollst ndigere Beschreibung der Inter aktion erm glicht bei der die Anwendungslogik durch die Dom nenobjekte verkn pft ist Gerade Aufgabenmodelle haben in der Mensch Maschine Interaktion eine l n gere Tradition So stellte Moran 1983 einen Ansatz f r Mappings zwischen Aufgaben 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 Hartson et al folgten 61 Solche Grammatiken erlauben zwar die formale Analyse der Interaktion zwischen Benutzer und System doch ihre 3Mittlerweile ist AIAP ein INCITS Standard 74 75 71 73 72 3 5 Abstrakte Modelle f r Interaktion 49 Nutzbarkeit ist begrenzt Wie van der Veer und van Welie ausf hrten sind die se Methoden meist nur auf einen Ausschnitt der Interaktion bezogen und
119. erbindungen 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 Aufga benmodell und Dom nenmodell sind im Gegensatz zum Cameleon Framework klar von einander getrennt da das Aufgabenmodell Verhalten und das Dom nenmodell Anwendungseigenschaften beschreibt Es sind alle relevanten Mo delle 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 Benut zerschnittstellen m glich wie Abbildung 3 2 illustriert Das neue Framework bleibt in diesem Punkt kompatibel da das Concrete User Interface und das Fi nal User Interface beide im Pr sentationsmodell enthalten sind Es bleibt den
120. ereinander wird durch den Ein satz 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 einzeln f r sich genommen Schw chen aufweisen wenn sie f r multimoda le Benutzerschnittstellen eingesetzt werden sollen Das mArch Modell ist eine erweiterte Software Architektur f r die bestehende Ans tze kombiniert und perfektioniert wurden Das mArch Modell erm glicht multimodale Inter aktionsanwendungen 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 7 2 Ausblick 123 Es realisiert die beschriebene Architektur und ist mit geringem Aufwand um neue Modalit ten erweiterbar Das Framework verwendet die eingef hrten UML Diagramme zur Beschreibung der Interaktion und um festzustellen wel che Operationen auf Anwendungsklassen ausgef hrt werden Die Anwendung des Frameworks und die einfache Integration neuer Modalit ten wurde an den Fallbeispielen demonstriert 7 2 Ausblick Die vorliegende Arbeit erschlie t eine Reihe von verwandten interes
121. erstellt werden mit denen effizient gearbeitet wer den 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 Verwen dung 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 Dekom pression 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 zeichnerische Repr sentation zust ndig sind entfernt werden Wie in Ta belle 6 1 zu sehen ist verkleinert sich die XML Repr sentation in der Regel um mehr als 90 Dateigr e Zeilen Diagramm vorher nachher vorher nachher Reduktion Getr nkeautomat 516 4 kB 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 XML Dokument ein und erzeugen daraus einen Baum im Hauptspeicher Das W3C hat f r diese Zugriffsart mit dem Document Object Model DOM eine Schnittstelle entwi ckelt 213 211 Beim Str
122. es Views Transformati ons MOF QVT abgestimmt eine Transformationssprache die von der Object Management Group entwickelt wird 140 Regeln lassen sich in verschiedene Kategorien gliedern Neben den eigentli chen Transformationsregeln existieren auch Meta Regeln die die Anwendbar keit von Regelmengen auf einen Kontext berpr fen Eine besondere Sorte Re geln 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 nen nen diese Regeln Beautifications und beschrieben ein Verfahren wie man An passungen an Standardtransformationen wieder in den Prozess zur ck flie en lassen kann 151 Eine ausf hrlichere Behandlung der Thematik von Regeln und Generierung erfolgt in der Dissertation von Mark Poguntke die aktuell in Bearbeitung ist 156 Trotz des Vorhandenseins von Regeln und jahrelanger Forschung im Bereich der automatischen Transformation von Modellen sollte nicht vergessen wer den dass die Generierung ein komplexes Thema ist Caffiau et al beschrie ben in ihrer 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 Ein Task kann in mehrere Teildialoge aufgeteilt werden oder mit einem anderen Task in einem Dialog kombiniert repr sentiert
123. esendet Es gibt verschiedene M glichkeiten wie die Nachrichten verarbeitet werden k nnen 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 Platform Specific Model PSM einem erzeugten System mit eingebundenen Benutzerschnittstellen f r bestimmte im Voraus festgelegte Modalit ten Der Ansatz die Benutzerschnittstelle vor der Benutzung zu erzeugen hat den Vor teil auch auf wenig leistungsf higen Endger ten eingesetzt werden zu k nnen Nachteilig an diesem Ansatz ist unter anderem dass zur Laufzeit keine weite ren Modalit ten eingebunden werden k nnen und eine Anpassungen an nicht vorhergesehene Endger te nicht m glich ist Der Ansatz der fortlaufenden Ge nerierung f hrt die Transformation auf ein PSM kontinuierlich zur Laufzeit durch Vorteilhaft ist dass bei der fortlaufenden Generierung auf Ver nderun gen im Kontextmodell eingegangen werden kann Fin weiterer Vorteil ist dass Modalit ten w hrend der Laufzeit eingebunden werden k nnen Von Nachteil ist die gr ere ben tigte Rechenleistung um die Transformationen durchf h ren zu k nnen
124. eser 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 Me thode nicht einfach gel scht werden kann UML ist eine sehr weit verbreitete Beschreibungssprache die in vielf ltigen Bereichen Anwender besitzt Das Fehlen von Pr sentations und Kontextmodellen ist nur bedingt ein Nach teil f r den Einsatz von UML In den bereits vorgestellten Notationen UsiXML und ConcurTaskTrees wird das Pr sentationsmodell aus dem Aufgabenmodell abgeleitet Bei UML lie e es sich ebenfalls aus Aufgaben und Dialogmodell ab leiten Die anderen Modelle lassen sich durch Einbinden bestehender Ans tze oder Abdecken in UML erg nzen 3 6 Modelle f r Kontext Evaluation und einzelne Modalit ten Nachdem im vorigen Abschnitt abstrakte Modelle f r Interaktion vorgestellt wurden sollen in diesem Abschnitt die brigen spezialisierten Modelle f r Kon 58 Klassifikation bestehender Ans tze state machine select select c100 addCredit 1 Kaba checkCredit Kaba produce Kaba 50 addCredit 0 5 Kaffee checkCredit Kaffee produce Kaffee Latte checkCredit Latte produce Latte Tee checkCredit Tee produce Tee Capuccino checkCredit Cappuccino produce Cappuccino oggle_irritation milk addMilk cancel cancel Abbildung 3 12
125. eworks mit beteiligten Klassen 6 2 Sequenzdiagramm zum Verhalten des mArch Frameworks beim Start einer Anwendung Uls registrieren sich beim Builder dieser initiiert anschlie end den Interaktionszyklus 2 2 22222020 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 6 7 Links das Klassendiagramm des MP3 Players rechts das Zustands diagramm sb cba wa Ran a A aan 6 8 Ableitung der Klassen SpeechUI GladeUI und WiiUI von der Klasse CUT 4 2 re Dr an re eu 6 9 GUI des MP3 Players a na 6 10 Die Wiimote mit ihren r umlichen Eingabem glichkeiten 6 11 Links das Aktivit tsdiagramm des MP3 Players rechts das zugeh rige Zustandsdiagramm 6 12 Die wichtigsten Klassen des Frameworks 6 13 Ableitung der Klasse GLadeUI von der Klasse CUI 74 88 89 98 Einleitung Shouldn t software be designed so that users could run the same calendar 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 verlas
126. f r eine grafische Benutzerschnittstelle entwickelt Schon seit den 1990ern existieren Arbeiten wie von Mynatt 121 die GUIs auf Sprachschnittstellen abbilden Neuere Ans tze wie 2006 von Carter versuchen GUIs auf noch mehr Ger te abzubilden 32 Jede Anwendung kann sich bez glich der verwendeten Mo dalit t wie Sprache TUI oder GUI anders verhalten Die Nutzer sind dadurch allerdings einer gr eren kognitiven Last ausgesetzt da sie die verschiedenen Abl ufe und Verhaltensweisen erst erlernen m ssen und es zu Umstellungs schwierigkeiten beim Wechsel der Modalit t kommen kann Einfache Abbil dungen 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 gesamten Entwicklungsaufwands einer Anwendung verbraucht werden wie Myers 1992 ermittelt hat 120 sind insbesondere Ans tze die an dieser Stel le Arbeit sparen auch konomisch interessant Zwar ist die Studie von Myers schon einige Jahre alt und in der Zwischenzeit sind neue Werkzeuge zur Unter st tzung von Entwicklern geschaffen worden dennoch muss von einem relativ hohen Aufwand f r die Entwicklung ausgegangen werden wenn man den Auf wand f r die Vielfalt der unterschiedlichen Benutzerschnittstellen einbezieht Es existiert ein starker Trend zu neuen Modalit ten die viele Schwierigkeiten der Bedienung akt
127. fassende Handbuch Galileo Press ISBN 3898427382 2006 89 KERER Clemens KIRDA Engin Layout Content and Logic Separation in Web Engineering In Web Engineering Software Engineering and Web Application Development volume 2016 of LNCS 135 147 2000 90 KLEENE Stephen C Representation of events in nerve nets and finite automata Annals of Mathematics Studies 34 3 41 1956 91 KLUGE Verena Modellgetriebene Generierung graphischer Benutzerober fl chen Master s thesis Universit t Ulm voraussichtlich 2010 134 Literaturverzeichnis 92 93 94 95 96 97 98 99 100 101 102 103 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 Multimo dal Interaction In Proceedings of the AAAI Spring Symposium on Intelli gent 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 Computer 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 Manageme
128. ffee 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 Kommentare 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 Schritte erhoben und nach der Zeit gemittelt Anschlie end lassen sich bei n derungen 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 chtig auf ihrem Gebiet Es gibt eine gro e Anzahl an solchen Be schreibungssprachen deren Aufz hlung nicht zielf hrend ist deshalb werden nur wenige vorgestellt Diese werden aus den drei gro en Modalit tskategori en GUIs Sprache und TUIs herausgegriffen Insgesamt haben Notationen f r einzelne Modalit ten eine l ngere Geschich te Angefangen bei Toolkits die zur Vereinfachung der Programmierung von GUIs entstanden sind entwickelten sich eigenst ndige Notationen Ein fr hes Beispiel ist UIL di
129. g 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 offi ziell verabschiedet dieser Arbeit liegt die Version 2 2 von 2009 zu Grunde 141 142 In diesem Kapitel wird detailliert beschrieben wie man Interaktionsanwend ungen mit UML modelliert Ein Beitrag dieser Arbeit ist eine Verfahrensbe schreibung die eine Anleitung zur Modellierung von Interaktionsanwendun gen 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 ver wiesen 85 88 Da die UML aus einer Reihe von Notationen entstand enth lt sie mittlerweile 14 verschiedene Diagrammarten F r diese Arbeit sind davon nur eine Auswahl relevant Klassen Aktivit ts Use Case und Sequenzdiagramme Die folgen den Abschnitte sind nach diesen Diagrammarten gegliedert Sie zeigen welche Diagramme f r ein Modell zum Einsatz kommen und stellen die wichtigsten Elemente vor Zur Illustration werden die beiden Fallbeispiele aus dem Grund lagenkapitel verwendet Abbildung 4 1 zeigt die Zusammenh nge zwischen den verschiedenen Dia grammen Use Case Dia
130. g f r Anwendungsmodelle durch Klassendiagramme und eine Reihe 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 beschrieben wie eine direkte Anbindung bzw wahlweise Generierung von Be nutzerschnittstellen m glich ist In Kapitel 4 Modellieren von Interaktionsanwendungen mit UML folgte ei ne detaillierte Beschreibung wie mit UML Interaktionsanwendungen model liert werden k nnen Das Kapitel dient auch als Verfahrensbeschreibung zur Modellierung von Interaktionsanwendungen mit UML indem es demons triert in welchem Fall welches Diagramm eingesetzt wird Die UML umfasst 14 Diagrammarten von denen vier eingesetzt werden Klassendiagramme zur Beschreibung des Dom nenmodells Use Case und Aktivit tsdiagramme um das Aufgabenmodell zu gliedern und zu beschreiben und Zustandsdiagram me mit denen das Verhalten innerhalb des Dialogmodells beschrieben wird Durch den Einsatz von UML lassen sich Dom nen Aufgaben und Dialogmo dell auf detailliertere Weise beschreiben als bei den anderen vorgestellten No tationen Die Verbindung der Diagramme unt
131. geben die eingesetzt werden 3 1 2 Mapping Problem Die verschiedenen Modelle stehen nicht f r sich allein Manche Modelle las sen sich im Sinn von Model Driven Software Development zur Codeerzeugung einsetzen Andere Modelle lassen sich transformieren so kann z B aus einem Pr sentationsmodell zusammen mit den Ger teeigenschaften einer Zielplatt form ein plattformspezifisches Modell PSM generiert werden Weitere Model le wie z B manche Dialogmodelle k nnen zur Laufzeit interpretiert werden Modelle k nnen transformiert und miteinander verbunden werden Die Ver kn pfungen werden allgemein als Mappings bezeichnet Durch modellbasierte Erzeugung von Benutzerschnittstellen soll aus den abstrakten Modellen eine konkrete Spezifikation abgeleitet werden Als Mapping Problem wird die Schwierigkeit der Mappings zwischen verschie denen Modellen bezeichnet Mappings k nnen als Verbindung zwischen Mo dellen zur Transformation von einem in ein anderes Modell oder auch zur Er zeugung eines neuen Modells durch Kombination aus anderen Modellen einge setzt werden 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 Pr sentationsmodell sollen aus dem Aufgabenmodell abgeleitet werden Es er geben sich Probleme sobald das Aufgabenmodell ge ndert wird So m ssen die abgeleitet
132. gef hrt 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 verschiede nen Komponenten des mArch Frameworks die Kontrolle ber die Interaktions steuerung der Dialogsteuerung bergeben Diese interpretiert die geladenen UML Diagramme und betritt die erste Aktion eines Aktivit tsdiagramms Die Dialogsteuerung sendet anschlie end eine Nachricht an den Mapper der die Nachricht an die verschiedenen beteiligten Modalit ten verteilt 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 Sprachschnittstelle wird eine Begr ung ausgegeben und die Wiimote l t ih re LEDs aufleuchten Nach Beendigung der Begr ung wird die Aktion sm player betreten Die se 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 Komponen te der GUI vom Toolkit ein entsprechendes Event Der Name des Events wird von der 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 vorge nommen Eingaben ber Sprachbefehle oder Aktionen mit der Wiimote werden wie bei der GUI in
133. geln die festlegen wie auf bestimmte Ereignisse Events reagiert werden soll Eine Regel kann mehrere neue Ereignisse ausl sen auf welche dann die selbe oder andere Re geln anwendbar sind Alle Regeln sind parallel aktiv eine Notwendigkeit die sich aus der Beschreibung von verteilten Prozessen und hnlichen Problem stellungen ergab Sowohl Ereignissprachen als auch Produktionssysteme las sen sich zur Beschreibung von Dialogmodellen einsetzen Der Unterschied zwi schen ihnen betrifft ihre Finsatzgebiete so dass beide in diesem Abschnitt be handelt werden Die wichtigsten Repr sentanten sind Communicating Sequen tial 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 In teraction 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 Gleichheitszeichen verbunden sind Operatoren er m glichen die Beschreibung paralleler Abl ufe Sequenzen Auswahl zwischen vo sn a D BF Ww DY ra o Be o o AA N ra O 3 4 Ans tze zur Beschreibung von Dialogen und Oberfl chen 45 verschiedenen M glichkei
134. ging clay and sand into digital design conti nuous 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 Hu man 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 based design of context sensitive interactive applications a discussion of notations In TAMO DIA 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 84 JECKLE Mario Unified Modeling Language UML Tools http www jeckle de umltools htm 2004 85 JECKLE Mario RUPP Chris HAHN J rgen QUEINS Stefan UML Glas klar Hanser Fachbuchverlag ISBN 3446229523 2005 86 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 87 KASIK David J A user interface management system SIGGRAPH Com put Graph 16 3 99 106 ISSN 0097 8930 1982 88 KECHER Christoph UML 2 0 Das um
135. gramme werden eingesetzt um Aktivit tsdiagramme zu strukturieren Aktivit tsdiagramme beschreiben den Ablauf von Tasks und verwenden Zustandsdiagramme um einzelne Aktionen detailliert zu beschrei ben Ein Zustandsdiagramm kann zur Beschreibung eines Verhaltens wiederum lVerkehrssprache weit verbreitete Sprache 65 66 Modellieren von Interaktionsanwendungen mit UML ein Aktivit tsdiagramm verwenden Beide Aktivit ts und Zustandsdiagram me setzen Klassendiagramme ein um auf Dom nenobjekte zuzugreifen Struktur strukturiert Use Case Diagramm Aufgaben Aktivitatsdiagramm Domane verwendet Klassendiagramm 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 insbesondere das Pr sentationsmodell realisiert werden kann Dazu wird auf den Kontext einer Anwendung eingegangen also auf die Benutzer 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 Relatio nen zwischen ihnen bestehen Andere Modelle greifen auf die Dom nenobjek te zur ck um Aktionen in einer Anwendung zu bewirken Dies k nnen das Aufgaben
136. gs bereichs Transregio 62 stehen die begonnenen Arbeiten von Frank Honold und Felix Sch ssel die sich mit automatisierter Fission im Zusammenhang mit Kon textmodellen und der adaptiven 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 dass Mappings zu UML Diagrammen auf einfache Weise m glich werden W n schenswert sind auch Ableitungsregels tze die beschreiben in welchen Kon texten Benutzerschnittstellen auf welche Weisen angepasst werden m ssen Solche Regels 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 berset zungen 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 a
137. h 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 147 148 Dank Bildnachweis Die Abbildungen in der vorliegenden Arbeit wurden mit Ausnahme der hier aufgef hrten Liste selbst erstellt Die Titelseite des Buchs zeigt den Kinkaku ji Goldener Pavillon Tempel in Kyoto Er wurde 1397 errichtet und berlebte mehrere Kriege unversehrt 1950 wurde 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 berlieferten 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 Media Laboratory Abbildung 2 8a Kaffeeautomat mit freundlicher Genehmigung von Alex zigs hot82 Abbildung 2 9a Mit freundlicher Genehmigung von Jannes Glas stock xchng
138. h allerdings stark vom Menschen denn dieser hat nicht alle Ausgabem glichkeiten von technischen Ger ten Zum Beispiel 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 Or gan 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 kontinuierliche Folge von Eingaben deren dahinter liegende Geste noch erkannt werden muss Aus Maschinensicht handelt es sich darum um zwei ver schiedene Modalit ten Ein anderer Ansatz versucht Modalit ten ber die physikalischen Eigenschaf ten von Interaktion zu definieren Card et al stellten 1990 allein f r den hapti schen Kanal eine Klassifikation in mehrere Modalit ten auf 29 30 In diesem Verfahren werden Eingabeger te nach mehreren Kriterien beurteilt Ein Aspekt sind die Koordinaten im Raum ein weiterer Aspekt sind bspw Kraftmessungen nach absoluten Werten oder Ver nderungen Zur Verdeutlichung soll
139. h grafische Nota tionen berwunden werden 200 Zentrale Modelle f r Interaktionsanwen dungen sind das Dom nen Aufgaben und Dialogmodell Die vorgestellten abstrakten Modelle setzten alle grafische Notationen ein ConcurTaskTrees haben ihre St rke bei der Beschreibung hierarchischer Tasks Nachteilig sind die fehlende Anbindung eines Dom nenmodells und die feh lenden Kontextmodelle f r Ger te Umgebung und Benutzer Die hierarchische 3 7 Bewertung 63 Modellierung 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 rudiment r implementiert sind Ein weiterer Nachteil ist die Vermischung verschiedener Modalit tskategorien beim Pr sentationsmodell An dieser Stel le ist eine Trennung der Modalit ten in verschiedene plattformspezifische Pr sentationsmodelle wie z B bei ConcurTaskTrees vorteilhafter Da UsiXML nicht erweiterbar 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
140. hUl GladeUI wii_events clicked widget show_dialog show_dialog update update Abbildung 6 13 Ableitung der Klasse GladeUI von der Klasse CUI Hilfsmethode update dient dazu Aktualisierungen an der Oberflache vorzu nehmen Die Sprachschnittstelle und die Klasse Wi iUI implementieren beide die abstrakte Methode show_dialog und verf gen auch beide ber Hilfsme thoden um ihre internen Zust nde und die Ausgabe zu aktualisieren Der Aufwand um neue Modalit ten in das Framework zu integrieren ist gering Es ist zu beachten dass keine spezifische Anwendungslogik in eine Modalit ts komponente 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 Kapitel 5 Architekturen f r multimodale Benutzerschnittstellen entwickelte Architektur implementiert Die Fallbeispiele verdeutlichen dass sowohl die Architektur als auch das Soft ware Framework funktionieren Sie zeigen dass die Integration des Dom nenmodells auf einfache Weise m glich ist Wie bereits im Kapitel 4 Model lieren von Interaktionsanwendungen mit UML beschrieben lassen sich die UML Diagramme zur Interaktionsbeschreibung hierarchisch strukturieren Die ses Kapitel erl utert mit dem neu entwickleten Kaktusstack ein Verfahren m
141. he 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 Metamodell 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 Die bisherige Pr sentationskomponen te wird in eine Presentation Component und in eine Interaction Toolkit Compo nent aufgeteilt Die Presentation Component ist eine Adapterkomponente die Toolkit unabh ngig arbeitet Die Interaction Toolkit Component realisiert die Benutzerschnittstelle Die Schnittstelle zur Anwendung wurde um die Domain Adaptor Component erweitert Bei ihr handelt es sich um eine Vermittlungs komponente die vom Benutzer ben tigte Funktionalit t bereitstellt welche nicht direkt vom System angeboten wird Dies k nnen
142. i der h ufig Modelle eingesetzt werden Anstatt diese lediglich f r die Dokumentation und zur Kommunikation zwi schen Entwicklern einzusetzen werden beim Model Driven Software Develop ment 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 zur ck welches sich prim r mit dem Modellieren von Anwendungen befasst 135 Die Object Manage ment Group ist ein internationales Konsortium welches dazu eine Reihe von Standards erstellt hat gt Name von der Object Management Group markenrechtlich gesch tzt 24 Grundlagen 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 Platt form sind das sogenannte Platform Independent Model PIM Durch Transfor mationen wird daraus das Platform Specific Model PSM einer Anwendung f r eine Zielplattform erzeugt Durch den Transformationsschritt werden die An passungen an die Gegebenheiten der Zielplattform vorgenommen Von einer Anwendung zum Abspielen von Musik werden zum Beispiel ein Modell des Verhaltens und ein Klassendiagramm ers
143. icht vereinfacht werden muss Die gesamte Funktionalit t l sst sich modellieren und in das Beispiel bernehmen Das Fallbeispiel wird anhand des realen Automaten be schrieben 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 2 4 Fallbeispiele 25 Cappuccino 6 On 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 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 n ken w hlen Sobald ein Getr nk ausgew hlt wird beginnt der Automat mit der Herstellung Falls das Guthaben nicht ausreicht wartet der Automat dar auf dass der Benutzer noch mehr Geld einwirft Der Benutzer kann vor der Herstellung des Getr nks jederzeit Abbrechen 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 Bung zur ck 2 4 2 MP3 Player
144. ickelten Klassifikations framework auf die Abdeckung an Modellen und Mappings hin untersucht Nach der Bewertung der verschiedenen Ans tze werden noch spezialisierte Modelle und Sprachen f r die brigen Modelle des Klassifikationsframeworks vorgestellt Diese Sprachen und Modelle vereinfachen die Umsetzung von Sys temen 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 Verhalten Sie besteht aus fr hen etablierten Ans tzen Zum Teil wurden sie f r andere Zwecke entwickelt lie en sich dann jedoch auch auf Benutzer schnittstellen bertragen Es werden drei Gruppen von Notationen vorgestellt Grammatiken Freignissprachen und die mit ihnen verwandten Produktions systeme sowie Zustandsdiagramme 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 Donald Knuth schlug den Namen 1964 in einem Leserbrief vor und er wurde allgemein bernommen 92 Die Elemente der BNF sind Sequenz Auswahl und Rekursion Die Gramma tik wird durch Regeln festg
145. iger Titel Dissertation noch unver ffentlicht PROTZENKO Jonathan XUL Open Source Press ISBN 3937514236 2007 PUERTA Angel EISENSTEIN Jacob Towards a general computational framework for model based interface development systems In Pro ceedings of the 4th international conference on Intelligent user interfaces 171 178 1999 PUERTA Angel EISENSTEIN Jacob XIML A Universal Language for User Interfaces http www ximl org pages docs asp 2001 PUERTA Angel EISENSTEIN Jacob XIML a common representation for interaction data In Proceedings of the 7th international conference on Intelligent user interfaces 214 215 2002 RAISTRICK Chris FRANCIS Paul WRIGHT John Model Driven Ar chitecture with Executable UML Cambridge University Press ISBN 0521537711 2004 REENSKAUG Trygve Models Views Controllers Technical report Xe rox Palo Alto Research Laboratory PARC 1979 REISIG Wolfgang Abstract State Machines for the Classroom 15 46 Mo nographs in Theoretical Computer Science Springer 2008 Literaturverzeichnis 139 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 REISNER P Formal Grammar and Human Factors Design of an Inter active Graphics System IEEE Trans Softw Eng 7 2 229 240 ISSN 0098 5589 1981 REKIMOTO Jun Organic interaction technologies from stone to skin Commun ACM 51 6 38 4
146. imeTrigger 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 Histo rie history auf die an dieser Stelle nicht weiter eingegangen wird 4 3 Dialogmodell 73 state machine sm player DS sm player inc_volume Player inc_volume aussen dec volume Player dec_volume previous Player previous next Player next play Player play stop Player stop stopped Player stop pause Player pause playing paused do AC playing play Player paus Abbildung 4 5 Zustandsdiagramm ftir den MP3 Player Der Oberzustand ent halt drei Regionen mit parallel aktiven Zustandsdiagrammen 4 3 2 Einsatz In dieser Arbeit werden Zustandsdiagramme dazu eingesetzt das Verhalten innerhalb 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 beschrei ben l sst wird das Zustandsdiagramm eingesetzt Viele Interaktionen lassen sich gut durch Zust nde beschreiben beispielsweise die Wahl eines Getr nks an einem Automaten oder die Wiedergabe von Musik Entlang der Transitionen k nnen durch die Actions Operationen auf Objek ten ausgef hrt werden Durch sie lassen sich wie bei Aktivi
147. ine Sprach steuerung die z B bei Mobiltelefonen verbreitet ist Weitere M glichkeiten der Interaktion bieten sich bei Konsolenspielen bei denen die Gesten des Be nutzers und ganze K rperbewegungen von den Ger ten erkannt werden an 1Nintendo Wii ber Controller http www nintendo com wii Microsoft XBox 360 ber Kamera http www xbox com en US live projectnatal Einleitung Auch Tangible User Interfaces TUIs Systeme bei denen der Benutzer Alltags gegenst nde manipuliert um dadurch Daten zu ver ndern werden zunehmend erforscht Benutzer bevorzugen in dieser zunehmenden Vielfalt an Interaktionsm glich keiten solche Ger te und Systeme die sie ihren Pr ferenzen entsprechend unterst tzen Mischformen sind je nach Umgebung und Anwendungszweck dementsprechend erw nscht Weiter ist es interessant Anwendungen nicht auf ein Ger t festzulegen sondern vorhandene Interaktionsm glichkeiten von an deren Ger ten mitzubenutzen Systeme die durch verschiedene Ger te den Zugang zu Informationen oder Diensten erm glichen und dabei verschiede ne Benutzerschnittstellen gleichzeitig bieten werden Multiple User Interfaces MUIs genannt Alle verwendbaren Ger te m ssen dabei koordiniert werden 173 da sich die Benutzerschnittstelle sonst unvorhersehbar verhalten w rde Diese Vielfalt stellt eine gro e Herausforderung f r die Anwendungsentwick lung dar Bisher wird in den meisten F llen eine Anwendung lediglich
148. initialisiert und seine Benutzerschnitt stelle gestartet wird In Zeile 2 wird dem UIBuilder eine Referenz auf die Anwendung und der Pfad zur XMI Datei mit den UML Diagrammen berge ben Danach muss nur noch in Zeile 3 die Steuerung der Anwendung an die Dialogkomponente bergeben werden Wie bereits in Abschnitt 6 1 2 beschrieben initialisiert und verbindet die Kom ponente durch Einsatz des Builder Patterns alle beteiligten anderen Komponen ten Dies sind die Dialogsteuerung UIModel der Mapper sowie die verschie denen Modalit ten 6 3 2 Integration neuer Modalit ten Im Framework werden alle Klassen die eine Modalit t beschreiben von der Klasse CUI abgeleitet 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_g welches eine Nachrichtenqueue ist ber die sie vom Mapper informiert wird Dazu dient auch die Methode perform id call_method ist eine Hilfmethode Sie wird eingesetzt um Variablen abzufragen die ausgegeben werden sollen Die Integration neuer Modalit ten in das Framework wird am Beispiel der bereits verwendeten GUI beschrieben Damit eine Modalit t von der Anwendung entkoppelt werden kann m ssen In formationsrepr sentation und Interaktionslogik getrennt werden F r die Rea lisierung wurden Glade und damit das GTK Toolkit ausgew hlt da sie eine ein fache Anbindung
149. ion 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 ber geordneten Zustands aussen die parallel aktiv sind Sie enthalten Zustands diagramme 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 SignalTrigger wird erzeugt wenn ein bestimmtes Signal anliegt F r ein Zu standsdiagramm das das interne Verhalten eines Systems beschreibt benutzt man vor allem diesen Triggertyp Jedes Mal wenn sich der Wert einer Varia blen ndert wird der Guard neu gepr ft Sollte sich sein Wert auf wahr n dern 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 T
150. ionen werden bei einem Zustandsdia gramm durch Effects entlang von Transitionen oder innerhalb von Zust nden OnEnter OnExit do ausgef hrt In Aktivit tsdiagrammen k nnen Aktionen als CallOperationActions auf Methoden von Klassen verweisen UML besitzt ein fertiges Mapping durch ein Binding von Behaviors an Metho den 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 Klassen verwendet Zur Beschreibung des 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 Me thoden eines Subsystems erstellen Sie delegiert die Funktionalit t an andere Klassen des Subsystems und bietet durch die Auswahl an Methoden eine ver einfachte Schnittstelle 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 lassen sich Klassen die nicht f r das Verhalten der Benut zerschnittstelle ben tigt werden verbergen In Abbildung 6 7a ist die Klasse Player des MP3 Players zu sehen Sie wirkt als Fassade und verbirgt die Imple mentierung der Playlist In Abbildung 6 7b wird durch das Zustandsdiagramm das Verhalten der Be nut
151. ions verbindende Kanten activity edges und Kontrollelemente control nodes Aktivit tsdiagramme eignen sich besonders um eine abstraktere Sicht auf In teraktionsabl ufe zu beschreiben hnlich wie die Knoten bei den ConcurTask Trees 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 verber gen Die Schachtelung erlaubt es bereits modellierte Teile wiederzuverwen den 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 Wiederverwendbarkeit 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 beschreiben oder ein Aktivit tsdiagramm in ihn einbetten Alternativ l sst sich sein Verhalten auch durch ein Zustandsdiagramm beschreiben Durch Einbet tung zus tzlicher Diagramme bleibt eine hierarchische Modellierung weiter m glich 70 Modellieren von Interaktionsanwendungen mit UML N activity getraenkeautomaf ES getraenkeautomat activity ac player F ac player N hello hello select select welcome Player selected production play dialog DrinksVendor sm player h remove
152. is 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 Formular 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 Interaktion innerhalb eines Dialogs erfolgt durch Elemente mit denen ein Be nutzer Ein und Ausgaben durchf hren 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 n de die in einem Tangible User Interface TUI benutzt werden Schlie lich gilt es noch zu definieren wie ein Benutzer mit einem System inter agieren kann Dazu dient die Benutzerschnittstelle Die Benutzerschnittstelle wird in dieser Arbeit nach der Norm ISO 9241 110 verstanden Alle Bestandteile eines interaktiven Systems Software oder Hard ware die Informationen und Steuerelemente zur Verf gung stel len die f r den Benutzer notwendig sind um eine bestimmte Ar beitsaufgabe mit dem interaktiven System zu erledigen ISO 9241 110 7
153. it dem diese Hierarchisierung umgesetzt wird Das Pr sentationsmodell wird durch drei Modalit ten eine grafische Benutzer schnittstelle eine Sprachbedienschnittstelle und ein Tangible User Interface realisiert Multimodale Anwendungen sind durch das Framework mit gerin 120 Realisierung eines Software Frameworks gem Aufwand 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 vor der Ausf hrung einer Anwendung Benutzerschnittstellen generieren wurden nicht aufgenom men 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 Untersu chungen zur Nutzung von Multimodalit t w ren weitere Benutzerschnittstel len 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
154. k Sie k nnen universell gestaltet werden Dem ge gen ber steht die Gefahr eine unverst ndliche oder nicht allgemein genug ge haltene Grammatik zu erstellen Wie man am Beispiel sieht bleibt die Beschrei bung des Dialogs kompakt Ein Nachteil ist dass Nebenl ufigkeit nicht direkt unterst tzt wird Im Beispiel kann nie gleichzeitig die Lautst rke ge ndert wer den w hrend eine andere Aktion ausgef hrt wird Auch die Ber cksichtigung des unterschiedlichen 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 Verhalten 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 sol che Grammatiken existieren jedoch nicht f r den praktischen Gebrauch Gram matiken werden von technischen Systemen in hohem Umfang eingesetzt al lerdings gibt es nur eine geringe Zahl geschulter Anwender die Grammatiken erstellen 3 4 2 Ereignissprachen und Produktionssysteme Ereignissprachen und Produktionssysteme repr sentieren beide regelbasierte Ans tze In solchen Systemen existiert eine Menge von Re
155. k nnen Dieses Kapitel analysiert bisherige Ans tze von Architekturen f r multimodale Anwendungen Die bisherigen Ans tze sind konzeptioneller Art und nur be dingt f r multimodale Anwendungen die zugleich verteilte Modalit ten ein setzen 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 Modalit ten geeignet und erm glicht den plattform bergreifenden Einsatz von Anwendungen 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 Ver fahren wurden beschrieben und es wurde verdeutlicht an welchen Stellen An kn pfungspunkte 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 6 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 mA
156. komplettieren 6 Model update Falls in einem Modell eine Eigenschaft ver ndert oder hinzugef gt wird werden in einem verbundenen Modell per Hand vom Designer oder automatisch durch einen Algorithmus die entsprechenden Eigenschaften aktualisiert Das Mapping Problem besteht aus einer Reihe von Teilproblemen Je nach Art der verwendeten Modelle und der Verbindungen zwischen ihnen treten ver schiedene 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 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 zentrales Anliegen der Arbeit solche Interaktions abl ufe beschreiben zu k nnen Zur Klassifikation muss auch die Abdeckung von Modellen ber cksichtigt wer den siehe Abschnitt 3 1 1 Ein interaktives System besteht aus
157. laikMusic op Music gt m gt po gt A die gt KI gt userlncrease p incresse userDecresse p decrease userNext p next userPrevious p previous abge userStop p stop gt gt userPlay p play userP ause p pause Abbildung 3 7 Die Aufgaben des MP3 Players mit ConcurTaskTrees 3 5 Abstrakte Modelle f r Interaktion 51 TERESA ist eine Entwicklungsumgebung mit einem grafischen Editor 115 die durch mehrere Transformationsschritte aus einer Taskbeschreibung in Con curTaskTrees fertige Benutzerschnittstellen erzeugen kann Begonnen wird mit einem allgemeinen und abstrakten Task Modell in Form von ConcurTaskTrees aus dem die konkreten User Interfaces f r verschiedene Plattformen abgelei tet werden k nnen Durch dieses Verfahren kann sich der Anwendungsdesi gner zun chst auf die logischen Aspekte konzentrieren Die plattformspezifi schen Details werden erst in den sp teren Arbeitsschritten betrachtet Auf allen Abstraktionsebenen l sst sich die Benutzerschnittstelle XML basiert speichern wodurch ein Einstieg auf jeder Stufe auch durch fremde Werkzeuge erleichtert werden soll TERESA verlangt ein Top down Vorgehen Aus einer m glichst hohen Abstrak tionsstufe werden durch die Transformationsschritte die konkreteren Benut zerschnittstellen 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
158. le fiir Mappings Transformationen und Res sourcen eingef 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 angerei chert 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 Abstract 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 Dialog boxen Radiobuttons oder Fortschrittsbalken vorhanden F r Sprache stehen Ein und Ausgabeelemente zur Verf gung Dar ber hinaus sind Elemente f r 3D Interaktion vorhanden wie Buttons Schieberegler B ume und Text Das vorhandene Kontextmodell beinhaltet Submodelle f r die Umgebung die Plattform und den Benutzer Die Umgebung wird sehr einfach durch die drei Attribute lightingLevel isNoisy und isStressing beschrieben F r m gliche Plattformen existieren eine Vielzahl von Attributen die jedoch prim r auf GUIs ausgelegt sind Benutzer werden ber ihre Erfahrung und Motivation beschri
159. lementg lt lt enumeration gt gt lt lt enumeration gt gt TransitionKind PseudostateKind internal StateMachine initial local mm j join external fork Di Lee H Junction choice 1 region container Region container 0 1 11 region subvertex transition source outgoing Vertex 1 Transition target incoming 1 0 1 state Ze _ Pseudostate connectionPoint state State kind PseudostateKind Di 0 1 effect Behavior FinalState Abbildung 6 6 Benutzte Modellelemente f r Zustandsmaschinen knoten Gabelung Vereinigung und Entscheidung initial fork join choice Ein Pseudostate besitzt einen Typ kind der durch eine Aufz hlung definiert wird In Abbildung 6 6 sind die entsprechenden englischen Namen aus dem Standard festgehalten berg nge zwischen Zust nden werden durch Objekte der Klasse Transition beschrieben Transitionen verbinden Pseudostates Regionen und Zust nde un tereinander und k nnen ein Verhalten Behavior besitzen In der Realisierung werden Informationen ber die Zugeh rigkeit von Zust n den zu Regionen an separater Stelle gespeichert In Abbildung 6 1 werden des halb nur die Klassen State und Transition aufgef hrt um Zustandsdiagramme zu beschreiben Jeder Zustand besitzt mehrere Attribute Guard Fffect und Trigger Wird ein Zustandsdiagramm betreten so kommt Algorithmus 3 zum Einsatz Es werde
160. ligent Agents Resource Desription 2005 INCITS Protocol to Facilitate Operation of Information and Electronic Products through Remote and Alternative Interfaces and Intelligent Agents Target Description 2005 INCITS Protocol to Facilitate Operation of Information and Electronic Products through Remote and Alternative Interfaces and Intelligent Agents Universal Remote Console 2005 INCITS Protocol to Facilitate Operation of Information and Electronic Products through Remote and Alternative Interfaces and Intelligent Agents User Interface Socket Description 2005 INTERNATIONAL ORGANIZATION FOR STANDARDIZATION ISO IS 8807 Information Processing Systems Open Systems Interconnection LO TOS A Formal Description Technique Based on Temporal Ordering of Observational Behaviour 1989 INTERNATIONAL ORGANIZATION FOR STANDARDIZATION DIN EN ISO 9241 110 Grunds tze der Dialoggestaltung 1990 Literaturverzeichnis 133 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 speci fication and UTF 8 encoding http www iso ch cate d25508 html 1997 79 Ten Hiroshi The tangible user interface and its evolution Communi cations of the ACM 51 6 32 36 ISSN 0001 0782 2008 80 IsuHt Hiroshi RATTI Carlo PIPER Ben WANG Yao BIDERMAN Assaf BEN JOSEPH E Brin
161. me von Informa tionen beim Menschen 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 verwen det 2 Widgets sind z B Buttons Labels oder Eingabefelder 12 Grundlagen Die Z pfchen der Netzhaut lassen sich zum Beispiel durch Licht und durch Druck stimulieren Beide Eindr cke geschehen ber verschiedene physikalische Mechanismen 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 lteempfinden thermoception Schmerz nociception Gleichgewicht equilibrioception Tabelle 2 1 berblick ber die Sinnesmodalit ten Auf die wichtigsten Sinnesmodalit ten wird im Folgenden detaillierter einge gangen Sehen Das Sehen ist
162. mit Werkzeugen erstellt Es exisitiert eine sehr gro e Menge an Werkzeugen Jeckle stellte bereits 2004 eine Liste von ber 100 UML Tools zur Bearbeitung 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 spezifi ziert 141 Die MOF beschreibt dabei jedes der Elemente durch eigene Klas sen 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 im Meta Modell ver ndert 100 Realisierung eines Software Frameworks wurden ist der h here Aufwand f r einen konfigurierbaren Parser nicht ge rechtfertigt F r diese Arbeit wurde darum ein Parser entwickelt der an die ak tuelle 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 modelliertes Diagramm ausf hren zu k nnen gen gen weni ge Klassen sowie ein Teil ihrer Attribute Attribute wie z B der Name eines Zustands m ssen nicht geparst werden da sie f r die sp tere Ausf hrung kei ne Rolle spielen Durch die Beschr nkung auf die relevanten Informationen k nnen schlanke Klassen
163. mm werden Aktionen gestartet Sobald der Benutzer eine Aktion ausf hrt wird die Benutzerinteraktion an die Dialogsteuerung gemeldet die den inter nen Zustand des Dialogs aktualisiert Die Dialogsteuerung w hlt auf Basis des Interaktionsmodells die n chste Aktion aus und benachrichtigt die Pr sentati onskomponente Sie bertr gt den eindeutigen Namen der Aktion welche von der Pr sentationskomponente an alle Modalit ten weiter vermittelt wird Die Komponenten f r die einzelnen Modalit ten nehmen daraufhin eine Aktuali sierung ihrer Benutzerschnittstellen vor 5 2 3 Pr sentationskomponente Mapper Die Pr sentationskomponente vermittelt zwischen den Modalit ten und der Dialogsteuerung Wie bereits in Abschnitt 4 5 3 ausgef hrt lassen sich die Na men von Aktionen und Zust nden f r ein Mapping auf Teildialoge nutzen Die Dialogsteuerung 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 Eingaben des Benutzers an die Pr sentationskomponente senden Dieser muss die Eingaben des Benutzers verar beiten damit z B widerspr chliche Operationen abgefangen werden k nnen Die Kommunikation zwischen Mapper und Modalit ten geschieht durch den Austausch von Nachrichten Jede Modalit t sendet Nachrichten an den Mapper sobald ein Benutzer eine Interaktion ausf hrt Im Gegenzug sendet der Map per Na
164. n 4 2 Links das Klassendiagramm des Getr nkeautomaten rechts das des MP3 Pl ayers 2 ee a na een ee 4 3 Use Case Diagramm mit zwei Use Cases 4 4 Links das Aktivit tsdiagramm des MP3 Players rechts das des Ge tr nkeautomaten 2 22 2 Como 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 Einwurf Se os ee re Beh cl anne 4 7 Zustandsdiagramm des Getr nkeautomaten f r die Auswahl eines Getr nks 2 2 2 san ernennen 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 2222222000 4 10 Glade User Interface Designer rechts im Kontextmen die Verkn p fung eines Buttons mit einem Event 5 1 Das Seeheim Modell 2 0000 eee eee 5 2 Das Arch Modell nach 12 0 0 008 5 3 Das Slinky Metamodell nach 12 5 4 Komponenten des MVC Konzepts Zwei parallele Views 5 5 PAC Agenten in hierarchischer Anordnung Die Agenten beschrei ben die Teile eines Fensters Der oberste Agent steuert das Fenster und besitzt weder Abstraction noch Presentation 5 6 Die Kombination aus Arch Slinky und multimodalen Pr sentations komponenten bildet das multimodale Arch Modell mArch 6 1 Umsetzung des mArch Fram
165. n 1995 dass die Kombination eines Ger ts mit einer Interaktionssprache eine interaction technique ergibt Diese entspricht schon sehr dem bisher erweiterten Modalit tsbegriff 127 Eine Interaktions sprache beschreibt dabei die verschiedenen Ebenen der Interaktion mit einem Ger t So enth lt eine Interaktionssprache f r Spracheingabe Schl sselworte eine Grammatik 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 Un terscheidung in Ein und Ausgabemodalit t 201 Der Begriff der interaction technique wurde durch den gebr uchlicheren Begriff der Modalit t ersetzt Die Trennung in Ein und Ausgabemodalit ten ist von Bedeutung denn durch sie lassen sich unabh ngige Sprachen f r unterschiedliche Teile eines Systems ein setzen Eine Beschreibungssprache f r die Eingabe ber Maus und Tastatur ist z B unabh ngig von einer Beschreibung f r eine grafische Ausgabe auf einem Monitor Eine Modalit t 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 Signalt ne und nat rliche Sprache Informationen ber das selbe Ger t und das selbe Medium bertragen doch die Informationen sind deutlich verschieden repr sentiert In derselben Arbeit finden sich auch Definitionen von Modalit t und Modus Vernier und Nigay
166. n 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 Daten 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 Eigens
167. n alle Zustands berg nge zu den Spitzen des Kaktusstacks gesam melt deren Trigger dem aktuellen Trigger entsprechen 1 Diese Transitionen werden bis zum n chsten Zustand verfolgt da sie durch Pseudozust nde eine Kette bilden k nnen 2 4 Anschlie end werden die Transitionen herausgefil tert 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 Ope 110 Realisierung eines Software Frameworks 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 6699 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 ta
168. n bestehender Ans tze Eine Erweiterung des Systems bleibt aber m glich Der Ansatz ist universell genug 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 vie len Zielplattformen vor 26 welches im Rahmen des Cameleon Forschungs projekts entwickelt wurde Vanderdonckt et al nutzten dieses Framework als Basis f r 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 Beschreibung 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 Patterns verwendet und Analysen der ben tigten kognitiven Kapazit ten lassen sich durchf hren Das UI ist noch unabh ngig von Modalit ten Auf der Ebene des Concrete User Interface werden konkrete Interaktionsobj
169. n k nnen Dieses Kapitel beschreibt eine geeignete Software Architektur die multimodale Anwendungen realisierbar macht Un ter dem Begriff Software Architektur wird in dieser Arbeit eine Strukturierung in Komponenten 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 Interakti onsanwendungen gen gt Die bisher vorgestellten Modelle erm glichen die Gliederung einer Architek tur in Komponenten die wiederum durch konzeptionelle Modelle beschrieben werden 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 Ein Benutzer kann beispielsweise ber verschiedene Modalit ten widerspr chliche Befehle eingeben Darum m s sen die Eingaben aufbereitet und zu einem einzigen Eingabestrom verschmol zen werden Immer wenn der Zustand des Dialogs sich ver ndert muss diese nderung an alle eingesetzten Modalit ten kommuniziert werden Die Moda lit ten k nnen durch diese Information ein Update ihrer Ausgaben an den Be nutzer vornehmen In diesem Kapitel wird deshalb auf die Fusion der Eingabe und die Fission der Ausgabe an die Modalit ten gesonder
170. nden 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 Fo kussierung des Motivs und erlaubt ein schnelleres Arbeiten Weitere Ans tze bestimmen 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 Modalit 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
171. ngen 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 auszu werten hat sich in der Praxis bew hrt da es robust ist und Unsicherheiten bei der Erkennung der Eingaben vermeidet McTear unterscheidet in seinem Uberblickartikel 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 erm glichen nat rlichsprachliche Dialoge und das F hren komplexer Dialoge Das folgende Beispiel von 1997 zeigt einen nat rlichen Dialog mit einem sol chen agenten basierten System 168 User Pm looking for a job in the Calais area Are there any servers System No there aren t any employment servers for Calais How ever there is an employment server for Pas de Calais and an em ployment server for Lille Are you interested in one of these 20 Grundlagen Das agenten basierte System ist in der Lage zus tzlich zur abschl gigen Ant wort Alternativen anzubieten und den Dialog mit dem Benutzer weiterzuf h ren Tangible User Interfaces TUIs Eine Modalit tskategorie die in den letzten Jahren mehr Verbreitung findet sind T
172. ngs 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 interface models for user interface construction tools the MASTERMIND ap proach 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 confe rence on Intelligent user interfaces 105 108 1998 THOMPSON Ken Short Descriptions of the QEF Tools http www qef 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 Lau rence A framework to manage multimodal fusion of events for ad vanced interactions within virtual environme
173. niel C CARTER Jerry DANIELSEN Peter FERRANS Jim HUNT Andrew Lucas Bruce PORTER Brad RE HOR Ken TRYPHONAS Steph Voice Extensible Markup Language Voi ceXML Version 2 0 http www w3 org TR voicexm120 2004 Literaturverzeichnis 135 104 105 106 107 108 109 110 111 112 113 114 115 116 117 MCTEAR Michael F Spoken dialogue technology enabling the con versational user interface ACM Comput Surv 34 1 90 169 ISSN 0360 0300 2002 MEALY George H A method for synthesizing sequential circuits Bell System Technical 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 Grofses Konversations Lexikon Ein Nach schlagewerk des allgemeinen Wissens Bibliographisches Institut 6 auf lage edition 1902 08 MILGRAM Paul TAKEMURA Haruo UTSUMI Akira KISHINO Fumio Augmented reality A class of displays on the reality virtuality conti nuum SPIE 2351 282 292 1994 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 Surfac
174. nment 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 iden tisch ver ndert werden kann und sie im selben Zeitraum genutzt werden k nnen dann sind sie redundant zu einander Equivalence quivalenz Wenn durch zwei Modalit ten das gleiche Ziel erreicht wird sind sie quivalent 2 2 Modalit ten 17 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 interfaces GUIs die Rede doch nach der obigen Definition k nnen zwei ver schiedene GUIs bereits verschiedene Modalit ten sein Damit es einfacher ist ber Gruppen von hnlichen Modalit ten zu sprechen bilden diese eine Mo dalit tskategorie Dabei d rfen sich Repr sentanten einer Kategorie nur in we nigen Attributen voneinander unterscheiden Definition 8 Modalit tskategorie Eine Modalit tskategorie fasst M
175. nnerhalb 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 be zeichnet Der bzw die Startknoten k nnen dann automatisch ausgewertet wer den und die gesamte Anwendung steuern Falls eine Aktion durch ein weiteres Diagramm spezifiziert wird wird dieses gestartet sobald die Aktion betreten wird Das aufrufende Diagramm bleibt aktiv bis das eingebettete Diagramm abgearbeitet ist Falls in einem aufrufen den Diagramm z B eine Unterbrechung stattfindet werden die betroffenen aufgerufenen 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 durch 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 sen tationsmodell welches die Interaktionselemente dazu bereitstellt siehe Defi
176. nsablaufs Systemzustands A Y Ausf hren einer Erfassen des Aktion Systemzustands y Abbildung 2 3 Interaktionszyklus nach D Norman 131 S 47 Links die Ausf hrungsphase rechts die Evaluationsphase dert 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 syntaktische Ebene und die semantische Ebene 46 S 545 Auf der semantischen Ebene wird die Wirkung von Interaktionen auf die in ternen Datenstrukturen des Systems beschrieben Hier wird festgelegt welche Informationen ausgegeben werden Die lexikalische Ebene beschreibt die Re pr sentationen von Interaktionselementen Dies sind z B das Aussehen von Elementen am Bildschirm oder Tasten welche vom Benutzer gedr ckt werden Auf der syntaktischen Ebene werden Ordnung Reihenfolge und Struktur be schrieben Bei einer grafischen Oberfl che finden sich an dieser Stelle Informa tionen zum Layout der Elemente bei Sprachsystemen die Grammatik Auf der untersten Ebene findet die physikalische Interaktion statt Damit be zeichnet man jegliche Interaktion die ein Benutzer mit Ein und Ausgabeger ten hat Beispiele hierf r sind das Dr cken einer Maustaste die Tastatureing
177. nt System In Toolkit 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 LIMBOURG Quentin VANDERDONCKT Jean SOUCHON Nathalie The Task Dialog and Task Presentation Mapping Problem Some Prelimina ry Results In PALANQUE Philippe PATERNO Fabio Eds Interactive Systems Design Specification and Verification volume LNCS 1946 227 246 Springer 2001 LINK Stefan SCHUSTER Thomas HOYER Philip ABECK Sebastian Modellgetriebene 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 LOPEZ JAQUERO Victor MONTERO Francisco REAL Fernando Desi gning user interface adaptation rules with T XML In IUI 09 Procee dings 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 Da
178. ntationskomponente Schnittstelle Dialog Pr sentations Anwendung Benutzer Anwendung steuerung komponente Bypass Steuerung Bypass Abbildung 5 1 Das Seeheim Modell Abbildung 5 1 stellt die Komponenten des Seeheim Modells grafisch dar Die Schnittstelle zur Anwendung beschreibt den Zugriff auf die Semantik der je weiligen Anwendung Durch sie erfolgt auch die Kommunikation mit der An wendung Die Dialogsteuerung realisiert die Interaktivit t der Anwendung Sie verarbeitet Benutzereingaben und bestimmt den Verlauf der Interaktion zwi schen Benutzer und System Die Pr sentationskomponente steuert die Erschei nung der Benutzerschnittstelle inklusive welche Ein und Ausgabem glichkei ten dem Benutzer zur Verf gung stehen Zus tzlich existiert noch eine Kompo nente die als Bypass vorgesehen ist Durch sie wird eine schnelle semantische R ckmeldung erm glicht Solch eine R ckmeldung wurde eingeplant um in F llen wie beispielsweise dem Zeichnen von Linien die Eingabe zur Anwendung zu beschleunigen Ohne die Umgehung m ssten alle Eingabeereignisse in der Dialogsteuerung verarbeitet werden be vor sie an die Anwendung weitergeleitet w rden Aufgrund der geringeren 86 Architekturen f r multimodale Benutzerschnittstellen Leistungsf higkeit der damaligen Hardware bedeutete der Bypass ein schnel les Ansprechverhalten eines Systems Durch die Bypass Steuerung kann die Dialogsteuerung bestimmen f r welc
179. ntriert sich auf die Transforma tionen zur Abstraktion Reifikation und Translation zwischen Modellen Es feh len 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 Evalua tionsmodell wird f r die Klassifikation vorgesehen ist aber f r die Erstellung von interaktiven Anwendungen nicht direkt notwendig 3 3 Models and Mappings Klassifikationsframework 41 Zus tzlich zu den Modellen muss eine Klassifikation Aussagen ber die rele vanten 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 Trans formation 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 Klassifikationsframe work In der Abbildung sind f r alle verwendbaren Modelle Bereiche vorge sehen Task steht f r das Aufgabenmodell Domain f r das Dom nenmodell Dialog f r das Dialogmodell Presentation f r das Pr sentationsmodell Devi ce bezeichnet das Ger temodell Environment das Umgebungsmodell User das Benutzermodell und Evaluation das Evaluationsmodell Die Modelle sind entsprechend der m glichen Verkn pfungen angeordnet Task
180. nts In Proceedings of the workshop on Virtual environments 2002 159 168 2002 TREWIN Shari ZIMMERMANN Gottfried VANDERHEIDEN Gregg Ab stract user interface representations how well do they support universal access In ACM Conference on Universal Usability 2003 77 84 Vancou ver British Columbia Canada 2003 Literaturverzeichnis 141 191 192 193 194 195 196 197 198 199 200 201 202 203 204 ULLMER Brygg ISHII Hiroshi Emerging Frameworks for Tangible User Interfaces 579 601 Addison Wesley August 2001 UNDERKOFFLER John ISHII Hiroshi Urp a luminous tangible work bench for urban planning and design In CHI 99 Proceedings of the SIG CHI 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
181. odalit ten zusammen die sich sehr hnlich sind Bei der Einteilung in Kategorien haben sich im Lauf der Zeit verschiedene Gruppen herausgebildet Dix et al beschreiben Interaktionsstile die sich weit gehend als Kategorien anbieten 46 S 136 Grafische Oberfl chen sind in zwei Varianten Point and Click und WIMP Windows Icons Menus Pointers aufgef hrt Sprache zur Bedienung von Systemen findet sich als Natural Lan guage wobei heutige Sprachsysteme zwischen nat rlicher Sprache und einfa cheren 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 Abl ufe oder Verhalten von Interaktionen und sind nicht immer an Modalit ten gebunden Auf sie passt die Bezeichnung Interaktionsmuster interaction patterns die von Jennifer Tidwell die eine solche Mustersammlung zusam mengestellt hat gepr gt wurde 46 188 S 284ff Beispiele f r Interaktions muster sind Men s Wizards und Formulare Men s k nnen unter anderem grafisch oder durch Sprache realisiert werden und sind modalit tsunabh n gig Wizards sind Fragedialoge die einen Benutzer durch eine Reihe von Fra gen f hren Formulare sind in grafischen Oberfl chen wie Buchungssystemen im Einsatz Bei Benutze
182. odalit ten in das Frame work zu integrieren 6 3 1 Regul rer Einsatz Im normalen Einsatz des Frameworks werden Anwendungen modelliert Der Getr nkeautomat dient im Folgenden als Beispielanwendung Zuerst m ssen Diagramme entwickelt werden welche die Funktionalit t der entsprechenden Anwendung und das Verhalten der Benutzerschnittstelle fest legen Beim Getr nkeautomat sind dies ein Klassendiagramm ein Aktivit ts diagramm 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 eine GUI mit dem Glade User Interface Designer erstellt siehe Abschnitt 4 5 3 F r weitere Modalit ten werden ebenfalls Beschreib ungen der Benutzerschnittstellen erstellt z B mit VoiceXML oder einem ande ren 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 118 Realisierung eines Software Frameworks 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
183. odell 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 be schreiben 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 tsdia gramme die das allgemeine Verhalten eines Systems in dieser Arbeit beschrei ben 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 Implementierung eines Systems begonnen werden kann 37 Ein Benutzer wird innerhalb des Diagramms Akteur actor genannt Der Ak teur 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 Samm lung von Aktionen die der Reihe nach abgearbeitet werden m ssen um die Ausgabe zu erzeugen Abbildung 4 3 zeigt ein Use Case Diagramm f r den MP3 Player der zwei Use Cases enth
184. 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 Beispie le sollen die Unterschiede der Informationsrepr sentation verdeutlichen Ein System erlaubt es Text einzugeben Eine Tastatur ben tigt eine Interaktionss prache ber die z B K rzel oder einzelne Tasten zur Bedienung einer An wendung definiert sind Die Eingabe ber einen Stift kann durch eine Sprache zur Erkennung 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 Beispiel soll die Ausgabe von akustischen Signalen und nat rlicher Sprache dienen Hier unterscheiden sich die Sprachen zur Repr sentation der auszugebenden Informationen 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 gemes sen werden Auch wenn sich hier beide Modalit ten durch die Eigenschaften der Ger te unterscheiden k nnte man diese zusammenzufassen F r eine aus f hrliche Abgrenzung dieser Modalit ten sei auf Bernsens Arbeit verwiesen 15 16
185. og T current_states T T 10 SpeechUI GladeU 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 beteiligten Klassen Die Dialogsteuerung steht im Mittelpunkt des Diagramms Sie wird durch die Klasse UIModel implementiert und leitet sich von XMI ab einer Oberklas se die die UML Diagramme parst Die Klasse xMI ben tigt eine Reihe von 6 1 Aufbau des User Interface Management System Frameworks 99 Hilfsklassen um beim Parsen eines XMI Diagramms die entsprechenden UML Entit ten erzeugen zu k nnen Im Paket UML sind die Hilfsklassen darge stellt Es existieren Klassen f r Zust nde State die zugeh rigen berg nge Transition und ausl senden Ereignisse Trigger Aktionen von Aktivi t tsdiagrammen Node und deren Kanten Edge Die Oberklasse XMI be achtet beim Parsen die hierarchische Strukturierung der Diagrammelemente Dies ist notwendig da Elemente eines Diagramms durch weitere Diagramme beschrieben werden k nnen Die Klasse xMI speichert Referenzen auf alle an gelegten 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 ver bindet die abstrakte Dialogbeschreibung mit den verschi
186. omputer 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 Be nutzers mit Eingabe und Ausgabeger ten Die kognitive Ebene beschreibt die Kapazit ten des Benutzers die zur Informationsverarbeitung vorhanden sind Auf der konzeptuellen Ebene steht das Modell welches ein Benutzer durch die eigene 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 einen Kaffee trinken Ziel Um sein Ziel zu erreichen will er einen Kaffee von einem Automaten kaufen Die Aufgabe besteht in der Auswahl der richtigen Sorte Getr nk dem Bezahlen und dem Entnehmen des fertigen Produkts Auf der konzeptuellen Ebene besitzt der Benutzer eine Vorstellung von der Funk tion des Kaffeeautomaten Gegen die Entrichtung des Preises wird dieser ihm ein Getr nk herstellen Auf der kognitiven Ebene kommen Gesetzm igkeiten ber die Kapazit t des Kurzzeitged chtnisses ins Spiel 110 Wenn zuviele Ge tr nke zur Auswahl stehen wird es schwerer das richtige Getr nk zu w hlen und die restlichen Arbeitschritte im Ged chtnis zu behalten Auf der physikali schen 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 temod
187. on Multimodal Interaction WMI 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 de sign putting theory into practice In DIS 00 Proceedings of the confe rence 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 PALANQUE P PATERNO F Eds Interactive Systems Design Specification and Verification 7th International Workshop DSV IS 2000 volume 1946 35 52 Springer 2001 WATZLAWICK Paul BEAVIN Janet H JACKSON Don D Menschliche Kommunikation Formen St rungen Paradoxien Huber 2000 WEIDENBACHER Ulrich LAYHER Georg BAYERL Pierre NEUMANN Heiko Detection of Head Pose and Gaze Direction for Human Computer Interaction In ANDRE Elisabeth DYBKJ R Laila MINKER Wolfgang NEUMANN Heiko WEBER Michael Eds Perception and Interactive Technologies volume LNCS 4021 2006 9 19 Springer 2006 WEISER Mark Some Computer Science Issuses in Ubiquitous compu ting Communications of the ACM 36 7 74 84 1993 142 Literaturverzeichnis 205 206 207 208 209 210 211 212
188. on beinhaltet Aktivitatsknoten und kanten und kann durch eine Edge mit dem Attribut interrupts unterbrochen werden wobei die enthaltenen No des der Region terminiert werden Algorithmus 2 zeigt wie Aktivitatsdiagramme verarbeitet werden Der Algo rithmus beginnt sobald von einer Aktion aus ein Ubergang stattfinden soll Es werden 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 betre ten 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 108 Realisierung eines Software Frameworks 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 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
189. onderf 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 Auf gabenmodelle als ConcurTaskTrees 130 Ebenso wie bei UsiXML bleibt man 3 6 Modelle f r Kontext Evaluation und einzelne Modalit ten 57 state machine helio VE hello display toggle_irritation reset c10 addCredit 0 1 c20 addCredit 0 2 hello_price c50 addCredit 0 5 c100 addCredit 1 Q e UY showPrice Tee Kaba showPrice Kaba Kaffee showPrice Kaffee Latte showPrice Latte Cappuccino showPrice Cappuccino Abbildung 3 11 Zustandsdiagramm zur Beschreibung des Verhaltens der Ak tion hello Es zeigt die Begr ung mit Geldeinwurf innerhalb einer Sprachfamilie da die verschiedenen Diagramme alle durch die selbe Metasprache beschrieben werden Bei UML werden die Elemente anhand von IDs miteinander verkn pft so dass sie bei einer Ver nderung automatisch aktualisiert 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 di
190. ong 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 Sys tems beschreiben Wichtig f r den Einsatz zur Modellierung von Interaktions anwendungen ist dass nicht einfach alle Klassen f r die Interaktion verwendet werden Es ist besser die Komplexit t einer Anwendung durch wenige Klassen 68 Modellieren von Interaktionsanwendungen mit UML die als Fassade fungieren zu verbergen Zu diesem Zweck wird das Facade Pattern eingesetzt 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 anderen Dia grammen aus auf die Anwendung zugegriffen werden Damit lassen sich durch Benutzerinteraktionen 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 Dialog modell mit dem Pr sentationsm
191. orm Insgesamt l sst sich die Interaktion mit einem System in drei Bestandteile tren nen Inhalt Logik und Form 89 Unter Inhalt werden blicherweise Informa tionen verstanden welche einem Benutzer vermittelt werden sollen Inhalte k nnen in verschiedenen Medien wie Sprache Text oder Bildern vorliegen Im Bereich Logik muss zwischen der Interaktionslogik und der Anwendungs logik unterschieden werden Interaktionslogik beinhaltet die Elemente welche innerhalb eines Dialogs Teile der Ausgabe beschreiben Sie enth lt einen ge nerischen Anteil der f r eine Modalit t fest vorgegeben ist z B der Teil eines 2 2 Modalit ten 11 Programms welcher ein Fenster erzeugt und verwaltet Weiter enth lt sie sche matische Anteile 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 Webdesigns hat sich schon fr h herausgestellt dass eine Tren nung von Inhalt und Form sinnvoll ist So wurde 1994 die erste Version von Cascading Style Sheets CSS eingef hrt welche verschiedene Formatierun gen und Positionierungsm glichkeiten erlaubt 20
192. ors in computing systems 172 178 1993 NiGAy Laurence COUTAZ Jo lle A generic platform for addressing the multimodal challenge In Proceedings of the SIGCHI conference on Hu man factors in computing systems 98 105 1995 NINTENDO Controllers at Nintendo http www nintendo com wii what controllers 2009 No MaGic INC Magic Draw http www magicdraw com 2008 N BREGA Leonel NUNES Nuno Jardim COELHO Helder Mapping ConcurTaskTrees into UML 2 0 In DSVIS 05 12th International Work shop on Design Specification and Verification of Interactive Systems 237 248 Springer Berlin ISBN 978 3 540 34145 1 2005 NORMAN Donald A The Psychology of Everyday Things Basic Books 1988 NUNES Duarte Nuno Jardim Object Modeling for User Centered Deve lopment and User Interface Design The Wisdom Approach Ph D thesis University of Madeira April 2001 Literaturverzeichnis 137 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 NYLANDER Stina The Ubiquitous Interactor Mobile Services with Multi ple User Interfaces Ph D thesis Uppsala University Sweden November 2003 NYLANDER Stina Semi automatic generation of device adapted user interfaces In 3rd International Conference on Pervasive Computing 109 114 2005 OBJECT MANAGEMENT GROUP Model Driven Architecture http www omg org mda
193. ping adaptive multimodal applications In IUI Oe Proceedings of the 11th in ternational conference on Intelligent user interfaces 132 139 ACM Press New York NY USA ISBN 1 59593 287 9 2006 DUDDINGTON Jonathan eSpeak text to speech http espeak sourceforge net 2007 Literaturverzeichnis 131 49 DUDENREDAKTION Duden 01 Die deutsche Rechtschreibung Bibliogra phisches Institut Mannheim ISBN 3411040149 2006 50 ELSHOLZ Jan Patrick HERMANN Marc DE MELO Guido WEBER Mi chael Personalizable Ambient Fixture In 4th IET IEEE International Conference on Intelligent Environments 2008 51 FERGUSON Paula M BRENNAN David Motif Reference Manual B for OSF 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 K m Won Chul Kovacevic Srdjan MURRAY Ke vin UIDE an intelligent user interface design environment 339 384 Addison Wesley New York NY USA ISBN 0 201 50305 0 1991 54 Gaos Krzysztof Z EVERITT Katherine TAN Desney S CZERWINSKI Mary WELD Daniel S Predictability and accuracy in adaptive user in terfaces In CHI 08 Proceeding of the twenty sixth annual SIGCHI con ference on Human factors in computing systems 1271 1274 ACM New York NY USA ISBN 978 1 60558 0
194. r 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 vorge stellt 39 23 Die Komponenten sind hnlich aufgebaut wie beim MVC Kon zept Das Modell wird Abstraction genannt und Controller und View sind zu ei ner Komponente Presentation zusammengefasst Eine neue Komponente Con trol steuert das Zusammenspiel von Presentation und Abstraction PAC er m glicht hierarchische Strukturen indem die Control Komponenten mehrerer PAC Agenten miteinander verkn pft werden Agenten von h heren Schichten m ssen nicht unbedingt eine Abstraction oder eine Presentation besitzen rei ne Control Agenten sind ebenfalls m glich Der hierarchische Aufbau l sst sich beispielsweise bei Fenstersystemen nutzen Ein PAC Agent modelliert den In halt eines Fensters ein bergeordneter Agent die Bildlaufleisten Ein weite rer Agent der nur aus einer Control Komponente besteht steuert das gesamte Fenster Abbildung 5 5 illustriert 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 Ans tze f r Architekturen 89 5 1 5 Kombination der Ans tze zum mul
195. r Einleitung wurde in der Problemstellung aufgezeigt 2 5 Fazit 27 dass die Vielfalt an vorhandenen Modalit ten die Erstellung von multimodalen Anwendungen erschwert Durch den Einsatz geeigneter Modelle lassen sich Verfahren des Model Driven Software Development anwenden welche die Er stellung 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 ge kl rt und das Problemfeld abgegrenzt wurde befasst sich dieses Kapitel mit dem Finden einer geeigneten Notation um modellbasierte Interaktionsanwen dungen zu erstellen Als Erstes werden hierf r die verschiedenen Arten von Modellen die bei In teraktionsanwendungen zum Einsatz kommen untersucht Problematisch ist dabei die Verbindung zwischen verschiedenen Modellen F r diese Problem stellung 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 Notation 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 we
196. r den MP3 Player zu sehen die mit dem User Interface Designer erstellt wurde 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 6 2 Ausf hren von UML 113 package Data ES Mods E cul in_q Queue call_method perform id show_dialog SpeechUl r GladeUl 8 WiiUl sphinx glade wiimote dialog recognizer wii_events show_dialog clicked widget show_dialog update show_dialog update update Abbildung 6 8 Ableitung der Klassen SpeechUI GladeUI und WiiUI von der Klasse CUI U2 With or without you Crowded House Weather with you SR71 Right now dr E Down ie Previous gt Play HR Pause E Stop pp Next Abbildung 6 9 GUI des MP3 Players 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
197. raktion die Modalit t gewechselt wird oder falls zwei Modalit ten vorhanden sind die sonst unabh ngig ge nutzt werden 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 Ges tik k nnen als eigenst ndige Modalit ten genutzt werden hier sind sie jedoch zu einer Interaktion 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 hnungspha se die Effizienz der Benutzer 143 2 2 4 CARE Eigenschaften Coutaz et al entwickelten 1995 die sogenannten CARE properties 40 CARE steht dabei f r Complementarity Assignment Redundancy und Equivalence Diese Eigenschaften dienen der formalen Beurteilung von Interaktionsmodel lierung f r Modalit ten Ein System wird als Zustandsautomat betrachtet des sen 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 Assig
198. rame works noch genauer analysiert werden In Abbildung 3 2 sieht man die Ebenen 3 2 Ans tze zur Klassifikation 39 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 f r Hardware und Software zugeordnet Auf der CUI Ebene ent sprechen diese Tasten Buttons oder Sprachbefehlen Die eigentliche Schnitt stelle wird bei der Ausf hrung durch Bin rcode oder die Interpretation von Markup Sprachen bernommen Die Interaktion eines Benutzers wird durch die verschiedenen Ebenen bertragen So kann auf die Funktionalit ten der Dom nenobjekte zugegriffen werden Ein Benutzer 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 Nota tionen vorschreibt Ein Nachteil ist dass das Aufgabenmodell und das Dom nenmodell zusam mengefasst werden Es handelt sich um zwei verschiedene Modelle die so den Eindruck erwecken ein einzelnes Modell zu sein
199. rch Modells beschrieben Um die Umsetzung von Anwendungen auf Basis von UML Modellen zu vereinfachen wurde ein eigenes Software Framework im Folgenden 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 Frame work beim Start einer Anwendung verh lt W hrend der Startphase werden die UML Diagramme eingelesen und alle Komponenten des mArch Frameworks in itialisiert 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 Klassendia grammen dient zur Bereitstellung von Funktionalit t Schlie lich wird auf das Pr sentationsmodell und damit verbunden auf Fusion und Fission eingegan gen Zum Ende des Kapitels wird noch ein berblick ber die Verwendung des mArch Frameworks gegeben Zus tzlich wird beschrieben wie neue Modali t ten eingebunden werden k nnen 97 98 Realisierung eines Software Frameworks 6 1 Aufbau des User Interface Management System Frameworks Das Software Framework f r das mArch Modell wird durch eine Reihe von Klassen realisiert Abbildung 6 1 zeigt eine bersicht ber die wichtigsten Klas sen durch welche die Umsetzung erfolgt Die Klassen Appli
200. rden 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 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 erreicht oder aktiviert werden k nnen 93 Sie erm glichen die Erzeugung 29 30 Klassifikation bestehender Ans tze von Hilfe Systemen oft kontextabh ngig einschlie lich Animationen und Er kl rungen 53 183 182 Schlie lich sind sie auch beim Evaluieren von erstell ten Systemen von Nutzen und erm glichen z B die Messung der Geschwindig keit mit der ein Benutzer eine Aufgabe erledigen kann 86 Angesichts der vielen verschiedenen Zwecke ist es verst ndlich dass ein ein zelnes Modell oft nicht ausreicht um alle diese Aufgaben zu erf llen Daher kommen eine Reihe von Modellen zum Finsatz die nun vorgestellt werden 3 1 1 Arten
201. rget 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 f r Zustandsmaschinen rationen 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 Unterzust 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 worden sein Bei einem einfachen Zustand wird die Transition auf dem Kaktus stack nachvollzogen und anschlie end eine Aktualisierung der Ausgabe durch gef hrt 21 24 Falls ein Endzustand erreicht wurde wird der Strang des Kak tusstacks ben tigt von dem die Transition ausging Dessen Zustandsmaschine wird beendet 27 Nach der Beendigung des Zustandsdiagramms ist im dar lEin Zustand der keine Unterzust nde enth lt 6 2 Ausf hren von UML ber liegenden Aktivit tsdiagramm eine Aktion beendet und von ihr aus muss die passende Edge 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 Operat
202. rmalen Anforderungen an das Arbeitsumfeld Verst ndlichkeit Die Notation soll von m glichst vielen Leuten einfach ver standen werden Verst ndnis l sst sich jedoch schwer quantifizieren Angemessenheit der Notation Grafische Notationen sollen f r verschiede ne Aspekte der Spezifikation unterschiedliche Arten von Diagrammen nutzen Diese sollen ihrem Einsatzzweck angemessen sein Auch textuelle Notationen k nnen gr ere Klarheit erreichen wenn Aspekte eines Modells getrennt be trachtet werden 36 Klassifikation bestehender Ans tze Keine isolierten Teilmodelle Es soll ein gesamtes Modell beschrieben wer den Falls verschiedene Teilmodelle beschrieben werden stellen Relationen zwischen den Teilen die Verbindung her Ausdrucksst rke Zus tzlich zur Anforderung der Verst ndlichkeit soll eine Notation nicht langatmig werden Sie muss es erm glichen komplexe Zusam menh 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 Eine sehr formale Notation kann die Analyse eines Dialogs erschweren da komplexe Parameter zu ber cksichtigen sind Sie ist aber wichtig um automatisch Benutzerschnittstellen zu er
203. ropagiert 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 ei ner Anwendung speichert F r Hochsprachen ist der Call Stack transparent da Routinen f r seine Verwaltung von Bibliotheken bereitgestellt werden Die wichtigste Aufgabe eines Call Stacks ist zu verwalten an welcher Stelle nach einem Unterprogrammaufruf fortgefahren werden soll Zum Beispiel kann ein Unterprogramm zur Berechnung der Quadratwurzel von mehreren Stellen in einem Programm aus aufgerufen werden Der 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 Dia grammen verwendet In UML Diagrammen k nnen wegen Parallelit t mehrere Aktionen oder Zust nde gleichzeitig aktiv sein Immer wenn in einem Dia gramm ein Element durch ein anderes Diagramm genauer spezifiziert wird wird dies in einem Call Stack vermerkt Da bei UML Diagrammen durch Paral lelit t Verzweigungen entstehen wurde f r diese Arbeit die Idee des Call Stacks um Verzweigungen erweitert Diese Idee wurde bereits 1968 von Hauck und Dent beschrieben die einen Stack mit zwei Enden in einer Implementierung in Hardware verwendeten 62 Wegen der m glichen mehrf
204. rschnittstellen existieren auch Stile zur unterschiedlichen Repr sentation Bei grafischen Oberfl chen kann ein Benutzer z B auff lligere Far ben bevorzugen ein anderer legt Wert auf dezente T ne und passende Schrif ten Bei Sprache werden dagegen verschiedene Stimmlagen und Tempi favo risiert Allerdings 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 ver schiedene Anwendungen eingesetzt werden k nnen Ein Beispiel einer solchen Beschreibungssprache sind die Cascading Style Sheets CSS 208 18 Grundlagen Im Folgenden wird ein kurzer berblick ber drei etablierte Modalit tskatego rien 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 rzere Ausdruck hat sich durchgesetzt Fr he GUIs waren Text User Interfaces als Eingabeger t kamen klassisch Tastatur und Maus zum Einsatz Mittlerweile finden sich Varianten die mit Stiften bedient werden In Abbildung 2 5a sieht man eine aktuelle Anwendung zur Paketverwaltung unter Linux 2
205. rst tzung Verbreitung 2 EE N Tabelle 3 1 Zusammenfassung der Eigenschaften der vorgestellten Notationen Bewertungsskala 0 64 Klassifikation bestehender Ans tze Tabelle 3 1 fasst die bewerteten Eigenschaften der vorgestellten Notationen nach den Kriterien aus Abschnitt 3 2 1 noch einmal zusammen Die Verst nd lichkeit 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 ausgew 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 Werkzeugunterst tzung von UML Die Vertrautheit durch den Einsatz im nor malen Entwicklungsalltag reduziert die H rden zum Einsatz der Notation zur Interaktionsmodellierung Das folgende Kapitel geht detaillierter auf die Modellierung mit UML ein Im Anschluss wird eine Architektur zur Verwendung der Modelle beschrieben be vor 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 Modelin
206. s SSS gn F EI SATE Mone oe D DI play dialog T Down Sue E vbox1 Si LAOS E hbuttonbox1 a Y M hbox2 P Containers E image 7 inc_volume LI F Bee B a 0 4 E oo Window Properties GtkWindow play dialog mgg General Packing Common Signals E EI EI p Ol LR A Control and Dis w o cB o GC we oi O E bbe a DI fo N Co en EI Ej E ECH Al R gt Composite wid gt Tree model gt Text Buffers gt Miscellaneous gt Specialized wi gt Gtk obsolete Abbildung 4 10 Glade User Interface Designer rechts im Kontextmen die Verkn pfung eines Buttons mit einem Event Auf das Evaluationsmodell wurde in diesem Kapitel nicht eingegangen Evalua tionsmodelle lassen sich jedoch unabh ngig zum hier vorgestellten Verfahren einsetzen Die in UML erstellten Modelle lassen sich auch bedingt zur Evalua tion 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 Anwen dungen modelliert werde
207. s 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 notwendi ge Anforderungen nicht Sie unterst tzen nicht die parallele Nutzung mehrerer Modalit ten und sie bieten auch nicht die M glichkeit eine Anwendung paral lel 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 Ziele eines User Interface Management Systems sind auf einer abstrakten Ebe ne Eingabe und Ausgabe zu spezifizieren und dem Benutzer standardisierte Benutzerschnittstellen anzubieten Sie trennen die Anwendung von der Benut zerschnittstelle und beschreiben diese auf einer abstrakteren Ebene als Tool kits UIMSe unterst tzen plattformunabh ngige Systeme und k nnen parallel mehrere Benutzerschnittstellen bereitstellen Damit eignen sie sich f r multi modale Systeme Die wichtigsten Bestandteile eines UIMS sind Komponenten f r die Pr sen tation der Benutzerschnittstelle ein
208. s f r ein Mapping verwendet werden Dar ber hinaus sind die Trigger an den Transitionen die wichtigsten Elemente Sie entsprechen Interaktionen des Benutzers und werden mit den passenden Interaktionselementen verbunden Dabei sind auch die Actions die durch Trigger ausgel st werden k nnen zu ber cksichtigen 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 Zust nde Aktionen und Ausgabeereignisse vorgenommen wird Eine Verbin dung 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 realisieren 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 abgefangen und entsprechend verarbeitet werden state machine sm player Sr sm player J inc_volume Player inc_volume aussen der volume Player dec_volume activity ac player
209. santen For schungsthemen Fine 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 Interak tionsanwendungen Das Anwendungsframework verf gt ber einen Plugin Mechanismus f r Fusi onsalgorithmen Experimentelle Untersuchungen zum Vergleich verschiedener Fusionsalgorithmen existieren bisher noch nicht Durch die Nachvollziehbar keit des Anwendungsframeworks ist eine Vergleichbarkeit bei der Bewertung des Verhaltens verschiedener Algorithmen gegeben Weitere interessante experimentelle Untersuchungen bieten sich zum Einsatz von Modalit ten an Derzeit existieren nur wenige Arbeiten die ermitteln un ter welchen Bedingungen eine spezielle Modalit t zur Interaktion mit dem Be nutzer 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 Mo dalit 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 der Interaktionselemente und ihr
210. sen sich auf Dienste und Informa tionen die elektronisch bereitgestellt werden Die Anzahl kleiner tragbarer Ge r 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 kleineren assistiven Ger te werden Anwendungen im w rtlichen Sinne ubi quit r verf gbar Mit der wachsenden Rechenleistung ist es mittlerweile auch m glich gro e Fortschritte im Sinne von Marc Weisers Ans tzen zum ubiqui tous computing zu machen 204 Es ist m glich Alltagsgegenst nde zur In teraktion 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 eventu ell Spracheingabe 210 und zu Hause ist es eher eine Projektionswand um Filme anzusehen Dabei erwartet ein Benutzer dass er Anwendungen mit den verschiedenen 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 ein Benutzer mit Anwendungen interagiert Bei kleinen Ger ten er folgt die Interaktion ber eine Tastatur mit nur wenigen Tasten einen Stift oder durch Ber hren des Displays Einige Ger te bieten parallel dazu e
211. ssociation 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 exit action Austrittsaktion final state Endzustand flow final node Ablaufende 125 126 UML Begriffe Englisch Deutsch generalization Generalisierung guard Bedingung initial node Startknoten initial state Anfangszustand interaction Interaktion interaction 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 bergang use case Use Case Anwendungsfall use case diagram Use Case Diagramm Anwendungsfalldiagramm Literaturverzeichnis 1 2 3 4 5 6 7 8 9 10 11 ActiveCharts http activecharts informatik uni ulm de 2007 ABOWD Gregory BOWEN Jonathan P DIXM Alan HARRISON Micha el TOOK Roger User Interface Languages A Survey of Existing Me thods Technical report Oxford University Computing Laboratory Oc to
212. stelle 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 Eingaben mit den Aktivit ts und Zustandsdiagrammen der Dialogsteuerung An Transitionen zwischen Zust nden und in Aktionen sind die Methoden der Dom nenobjekte referenziert Durch das Aufrufen der Methoden ndert sich der interne Zustand der Anwendung Dom nenobjekte k nnen beliebig geartet implementiert werden solange ei ne Anbindung zur Laufzeit sicher gestellt ist Der Dom nenadapter sorgt f r 5 2 Zusammenspiel der Komponenten 91 diese Anbindung der Anwendung an die Dialogsteuerung und setzt dazu die notwendige Technik wie z B verteilte Objekte oder CORBA ein Der Adapter kann auch die Sprachunabh ngigkeit der Implementierung der Dom nenob jekte sicherstellen indem er einen entsprechenden Anbindungsmechanismus bereith lt 5 2 2 Dialogsteuerung Die Dialogsteuerung verwendet Aktivit ts und Zustandsdiagramme um den Ablauf der Interaktion zu regeln Die Diagramme m ssen 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 Interakti onsanwendungen mit UML beschrieben Ausgehend von einem Aktivit tsdia gra
213. t des Konzepts Im Folgenden wird die Funktionsweise des Interpreters vorge stellt interaction Execution Cycld D Execution Cycle ei m alt 1 ac next 2 perform 3 perform 4 perform l l art K 5 input 6 process 8 update 10 update d Abbildung 6 3 Verhalten des mArch Frameworks zur Laufzeit Die beiden Al ternativen alt zeigen oben den Ubergang zwischen zwei Aktionen und unten die Verarbeitung einer Benutzereingabe 6 2 Ausf hren von UML 105 In Abbildung 6 3 wird das Laufzeitverhalten des Frameworks gezeigt Das UML Diagramm ist in zwei alternative Abschnitte mit alt bezeichnet geteilt Im oberen Abschnitt sind die Schritte beim Abarbeiten eines bergangs in einem Aktivit ts oder Zustandsdiagramm zu sehen Der Interpreter verarbeitet den bergang 1 wobei in diesem Fall kein Aufruf an das Anwendungsmodell erfolgt Die Information 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 t tigt der Benutzer eine Eingabe die vom Frame work und der Anwendung verarbeitet wird Nach der Eingabe 5 wirkt diese sich auf das Modell 6 und die Anwendung 7 aus Die interne Zustands n derung der Dialogsteuerung wird durch Updates zu den Benutzerschnittstellen p
214. t tsdiagrammen Ausgaben vornehmen oder der interne Zustand des Systems ver ndern Einga ben des Benutzers geschehen durch Trigger welche die Transitionen schalten Durch Guards lassen sich bei Verzweigungen die richtigen Transitionen aus w hlen In Abbildung 4 6 und 4 7 sind die Zustandsdiagramme des Getr nkeautomaten 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 verschiedenen Signale f r Benutzereingaben und die Operationen die aufge rufen werden Zustandsdiagramme k nnen andere Diagramme die ein Verhalten beschrei ben aufrufen Dies sind Zustands und Aktivit tsdiagramme Abbildung 4 8 74 Modellieren von Interaktionsanwendungen mit UML state machine held hello display toggle_irritation reset c10 addCredit 0 1 c20 addCredit 0 2 hello_price c50 addCredit 0 5 c100 addCredit 1 Q ei 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 zeigt ein Aktivit tsdiagramm das in den Zustand playing des Zustandsdia gramms in Abbildung 4 5 eingebettet ist Das Aktivit tsdiagramm das den Da tenfluss und die Umw
215. t eingegangen 83 84 Architekturen f r multimodale Benutzerschnittstellen 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 Systeme ausgelegt Ein Teil der bestehenden Architekturen l sst sich so erwei tern 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 er stellten Modelle einsetzen um mit ihnen die Interaktion mit dem Benutzer zu steuern Sie sollte ferner dynamisch um Modalit ten erweiterbar sein Ei ne solche Architektur sollte vorzugsweise verschiedene Plattformen zur Lauf zeit unterst tzen 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 modellbasierte Interaktionsanwendungen unterst tzen Fine gesonderte Kate gorie stellen Toolkit
216. tart App UlBuilder Un UD T T T 1 start pl _ 2 create gt UlModel 8 create EN gt Mapper 4 4 lregister 6 start S tegislert 7 ac_next 8 performt 9 perform gt 10 perform Abbildung 6 2 Sequenzdiagramm zum Verhalten des mArch Frameworks beim Start einer Anwendung Uls registrieren sich beim Builder dieser initi iert anschlie end den Interaktionszyklus 6 2 Ausf hren von UML 103 In Algorithmus 1 ist der Ablauf der Initialisierung dargestellt Es werden Kom ponenten zur Dialogsteuerung und Verwaltung der Modalit ten angelegt Die Anwendungskomponente wird mit der Dialogsteuerung die Dialogsteuerung mit dem Mapper und der Mapper mit allen Modalit ten verbunden Schlie lich wird der Dialog gestartet 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 gestartet 6 Das Dialogmodell verfolgt vom vorgegebenen Startknoten aus das Diagramm 7 und propagiert den aktuellen Dialogschritt
217. te besitzen Jede Klasse be sitzt eine Liste mit Operationen die auf ein Objekt der Klasse angewandt wer den 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 Getr nkeautomat besitzt nur ein einzelnes Attribut n mlich das Guthaben das ein Benutzer einzahlen kann Der MP3 Player hat zwei Attribute den Titel des aktuellen Lieds und die Playlist Beide Anwendungen besitzen eine Reihe von Operationen Der Getr nkeautomat hat z B eine Methode um Geld einzuzah len die auch einen Parameter bergeben bekommt addCredit amount Der MP3 Player hat dagegen nur Methoden ohne Parameter package Data LS getraenkeautomat package Datal ES Player DrinksVendor Player Song I credit title x Lutte H playlist Song u addCredit amount reset play produce pause showPrice name stop remove next production previous inc_volume dec_volume welcome a Klassendiagramm Getr nkeauto b Klassendiagramm MP3 Player mat Abbildung 4 2 Links das Klassendiagramm des Getr nkeautomaten rechts das des MP3 Players Das Klassendiagramm des MP3 Players zeigt dass die Klasse Player mit der Klasse Song assoziiert ist Dabei handelt es sich um eine Komposition Ein Ob jekt der Klasse Player kann beliebig viele Objekte der Klasse S
218. teil alle Modelle f r Interaktion abzudecken Durch das Transfor mationsmodell von UsiXML besteht schon innerhalb der Notation eine M g lichkeit um Regels tze f r Transformationen aufstellen zu k nnen UsiXML 54 Klassifikation bestehender Ans tze Evaluation Device Rp Environment Abbildung 3 9 UsiXML im Klassifikationsframework unterst tzt durch die Elemente des CUI Modells insbesondere GUIs nachran gig 3D und Sprachschnittstellen Diese k nnen dank des Kontextmodells f r verschiedene Einsatzzwecke Benutzerstereotypen und Plattformen beschrie ben 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 verf gbar 141 UML ist die am weitesten verbreitete Sprache zur Model lierung von Software und dient auch meist als Grundlage f r Techniken der modellbasierten 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
219. tellt Diese bilden zusammen das PIM Durch eine Transformation wird Code f r eine Desktopanwendung in der Spra che 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 ausf hrbar ist 2 4 Fallbeispiele In den n chsten Kapiteln werden die Figenschaften von Modellen die Erstel lung 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 Beide konzentrieren sich auf jeweils eine kleine Menge von m glichen Inter aktionen Sie werden hier kurz eingef hrt um sp ter auf sie zur ckgreifen zu k nnen 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 die se Arbeit der Bau eines solchen Ger ts nicht in Frage kommt wird ein Automat mit einer softwarebasierten Benutzerschnittstelle verwendet Die nachgebilde te Oberfl che ist in der Abbildung 2 8b zu sehen In diesem Fallbeispiel hat der Automat den Vorteil dass er n
220. ten sowie Ein und Ausgabeereignissen Es ist auch m glich Regeln zu schreiben die Parameter entgegen nehmen Damit wird es einfacher z B Mehrfenstersysteme zu beschreiben die von der Form her identisch sind und sich nur in Inhalten wie Titel und Text eines Dialogfensters unterscheiden 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 Zu stands des Systems sein Ausgabeereignisse werden dem Benutzer mitgeteilt und nicht weiter verarbeitet Event Condition Action ECA fand durch den Einsatz in regelbasierten 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 Da bei werden Nutzerereignisse mit Gro buchstaben begonnen interne Ereignis se mit Kleinbuchstaben geschrieben und um Ausgabeereignisse werden Klam mern gesetzt 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 fortge
221. timodalen Arch mArch Modell Werden MVC oder PAC allein eingesetzt so erfolgt die Steuerung der Inter aktion noch nicht durch ein Dialogmodell wie es das Arch Slinky Konzept er m glicht Die Modelle von MVC und PAC dienen rein der Abstraktion von An wendungsdaten 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 er m glichen Durch die Kombination mit einem Arch Slinky basierten UIMS l sst sich die urspr ngliche Idee einer Trennung zwischen Anwendung Darstellung und Dialogsteuerung der User Interface Management Systeme weiterverfolgen Die Schw chen der einzelnen Ans tze lassen sich durch die Kombination behe ben Dialogsteuerung Dom nen Pr sentation adapter Dom nen Modalit ten objekte Abbildung 5 6 Die Kombination aus Arch Slinky und multimodalen Pr senta tionskomponenten 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
222. tion liegt ein Schwerpunkt der Arbeit Die Klassifikation 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 Human Computer Interaction HCD In diesem Kapitel werden au erdem die grundlegenden Begriffe der Arbeit bestimmt und das Arbeitsgebiet genauer beschrieben Human computer interaction is a discipline concerned with the d
223. trollfluss Bei einem Objektfluss zwischen zwei Actions startet dieser am Output Pin einer Action und endet am Input Pin der referenzierten Action Input Pins beinhalten indi rekt einen Kontrollfluss Actions k nnen komplex aufgebaut sein und andere Elemente enthalten In diesem Fall spricht man von einer StructuredActivityNode In der Realisierung wird gespeichert welche anderen Elemente eines Diagramms zu einer Struc turedActivityNode geh ren Au er den Elementen f r Aktionen m ssen auch alle zugeh rigen berg nge gespeichert werden F r jeden bergang wird ein Objekt der Klasse Edge an 6 2 Ausf hren von UML 107 package Datal ES Activity Diagram Modelelementg ActivityGroup InterruptibleActivityRegion 4 Hinterrupts D interruptibleRegion node containedNode 0 1 target StructuredActivityNode ControlNode Pin InitialNode DecisionNode ActivityFinalNode MergeNode Abbildung 6 5 Die eingesetzten Modellelemente fiir Aktivitatsdiagramme nach 142 gelegt 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 ahnlich wie StructuredActivityNodes mit Hilfe von Gruppen modelliert Jede Regi
224. turing all mappings between models The framework is used to classify important representatives 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 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 employ ed class diagrams describe the domain model use case and activity diagrams structure and describe the task model and state diagrams describe the behavi or of the dialog model The chapter gives an overview of how user interfaces can be connected directly or how they can be generated 145 146 Summary 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 s
225. ueller Anwendungen reduzieren sollen 144 Man erwar tet sich von ihnen eine leichtere Erlernbarkeit und einfachere Benutzung Zu gleich sind jedoch neue Werkzeuge notwendig um Anwendungen entwickeln zu k nnen in die verschiedene Modalit ten wie Sprache oder Gestik integriert werden Myers stellte 2000 fest dass die bisherigen Techniken zur Mensch Maschine Interaktion auf Anwendungen f r Ger te mit normalen bis gro en Displays und einer Maus optimiert sind und dringend eine Weiterentwicklung f r ubiquit re Anwendungen erfolgen sollte Dies erfordert verbesserte Metho den zur ger teunabh ngigen Spezifikation von Benutzerschnittstellen 117 2 Auch als reality based user interfaces RBIs bekannt 1 1 Problemstellung 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 Plattfor men Eigenschaften der Benutzer wie Pr ferenzen oder Sehschw chen ber ck sichtigt werden m ssen Au erdem steigt auch der Entwicklungsaufwand mit der Anzahl der zu unterst tzenden Modalit ten F r jede Modalit t wird die komplette Benutzerschnittstelle ein weiteres Mal implementiert im besten Fall angepasst Gesucht wird daher eine M glichkeit die Benutzerschnittstelle mo dalit tsunabh ngig also abstrakter zu beschreiben In Folge w rde sich der
226. 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 Deut schen 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 2010 Guido M de Melo http guido demelo de Die Informationen in diesem Buch wurden mit gro er Sorgfalt erarbeitet Dennoch k nnen Fehler nicht vollst ndig ausgeschlossen werden Der Autor bernimmt keine juristische Verantwortung oder irgendeine Haftung f r eventuell verbliebene fehlerhafte Angaben und deren Folgen Alle Rechte vorbehalten insbesondere die des Nachdrucks und der bersetzung Ohne Genehmi gung des Autors ist es nicht gestattet dieses Werk oder Teile in einem fotomechanischen oder sonstigen Reproduktionsverfahren oder unter Verwendung elektronischer Systeme zu verarbeiten zu vervielf ltigen und zu verbreiten 10 1 Erste Auflage 2010 Inhalts
227. ultierende Dialogmodell dargestellt Von Vorteil ist die Strukturierung des Diagramms Zustandsdiagramme sind zwar nicht er 3 4 Ans tze zur Beschreibung von Dialogen und Oberfl chen 47 volume playlist 1 off off player on previous J Abbildung 3 5 Dialogmodell des MP3 Players als Zustandsdiagramm weiterbar doch lassen sie sich universell einsetzen um abstrakt Dialoge oder Tasks zu beschreiben Sie sind intuitiv verst ndlich und ausdrucksstark Ein weiterer Vorteil ist die Verf gbarkeit von Werkzeugunterst tzung und ihre wei te Verbreitung Im Klassifikationsframework finden sie im Aufgaben und Dialogmodell Ein satz Verbindungen zum Pr sentations und Dom nenmodell sind einfach m g lich da an den berg ngen zwischen den Zust nden Ausdr cke der Art Event Condition Action stehen k nnen Durch die Actions lassen sich sowohl Ele mente 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 Zustandsdiagram me bieten eine gute bersichtlichkeit durch ihre Strukturierungsm glichkeiten und sie bieten die Vorz ge der Event Condition Action Regeln an ihren ber g ngen
228. ung der Aktion auf ihren Beitrag zum Frreichen des Ziels 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 Sys tem 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 Zustand der Welt ndern W hrend der Evaluationsphase gesche hen drei Dinge Die nderungen werden sichtbar und vom Benutzer erfasst Ihre Bedeutung wird interpretiert und schlie lich wird der aktuelle System zustand 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 technischen 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 Informationen ber seinen internen Zustand aufbereitet und einem Benutzer mitteilt Dieser t tigt seine Eingabe die den Zustand des Systems n 2 1 Interaktion Bestimmen en Ziels Bilden der Intention Bewerten des Systemzustands A Spezifizieren des Interpretieren des Aktio
229. ung unterschiedlich beschrieben wo durch es mehrere Sprachmodalit ten geben kann Nat rliche Sprache kann genauso zum Einsatz kommen wie eine reine Kommandosprache Je nach Ein satzzweck kann eine Sprachbedienschnittstelle eine sehr nat rliche Form der Interaktion sein Doch Sprache ist durch ihre Vieldeutigkeit nicht die einfachs te Art der Interaktion 45 S 118 F r Untermengen von Sprachen die sich auf Anwendungsgebiete beschr nken existieren allerdings Systeme mit hohen Erkennungsraten Sprachbedienschnittstellen werden in der Regel als Sprach dialogsysteme 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 nk te Form der Kommunikation indem ein Men vorgelesen wurde und der Be nutzer 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 befinden sich im Hauptmen Zum Abfragen ihrer Nachrichten dr cken sie die 1 Die Einstellungen ihres Anrufbeantworters n dern sie ber die 3 F r weitere Leistungsmerkmale dr cken sie die 4 F r einfache Anwendu
230. ungen umgesetzt wird Das Software Framework realisiert die beschrie bene Architektur 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 Wich tige Beitr ge sind e Das Models and Mappings Klassifikationsframework zur Bewertung von Notationen f r Interaktionsanwendungen der Abdeckung von Modellen und Mappings Die Feststellung der Eignung von UML f r die abstrakte Interaktionsbe schreibung Eine Verfahrensbeschreibung zur Modellierung von Interaktionsanwend ungen mit UML e Das mArch Modell als Software Architektur f r multimodale Interakti onsanwendungen 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 zwischen 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 S
231. verzeichnis Inhaltsverzeichnis Abbildungsverzeichnis 1 Einleitung 1 1 1 2 1 3 Problemstellung icc aa 0 0022 282 a 8 TAC fe ae a EE Aufbau der Arbete 2 Grundlagen 2 1 2 2 2 3 2 4 2 5 Interaktion 2 44 a wu wen a E Nr 2 141 Dialoge en a ae a Bann Bene 2 1 2 Antropozentrischer Interaktionszyklus 2 1 3 Systemzentrischer Interaktionszyklus 2 1 4 Inhalt Logik und Form M dalit ten u BA NEE NEEN NI IEN 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 Tangible User Interfaces TUIs Weitere Modalit ten Modelle re Ars toe a ee eae feo ee a E Fallbeispiele wus do aetna are RRR ek eg ata ee ee 3 2 4 1 Getr nkeautomat 00 234 2 MP3 Player uns BRS ae en Fazer ee ES Se Y 3 Klassifikation bestehender Ans tze 3 1 3 2 Modellarten und Mapping Problem 3 1 1 Arten von Modellen 3 1 2 Mapping Problem 3 1 3 Arten von Mappings und Problemen Ans tze zur Klassifikation 3 2 1 Anforderungen iii iii oO CO Ch On E GO GO ta 00 10 11 13 15 16 17 18 19 20 20 22 24 24 25 26 5 3 2 2 Fr he Aufgliederung nach Abowd etal
232. von Beschreibungen der Benutzerschnittstelle erm glichen Die Dialoge der GUI werden mit dem in Abschnitt 4 5 3 beschriebenen User Interface Designer erstellt der sie in der Glade XML Beschreibung ablegt Zur Laufzeit wird diese Beschreibung eingelesen und durch eine eingebundene Bi bliothek angezeigt 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 Nachrich ten des Mappers ausgewertet und die entsprechenden Dialoge angezeigt Die 6 4 Fazit 119 package Dat Bl Mods Cul call_method perform id show_dialog Speec
233. vorher nicht spezifiziertes Modell wird aus den Elementen und Relationen eines oder mehrerer bestehender Modelle ab geleitet Die Parameter der Transformationsregeln m ssen dabei festge legt werden Zum Beispiel ist es m glich ein Dialogmodell aus einem Aufgabenmodell abzuleiten wenn gen gend Wissen ber die Art der Tasks vorhanden 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 Die ser Mechanismus kann innerhalb eines Modells zur Bereinigung von Re lationen verwendet werden Er kann genauso gut zwei miteinander ver bundene 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 de composition sprechen 2siehe hierzu auch Don Norman 131 34 Klassifikation bestehender Ans tze 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 Dialogmodells 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
234. welches auch ein Ob jekt 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 dadurch nutzen dass man ihre Materialien direkt verformten kann 80 Ein Beispiel f r diese Art von TUI ist SandScape ein System in dem der Benutzer eine Landschaft aus Sand verformt und gleichzeitig das Ergebnis der Land schaftsberechnungen auf dem Sand durch eine Projektion angezeigt bekommt 79 Die Benutzeroberfl che des Systems ist in Abbildung 2 7 zu sehen Zu s 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 21 Abbildung 2 6 Planung mit URP Links unten das Wind Werkzeug Bild aus 191 Interaktion in virtuellen Raumen wurde bereits 1997 mit VRML standardisiert 78 doch existieren nur wenige Anwendungen in Spezialge
235. www bmw com com en newvehicles 5series sedan 2007 allfacts ergonomics hud html 2007 BRAUN Thomas R HLER Annette WEBER Florian Kurzlehrbuch Phy siologie 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 Challenge In WINCKLER Marco JOHNSON Hilary PALANQUE Phil ippe Eds TAMODIA 07 Proceedings of the 6th annual conference on Task models and diagrams volume LNCS 4849 267 272 Springer No vember 2007 CALVARY Ga lle COUTAZ 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 computing systems 242 249 1997 Literaturverzeichnis 129 24 CALVARY Ga lle COUTAZ Jo lle THEVENIN David Supporting Con text 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 SOUCHON N BOUILLON L VANDERDONCKT Jean Plasticity of User Interfaces A revised reference framework In First International
236. y und Coutaz beschrieben wird in beiden F llen betrachtet ob die Eingaben sich auf das gleiche Interaktionselement beziehen Ist dies nicht der Fall so sind die Eingaben unabh ngig von einander Andernfalls wird anschlie end untersucht ob eine Eingabe mehrfach vorgenommen wurde oder ob ein Widerspruch zwi schen den Eingaben besteht 127 Auch in der Arbeit von Tourraine et al wird eine Fusion nach zeitlicher N he vorgenommen 189 Die Arbeit nimmt dabei R cksicht auf den Typ der Eingabe um z B Sprachbefehle mit Gesten zu ei ner 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 Sicherheit mit der Eingaben erkannt worden sind 33 Sprach oder Gestikeingaben werden vom jeweiligen Erkenner mit einer Bewertung der Wahrscheinlichkeit geliefert Die Eingaben durch verschiedene Modalit ten werden w hrend der Fusion unter Ber cksichtigung ihrer Wahrscheinlichkei ten verkn pft und dann die wahrscheinlichste Eingabe als Ergebnis verwendet 5 4 Fazit 95 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 Interak tionsbeschreibungen Im vorangegangen Kapitel 4 Modellieren von Interak tionsanwendungen mit UML folgte eine detaillierte Verfahrensbeschreibung wie mit UML Interaktionsanwendungen modelliert werden
237. ystem for building applications The software frame work implements the described architecture and can be extended with little effort to include new modalities The utilization of the framework and the easy integration of new modalities is demonstrated in case studies Chapter 7 summarizes the results of this thesis The most important contribu tions to research are e The Models and Mappings classification framework for the assessment of notations for interactive applications the coverage of models and map pings e The identification of UML as a suitable language 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 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 h tte ohne die Unterst tzung der Menschen um mich nicht ge schrieben werden k nnen Besonders m chte ich meinem Betreuer Prof Mi chael Weber danken Meine Kollegen aus dem Institut f r Medieninformatik hatten immer ein offenes Ohr f r mich ganz besonders danke ich Marc Her mann Ohne meine flei igen Korrekturleser w re der Text nicht so gut lesbar gewor den Vielen Dank an Felix Sc
238. ystems H 5 2 User Interfaces D 2 Software Engineering D 2 2 Design Tools and Techniques D 2 11 Software Architectures 1 3 6 Inter action 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 ap plication and connecting them to modalities methods from model based soft ware 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 models In order to classify existing approaches the Models and Mappings classification framework is developed Existing notations are evaluated utili zing the classification framework by analysing which models are involved and cap
239. z B Kombinationen von mehreren Methoden des Systems oder zus tzlich implementierte Metho den 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 Dialogue Component Presentation Objects Domain Objects Domain Presentation Adaptor Component Component Domain Objects Interaction Objects Interaction Toolkit Domain Specific Component Component Abbildung 5 2 Das Arch Modell nach 12 5 1 Ans tze f r Architekturen 87 Abbildung 5 3 zeigt das Slinky Metamodell Es zeigt dass die einzelnen Kom ponenten des Arch Modells in unterschiedlicher Komplexit t realisiert werden k nnen Dialogue wool uo Abbildung 5 3 Das Slinky Metamodell nach 12 Das Arch Slinky Modell ist eine Kombination aus den Komponenten des Arch Modells und dem Slinky Metamodell Das Arch Slinky Modell tr gt der Praxis Rechnung in der die Komponenten des Arch Modells in unterschiedlichen Aus pr gungen realisiert werden Das Modell spezifiziert detailliert die Komponen ten einer Interaktionsanwendung und trifft Aussagen ber die Zuordnung von Funktionalit t Durch die Definition der Kommunikationsobjekte l sst sich ei ne plattform bergreifende Architektur verwirklichen Es trifft keine Aussagen dar ber wie die Dialogsteuerung realisiert
240. zerschnittstelle des MP3 Players beschrieben Entlang der berg nge zwi schen 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 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 wur de auch die Erstellung einer GUI mit dem GTK Toolkit ausgef hrt In diesem Abschnitt folgt die Beschreibung der Umsetzung der einzelnen Modalit tskom ponenten 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 112 Realisierung eines Software Frameworks state machine sm player sm player J inc_volume Player inc_volume aussen de volume Player dec_volume previous Player previous next Player next song package Data LS Player2 stop Player stop Player play Player play title playlist Player stop play pause Player pause
241. zeugen Spezifikation vs Ausf hrung Eine Notation die zur Spezifikation eines Mo dells geeignet ist kann f r die Ausf hrung des Modells ungeeignet sein 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 Eigenschaften 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 Figenschaften m ssen jedoch bei jeder zu bewertenden Notation vor handen sein Jede Notation verf gt ber M glichkeiten zur Strukturierung ih rer Elemente Redundanz ist in fast jeder Notation vorhanden und wird nur dann zu einem Problem falls sie berhand nimmt Die Notationen werden so ausgew hlt dass sie Internationalisierung und Personalisierbarkeit unter st tzen oder zumindest nicht einschr nken Weiter erfolgte bei der Auswahl der Notationen eine Beschr nkung auf plattformunabh ngige Notationen Alle vorgestellten Notationen 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
Download Pdf Manuals
Related Search
Related Contents
AutoSelect AS50 Autosampler (USB) Operator`s snom 4S SIP Registrar/Proxy 2.14 SPARTANLED (DUN Sistemi e soluzioni per nuotare in sicurezza con ProMinent mkiip manual - Analox Military Systems Copyright © All rights reserved.
Failed to retrieve file