Adaptive User Interfaces Based on Models and Software Agents 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: victor@info-ab.uclm.es Supervisors: Dr. Pascual González López Dr. Antonio Fernández Caballero October, 2005 (Albacete) 1 CONTENTS 1. 2. 3. 4. 5. October, 2005 (Albacete) Introduction State of Art in Adaptive User Interfaces Design AB-UIDE: A Method for Adaptive UIs Design A MAS Architecture for UI Adaptation Final Remarks 2 CONTENTS 1. Introduction 1. Motivation 2. Objectives 2. 3. 4. 5. October, 2005 (Albacete) State of Art in Adaptive User Interfaces Design AB-UIDE: A Method for Adaptive UIs Design A MAS Architecture for UI Adaptation Final Remarks 3 MOTIVATION Interaction is changing, and it will keep on changing ... Different Platforms Macintosh Wintel October, 2005 (Albacete) Different Capabilities PDA Different Contexts Different Users In the streets Expert users At Home Rookie users PC 4 MOTIVATION Interaction is changing, and it will keep on changing ... Different Platforms Macintosh Wintel Different Capabilities PDA Different Contexts Different Users In the streets Expert users At Home Rookie users PC There are different platforms October, 2005 (Albacete) 5 MOTIVATION Interaction is changing, and it will keep on changing ... Different Platforms Macintosh Wintel Different Capabilities PDA Different Environments Different Users In the streets Expert users At Home Rookie users PC They have different capabilities October, 2005 (Albacete) 6 MOTIVATION Interaction is changing, and it will keep on changing ... Different Platforms Macintosh Wintel Different Capabilities PDA Different Enviroments Different Users In the streets Expert users At Home Rookie users PC They are used in different environments October, 2005 (Albacete) 7 MOTIVATION Interaction is changing, and it will keep on changing ... Different Platforms Macintosh Wintel Different Capabilities PDA Different Environments Different Users In the streets Expert users At Home Rookie users PC They are used by different users October, 2005 (Albacete) 8 MOTIVATION Interaction is changing, and it will keep on changing ... Different Platforms Macintosh Wintel Different Capabilities PDA Different Environments Different Users In the streets Expert users At Home Rookie users PC We need to face designing user interfaces able to work under these different situations (adaptive user interfaces) October, 2005 (Albacete) 9 MOTIVATION 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 October, 2005 (Albacete) 10 MOTIVATION 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 October, 2005 (Albacete) 11 MOTIVATION 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 Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> <<extend>> Inquiry <<extend>> Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount October, 2005 (Albacete) • • • • 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 12 MOTIVATION 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 Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> <<extend>> Inquiry <<extend>> Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount October, 2005 (Albacete) • • • • 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 13 OBJECTIVES 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 October, 2005 (Albacete) 14 CONTENTS 1. Introduction 2. State of Art in Adaptive User Interfaces Design 1. 2. 3. 4. 5. User Interfaces Design Model-Based User Interfaces Design (MB-UID) Adaptation in MB-UID Adaptation process 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 October, 2005 (Albacete) 15 STATE OF ART User interfaces design approaches Hard and tedious programming task. Very low level of abstraction. – 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. October, 2005 (Albacete) 16 STATE OF ART User interfaces design approaches Hard to apply a methodological approach. Low level of abstraction. – 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. October, 2005 (Albacete) 17 STATE OF ART 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 Higher level of abstraction. Easier to maintain. allow the design of the user interface interactively by means of Automatic code generation. graphical tools (Borland Delphi, Borland JBuilder, Microsoft Methodological approach. Visual Basic, ...). – Model-based user interfaces development environments: they allow the specification of user interfaces out of a set of declarative models. October, 2005 (Albacete) 18 STATE OF ART 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. October, 2005 (Albacete) 19 STATE OF ART 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 October, 2005 (Albacete) 20 STATE OF ART Adaptation process Adaptation process can be fired by either the user (adaptability) or the system (adaptivity). Initiative stage Detect Platform Changes Detect User Changes Detect User’s Goals Detect User’s Needs Detect Environment Changes Proposal for Adaptation Proposal stage Select Adaptation Decision stage Execute Adaptation October, 2005 (Albacete) User initiated adaptation Execution stage 21 STATE OF ART Adaptation process Adaptation process can be fired by either the user (adaptability) or the system (adaptivity). Initiative stage Detect Platform Changes Detect User Changes Detect User’s Goals Detect User’s Needs Detect Environment Changes Proposal for Adaptation Proposal stage Select Adaptation Decision stage Execute Adaptation October, 2005 (Albacete) User initiated adaptation Execution stage 22 STATE OF ART Adaptation process Propose feasible adaptations given the current situation Detect Platform Changes and state of interaction. Detect User Changes Initiative stage Detect User’s Goals Detect User’s Needs Detect Environment Changes Proposal for Adaptation Proposal stage Select Adaptation Decision stage Execute Adaptation October, 2005 (Albacete) User initiated adaptation Execution stage 23 STATE OF ART Adaptation process Select the best adaptations among the proposed Detect Platform Changes adaptations. Detect User Changes Initiative stage Detect User’s Goals Detect User’s Needs Detect Environment Changes Proposal for Adaptation Proposal stage Select Adaptation Decision stage Execute Adaptation October, 2005 (Albacete) User initiated adaptation Execution stage 24 STATE OF ART Adaptation process Initiative stage Detect Platform Changes Detect User Changes Execute the selected adaptations. Detect User’s Goals Detect User’s Needs Detect Environment Changes Proposal for Adaptation Proposal stage Select Adaptation Decision stage Execute Adaptation October, 2005 (Albacete) User initiated adaptation Execution stage 25 STATE OF ART The process requires reasoning about which adaptation to fire, choose the best adaptations, .... Adaptation process Multi-agent systems Initiative stage Detect Platform Changes Detect User Changes Detect User’s Goals Detect User’s Needs Detect Environment Changes Proposal for Adaptation Proposal stage Select Adaptation Decision stage Execute Adaptation October, 2005 (Albacete) User initiated adaptation Execution stage 26 STATE OF ART Software agents in user interfaces – Interface agents dwell in the user interface to improve user’s interaction experience. Our agents use BDI mental model. BDI model is a natural manner to deal with the required decision mechanism to execute adaptive UIs. October, 2005 (Albacete) 27 STATE OF ART Software agents in user interfaces – The design of multi-agent systems require new methodological approches: We used Oriented Prometheus/because: • Extensions of Object Knowledge • It supports the whole software life cycle. Engineering methods and techniques • Widely used. – – – – – – – – – October, 2005 (Albacete) • It provides a visual design tool. Tropos • Code generation for JACK and JADE. Gaia AUML OASIS Prometheus Desire MAS-CommonKADS INGENIAS ... 28 CONTENTS 1. Introduction 2. State of Art in Adaptive User Interfaces Design 3. AB-UIDE: A Method for Adaptive UIs Design 1. 2. 3. 4. 5. A Study Case: ATM UI Requirements Analysis stage Analysis stage Design stage Implementation stage 4. A MAS Architecture for UI Adaptation 5. Final Remarks October, 2005 (Albacete) 29 AB-UIDE: A Method for Adaptative UIs Design 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. Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount October, 2005 (Albacete) – 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. 30 AB-UIDE: A Method for Adaptative UIs Design AB-UIDE stages: REQUIREMENTS Platform Model Caso 1 User model Environment Model Actor 2 Actor Caso 2 Use Case Model ANALYSIS role 1 class 1 role 2 class 2 role 3 class 3 Roles Diagram Domain model Adaptation usability trade-off Deposit Logout <<extend>> <<extend>> DESIGN <<extend>> Withdraw <<extend>> Bank Customer Transfer Login Task model <<extend>> <<extend>> uses (task and actions temporal relationships) <<extend>> Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance class 2 class 1 presented as class 3 CUI AUI AIO CIO AIO AIO CIO CIO Interaction objects Adaptivity rules start error IMPLEMENTATION <<action>> InvalidAmount <window> <button> .... <window> October, 2005 (Albacete) Agent programming language XML UI specification Adaptation engine User interface 31 AB-UIDE: A Method for Adaptative UIs Design A study case: ATM UI – ATM UI is a user interface for an automatic teller machine, where the user can: • • • • • • Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance Withdraw money Make a deposit Transfer money Recharge a cell phone Get the account statement Change the preferences for the application start error <<action>> InvalidAmount October, 2005 (Albacete) – The user interface should be able to run on different platforms (bank platform and mobile platform). 32 AB-UIDE: A Method for Adaptative UIs Design Requirements analysis stage – Use case model Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw • Use case sequence diagram : Bank Customer : System 1: Logout <<extend>> Transfer Login Bank Customer 2: Logout OK <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences – “Static” context of use model • User • Platform • Environment Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> Task name Login Description The user logs into the system providing a login and a password. Type Abstract Frecuency High Precondition NULL Postcondition Participant.checkLogin() Presentation FreeContainer Action name Input Login Description The user types in the login. Type Input Frecuency High <<extend>> <<extend>> Inquiry Precondition NULL Postcondition Participant.login!=“” Action name Input Password Description The user types in the password for the login. Type Input Frecuency High Precondition Participant.login!=“” Postcondition Participant.Password!=“” Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount October, 2005 (Albacete) 33 AB-UIDE: A Method for Adaptative UIs Design Requirements analysis stage – Use case model Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw Deposit Logout <<extend>> <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> Bank Customer <<extend>> <<extend>> Inquiry Transfer Login Recharge cell phone Change preferences <<extend>> <<action>> Enter amount start <<action>> Show balance start <<extend>> error <<action>> InvalidAmount <<extend>> Inquiry Recharge cell phone Change preferences October, 2005 (Albacete) 34 AB-UIDE: A Method for Adaptative UIs Design Requirements analysis stage – Use case model • Use case sequence diagram : Bank Customer : System 1: Deposit 2: Show balance 3: Withdraw 4: Show balance : Bank Customer : System 1: Login 5: Transfer 2: Login OK 6: Show transfer info Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login 3: Perform operation <<extend>> 7: Inquiry <<extend>> <<extend>> 8: Show info Inquiry Recharge cell phone Change preferences 9: Recharge cell phone <<action>> Enter amount start <<action>> Show balance start 10: Show recharge info error <<action>> 11: Change preferences InvalidAmount 12: Show preferences 13: Logout 14: Logout OK October, 2005 (Albacete) 35 AB-UIDE: A Method for Adaptative UIs Design Requirements analysis stage – “Static” context of use model • User • Platform • Environment Platform Bank ATM User Customer platformId 0025P platformName BankATM Deposit Logout <<extend>> <<extend>> Platform PDA userId 0025U platformId 0026P userName BankCustomer platformName PDA01 <<extend>> Withdraw isColorCapable true <<extend>> Bank Customer Transfer Login Font Arial isColorCapable true <<extend>> isImageCapable true <<extend>> <<extend>> Inquiry Recharge cell phone FontColor Black screenSize 400x350 Change preferences <<action>> Enter amount start <<action>> Show balance isImageCapable true Modality Graphical screenSize 220x144 start error <<action>> InvalidAmount Environment Bank Environment Street environmentId 0028E environmentId 0029E environmentName BankOffice lightingLevel low isNoisy false October, 2005 (Albacete) environmentName InTheStreets lightingLevel average isNoisy true 36 AB-UIDE: A Method for Adaptative UIs Design Analysis stage – Domain model role 1 – Roles model role 2 role 3 Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> <<extend>> <<extend>> – Usability trade-off Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount October, 2005 (Albacete) 37 AB-UIDE: A Method for Adaptative UIs Design Analysis stage – Domain model Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount October, 2005 (Albacete) 38 AB-UIDE: A Method for Adaptative UIs Design Analysis stage – Roles model BankCustomer Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login MyBankCustomer <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount October, 2005 (Albacete) 39 AB-UIDE: A Method for Adaptative UIs Design Analysis stage – Usability trade-off Usability criteria to be preserved. Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount October, 2005 (Albacete) BANK ATM PDA Weight of the criterium in the usability trade-off. 40 AB-UIDE: A Method for Adaptative UIs Design Design stage – Adaptivity rules Watch speedometer Watch RPM – Task model Watch Oil Temperature Watch lighting indicators Watch system messages – Interaction objects specification Deposit Logout <<extend>> <<extend>> AIO <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> AIO AIO – Abstract User Interface (AUI) <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount – Concrete User Interface (CUI) CIO CIO CIO Connector model October, 2005 (Albacete) 41 AB-UIDE: A Method for Adaptative UIs Design Design stage Transitions are labelled to specify the dialog. – Task model end Deposit Logout start Login ( 1,* ) start Perform operation <<extend>> <<extend>> <<extend>> Withdraw Deposit Logout <<extend>> <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> Inquiry Transfer Login Bank Customer <<extend>> <<extend>> Recharge cell phone : Bank Customer : System 1: Login Change preferences <<extend>> <<action>> Enter amount start <<action>> Show balance start 2: Login OK <<extend>> error <<action>> <<extend>> Inquiry 3: Perform operation InvalidAmount Recharge cell phone Change preferences October, 2005 (Albacete) 42 AB-UIDE: A Method for Adaptative UIs Design Design stage Actions and tasks – temporal relationships are described by using LOTOS operators (as defined in CTT). end Task model start Login ( 1,* ) start Perform operation Deposit <<action>> Enter login/card Withdraw <<action>> Enter pin Transfer Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login Statement <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone <<action>> Change preferences Tasks and actions are described specifying a set of properties to help on UI generation. <<action>> Enter amount start <<action>> Show balance start Enter amount start <<action>> Show balance start Recharge cell phone error <<action>> InvalidAmount error <<action>> Change preferences InvalidAmount Logout October, 2005 (Albacete) 43 AB-UIDE: A Method for Adaptative UIs Design Design stage – Interaction objects specification <<action>> Enter login/card Login <<action>> Enter pin (1,1) Deposit Logout <<extend>> Pin <<extend>> <<extend>> Withdraw Name Login Type String <<extend>> Bank Customer Transfer Login (1,1) <<extend>> <<extend>> <<extend>> Initial value Inquiry Recharge cell phone “” Change preferences <<action>> Enter amount start <<action>> Show balance start error Name Pin <<action>> InvalidAmount Type String Initial value Password October, 2005 (Albacete) “” true 44 AB-UIDE: A Method for Adaptative UIs Design Design stage – Abstract User Interface (AUI) The AIOs are grouped in containers, that help on deciding a good final layout for the UI elements. <<action>> AUI consists of AIOs: Inputters, Displayers, Editors, ActionInvokers and Selectors. Enter login/card Login <<action>> (1,1) Enter pin Deposit Logout <<extend>> <<extend>> Pin <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> (1,1) <<extend>> <<extend>> Inquiry FreeContainer Login Login Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start Login error <<action>> InvalidAmount Pin OK October, 2005 (Albacete) 45 AB-UIDE: A Method for Adaptative UIs Design Design stage – Concrete User Interface (CUI) FreeContainer Login CUI consists of CIOs. CIOs are derived from AIOs and Interaction Objects. Login Login Pin OK Deposit Logout <<extend>> <<extend>> Withdraw <<extend>> Transfer Login <<extend>> <<extend>> <<extend>> box Login textComponent textComponent textComponent textComponent Name=“loginLabel” isEditable=false defaultContent=“Login” <<extend>> Bank Customer Window Login Name=“Login” isEditable=true defaultContent=“” Inquiry Recharge cell phone Change preferences <<action>> Enter amount error <<action>> InvalidAmount start <<action>> Show balance start Events represent the behaviour of the system. October, 2005 (Albacete) Name=“pinLabel” isEditable=false defaultContent=“Pin” button Name=“OK” Name=“Pin” isEditable=true defaultContent=“” Event Name = “event010” postcondition Name=“postcondition004” device=“mouse” eventType=“OnClick” expression=“Customer.checkLogin()” 46 AB-UIDE: A Method for Adaptative UIs Design Design stage – Conectors model Graphical relationship. • Automatically generated Mapping between CUI and AUI. Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount Mapping between AUI and Domain model. October, 2005 (Albacete) 47 AB-UIDE: A Method for Adaptative UIs Design Design stage Sensors model the information captured from the context of use. – Adaptivity Rules Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount October, 2005 (Albacete) 48 AB-UIDE: A Method for Adaptative UIs Design Design stage Context events are produced by one or several sensors. They trigger adaptivity rules. – Adaptivity Rules Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount October, 2005 (Albacete) 49 AB-UIDE: A Method for Adaptative UIs Design Design stage – Adaptivity 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. Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount October, 2005 (Albacete) 50 AB-UIDE: A Method for Adaptative UIs Design Design stage – Adaptivity Rules SENSOR <softwarePlatformSensor id="SPS001" name="screenResolutionPlatformSensor" dataName="/contextInfo/platformInfo/hardwarePlatform/screenResolution" dataType="_2x2_" description="Senses whenever screen resolution changes."/> CONTEXT EVENT <softwarePlatformSensor id="SPS001" name="screenResolutionPlatformSensor" dataName="/contextInfo/platformInfo/hardwarePlatform/screenResolution" dataType="_2x2_" description="Senses whenever screen resolution changes."/> ADAPTIVITY RULE <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> Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer Transfer Login <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences radioGroupsOrientationChange <<action>> Enter amount start <<action>> Show balance start error Parte izquierda (LHS) <<action>> InvalidAmount Parte derecha (RHS) </transformation> </adaptationRule> October, 2005 (Albacete) 51 AB-UIDE: A Method for Adaptative UIs Design 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 Deposit Logout <<extend>> <<extend>> <<extend>> Withdraw <<extend>> Bank Customer – Adaption engine Transfer Login <<extend>> <<extend>> <<extend>> Inquiry Recharge cell phone Change preferences <<action>> Enter amount start <<action>> Show balance start error <<action>> InvalidAmount October, 2005 (Albacete) • 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 52 CONTENTS 1. 2. 3. 4. Introduction State of Art in Adaptive User Interfaces Design AB-UIDE: A Method for Adaptive UIs Design A MAS Architecture for UI Adaptation 1. 2. 3. 4. 5. Initiative stage Proposal stage Decision stage Execution stage Implementing the MAS architecture 5. Final Remarks October, 2005 (Albacete) 53 A MAS ARCHITECTURE FOR UI ADAPTATION ::= Context Adaptivity rules Usability trade-off Platform Environment Current UI Multi-Agent System User Task October, 2005 (Albacete) Adapted UI 54 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. October, 2005 (Albacete) 55 A MAS ARCHITECTURE DispatcherAgent and AgentContextOfUse sense the context of use by means of the designed sensors. FOR UI ADAPTATION Multi-agent system overview October, 2005 (Albacete) 56 A MAS ARCHITECTURE FOR UI ADAPTATION Multi-agent system overview AgentContextPlatform, AgentContexUser and AgentContextEnvironment process the incoming data and produce the context events. October, 2005 (Albacete) 57 A MAS ARCHITECTURE FOR UI ADAPTATION The MAS uses all the Multi-agent system overview knowledge about the UI collected at design time. AgentAdaptationProcess proposes the plausible adaptations, selects the best ones and executes them. October, 2005 (Albacete) 58 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 October, 2005 (Albacete) 59 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. Adaptivity rules – 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. October, 2005 (Albacete) 60 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 October, 2005 (Albacete) 61 A MAS ARCHITECTURE FOR UI ADAPTATION 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. User’s mental effort required to resume the task that was carrying out before adaptation took place. Migration cost Discontinuity Physical effort Cognitive load Cognitive effort Preferences Conative effort October, 2005 (Albacete) 62 A MAS ARCHITECTURE FOR UI ADAPTATION Decision stage – Migration cost: represents the physical, cognitive and conative effort the user needs to apply in order Amount of information the user to migrate from one context to another. needs to understand to perform the tasks using the adapted user interface. Migration cost Discontinuity Physical effort Cognitive load Cognitive effort Preferences Conative effort October, 2005 (Albacete) 63 A MAS ARCHITECTURE FOR UI ADAPTATION Decision stage – They are assessed by means of based on the empirical Migration cost: represents metrics the physical, cognitive results from GOMS-based and conative effort the user(Goals, needs to apply in order Operators, Methods, Selection rules) evaluations. to migrate from one context to another. Migration cost Discontinuity Physical effort Cognitive load Cognitive effort Preferences Conative effort October, 2005 (Albacete) 64 A MAS ARCHITECTURE FOR UI ADAPTATION 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. Migration cost Preferences modify the other two parameters evaluation. Discontinuity Physical effort Cognitive load Cognitive effort Preferences Conative effort October, 2005 (Albacete) 65 A MAS ARCHITECTURE FOR UI ADAPTATION Decision stage – Adaptation benefit: represents how good an adaptation will be for the user in the new context. When a context of use situation is often found, the cost should be reduced since it will allow dealing with common situations. Adaptation benefit Context frequency User Feedback The adaptations can be rejected by the user. The more times the user rejects an adaptation the less likely that adaptation will be. October, 2005 (Albacete) 66 A MAS ARCHITECTURE FOR UI ADAPTATION 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). 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 | S ) * P( S ) P( S | R) P( R) P(S|R) represents the probability that when R is applicable, R is choosed. October, 2005 (Albacete) P(R) represents the probability of R. 67 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 October, 2005 (Albacete) 68 A MAS ARCHITECTURE FOR UI ADAPTATION Execution stage Translate the UI graph representation into usiXML syntax. Translate the XML specification into a graph representation. Apply the graph grammar transformations on the UI graph representation. October, 2005 (Albacete) Render the usiXML specification for the target platform. 69 CONTENTS 1. 2. 3. 4. 5. Introduction State of Art in Adaptive User Interfaces Design AB-UIDE: A Method for Adaptive UIs Design A MAS Architecture for UI Adaptation Final Remarks 1. Conclusions 2. Contributions 3. Future work October, 2005 (Albacete) 70 FINAL REMARKS Conclusions & Outcomes – An adaptive UI design method (AB-UIDE) – Adaptive user interfaces execution October, 2005 (Albacete) 71 FINAL REMARKS 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 October, 2005 (Albacete) 72 FINAL REMARKS 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. October, 2005 (Albacete) 73 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). October, 2005 (Albacete) 74 FINAL REMARKS Contributions – Topics • Adaptive user interfaces development related papers • Multi-agent systems related papers • Study cases related papers October, 2005 (Albacete) 75 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. 97103. 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. October, 2005 (Albacete) 76 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). October, 2005 (Albacete) 77 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 PersonaOrdenador: 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. October, 2005 (Albacete) 78 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 Elearning / 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. October, 2005 (Albacete) 79 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. October, 2005 (Albacete) 80 QUESTIONS & ANSWERS Adaptive User Interfaces Based on Models and Software Agents 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: victor@info-ab.uclm.es Thanks for your attention October, 2005 (Albacete) 81