Systematic Generation of Abstract User Interfaces

27
Systematic Generation of Abstract User Interfaces 27/06/2012 1 Vi Tran Jean Vanderdonckt François Beuvens Université catholique de Louvain Louvain School of Management Louvain Interaction Laboratory Louvain-la-Neuve (Belgium) Ricardo Tesoriero University of Castilla-La Mancha Albacete (Spain) & Université catholique de Louvain Louvain Interaction Laboratory EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

description

An abstract user interface is defined according the Came¬leon Reference Framework as a user interface supporting an interactive task abstracted from its implementation, independently of any target computing platform and interaction modality. While an abstract user interface could be specified in isolation, it could also be produced from various models such as a task model, a domain model, or a combination of both, possibly based on information describing the context of use (i.e., the user, the platform, and the environment). This paper presents a general-purpose algorithm that systematically generates all potential abstract user interfaces from a task model as candidates that could then be refined in two ways: removing irrelevant candi-dates based on constraints imposed by the temporal operators and grouping or ungrouping candidates according to constraints imposed by the context of use. A model-driven engineering environment has been developed that applies this general-purpose algorithm with multiple levels of refinement ranging from no contextual consideration to full-context consideration. This algorithm is exemplified on a some sample interactive application to be executed in various contexts of use, such as different categories of users using different platforms for the same task.

Transcript of Systematic Generation of Abstract User Interfaces

Page 1: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 1

Systematic Generation of Abstract User Interfaces

27/06/2012

Vi Tran Jean VanderdoncktFrançois Beuvens

Université catholique de LouvainLouvain School of ManagementLouvain Interaction Laboratory

Louvain-la-Neuve (Belgium)

Ricardo Tesoriero

University of Castilla-La Mancha Albacete (Spain) &

Université catholique de LouvainLouvain Interaction Laboratory

Page 2: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 2

Presentation structure• Motivations and related works• AUI generation workflow and its principal

components• Conclusion• Demo

27/06/2012

Page 3: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 3

Motivations• Today, there exists many ways for generating

an Abstract UI (AUI) from different sources such as:

• Task model• Domain model (more than a mere data model)• Context model

• Consequences• Heterogeneity of techniques• No coverage of all possible AUIs at once

27/06/2012

Page 4: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 4

Related workIKnowU: expert system for deciding AUIs based on rules

27/06/2012

Page 5: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 5

Related workGenerating AUIs based on discourse model

27/06/2012

Page 6: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 6

Related workROAM: Generating AUIs based on task model

27/06/2012

Page 7: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 7

Related workDygimes: Generating AUIs based on task model

27/06/2012

Page 8: Systematic Generation of Abstract User Interfaces

08/04/2023 8

Objectives of the research• Generating the abstract user interfaces for multiple

platforms based on:• Task model• and domain model.

Page 9: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 9

AUI generation workflow and its principal components

Principal components

27/06/2012

Page 10: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal componentsAUI generation workflow

27/06/2012 10

Page 11: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal componentsTask and domain models

27/06/2012 11

Contacts task model

Contacts domain model

Page 12: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal componentsAUI generation workflow• Link tasks to domain’s components

27/06/2012 12

Page 13: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal componentsAUI generation workflow• Link tasks to domain’s components

27/06/2012 13

An example of linking tasks to domain components

Page 14: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal componentsAUI generation workflow• Link tasks to domain’s components• Assign weights for the tasks

27/06/2012 14

Page 15: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal componentsAUI generation workflow• Link tasks to domain’s components• Assign weights for the tasks

27/06/2012 15

Tasks in Contact task model are assigned weights based on the task types

Page 16: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal componentsAUI generation workflow• Link tasks to domain’s components• Assign weights for the tasks• Create task groups

27/06/2012 16

Page 17: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal componentsAUI generation workflow• Link tasks to domain’s components• Assign weights for the tasks• Create task groups

27/06/2012 17

An example of task grouping

An example of operator check

Page 18: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal components

27/06/2012 18

AUI generation workflow• Link tasks to domain’s components• Assign weights for the tasks• Create task groups• Assign weights for the platforms

Page 19: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal componentsAUI generation workflow• Link tasks to domain’s components• Assign weights for the tasks• Create task groups• Assign weights for the platforms• Generate configurations

27/06/2012 19

Page 20: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal componentsAUI generation workflow• Link tasks to domain’s components• Assign weights for the tasks• Create task groups• Assign weights for the platforms• Generate configurations

27/06/2012 20

The configuration is generated for Palm platform

Page 21: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal components

27/06/2012 21

AUI generation workflow• Link tasks to domain’s components• Assign weights for the tasks• Create task groups• Assign weights for the platforms• Generate configurations• Generate abstract user interface

Page 22: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal components

27/06/2012 22

AUI generation workflow• Link tasks to domain’s components• Assign weights for the tasks• Create task groups• Assign weights for the platforms• Generate configurations• Generate abstract user interface

Rule1: An AbstractSelectionUI is considered when a task derives from an attribute of a domain class which is not the edited class and the relationships between the edited class and another one is ‘1-1’ or ‘n-1’and .

Rule2: An AbstractInputUI is considered when a task derives from the attributes of the classes that these classes are the edited classes.

Rule3: An AbstractOutputUI is considered when an abstract user interaction has been created and its label is the task name of the task related to this abstract user interaction.

Rule4: An AbstractDataItemUI is considered when a task derives from the attributes of the classes.

Rule5: An AbstractTriggerUI is considered when a task derives from an operation of a class. For example. Once the tasks have been grouped by the developer based on the screen size of devices, the AUIs are generated automatically by system.

Page 23: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal components

27/06/2012 23

AUI generation workflow• Link tasks to domain’s components• Assign weights for the tasks• Create task groups• Assign weights for the platforms• Generate configurations• Generate abstract user interface

AUI is generated from configuration specified above

Page 24: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012)

AUI generation workflow principal components

27/06/2012 24

AUI generation workflow• Link tasks to domain’s components• Assign weights for the tasks• Create task groups• Assign weights for the platforms• Generate configurations• Generate abstract user interface • Store generated AUIs into a xml file in

terms of UsiXML specification

Page 25: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 25

Conclusion• Providing a general process for systematically

generating abstract user interfaces from the task and the domain models is necessary, but not sufficient

• Providing a palette algorithms for specifying abstract user interface types and configurating these abstract user interfaces is definitely a plus

• Implementing a software that supports this process is important for maximal usage

• Import/export facilities need to be elaborated (for the moment, only UsiXML is supported)

27/06/2012

Page 26: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 26

Demonstration: https://www.youtube.com/watch?v=KoY6KxkVzAU&feature=g-upl

27/06/2012

Page 27: Systematic Generation of Abstract User Interfaces

EICS'2012 (Copenhagen, Denmark, June 25-28, 2012) 27

Thank you very much for your attention!

Any question?

See more at:

www.usixml.org, www.usixml.eu

www.lilab.eu, www.lilab.be

27/06/2012