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 Dipl.-Inform. Sebastian Feuerstack 1
9. Dezember 2008Sebastian Feuerstack2 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 2008Sebastian Feuerstack3
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 2008Sebastian Feuerstack4
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 2008Sebastian Feuerstack5
Agenda Einleitung –Motivation –Zielsetzungen der Arbeit –Modellbasierte Entwicklung von Bedienungsschnittstellen Die Multi-Access Service Platform (MASP) –Methodik –Laufzeitumgebung Zusammenfassung und Ausblick 9. Dezember 2008Sebastian Feuerstack6
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 2008Sebastian Feuerstack7
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 2008Sebastian Feuerstack8
Agenda Einleitung –Motivation –Zielsetzungen der Arbeit –Modellbasierte Entwicklung von Bedienungsschnittstellen Die Multi-Access Service Platform (MASP) –Methodik –Laufzeitumgebung Zusammenfassung und Ausblick 9. Dezember 2008Sebastian Feuerstack9
Methodik Kontinuierliche Werkzeugunterstützung Kurze Iterationen durch Generierung von konkreten Beispielen und Prototypen Nutzerzentrierter Ansatz 9. Dezember 2008Sebastian Feuerstack10
Beispiel: Kochassistent (1/2) 9. Dezember 2008Sebastian Feuerstack11 Copyright next generation media 2007
Beispiel: Kochassistent (2/2) 9. Dezember 2008Sebastian Feuerstack12
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 2008Sebastian Feuerstack13
Aufgaben-Entwurf Erstellung der Aufgabenhierarchie Identifikation von temporalen Beziehungen Differenzierung der Aufgabentypen Detaillierung der Objekte –Verfeinerung der Daten –Aufbrechen der Objekte Zugriff und Reichweite der Objekte 9. Dezember 2008Sebastian Feuerstack14
Aufgaben-Simulation Konsistenz zu Szenarien Menge der Interaktionsaufgaben begrenzen Alle relevanten Informationen verfügbar? –Ausgabe-Aufgaben –Objekte 9. Dezember 2008Sebastian Feuerstack15
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 2008Sebastian Feuerstack16
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 2008Sebastian Feuerstack17
Layout-Modellierung Generierung aus anderen Modellen Eigenschaften: –Komposition –Reihenfolge –Orientierung –Größe Schrittweise Detaillierung –Anwendung –Bildschirmmasken –Kontext (Plattform, Nutzer, Umgebung) 9. Dezember 2008Sebastian Feuerstack18
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 2008Sebastian Feuerstack19
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 2008Sebastian Feuerstack20
Agenda Einleitung –Motivation –Zielsetzungen der Arbeit –Modellbasierte Entwicklung von Bedienungsschnittstellen Die Multi-Access Service Platform (MASP) –Methodik –Laufzeitumgebung Zusammenfassung und Ausblick 9. Dezember 2008Sebastian Feuerstack21
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 2008Sebastian Feuerstack22
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 2008Sebastian Feuerstack23
Agenda Einleitung –Motivation –Zielsetzungen der Arbeit –Modellbasierte Entwicklung von Bedienungsschnittstellen Die Multi-Access Service Platform (MASP) –Methodik –Laufzeitumgebung Zusammenfassung und Ausblick 9. Dezember 2008Sebastian Feuerstack24
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 2008Sebastian Feuerstack25
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 2008Sebastian Feuerstack26
Vielen Dank für Ihre Aufmerksamkeit! Copyright next generation media 2007 Weitere Informationen inkl. Publikationen, Videos und Software online unter Sebastian Feuerstack Researcher, DAI-Labor +49 (0) 30 / 314 – (0) 30 / 314 –