Post on 06-Apr-2015
9. Dezember 2008
A Method for the User-centered and Model-based Development of Interactive Applications
DAI-Labor der Technischen Universität Berlin
Wissenschaftliche Aussprache am 9.12.08
Dipl.-Inform. Sebastian Feuerstack
1
9. Dezember 2008 Sebastian Feuerstack 2
Agenda
• Einleitung– Motivation– Zielsetzungen der Arbeit– Modellbasierte Entwicklung von Bedienungsschnittstellen
• Die Multi-Access Service Platform (MASP)– Methodik– Laufzeitumgebung
• Zusammenfassung und Ausblick
Motivation – Vernetzte Umgebungen
• Zahlreiche vernetzte Geräte und Sensoren über mehrere Räume verteilt [Weiser, 1993], Internet der Dinge [ITU, 2005]
• Interaktive Anwendungen werden in unterschiedlichen Situationen genutzt [Paterno, 2005]
9. Dezember 2008 Sebastian Feuerstack 3
Motivation – Herausforderungen für Entwickler
• Plattformübergreifende Entwicklung ist aufwändig• Neue Plattformen sind schwer in vorhandene Anwendungen zu
integrieren• Entwicklungsumgebungen und Frameworks mit wiederverwendbaren
Komponenten fehlen• Anwendung sind häufig statisch, d.h. Adaption auf verschiedene
Situationen nicht möglich
Wie lassen sich interaktive Anwendungen plattform-übergreifend und nutzerzentrisch entwickeln und adaptiv in vernetzten Umgebungen betreiben?
9. Dezember 2008 Sebastian Feuerstack 4
Zielsetzungen
• Entwicklungsmethodik zur Erstellung von interaktiven und geräteunabhängigen Anwendungen
• Entwurf und Umsetzung einer modell-basierten Laufzeitumgebung für interaktive Anwendungen
• Erweiterung bestehender und auch neuer Modelle– Ausführbares Aufgabenmodell– Abstraktes UI Modell– Layout Modell
9. Dezember 2008 Sebastian Feuerstack 5
Agenda
• Einleitung– Motivation– Zielsetzungen der Arbeit– Modellbasierte Entwicklung von Bedienungsschnittstellen
• Die Multi-Access Service Platform (MASP)– Methodik– Laufzeitumgebung
• Zusammenfassung und Ausblick
9. Dezember 2008 Sebastian Feuerstack 6
Modellbasierte Entwicklung
• Abstraktion als Mittel zum Entwurf von komplexen, interaktiven Anwendungen [Calvary, 2003] für unterschiedliche:– Plattformen (Geräte)– Modalitäten– Umgebungen– Nutzer
• Ziel der modellbasierten Entwicklung [Vanderdonkt, 2008]:
– Identifikation einer „passenden“ Menge an Abstraktionen und Beziehungen für die Analyse, den Entwurf und die Evaluation
– Spezifikation von Werkzeuggestützten Entwurfsprozessen
9. Dezember 2008 Sebastian Feuerstack 7
Vorteile Modellbasierter Entwicklung
• Methodik– Spezifikationsgetriebene Prozesse, schrittweise Verfeinerung
[Ghezzi, 2002]– Nutzerzentriertheit: Aufgaben, Nutzer und Domänen [Szekely,
1995]– Deklarative Modelle [Byrne, 1994]
• Wiederverwendbarkeit [Puerta,1997]– Effiziente Entwicklung für mehrere Plattformen– Deklarative Darstellung erleichtert Wiederverwendbarkeit
• Konsistenz der entwickelten Anwendung– Über verschiedene Plattformen hinweg– Von Entwurfsmodellen bis zum finalen Produkt
9. Dezember 2008 Sebastian Feuerstack 8
Agenda
• Einleitung– Motivation– Zielsetzungen der Arbeit– Modellbasierte Entwicklung von Bedienungsschnittstellen
• Die Multi-Access Service Platform (MASP)– Methodik – Laufzeitumgebung
• Zusammenfassung und Ausblick
9. Dezember 2008 Sebastian Feuerstack 9
Methodik
• Kontinuierliche Werkzeugunterstützung• Kurze Iterationen durch Generierung von konkreten
Beispielen und Prototypen• Nutzerzentrierter Ansatz
9. Dezember 2008 Sebastian Feuerstack 10
Beispiel: Kochassistent (1/2)
9. Dezember 2008 Sebastian Feuerstack 11
Copyright next generation media 2007
Beispiel: Kochassistent (2/2)
9. Dezember 2008 Sebastian Feuerstack 12
Aufgaben-Analyse
• Szenarien über Nutzer und Aktivitäten [Carroll, 2000]
• Ein Szenario hat ein Ziel• Extraktion
– Aktivitäten: Nutzer vs. System– Unterziele– Identifikation der Objekte
9. Dezember 2008 Sebastian Feuerstack 13
Aufgaben-Entwurf
• Erstellung der Aufgabenhierarchie
• Identifikation von temporalen Beziehungen
• Differenzierung der Aufgabentypen
• Detaillierung der Objekte– Verfeinerung der Daten– Aufbrechen der Objekte
• Zugriff und Reichweiteder Objekte
9. Dezember 2008 Sebastian Feuerstack 14
Aufgaben-Simulation
• Konsistenz zu Szenarien• Menge der Interaktionsaufgaben
begrenzen• Alle relevanten Informationen
verfügbar?– Ausgabe-Aufgaben– Objekte
9. Dezember 2008 Sebastian Feuerstack 15
Domänen-Design
• Modellierung aller identifizierten Objekte auf Basis der Aufgaben
• Generierung von Beispielobjekten auf Basis der Szenarien
• Werkzeugwahl nach der eingesetzten Technologie
9. Dezember 2008 Sebastian Feuerstack 16
Entwurf der Abstrakten Schnittstelle (AUI)
• Selektion relevanter Daten aus dem Domänenmodell
• Anreicherung der Daten um:– Kontext– Typtransformation– Präsentationsstruktur
• Anwendung und vordefinierter Transformationen für unterschiedliche Plattformen (WML/HTML/Thinlets/VoiceXML)
9. Dezember 2008 Sebastian Feuerstack 17
Layout-Modellierung
• Generierung aus anderen Modellen
• Eigenschaften:– Komposition– Reihenfolge– Orientierung– Größe
• Schrittweise Detaillierung– Anwendung– Bildschirmmasken– Kontext (Plattform, Nutzer,
Umgebung)
9. Dezember 2008 Sebastian Feuerstack 18
Konkrete Schnittstelle (CUI) - Implementierung
• Automatische Generierung von AUI-CUI Transformationen für jede Zielplattform mittels generischer Transformationen (XSL)
• Ausprogrammierung der generierten, spezifischen Transformationen (Design)
9. Dezember 2008 Sebastian Feuerstack 19
Wartung und Manipulation zur Laufzeit
• Die deklarativen Design-Modelle werden direkt in einer Laufzeitumgebung ausgeführt
• Inspektion und Manipulation der Modelle mittels eines „Debuggers“
• Automatische Synchronisation• Laufzeitumgebung kann mit
Werkzeugen verbunden werden.
9. Dezember 2008 Sebastian Feuerstack 20
Agenda
• Einleitung– Motivation– Zielsetzungen der Arbeit– Modellbasierte Entwicklung von Bedienungsschnittstellen
• Die Multi-Access Service Platform (MASP)– Methodik– Laufzeitumgebung
• Zusammenfassung und Ausblick
9. Dezember 2008 Sebastian Feuerstack 21
Modellbasiertes Laufzeitsystem
• Übersichtlichkeit „Kompletter Blick auf die Anwendung“
• Kein Bruch zwischen Design und Laufzeit
• Niedrige Lernkurve• Abstraction = Model• Control = Modelintepreter• Instance = Tuple Space• Kommunikation = Events
9. Dezember 2008 Sebastian Feuerstack 22
MASP Modell-Agenten
• Flexible Zusammenstellung je nach Domäne
– Konfigurationsdatei
• Lose Kopplung der Agenten – (subscribe / notify)– Asynchrone Kommunikation
• Aufruf der Dienste (1a,1b)• Speicherung der Ergebnisse
(1c)• Berechnung des PTS (2)• Berechnung des Layouts
nach Kontextsituation (3)• CUIs-Transformation auf
Basis des Layouts (4)• Übermittelung von
Änderungen des Domänenmodells (5)
• Auslieferung der CUIs als FUIs, über Channels (6)
• Neuberechnung des PTS nach vom Nutzer abgearbeiteten Aufgaben (7)
9. Dezember 2008 Sebastian Feuerstack 23
Agenda
• Einleitung– Motivation– Zielsetzungen der Arbeit– Modellbasierte Entwicklung von Bedienungsschnittstellen
• Die Multi-Access Service Platform (MASP)– Methodik– Laufzeitumgebung
• Zusammenfassung und Ausblick
9. Dezember 2008 Sebastian Feuerstack 24
Zusammenfassung
• Durchgängig werkzeuggestützte Methodik– Ableitung von Beispielen, Simulationen, Prototypen
• Modellbasiertes Laufzeitsystem– Überbrückung der Lücke zwischen Design und Laufzeit
• Ergänzung vorhandener Modelle– Erweiterung eines Aufgaben-Modells für Laufzeitinterpretation– Ableitung des AUI-Modells aus dem Domänenmodell– Entwicklung eines Layout-Modells
9. Dezember 2008 Sebastian Feuerstack 25
Ausblick
• Vision „End-User Development“– Prototyping und Manipulation von interaktiven Anwendungen direkt
in der vernetzten Umgebung – Flexible, technische Basis für Usabilitytests
• Reasoning über Modelle– als „maschinelle Design-Kritik“ z.B. mittels Nutzersimulation – als „intelligente“ Bedienungsunterstützung („Hilfsfunktion“)
9. Dezember 2008 Sebastian Feuerstack 26
Vielen Dank für Ihre Aufmerksamkeit!
Copyright next generation media 2007
Weitere Informationen inkl. Publikationen, Videos und Software online unter http://masp.dai-labor.de
Sebastian Feuerstack
Researcher, DAI-Labor +49 (0) 30 / 314 – 74 060+49 (0) 30 / 314 – 74 003
Sebastian.Feuerstack@dai-labor.de