81
October, 2005 (Albacete) 1 Adaptive User Adaptive User Interfaces Based on Interfaces Based on Models and Software Models and Software Agents Agents Víctor M. López Jaquero Víctor M. López Jaquero Escuela Politécnica Superior de Albacete Departamento de Sistemas Informáticos Universidad de Castilla-La Mancha Campus Universitario, s/n. 02071 – Albacete (SPAIN) Email: [email protected] Supervisors: Dr. Pascual González López Dr. Antonio Fernández Caballero

October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

Embed Size (px)

Citation preview

Page 1: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 1

Adaptive User Interfaces Based on Adaptive User Interfaces Based on Models and Software AgentsModels and Software Agents

Víctor M. López JaqueroVíctor M. López JaqueroEscuela Politécnica Superior de Albacete Departamento de Sistemas Informáticos

Universidad de Castilla-La Mancha Campus Universitario, s/n.02071 – Albacete (SPAIN)

Email: [email protected]

Supervisors:Dr. Pascual González López

Dr. Antonio Fernández Caballero

Page 2: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 2

1. Introduction

2. State of Art in Adaptive User Interfaces Design

3. AB-UIDE: A Method for Adaptive UIs Design

4. A MAS Architecture for UI Adaptation

5. Final Remarks

CONTENTS

Page 3: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 3

1. Introduction1. Motivation

2. Objectives

2. State of Art in Adaptive User Interfaces Design

3. AB-UIDE: A Method for Adaptive UIs Design

4. A MAS Architecture for UI Adaptation

5. Final Remarks

CONTENTS

Page 4: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 4

MOTIVATION Interaction is changing, and it will keep on changing ...

Different Platforms

Wintel

Macintosh

Different Capabilities

Different Contexts

Different Users

PDA

PCAt Home

In the streets Expert users

Rookie users

Page 5: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 5

MOTIVATION Interaction is changing, and it will keep on changing ...

There are different platforms

Different Platforms

Wintel

Macintosh

Different Capabilities

Different Contexts

Different Users

PDA

PCAt Home

In the streets Expert users

Rookie users

Page 6: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 6

MOTIVATION Interaction is changing, and it will keep on changing ...

They have different capabilities

Different Platforms

Wintel

Macintosh

Different Capabilities

Different Environments

Different Users

PDA

PCAt Home

In the streets Expert users

Rookie users

Page 7: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 7

MOTIVATION Interaction is changing, and it will keep on changing ...

They are used in different environments

Different Platforms

Wintel

Macintosh

Different Capabilities

Different Enviroments

Different Users

PDA

PCAt Home

In the streets Expert users

Rookie users

Page 8: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 8

MOTIVATION Interaction is changing, and it will keep on changing ...

They are used by different users

Different Platforms

Wintel

Macintosh

Different Capabilities

Different Environments

Different Users

PDA

PCAt Home

In the streets Expert users

Rookie users

Page 9: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 9

MOTIVATION Interaction is changing, and it will keep on changing ...

Different Platforms

Wintel

Macintosh

Different Capabilities

Different Environments

Different Users

PDA

PCAt Home

In the streets Expert users

Rookie users

We need to face designing user interfaces able to work under these different situations (adaptive user interfaces)

Page 10: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 10

Design for different situations– One interface per situation considered

• High monetary cost

• High maintenance cost

• Impossible to consider all the possible situations!

– A single user interface able to adapt to all (or at least many) situations

• Easy to keep consistency between versions

• Lower maintainace cost

• Lower monetary cost

MOTIVATION

Page 11: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 11

Design for different situations– One interface per situation considered

• High monetary cost

• High maintenance cost

• Impossible to consider all the possible situations!

– A single user interface able to adapt to all (or at least many) situations

• Easy to keep consistency between versions

• Lower maintainace cost

• Lower monetary cost

MOTIVATION

Page 12: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 12

Hardcoded adaptation vs. Engineered adaptation– Hardcoded adaptation rules

• Adaptation knowledge reusing is hard

• Difficult to modify adaptation rules

• Hard to apply methodological processes

• Multi-platform development is almost handmade

– Engineered adaptation• Adaptation knowledge can be reused

• A standard manner of editing adaptation rules

• Adaptation can be included within a methodological process

• Adaptation code can be automatically generated

MOTIVATION

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>> Customerid : Longname : StringlastName : Stringaddress : StringcontactPhone : StringcurrentLogin : StringcurrentPin : IntegercurrentDeposit : Double

checkLogin() : Booleanlogout()getCurrentAccount() : AccountgetCurrentAccountBalance() : DoublegetCurrentAccountStatement() : String []

transactionTypedepositwithdrawalpaymentpositiveTransfernegativeTransfer

<<enumeration>> Entryid : Longdate : Dateamount : Doublesource : Stringtarget : Stringtype : transactionType

addEntry(amount : Double, source : String, target : String, type : transactionType, date : Date)

uses

Accountid : Longbalance : DoublewithdrawLimit : Doublelogin : Stringpin : Integer

deposit(amount : Double) : Booleanwithdraw(amount : Double) : Booleantransfer(target : String, amount : Double) : Booleanstatement() : Entry[]rechargePhone(phoneNumber : String, amount : Double) : Boolean

modalityTypetextual : Stringgraphical : String

<<enumeration>>

fontTypeArial : StringTimes New Roman : StringCourier : StringVerdana : StringGeneva : String

<<enumeration>>

Preferencesfont : fontTypefontColor : StringmodalityPreference : modalityType

updatePreferences()

uses

uses

Page 13: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 13

Hardcoded adaptation vs. Engineered adaptation– Hardcoded adaptation rules

• Adaptation knowledge reusing is hard

• Difficult to modify adaptation rules

• Hard to apply methodological processes

• Multi-platform development is almost handmade

– Engineered adaptation• Adaptation knowledge can be reused

• A standard manner of editing adaptation rules

• Adaptation can be included within a methodological process

• Adaptation code can be automatically generated

MOTIVATION

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>> Customerid : Longname : StringlastName : Stringaddress : StringcontactPhone : StringcurrentLogin : StringcurrentPin : IntegercurrentDeposit : Double

checkLogin() : Booleanlogout()getCurrentAccount() : AccountgetCurrentAccountBalance() : DoublegetCurrentAccountStatement() : String []

transactionTypedepositwithdrawalpaymentpositiveTransfernegativeTransfer

<<enumeration>> Entryid : Longdate : Dateamount : Doublesource : Stringtarget : Stringtype : transactionType

addEntry(amount : Double, source : String, target : String, type : transactionType, date : Date)

uses

Accountid : Longbalance : DoublewithdrawLimit : Doublelogin : Stringpin : Integer

deposit(amount : Double) : Booleanwithdraw(amount : Double) : Booleantransfer(target : String, amount : Double) : Booleanstatement() : Entry[]rechargePhone(phoneNumber : String, amount : Double) : Boolean

modalityTypetextual : Stringgraphical : String

<<enumeration>>

fontTypeArial : StringTimes New Roman : StringCourier : StringVerdana : StringGeneva : String

<<enumeration>>

Preferencesfont : fontTypefontColor : StringmodalityPreference : modalityType

updatePreferences()

uses

uses

Page 14: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 14

Design adaptive user interfaces able to adapt to:– User’s skills, preferences or characteristics– The platform where the application is running on– The physical environment where the interaction takes place– The adaptation process should preserve the usability

Include adaptation within a development process– Reuse adaptation knowledge– A standard manner of editing adaptation rules– Adaptation code can be automatically generated

An architecture for adaptive user interfaces execution– Execute designed adaptive user interfaces– At any time apply the best possible adaptation– Support multi-platform development

OBJECTIVES

Page 15: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 15

1. Introduction

2. State of Art in Adaptive User Interfaces Design1. User Interfaces Design

2. Model-Based User Interfaces Design (MB-UID)

3. Adaptation in MB-UID

4. Adaptation process

5. Software Agents in User Interfaces Design

3. AB-UIDE: A Method for Adaptive UIs Design

4. A MAS Architecture for UI Adaptation

5. Final Remarks

CONTENTS

Page 16: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 16

User interfaces design approaches– Language based approaches: the user interfaces is built by

programming it using a general purpose language (C/C++, Java, Pascal, etc).

– User interfaces integrated development environments: they allow the design of the user interface interactively by means of graphical tools (Borland Delphi, Borland JBuilder, Microsoft Visual Basic, ...).

– Model-based user interfaces development environments: they allow the specification of user interfaces out of a set of declarative models.

STATE OF ART

Hard and tedious programming task.Very low level of

abstraction.

Hard and tedious programming task.Very low level of

abstraction.

Page 17: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 17

User interfaces design approaches– Language based approaches: the user interfaces is built by

programming the user interface using a general purpose language (C/C++, Java, Pascal, etc).

– User interfaces integrated development environments: they allow the design of the user interface interactively by means of graphical tools (Borland Delphi, Borland JBuilder, Microsoft Visual Basic, ...).

– Model-based user interfaces development environments: they allow the specification of user interfaces out of a set of declarative models.

STATE OF ART

Hard to apply a methodological approach. Low level of abstraction.

Hard to apply a methodological approach. Low level of abstraction.

Page 18: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 18

User interfaces design approaches– Language based approaches: the user interfaces is built by

programming the user interface using a general purpose language (C/C++, Java, Pascal, etc).

– User interfaces integrated development environments: they allow the design of the user interface interactively by means of graphical tools (Borland Delphi, Borland JBuilder, Microsoft Visual Basic, ...).

– Model-based user interfaces development environments: they allow the specification of user interfaces out of a set of declarative models.

STATE OF ART

Higher level of abstraction.Easier to maintain. Automatic code generation.Methodological approach.

Higher level of abstraction.Easier to maintain. Automatic code generation.Methodological approach.

Page 19: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 19

Model-based user interfaces design– Based on a set of declarative models

• Task model

• Domain model

• Context of use model– user, platform and environment

• Abstract user interface model

• Concrete user interface model

• Final user interface model

– The models are transformed into an executable/interpretable presentation automatically or semiautomatically.

STATE OF ART

Page 20: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 20

Adaptation in model-based user interfaces design – Each approach allows the adaptation of

some specific features:• Context aware help systems• Look & Feel• Navigation• Many of them support no adaptation.

– Most of the adaptations are personalizations– No language to specify new adaptations– No intelligent adaptation process

STATE OF ART

Page 21: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 21

Adaptation process

STATE OF ART

Detect User’s Goals

Detect User’s Needs

Proposal for Adaptation

Execute Adaptation

Detect Platform Changes

Detect EnvironmentChanges

Detect User Changes

Select Adaptation

Initiative stage

User initiated adaptation

Proposal stage

Decision stage

Execution stage

Detect User’s Goals

Detect User’s Needs

Proposal for Adaptation

Execute Adaptation

Detect Platform Changes

Detect EnvironmentChanges

Detect User Changes

Select Adaptation

Initiative stage

User initiated adaptation

Proposal stage

Decision stage

Execution stage

Adaptation process can be fired by either the user (adaptability) or the system (adaptivity).

Adaptation process can be fired by either the user (adaptability) or the system (adaptivity).

Page 22: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 22

Adaptation process

STATE OF ART

Detect User’s Goals

Detect User’s Needs

Proposal for Adaptation

Execute Adaptation

Detect Platform Changes

Detect EnvironmentChanges

Detect User Changes

Select Adaptation

Initiative stage

User initiated adaptation

Proposal stage

Decision stage

Execution stage

Detect User’s Goals

Detect User’s Needs

Proposal for Adaptation

Execute Adaptation

Detect Platform Changes

Detect EnvironmentChanges

Detect User Changes

Select Adaptation

Initiative stage

User initiated adaptation

Proposal stage

Decision stage

Execution stage

Adaptation process can be fired by either the user (adaptability) or the system (adaptivity).

Adaptation process can be fired by either the user (adaptability) or the system (adaptivity).

Page 23: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 23

Adaptation process

STATE OF ART

Detect User’s Goals

Detect User’s Needs

Proposal for Adaptation

Execute Adaptation

Detect Platform Changes

Detect EnvironmentChanges

Detect User Changes

Select Adaptation

Initiative stage

User initiated adaptation

Proposal stage

Decision stage

Execution stage

Detect User’s Goals

Detect User’s Needs

Proposal for Adaptation

Execute Adaptation

Detect Platform Changes

Detect EnvironmentChanges

Detect User Changes

Select Adaptation

Initiative stage

User initiated adaptation

Proposal stage

Decision stage

Execution stage

Propose feasible adaptations given the current situation and state of interaction.

Propose feasible adaptations given the current situation and state of interaction.

Page 24: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 24

Adaptation process

STATE OF ART

Detect User’s Goals

Detect User’s Needs

Proposal for Adaptation

Execute Adaptation

Detect Platform Changes

Detect EnvironmentChanges

Detect User Changes

Select Adaptation

Initiative stage

User initiated adaptation

Proposal stage

Decision stage

Execution stage

Detect User’s Goals

Detect User’s Needs

Proposal for Adaptation

Execute Adaptation

Detect Platform Changes

Detect EnvironmentChanges

Detect User Changes

Select Adaptation

Initiative stage

User initiated adaptation

Proposal stage

Decision stage

Execution stage

Select the best adaptations among the proposed adaptations.

Select the best adaptations among the proposed adaptations.

Page 25: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 25

Adaptation process

STATE OF ART

Detect User’s Goals

Detect User’s Needs

Proposal for Adaptation

Execute Adaptation

Detect Platform Changes

Detect EnvironmentChanges

Detect User Changes

Select Adaptation

Initiative stage

User initiated adaptation

Proposal stage

Decision stage

Execution stage

Detect User’s Goals

Detect User’s Needs

Proposal for Adaptation

Execute Adaptation

Detect Platform Changes

Detect EnvironmentChanges

Detect User Changes

Select Adaptation

Initiative stage

User initiated adaptation

Proposal stage

Decision stage

Execution stage

Execute the selected adaptations.

Execute the selected adaptations.

Page 26: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 26

Adaptation process

STATE OF ART

Detect User’s Goals

Detect User’s Needs

Proposal for Adaptation

Execute Adaptation

Detect Platform Changes

Detect EnvironmentChanges

Detect User Changes

Select Adaptation

Initiative stage

User initiated adaptation

Proposal stage

Decision stage

Execution stage

Detect User’s Goals

Detect User’s Needs

Proposal for Adaptation

Execute Adaptation

Detect Platform Changes

Detect EnvironmentChanges

Detect User Changes

Select Adaptation

Initiative stage

User initiated adaptation

Proposal stage

Decision stage

Execution stage

The process requires reasoning about which adaptation to fire, choose the best adaptations, ....

The process requires reasoning about which adaptation to fire, choose the best adaptations, ....

Multi-agent systems

Page 27: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 27

Software agents in user interfaces– Interface agents dwell in the user interface to improve

user’s interaction experience.

STATE OF ART

Application’s processingAgents’

processing

User input

User interf ace updating

mechanism

User interf ace and context of use

Agents’ output

Application output

Application’s processingAgents’

processing

User input

User interf ace updating

mechanism

User interf ace and context of use

Agents’ output

Application output

Our agents use BDI mental model. BDI model is a natural manner to deal with the required decision mechanism to execute adaptive UIs.

Our agents use BDI mental model. BDI model is a natural manner to deal with the required decision mechanism to execute adaptive UIs.

Page 28: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 28

Software agents in user interfaces– The design of multi-agent systems require new

methodological approches:• Extensions of Object Oriented / Knowledge

Engineering methods and techniques– Tropos– Gaia– AUML– OASIS– Prometheus– Desire– MAS-CommonKADS– INGENIAS– ...

STATE OF ART

We used Prometheus because:• It supports the whole software life cycle.• Widely used.• It provides a visual design tool.• Code generation for JACK and JADE.

We used Prometheus because:• It supports the whole software life cycle.• Widely used.• It provides a visual design tool.• Code generation for JACK and JADE.

Page 29: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 29

1. Introduction

2. State of Art in Adaptive User Interfaces Design

3. AB-UIDE: A Method for Adaptive UIs Design1. A Study Case: ATM UI

2. Requirements Analysis stage

3. Analysis stage

4. Design stage

5. Implementation stage

4. A MAS Architecture for UI Adaptation

5. Final Remarks

CONTENTS

Page 30: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 30

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

AB-UIDE (Agent Based User Interface Development Environment) extends usual model-based user interface development methods to support the development of adaptive user interfaces in a seamless way.– User-centred approach

– Iterative

– Covers the whole development life cycle of the user interface

– The adaptive user interfaces designed are executed on an agent-based adaptation engine.

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Page 31: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 31

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

AB-UIDE stages:

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Use Case Model

User model

Platform Model

Domain model Roles Diagram

REQUIREMENTS

ANALYSIS

DESIGN

IMPLEMENTATION

Environment Model

Task model(task and actions

temporal relationships)

Interaction objects

AIO

AUIuses presented as

Adaptation usability trade-off

<window><button>....

<window>

XML UI specification

User interface

Agent programming language

Adaptation engine

Agent programming language

Adaptation engine

class 1

class 2 class 3

role 1

role 2 role 3

Caso 1

Actor Actor 2

Caso 2

class 1

class 2 class 3 AIO

AIO

CUI

CIOCIO

CIO

Adaptivity rules

Page 32: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 32

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

A study case: ATM UI– ATM UI is a user interface for an automatic teller

machine, where the user can:• Withdraw money

• Make a deposit

• Transfer money

• Recharge a cell phone

• Get the account statement

• Change the preferences for the application

– The user interface should be able to run on different platforms (bank platform and mobile platform).

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Page 33: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 33

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Requirements analysis stage– Use case model

• Use case sequence diagram

– “Static” context of use model• User

• Platform

• Environment

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

2: Logout OK

: Bank Customer

: System1: Logout

HighFrecuency

The user logs into the system providing a login and a password.

Description

AbstractType

FreeContainerPresentation

Participant.checkLogin()Postcondition

NULLPrecondition

LoginTask name

HighFrecuency

The user logs into the system providing a login and a password.

Description

AbstractType

FreeContainerPresentation

Participant.checkLogin()Postcondition

NULLPrecondition

LoginTask name

HighFrecuency

InputType

Participant.login!=“”Postcondition

NULLPrecondition

The user types in the login.Description

Input LoginAction name

HighFrecuency

InputType

Participant.login!=“”Postcondition

NULLPrecondition

The user types in the login.Description

Input LoginAction name

HighFrecuency

InputType

Participant.Password!=“”Postcondition

Participant.login!=“”Precondition

The user types in the password for the login.

Description

Input PasswordAction name

HighFrecuency

InputType

Participant.Password!=“”Postcondition

Participant.login!=“”Precondition

The user types in the password for the login.

Description

Input PasswordAction name

Page 34: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 34

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Requirements analysis stage– Use case model

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Page 35: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 35

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Requirements analysis stage– Use case model

• Use case sequence diagram

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

: Bank Customer

: System1: Login

2: Login OK

3: Perform operation

: Bank Customer

: System1: Deposit

2: Show balance

3: Withdraw

4: Show balance

5: Transfer

6: Show transfer info

7: Inquiry

8: Show info

9: Recharge cell phone

10: Show recharge info

11: Change preferences

12: Show preferences

13: Logout

14: Logout OK

Page 36: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 36

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Requirements analysis stage– “Static” context of use model

• User

• Platform

• Environment

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

400x350screenSize

BankATMplatformName

0025PplatformId

trueisColorCapable

trueisImageCapable

Bank ATMPlatform

400x350screenSize

BankATMplatformName

0025PplatformId

trueisColorCapable

trueisImageCapable

Bank ATMPlatform

BankOfficeenvironmentName

0028EenvironmentId

lowlightingLevel

falseisNoisy

BankEnvironment

BankOfficeenvironmentName

0028EenvironmentId

lowlightingLevel

falseisNoisy

BankEnvironment

BankCustomeruserName

0025UuserId

GraphicalModality

ArialFont

BlackFontColor

CustomerUser

BankCustomeruserName

0025UuserId

GraphicalModality

ArialFont

BlackFontColor

CustomerUser

220x144screenSize

PDA01platformName

0026PplatformId

trueisColorCapable

trueisImageCapable

PDAPlatform

220x144screenSize

PDA01platformName

0026PplatformId

trueisColorCapable

trueisImageCapable

PDAPlatform

InTheStreetsenvironmentName

0029EenvironmentId

averagelightingLevel

trueisNoisy

StreetEnvironment

InTheStreetsenvironmentName

0029EenvironmentId

averagelightingLevel

trueisNoisy

StreetEnvironment

Page 37: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 37

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Analysis stage– Domain model

– Roles model

– Usability trade-off

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

role 1

role 2 role 3

Customerid : Longname : StringlastName : Stringaddress : StringcontactPhone : StringcurrentLogin : StringcurrentPin : IntegercurrentDeposit : Double

checkLogin() : Booleanlogout()getCurrentAccount() : AccountgetCurrentAccountBalance() : DoublegetCurrentAccountStatement() : String []

transactionTypedepositwithdrawalpaymentpositiveTransfernegativeTransfer

<<enumeration>> Entryid : Longdate : Dateamount : Doublesource : Stringtarget : Stringtype : transactionType

addEntry(amount : Double, source : String, target : String, type : transactionType, date : Date)

uses

Accountid : Longbalance : DoublewithdrawLimit : Doublelogin : Stringpin : Integer

deposit(amount : Double) : Booleanwithdraw(amount : Double) : Booleantransfer(target : String, amount : Double) : Booleanstatement() : Entry[]rechargePhone(phoneNumber : String, amount : Double) : Boolean

modalityTypetextual : Stringgraphical : String

<<enumeration>>

fontTypeArial : StringTimes New Roman : StringCourier : StringVerdana : StringGeneva : String

<<enumeration>>

Preferencesfont : fontTypefontColor : StringmodalityPreference : modalityType

updatePreferences()

uses

uses

Page 38: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 38

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Analysis stage– Domain model

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

transactionTypedepositwithdrawalpaymentpositiveTransfernegativeTransfer

<<enumeration>> Entryid : Longdate : Dateamount : Doublesource : Stringtarget : Stringtype : transactionType

addEntry(amount : Double, source : String, target : String, type : transactionType, date : Date)

uses

Accountid : Longbalance : DoublewithdrawLimit : Doublelogin : Stringpin : Integer

deposit(amount : Double) : Booleanwithdraw(amount : Double) : Booleantransfer(target : String, amount : Double) : Booleanstatement() : Entry[]rechargePhone(phoneNumber : String, amount : Double) : Boolean

modalityTypetextual : Stringgraphical : String

<<enumeration>>

Customerid : Longname : StringlastName : Stringaddress : StringcontactPhone : StringcurrentLogin : StringcurrentPin : IntegercurrentDeposit : Double

checkLogin() : Booleanlogout()getCurrentAccount() : AccountgetCurrentAccountBalance() : DoublegetCurrentAccountStatement() : String []

fontTypeArial : StringTimes New Roman : StringCourier : StringVerdana : StringGeneva : String

<<enumeration>>

Preferencesfont : fontTypefontColor : StringmodalityPreference : modalityType

updatePreferences()

uses

uses

Page 39: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 39

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Analysis stage– Roles model

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

BankCustomer

MyBankCustomer

Page 40: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 40

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Analysis stage– Usability trade-off

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error BANK ATM PDA

Usability criteria to be preserved.

Usability criteria to be preserved.

Weight of the criterium in the usability trade-off.

Weight of the criterium in the usability trade-off.

Page 41: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 41

Connector modelLightingIndicators

HeadLamps : BooleanFogLamps : BooleanLeftBlinker : BooleanRightBl inker : Boolean

DisplayerHeadlamps

DisplayerFoglamps

headlamps

foglamps

DisplayerLeftblinker

leftblinker

DisplayerRightblinker

rightblinker

textComponent“HeadlampsLabel”

imageComponent“HeadlampsImage”adjacency

textComponent“FoglampsLabel”

imageComponent“FoglampsImage”adjacency

textComponent“LeftblinkerLabel”

imageComponent“LeftblinkerImage”adjacency

textComponent“RightblinkerLabel”

imageComponent“RightblinkerImage”adjacency

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Design stage– Adaptivity rules

– Task model

– Interaction objects specification

– Abstract User Interface (AUI)

– Concrete User Interface (CUI)

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

AIOAIO

AIO

CIOCIO

CIO

Watch speedometer

Watch RPM

Watch Oil Temperature

Watch lighting indicators

Watch system messages

Watch speedometer

Watch RPM

Watch Oil Temperature

Watch lighting indicators

Watch system messages

Show speedometer

<<action>>

carBrand : StringSpeed : intStatus : String

(1,1)Speed

Show speedometer

<<action>>

carBrand : StringSpeed : intStatus : String

(1,1)Speed

Page 42: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 42

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Design stage– Task model

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Login Perform operation

start start

( 1,* )end

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

: Bank Customer

: System1: Login

2: Login OK

3: Perform operation

Transitions are labelled to specify the dialog.

Transitions are labelled to specify the dialog.

Page 43: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 43

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Design stage– Task model

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Login Perform operation

start start

( 1,* )end

Enter login/card

<<action>>

Enter pin<<action>>

Enter login/card

<<action>>

Enter pin<<action>>

Actions and tasks temporal relationships are described by using LOTOS operators (as defined in CTT).

Actions and tasks temporal relationships are described by using LOTOS operators (as defined in CTT).

Deposit

Withdraw

Transfer

Statement

Recharge cell phone

Change preferences

Logout

Deposit

Withdraw

Transfer

Statement

Recharge cell phone

Change preferences

Logout

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Tasks and actions are described specifying a set of properties to help on UI generation.

Tasks and actions are described specifying a set of properties to help on UI generation.

Page 44: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 44

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Design stage– Interaction objects specification

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Customerid : Longname : StringlastName : Stringaddress : StringcontactPhone : StringcurrentLogin : StringcurrentPin : Integer

checkLogin() : Booleanlogout()getCurrentAccount() : AccountgetCurrentAccountBalance() : DoublegetCurrentAccountStatement() : String []

Enter login/card

<<action>>

Enter pin<<action>>

Name Login

Type String

Initial value

“”

(1,1)

Login

(1,1)

Pin

Name Pin

Type String

Initial value “”

Password true

Page 45: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 45

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Design stage– Abstract User Interface (AUI)

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Customerid : Longname : StringlastName : Stringaddress : StringcontactPhone : StringcurrentLogin : StringcurrentPin : Integer

checkLogin() : Booleanlogout()getCurrentAccount() : AccountgetCurrentAccountBalance() : DoublegetCurrentAccountStatement() : String []

Enter login/card

<<action>>

Enter pin<<action>>

(1,1)

Login

(1,1)

Pin

FreeContainer Login

Login

Login

Pin

OK

AUI consists of AIOs: Inputters, Displayers, Editors, ActionInvokers and Selectors.

AUI consists of AIOs: Inputters, Displayers, Editors, ActionInvokers and Selectors.

The AIOs are grouped in containers, that help on deciding a good final layout for the UI elements.

The AIOs are grouped in containers, that help on deciding a good final layout for the UI elements.

Page 46: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 46

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Design stage– Concrete User Interface (CUI)

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Window Login

FreeContainer Login

Login

Login

Pin

box Login

textComponentName=“loginLabel”

isEditable=falsedefaultContent=“Login”

textComponentName=“Login”isEditable=true

defaultContent=“”

textComponentName=“pinLabel”isEditable=false

defaultContent=“Pin”

textComponentName=“Pin”

isEditable=truedefaultContent=“”

OK

buttonName=“OK”

Event Name = “event010”device=“mouse”eventType=“OnClick”

postconditionName=“postcondition004”

expression=“Customer.checkLogin()”

CUI consists of CIOs. CIOs are derived from AIOs and Interaction Objects.

CUI consists of CIOs. CIOs are derived from AIOs and Interaction Objects.

Events represent the behaviour of the system.

Events represent the behaviour of the system.

Page 47: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 47

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Design stage– Conectors model

• Automatically generated

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

InputterLogin

InputterPassword

Participant

Login : StringPassword : St ring

checkLogin() : BooleansetLogin(aLogin : String)setPassword(aPassword : String)

password

login

ActionInvokerOK

buttonName=“OK”

textComponent“Login”

textComponent“LoginLabel”

textComponent“LoginPassword”

textComponent“Password”

adjacency adjacency

Mapping between CUI and AUI.

Mapping between CUI and AUI.

Graphical relationship.

Graphical relationship.

Mapping between AUI and Domain model.

Mapping between AUI and Domain model.

Page 48: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 48

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

environmentEvent userEvent

platformEvent

softwareEnvironmentSensor

softwarePlatformSensor

softwareUserSensor

sensorid : Integername : String

transformationRuleid : integername : String

contextEventid : Stringname : Stringdescription : StringdataType : Object

1..n1..n

1..n1..n

produces

transformationid : integername : String

1..n

1

1..n

1

data

contextPreconditionid : Integername : String

adaptivityRuleid : integername : Stringdescription : StringhandlingPriority : integer

1..n 1..n1..n 1..n

triggers

1

1..n

1

1..nproduces

0..n

0..n

0..ntriggers

0..n

0..n

0..n

0..n

0..n

reads / writes

0..n

0..n

0..n

0..n

produces

0..1

1

0..1

1

applicability context

softwareSensor

hardwareSensor

softwarePlatformSensor

softwareEnvironmentSensor softwareUserSensor

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Design stage– Adaptivity Rules

AB-UIDE: A Method for Adaptative UIs Design Sensors model the

information captured from the context of use.

Sensors model the information captured from the context of use.

Page 49: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 49

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

environmentEvent userEvent

platformEvent

softwareEnvironmentSensor

softwarePlatformSensor

softwareUserSensor

sensorid : Integername : String

transformationRuleid : integername : String

contextEventid : Stringname : Stringdescription : StringdataType : Object

1..n1..n

1..n1..n

produces

transformationid : integername : String

1..n

1

1..n

1

data

contextPreconditionid : Integername : String

adaptivityRuleid : integername : Stringdescription : StringhandlingPriority : integer

1..n 1..n1..n 1..n

triggers

1

1..n

1

1..nproduces

0..n

0..n

0..ntriggers

0..n

0..n

0..n

0..n

0..n

reads / writes

0..n

0..n

0..n

0..n

produces

0..1

1

0..1

1

applicability context

softwareSensor

hardwareSensor

softwarePlatformSensor

softwareEnvironmentSensor softwareUserSensor

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Design stage– Adaptivity Rules

AB-UIDE: A Method for Adaptative UIs Design

Context events are produced by one or several sensors. They trigger adaptivity rules.

Context events are produced by one or several sensors. They trigger adaptivity rules.

Page 50: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 50

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

environmentEvent userEvent

platformEvent

softwareEnvironmentSensor

softwarePlatformSensor

softwareUserSensor

sensorid : Integername : String

transformationRuleid : integername : String

contextEventid : Stringname : Stringdescription : StringdataType : Object

1..n1..n

1..n1..n

produces

transformationid : integername : String

1..n

1

1..n

1

data

contextPreconditionid : Integername : String

adaptivityRuleid : integername : Stringdescription : StringhandlingPriority : integer

1..n 1..n1..n 1..n

triggers

1

1..n

1

1..nproduces

0..n

0..n

0..ntriggers

0..n

0..n

0..n

0..n

0..n

reads / writes

0..n

0..n

0..n

0..n

produces

0..1

1

0..1

1

applicability context

softwareSensor

hardwareSensor

softwarePlatformSensor

softwareEnvironmentSensor softwareUserSensor

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Design stage– Adaptivity Rules

AB-UIDE: A Method for Adaptative UIs Design

Adaptivity rules will be available to be applied if the context precondition is met. The “real” adaptation is described by means of graph grammars transformations rules.

Adaptivity rules will be available to be applied if the context precondition is met. The “real” adaptation is described by means of graph grammars transformations rules.

Page 51: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 51

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Design stage– Adaptivity Rules

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

<softwarePlatformSensor id="SPS001" name="screenResolutionPlatformSensor" dataName="/contextInfo/platformInfo/hardwarePlatform/screenResolution" dataType="_2x2_" description="Senses whenever screen resolution changes."/>

<softwarePlatformSensor id="SPS001" name="screenResolutionPlatformSensor" dataName="/contextInfo/platformInfo/hardwarePlatform/screenResolution" dataType="_2x2_" description="Senses whenever screen resolution changes."/>

SENSOR CONTEXT EVENT

<adaptationRule id="AR002" name="radioGroupsOrientationChange" description="When screen resolution is reduced, tries to fit the presentation on screen by changing the orientation of the radio button to 'vertical'." > <contextEvents> <contextEvent id="CE001"/> </contextEvents> <contextPrecondition id="CP001" name="screenResolutionShrinked"> <logicalSentence id="LS001" name="OldGreaterThanNew" sentence="SPS001.oldValue > SPS001.newValue "/> </contextPrecondition> <transformation>

radioGroupsOrientationChange

Parte izquierda (LHS)

Parte derecha (RHS)

</transformation> </adaptationRule>

ADAPTIVITY RULE

Page 52: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 52

Bank Customer

Deposit

Withdraw

Transfer

Inquiry

Recharge cell phoneChange preferences

Login

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

<<extend>>

Logout

<<extend>>

Implementation stage– User interface specification

• User Interface eXtensible Mark-Up Language

• Stores the whole user interface specification

• The specification is rendered for the target platform

– Adaption engine• Multi-agent system based architecture

• Takes advantage of the user interface specification for the application of adaptations

• The architecture applies the adaptation facilities defined in the design process

AB-UIDE: A Method for Adaptative UIs Design

Enter amount

<<action>>

Show balance

<<action>> start

InvalidAmount<<action>>

start

error

Page 53: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 53

1. Introduction

2. State of Art in Adaptive User Interfaces Design

3. AB-UIDE: A Method for Adaptive UIs Design

4. A MAS Architecture for UI Adaptation1. Initiative stage

2. Proposal stage

3. Decision stage

4. Execution stage

5. Implementing the MAS architecture

5. Final Remarks

CONTENTS

Page 54: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 54

A MAS ARCHITECTURE FOR UI ADAPTATION

Platform

Environment

User

Task

Context::=

Adaptivity rules Usability trade-off

Multi-Agent System

Adapted UI

Current UI

Page 55: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 55

A MAS ARCHITECTURE FOR UI ADAPTATION

Multi-agent system goals

Adaptation process stages have been refined to design the goals for the multi-agent system.

Adaptation process stages have been refined to design the goals for the multi-agent system.

Page 56: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 56

DispatcherAgent and AgentContextOfUse sense the context of use by means of the designed sensors.

DispatcherAgent and AgentContextOfUse sense the context of use by means of the designed sensors.

A MAS ARCHITECTURE FOR UI ADAPTATION

Multi-agent system overview

Page 57: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 57

AgentContextPlatform, AgentContexUser and AgentContextEnvironment process the incoming data and produce the context events.

AgentContextPlatform, AgentContexUser and AgentContextEnvironment process the incoming data and produce the context events.

A MAS ARCHITECTURE FOR UI ADAPTATION

Multi-agent system overview

Page 58: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 58

AgentAdaptationProcess proposes the plausible adaptations, selects the best ones and executes them.

AgentAdaptationProcess proposes the plausible adaptations, selects the best ones and executes them.

A MAS ARCHITECTURE FOR UI ADAPTATION

Multi-agent system overviewThe MAS uses all the knowledge about the UI collected at design time.

The MAS uses all the knowledge about the UI collected at design time.

Page 59: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 59

A MAS ARCHITECTURE FOR UI ADAPTATION

Initiative stage– Adaptation can be initiated by:

• The user (adaptability)

• The system (adaptivity)

– System initiated adaptation• Sensing the context of use

– Sensors detect the events produced in the context

» Software sensors

» Hardware sensors

• Detecting the user’s current goal– What is the task the user is carrying out at a moment?

– Recurrent task sequences

– Heuristics based on the interaction data collected

Page 60: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 60

A MAS ARCHITECTURE FOR UI ADAPTATION

Proposal stage– A set of plausible adaptations for the current situation is

proposed.– The possible adaptations to be applied are those adaptivity

rules specified at design time.

– The adaptation applicable given a context of use change are those that:

• Are fired by the context events produced by the changes in the incoming sensors data.

• The context precondition is met.

Adaptivity rules

Page 61: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 61

A MAS ARCHITECTURE FOR UI ADAPTATION

Decision stage– How to choose the best adaptation (plan) among the

proposed ones• Compute how good or bad an adaptation (plan) is for the

user:– Migration cost: represents the physical, cognitive and

conative effort the user needs to apply in order to migrate from one context to another.

– Adaptation benefit: represents how good an adaptation will be for the user in the new context.

• Choose the one that maximizes:

Adaptation benefit – Migration cost

Page 62: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 62

Decision stage– Migration cost: represents the physical, cognitive

and conative effort the user needs to apply in order to migrate from one context to another.

Discontinuity

Cognitive load

Preferences

Migration cost

Conative effort

Cognitive effort

Physical effortDiscontinuity

Cognitive load

Preferences

Migration cost

Conative effort

Cognitive effort

Physical effort

A MAS ARCHITECTURE FOR UI ADAPTATION

User’s mental effort required to resume the task that was carrying out before adaptation took place.

User’s mental effort required to resume the task that was carrying out before adaptation took place.

Page 63: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 63

Decision stage– Migration cost: represents the physical, cognitive

and conative effort the user needs to apply in order to migrate from one context to another.

Discontinuity

Cognitive load

Preferences

Migration cost

Conative effort

Cognitive effort

Physical effortDiscontinuity

Cognitive load

Preferences

Migration cost

Conative effort

Cognitive effort

Physical effort

A MAS ARCHITECTURE FOR UI ADAPTATION

Amount of information the user needs to understand to perform the tasks using the adapted user interface.

Amount of information the user needs to understand to perform the tasks using the adapted user interface.

Page 64: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 64

Decision stage– Migration cost: represents the physical, cognitive

and conative effort the user needs to apply in order to migrate from one context to another.

They are assessed by means of metrics based on the empirical results from GOMS-based (Goals, Operators, Methods, Selection rules) evaluations.

They are assessed by means of metrics based on the empirical results from GOMS-based (Goals, Operators, Methods, Selection rules) evaluations.

Discontinuity

Cognitive load

Preferences

Migration cost

Conative effort

Cognitive effort

Physical effortDiscontinuity

Cognitive load

Preferences

Migration cost

Conative effort

Cognitive effort

Physical effort

A MAS ARCHITECTURE FOR UI ADAPTATION

Page 65: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 65

Decision stage– Migration cost: represents the physical, cognitive

and conative effort the user needs to apply in order to migrate from one context to another.

Discontinuity

Cognitive load

Preferences

Migration cost

Conative effort

Cognitive effort

Physical effortDiscontinuity

Cognitive load

Preferences

Migration cost

Conative effort

Cognitive effort

Physical effort

A MAS ARCHITECTURE FOR UI ADAPTATION

Preferences modify the other two parameters evaluation.

Preferences modify the other two parameters evaluation.

Page 66: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 66

Decision stage– Adaptation benefit: represents how good an

adaptation will be for the user in the new context.

A MAS ARCHITECTURE FOR UI ADAPTATION

When a context of use situation is often found, the cost should be reduced since it will allow dealing with common situations.

When a context of use situation is often found, the cost should be reduced since it will allow dealing with common situations.

The adaptations can be rejected by the user. The more times the user rejects an adaptation the less likely that adaptation will be.

The adaptations can be rejected by the user. The more times the user rejects an adaptation the less likely that adaptation will be.

Context frequency

User Feedback

Adaptation benefit

Context frequency

User Feedback

Adaptation benefit

Page 67: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 67

Proposal stage– Because of the limitations of the model the system needs to evolve at

run time to improve adaptation process. This evolution has been included as Bayesian learning (as in antispam filters, for instance).

– The formula below will be applied for each selectable adaptation (producing a ranking of rules).

A MAS ARCHITECTURE FOR UI ADAPTATION

)(

)(*)|()|(

RP

SPSRPRSP

P(S|R) represents the probability that when R is applicable, R is choosed.

P(R|S) quantifies the compatibility between the hypothesis (the adaptation selection) and the contents of the adaptation (the adaptation itself).

P(S) represents the a priori probability that R is selected to be applied.

P(R) represents the probability of R.

Page 68: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 68

A MAS ARCHITECTURE FOR UI ADAPTATION

Execution stage– The system executes the first adaptation in the ranking

by means of the transformation engine.

– The system checks that the application of the adaptation doesn’t violate the usability trade-off for the current platform profile created at design-time.

– If the adaptation violates the usability trade-off• Undo last adaptation

• Repeat the execution and usability trade-off checking processes for the next adaptation in the ranking until:

– One adaptation meets usability trade-off

– Adaptation ranking list is empty (no adaptation could be applied)

– An adaptation is found where ranking value is too low

Page 69: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 69

A MAS ARCHITECTURE FOR UI ADAPTATION

Execution stage<window>

<button>....

<window>Current UI specification

using USIXML::=

Adaptions rules using graph grammars transformations

::=

Adaptions rules using graph grammars transformations

<window><button>....

<window>Adapted UI specification

using USIXML

UI code in XUL or Java

Translate the XML specification into a graph representation.

Translate the XML specification into a graph representation.

Apply the graph grammar transformations on the UI graph representation.

Apply the graph grammar transformations on the UI graph representation.

Translate the UI graph representation into usiXML syntax.

Translate the UI graph representation into usiXML syntax.

Render the usiXML specification for the target platform.

Render the usiXML specification for the target platform.

Page 70: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 70

1. Introduction

2. State of Art in Adaptive User Interfaces Design

3. AB-UIDE: A Method for Adaptive UIs Design

4. A MAS Architecture for UI Adaptation

5. Final Remarks1. Conclusions

2. Contributions

3. Future work

CONTENTS

Page 71: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 71

FINAL REMARKS

Conclusions & Outcomes– An adaptive UI design method (AB-UIDE)

– Adaptive user interfaces execution

Page 72: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 72

Conclusions & Outcomes– An adaptive UI design method (AB-UIDE)

• A specification to capture context data through sensors modelling.

• A metamodel for adaptivity rules to provide a common syntax for adaptations specification.

• A runtime quality model (usability trade-off) to preserve usability while adapting the user interface.

• A task model enriched with dialog specification.

• An abstract user interface (AUI) model and a set of heuristics to transform the domain and task/dialog model into the AUI and the CUI.

• A graphical syntax for model-to-model mapping that allows preserving traceability in the development process.

– Adaptive user interfaces execution

FINAL REMARKS

Page 73: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 73

Conclusions & Outcomes– An adaptive UI design method (AB-UIDE)

– Adaptive user interfaces execution• An architecture based on multi-agent system for adaptive user

interfaces execution.

• The integration of the adaptation facilities designed following AB-UIDE within the architecture in a seamless way.

• A model to assess how good or bad an adaptation is given a context of use state.

• The implementation of the MAS architecture proposed.

• The implementation of a tool for the transformation of user interfaces specifications by means of graph grammars transformations rules.

FINAL REMARKS

Page 74: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 74

FINAL REMARKS

Acknowledgements– This work has been supported by

•The spanish grants:– CYCIT TIN2004-08000-C03-01 project

– JCCM PBC-03-003 project

•European networks– SIMILAR Network of Excellence

– Seven month stay at BCHI (Belgian laboratory of Computer Human Interaction).

Page 75: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 75

FINAL REMARKS

Contributions– Topics

•Adaptive user interfaces development related papers

•Multi-agent systems related papers

•Study cases related papers

Page 76: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 76

FINAL REMARKS

Contributions– Adaptive user interfaces development related papers (i)

• López-Jaquero, V., Montero, F., Molina, J.P., González, P., Fernández-Caballero, A. A Seamless Development Process of Adaptive User Interfaces Explicitly Based on Usability Properties. Proc. of  9th IFIP Working Conference on Engineering for Human-Computer Interaction jointly with 11th Int. Workshop on Design, Specification, and Verification of Interactive Systems EHCI-DSVIS’2004 (Hamburg, July 11-13, 2004). Lecture Notes in Computer Science, Vol. 3425, Springer-Verlag, Berlin, 2005.

• López Jaquero, V., Montero, F., Fernández Caballero, A., Lozano, M.D. Towards Adaptive User Interfaces Generation: One Step Closer to People. In Enterprise Information Systems V. Kluwert Academia Publishers, Dordrecht, Holanda, 2004. pp. 226-232. ISBN: 1-4020-1726-X.

• López Jaquero, V., Montero, F., Molina, J.P., Fernández-Caballero, A., González, P. Model-Based Design of Adaptive User Interfaces through Connectors. Design, Specification and Verification of Interactive Systems 2003, DSV-IS 2003. In DSV-IS 2003 : Issues in Designing New-generation Interactive Systems Proceedings of the Tenth Workshop on the Design, Specification and Verification of Interactive Systems. J.A. Jorge, N.J. Nunes, J. F. Cunha (Eds). Springer Verlag, LNCS 2844, 2003. Madeira, Portugal June 4-6, 2003.

• López Jaquero, V., Montero, F., Fernández, A., Lozano, M. Towards Adaptive User Interface Generation: One Step Closer To People. 5th International Conference on Enterprise Information Systems, ICEIS 2003. Proccedings of 5th International Conference on Enterprise Information Systems, ICEIS 2003, vol. 3, pp. 97-103. Angers, France, April 23-26, 2003.

• Montero, F., López Jaquero, V., Molina, J.P., González, P. An approach to develop User Interfaces with plasticity. Design, Specification and Verification of Interactive Systems 2003, DSV-IS 2003. In DSV-IS 2003 : Issues in Designing New-generation Interactive Systems Proceedings of the Tenth Workshop on the Design, Specification and Verification of Interactive Systems. J.A. Jorge, N.J. Nunes, J. F. Cunha (Eds). Springer Verlag, LNCS 2844, 2003. Madeira, Portugal June 4-6, 2003.

Page 77: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 77

FINAL REMARKS Contributions

– Adaptive user interfaces development related papers (ii)• Limbourg, Q., Vanderdonckt, J., Michotte, B., Bouillon, L., López-Jaquero, V., UsiXML: a Language

Supporting Multi-Path Development of User Interfaces, Proc. of  9th IFIP Working Conference on Engineering for Human-Computer Interaction jointly with 11th Int. Workshop on Design, Specification, and Verification of Interactive Systems EHCI-DSVIS’2004 (Hamburg, July 11-13, 2004). Lecture Notes in Computer Science, Vol. 3425, Springer-Verlag, Berlin, 2005, pp. 207-228.

• Montero, F., López-Jaquero, V., Vanderdonckt, J., González, P., Lozano, M.D., Solving the Mapping Problem in User Interface Design by Seamless Integration in IdealXML. 12th International Workshop on Design, Specification and Verification of Interactive Systems (DSV-IS’2005), Newcastle upon Tyne, England, July 13-15, 2005. Springer-Verlag, Berlin, 2005 (in print).

• Montero, F., López-Jaquero, V., Lozano, M., González, P. A User Interfaces Development and Abstraction Mechanism. Artículo seleccionado en el V Congreso Interacción Persona Ordenador para su publicación en Springer-Verlag, Berlin, 2005 (in print).

Page 78: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 78

FINAL REMARKS Contributions

– Multi-agent systems related papers• López-Jaquero, V, Montero, F., Molina, J.P., González, P., Fernández-Caballero, A. A Multi-Agent System

Architecture for the Adaptation of User Interfaces. 4th International Central and Eastern European Conference on Multi-Agent Systems (CEEMAS 2005). 15-17 September 2005, Budapest, Hungary. In Multi-Agents Systems and Applications IV. M. Pechoucek, P. Petta, L. Zsolt Varga (Eds.) LNAI 3690, Springer-Verlag, Berlin.

• López-Jaquero, V., Fernández-Caballero, A. Métricas de Usabilidad y Sistemas Multiagente en Hipermedia Adaptativa. XIII Escuela de Verano de Informática. Tendencias Actuales en la Interacción Persona-Ordenador: Accesibilidad, Adaptabilidad y Nuevos Paradigmas. ISBN: 84-921873, pp. 21-34, Albacete, España, 2003.

• Fernández-Caballero, A., López Jaquero, V., Montero, F. , González, P. Adaptive Interaction Multi-agent Systems in E-learning/E-teaching on the Web. International Conference on Web Engineering, ICWE 2003. In Web Engineering: International Conference, ICWE 2003, Oviedo, Spain, July 14-18, 2003. Proceedings. J.M. Cueva Lovelle, B.M. González Rodríguez, L. Joyanes Aguilar, J.E. Labra Gayo, M. del Puerto Paule Ruiz (Eds.). Springer Verlag, LNCS 2722, pp. 144-154. ISSN:0302-9743. Oviedo, Spain, June, 2003.

• López Jaquero, V., Montero, F., Fernández, A., Lozano, M. Usability Metrics in Agent-Based Intelligent Tutoring Systems. Human-Computer Interaction: Theory and Practice (part 1). J. Jacko, C. Stephanidis (Eds.). Lawrence Erlbaum Associates. Londrés, Reino Unido, 2003. ISBN: 0-8058-4931-9. pp. 539-543.

Page 79: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 79

FINAL REMARKS Contributions

– Study cases related papers• Robles, A., Molina, J. P., López-Jaquero, V., García, A. S. Even Better Than Reality: The Development of

a 3-D Online Store that Adapts to Every User and Every Platform. HCI International 2005, Las Vegas, Nevada, USA, July, 2005. Volume 7 - Universal Access in HCI: Exploring New Interaction Environments.

• López-Jaquero, V., Fernández-Caballero, A., Montero, F., Molina, J.P., González, P. Towards Adaptive E-learning / E-teaching on the Web. International Conference on Technology-Enhanced Learning (TEL 2003). Procedings of International Conference on Technology-Enhanced Learning (TEL 2003). Milán, Italia, noviembre, 2003.

• González, P., Montero, F., López Jaquero, V., Fernández, A., Montañés, J., Sánchez, T. A Virtual Learning Environment for Short Age Children. IEEE International Conference on “Advanced Learning Technologies”, ICALT 2001. Proccedings of the IEEE International Conference on Advanced Learning Technologies, ICALT 2001, Okamoto, T., Hartley, R., Kinshuk, Klus, J. (eds.). IEEE Computer Society, Los Alamitos, CA., Agosto 2001, pp. 283-285. ISBN:0-7695-1013-2. Madison, USA, August 6-8, 2001.

Page 80: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 80

FINAL REMARKS Future work

– Collaborative adaptive user interfaces

– Adaptation in virtual environments

– Visual and intuitive graphical tools for adaptivity rules design

– Creating a corpus of adaptiviy rules big enough

– Porting the multi-agent system to a open source agent language like JADE.

– Adding user modelling techniques to make user model evolve automatically by inference.

– Make some more usability tests for adaptive user interfaces designed and executed by using our approach.

Page 81: October, 2005 (Albacete) 1 Adaptive User Interfaces Based on Models and Software Agents Víctor M. López Jaquero Escuela Politécnica Superior de Albacete

October, 2005 (Albacete) 81

Adaptive User Interfaces Based on Adaptive User Interfaces Based on Models and Software AgentsModels and Software Agents

Thanks for your attention

QUESTIONS & ANSWERS

Víctor M. López JaqueroVíctor M. López JaqueroEscuela Politécnica Superior de Albacete Departamento de Sistemas Informáticos

Universidad de Castilla-La Mancha

Campus Universitario, s/n.

02071 – Albacete (SPAIN)

Email: [email protected]