Agenda

69
July 13th, 200 9 Marco Blumendorf I Marco.Blumendorf@dai- labor.de Multimodal Interaction in Smart Environments A Model-based Runtime System for Ubiquitous User Interfaces Dipl.-Inf. Marco Blumendorf Fakultät IV – Elektrotechnik und Informatik Technische Universität Berlin

description

Multimodal Interaction in Smart Environments A Model-based Runtime System for Ubiquitous User Interfaces. Dipl.-Inf. Marco Blumendorf Fakultät IV – Elektrotechnik und Informatik Technische Universität Berlin. Agenda. Motivation Current Trends Fundamentals User Interface Models Approach - PowerPoint PPT Presentation

Transcript of Agenda

Page 1: Agenda

July 13th, 2009 Marco Blumendorf I [email protected]

Multimodal Interaction in Smart Environments

A Model-based Runtime System for Ubiquitous User Interfaces

Dipl.-Inf. Marco Blumendorf

Fakultät IV – Elektrotechnik und InformatikTechnische Universität Berlin

Page 2: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 2July 13th, 2009

Agenda

• Motivation– Current Trends

• Fundamentals– User Interface Models

• Approach– Runtime Concepts– UI Description Language Extensions– Architecture

• Implementation– Does it work?

• Conclusion– Some issues remain

Page 3: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 3July 13th, 2009

“Recent” Trends

World Wide Web & Ubiquitous Computing

Page 4: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 4July 13th, 2009

World Wide Web

Page 5: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 5July 13th, 2009

World Wide Web - Basics

• Websites hosted on servers

• Accessible from everywhere

• HTML language

• Browser as HTML interpreters

Page 6: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 6July 13th, 2009

Web Page Development in 4 Steps

1. Write HTML code

2. Add some CSS (style)

3. Add some JavaScript

4. Deploy it on a webserver

Model,interpreted by the browser

Page 7: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 7July 13th, 2009

Ubiquitous Computing

Page 8: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 8July 13th, 2009

Computers are everywhere!

Page 9: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 9July 13th, 2009

“Ubiquitous Computing”(Mark Weiser, 1991)

“In the 21st century the technology revolution will move into the everyday,

the small and the invisible.”

Page 10: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 10July 13th, 2009

Smart Objects Smart Devices

Smart NetworksSmart Environments

Page 11: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 11July 13th, 2009

Interaction happens everywhere!

Page 12: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 12July 13th, 2009

Ubiquitous User Interfaces(UUIs)

Page 13: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 13July 13th, 2009

Utilizing Ubiquitous User Interfaces in Smart Environments

used interaction modalities

Page 14: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 14July 13th, 2009

Compared to a web page …

How would you develop a Ubiquitous User Interface?

Page 15: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 15July 13th, 2009

Language and Infrastructure

for

Ubiquitous User Interfaces

Page 16: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 16July 13th, 2009

Agenda

• Motivation We need a language and infrastructure for UUIs

• Fundamentals– User Interface Models

• Approach– Runtime Concepts– UI Description Language Extensions– Architecture

• Implementation– Does it work?

• Conclusion– Some issues remain.

Page 17: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 17July 13th, 2009

User Interface Models

Page 18: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 18July 13th, 2009

HTML as a Model

User Interface

HTML HTML

Page 19: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 19July 13th, 2009

Models to Maximize Common Code

User Interface

Model

Page 20: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 20July 13th, 2009

UIDLs use Multiple Levels of Abstraction

Abstract Interface

Concrete Interface

Final User Interface

Concepts and Task Model

See also Szekely 1996, Cameleon Reference Framework (Calvary et al. 2003)

Similar concepts can be found e.g. in UsiXML (Limbourg et al. 2004)and TERESA (Berti et al. 2004)

Page 21: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 21July 13th, 2009

UIDLs use Multiple Levels of Abstraction

Abstract Interface

Concrete Interface

Final User Interface

Concepts and Task Model

See also Szekely 1996, Cameleon Reference Framework (Calvary et al. 2003)

Similar concepts can be found e.g. in UsiXML (Limbourg et al. 2004)and TERESA (Berti et al. 2004)

Page 22: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 22July 13th, 2009

What if you want to change anything at runtime?

Page 23: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 23July 13th, 2009

You need the models!

Page 24: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 24July 13th, 2009

Problems

• Current approaches have a design time focus• At runtime, knowledge is hidden within code• Design intentions are not explicit anymore• Design decisions can not be revised

• This makes UIs static and limits adaptivity!

=> No Ubiquitous User Interfaces

Page 25: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 25July 13th, 2009

Keep the UI models at runtime!

Page 26: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 26July 13th, 2009

Model Interpretation

Page 27: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 27July 13th, 2009

Model Interpretation

Page 28: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 28July 13th, 2009

Model Interpretation

Page 29: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 29July 13th, 2009

Model Interpretation

Page 30: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 30July 13th, 2009

Agenda

• Motivation We need a language and infrastructure for UUIs

• Fundamentals We need models interpretation at runtime

• Approach– Runtime Concepts– UI Description Language Extensions– Architecture

• Implementation– Does it work?

• Conclusion– Some issues remain.

Page 31: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 31July 13th, 2009

• Executable Models

• UI Description Language

• Server Architecture

Framework Building Blocks

Page 32: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 32July 13th, 2009

How to make Models Executable?

• Preserve design information at runtime

• Add state information

• Add execution logic

Page 33: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 33July 13th, 2009

DefinitionElement

SituationElement

ExecutionElement

Extending Current Design Models

Dynamic Executable Model

See e.g. Breton & Bézivin 2001 for details

Page 34: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 34July 13th, 2009

A Task Tree Example

Abstract TaskInteraction TaskTemp. Operators>> []

Page 35: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 35July 13th, 2009

Metamodel of Executable Task Models

Page 36: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 36July 13th, 2009

Metamodel of Executable Task Models

DefinitionElement

SituationElement

ExecutionElement

Page 37: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 37July 13th, 2009

Metamodel of Executable Task Models

DefinitionElement

SituationElement

ExecutionElement

Page 38: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 38July 13th, 2009

Metamodel of Executable Task Models

DefinitionElement

SituationElement

ExecutionElement

Page 39: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 39July 13th, 2009

• Executable Models

• UI Description Language

• Server Architecture

Framework Building Blocks

Page 40: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 40July 13th, 2009

How to build a language for such models?

• Extend existing models with runtime concepts– Add state & execution logic– Synchronization of models through mappings– Interaction with external entities

• Additional concepts for Ubiquitous User Interfaces– Multimodal and distributed interaction– Context-sensitivity– Adaptation

Page 41: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 41July 13th, 2009

Mediating between human and computer

10011010101111100100

“turn the light on”

Page 42: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 42July 13th, 2009

Mediating between human and computer

10011010101111100100 ?

“turn the light on”

Page 43: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 43July 13th, 2009

Mediating between human and computer

10011010101111100100 ?

“turn the light on”

Page 44: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 44July 13th, 2009

Mediating between human and computer

10011010101111100100

“turn the light on”

Page 45: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 45July 13th, 2009

Net of UI Models

Page 46: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 46July 13th, 2009

Mediation Process

Page 47: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 47July 13th, 2009

Adding State and Execution LogicDefinitionElement

SituationElement

ExecutionElement

Page 48: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 48July 13th, 2009

Synchronizing Models at Runtime

Task Model Service Model

Task Service Call

executeexecute

resultresult

Mapping

Link

Source

TargetEnabledEnabled

ApplicationApplication

Page 49: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 49July 13th, 2009

A UUI is defined by a set of linked & stateful executable models.

DefinitionElement

SituationElement

ExecutionElement

DefinitionElement

SituationElement

ExecutionElement

DefinitionElement

SituationElement

ExecutionElement

DefinitionElement

SituationElement

ExecutionElement

DefinitionElement

SituationElement

ExecutionElement

Page 50: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 50July 13th, 2009

• Executable Models

• UI Description Language

• Server Architecture

Framework Building Blocks

Page 51: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 51July 13th, 2009

How to connect Executable Models to the external world?

• Connect interaction resources

• Integrate context

• Execute the model

• Provide functional components

Page 52: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 52July 13th, 2009

Connecting Interaction Resources

Page 53: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 53July 13th, 2009

Integrating Context

Sensors

Page 54: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 54July 13th, 2009

Application Hosting

Sensors

Page 55: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 55July 13th, 2009

Model State

Sensors

Page 56: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 56July 13th, 2009

Monitoring State

Sensors

Monitoring

Page 57: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 57July 13th, 2009

Stimulating Model Execution

Sensors

Stimulation

Page 58: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 58July 13th, 2009

Processing Components

Sensors

Page 59: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 59July 13th, 2009

Agenda

• Motivation We need a language and infrastructure for UUIs!

• Fundamentals We need models at runtime!

• Approach Executable Models Runtime UI Models Server Architecture

• Implementation– Does it work?

• Conclusion– Some issues remain.

Page 60: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 60July 13th, 2009

Does it work?

Page 61: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 61July 13th, 2009

Implementation

The Multi-Access Service Platform (MASP) implements the presented concepts

Features• Multimodal interaction• Dynamic distribution• Adaptation

Different applications have been implemented.

Page 62: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 62July 13th, 2009

A Meta UI for Smart Environments

Page 63: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 63July 13th, 2009

The Multimodal Cooking Assistant

Page 64: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 64July 13th, 2009

Results

• Performance was better than originally expected.

• We can build multimodal applications that dynamically change the used modalities.

• Applications can be distributed and dynamically configured at runtime.

• A follow me mode shows automatic reconfiguration based on context information.

• Dynamic layout changes according to the distance of the user to the screen have been realized.

Page 65: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 65July 13th, 2009

Agenda

• Motivation We need a language and infrastructure for UUIs!

• Fundamentals We need models at runtime!

• Approach– Runtime Concepts– UI Description Language– Architecture

• Implementation– We got promising results!

• Conclusion– Some issues remain.

Page 66: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 66July 13th, 2009

In Summary …

… set of models provides explicit UI state

… allows flexible generation of UIs

… dynamic interpretation of user input

… server infrastructure hosts the models

… integration with the external world

… handles context and available devices

… self-contained UI models that embed state and execution logic

… utilization at runtime and easy exchange of models

Dynamic Executable ModelDefinitionElement

SituationElement

ExecutionElement

Page 67: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 67July 13th, 2009

Open issues and future work

• Presented extensions of existing UIDLs are not a complete UIDL for UUIs

• multi-user and multi-application scenarios have not been adequately addressed yet

• a set of tools also covering runtime aspects is needed

• bridging design- and runtime by Executable Models brings up new issues like the preservation of consistency at runtime

• integration of natural language processing and models-based development seems to be required for future success of model-based UUIs

Page 68: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 68July 13th, 2009

References• [Berti 2004] Silvia Berti, Francesco Correani, Giulio Mori, Fabio

Paternò, and Carmen Santoro. Teresa: A transformation-based environment for designing and developing multi-device interfaces. In ACM CHI 2004, volume II, pages 793–794, 2004. ACM Press.

• [Breton&Bézivin 2001] Erwan Breton and Jean Bézivin. Towards an understanding of model executability. In FOIS '01: Proceedings of the international conference on Formal Ontology in Information Systems, pages 70–80, New York, NY, USA, 2001. ACM.

• [Calvary 2003] Gaëlle Calvary, Joëlle Coutaz, David Thevenin, Quentin Limbourg, Laurent Bouillon, and Jean Vanderdonckt. A unifying reference framework for multi-target user interfaces. Interacting with Computers, 15(3):289–308, 2003.

• [Limbourg 2004] Quentin Limbourg, Jean Vanderdonckt, Benjamin Michotte, Laurent Bouillon, and Víctor López-Jaquero. Usixml: A language supporting multi-path development of user interfaces. In EHCI/DS-VIS, volume 3425 of Lecture Notes in Computer Science, p. 200–220. Springer, 2004.

• [Szekely 1996] Pedro A. Szekely. Retrospective and challenges for model-based interface development. In DSV-IS, pages 1–27. Springer, 1996.

• [Weiser 1991] Mark Weiser, The computer for the 21st century, Scientific American, Morgan Kaufmann Publishers Inc., 1991, 265, 66-75

Page 69: Agenda

A Model-based Runtime System for Ubiquitous User Interfaces 69July 13th, 2009

The End …

Thank you for your attention!

Your questions please …

Dynamic Executable Model

DefinitionElement

SituationElement

ExecutionElement