KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

38
Elizabeth Furtado, Vasco Furtado, Kênia Sousa, Jean Vanderdonckt, Quentin Limbourg KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in USIXML

description

This research presents a multidisciplinary approach aimed at generating multiple Abstract User Interfaces (AUIs), which are adaptable for different kinds of users, performing different tasks, using specific devices in various physical environments. The user interface generation framework, called IKnowU, is based on a unified process for interactive system design, which integrates Software Engineering (SE), and Human-Computer Interaction (HCI) best practices. This framework is supported by KnowiXML, a Knowledge-Based System (KBS) that facilitates the application of models and the allocation of appropriate visual elements during the generation of AUIs. These AUIs are generated by using problem solving methods studied in Artificial Intelligence (AI). Design knowledge encoded in KnowiXML uniformly manipulates models and UI specifications through the use of USIXML, a User Interface Description Language (UIDL).

Transcript of KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Page 1: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Elizabeth Furtado, Vasco Furtado, Kênia Sousa, Jean Vanderdonckt,

Quentin Limbourg

KnowiXML: A Knowledge-Based System Generating

Multiple Abstract User Interfaces in USIXML

Page 2: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Presentation Plan

Hypothesis Problematic Objectives Solution USIXML UPi IKnowU Conclusion

Page 3: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Hypothesis Many SW organizations apply or intend to apply the

Rational Unified Process (RUP) ; Businesses in many organizations demand the use of

systems in different contexts of use; The generation of UIs for multiple contexts of use

needs the integration of SE models, practices, and techniques (functionality adequate to requirements) and HCI ones (usability);

SE and HCI professionals need the integration of concepts from these areas to facilitate the communication among them during the application of usability techniques.

Page 4: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Problematic The RUP does not use HCI models and

techniques; Difficulty in designing UIs considering

various parameters; Lack of tools that:

Automate UI design; Integrate HCI and SE concepts;

Page 5: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Objectives

Define a process that facilitates the integration of SE and HCI models and techniques for the generation of UIs for multiple contexts of use;

Define a tool that facilitates the generation of UIs for multiple contexts of use with the application of SE and HCI integrated concepts.

Page 6: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Solution

UPi, Unified Process for interactive systems that integrates SE and HCI models, techniques, and professionals, considering different contexts of use (Sousa and Furtado, 2004);

IKnowU, software for requirements elicitation, analysis, design, and generation of UIs for multiple contexts of using USIXML.

Page 7: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

USIXML

Limbourg et al., 2004

Page 8: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML
Page 9: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Abstract x Concrete x Final UI

Page 10: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

IKnowU Functionality

Page 11: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

IKnowU Components

The ontologies for each conceptual model are defined using an ontology editor (Protégé).

The conceptual models can be instantiated using Protégé or any other modeling tool (such as ROSE, CTTE).

The KBS implements a Problem-Solving Method (PSM) used to generate AUIs based on information from the conceptual models.

Page 12: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

IKnowU Components

Page 13: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Automation of UIs Generation

Page 14: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Automation of UIs Generation

Page 15: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML
Page 16: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Definition f the ontology of the models; Creation of the usability requirements knowledge

base; Creation of the usability patterns knowledge base; Creation of the architectural patterns knowledge base; Creation of the transformation rules knowledge base; Creation of the mappings among models knowledge

base.

Knowledge Base Creation

Page 17: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Ontology of the UI ModelsConstraint

ContextModel

Usabil ityRequirement

1

1..n

1

1..n

TaskModelUseCaseModel

1

n

1

n

DomainModelRule

AuiModel

1

1..n

1

1..n

11..n 11..n

1

1..n

1

1..n

1

1..n

1

1..n

1

1..n

1

1..n

1

1..n

1

1..n

Usabili tyPattern

CuiModel1

1..n

1

1..n

1..n1 1..n11

1..n1..n

1

ArchitecturalPattern

FuiModel1

1..n

1

1..n

1..n1 1..n11

1..n1..n

1

Page 18: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Mapping of Patterns

Abstract UI Concrete UI Final UI

Patterns Usability Requirements

Usability Patterns

Architectural Patterns

Example 1 Feedback Progress Indicator

Feedbacker.class

Example 2 User Explicit Control

Undo Undoer.class

Page 19: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

If the type of the task is ‘interactive’ and the domain model associated to this task has attributes that are mandatory, then use the ‘output’ abstract individual component.

If the binary relationship of a task is ‘enabling’, then use the ‘navigation’ abstract individual component.

If the type of the task is ‘interactive’ and the domain model associated to this task has methods, then use the ‘control’ abstract individual component.

Transformation Rules

Page 20: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Automation of UIs Generation

Page 21: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

When the analyst is experienced in SE, he/she can prepare the flow of events, when experienced in HCI, he/she can prepare the task model using Protégé. Afterwards, he/she can define the usability requirements and the context of use model with the end-user using Protégé. All of these models are input for the generation of the AUI.

Page 22: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Definition of Usability Requirements• Preferences: Provide help;• Constraints: Provide help only when requested.• Fix: Change automatic help to requested help.

Usability Requirements

Page 23: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Flow of Events

Page 24: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Task Model

Page 25: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Task Model

Page 26: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Context of Use Model

Page 27: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Domain Model

Page 28: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Automation of UIs Generation

Page 29: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML
Page 30: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Creation of Constraints for the Abstract UI– Rule: If the type of the task is ‘interactive’ and the domain model

associated to this task has attributes that are mandatory, then use the ‘output’ abstract individual component. .

– Constraint: The AUI must have 3 ‘output’ abstract individual components.

Rules

AbstractObject

Context

Constraints-Abstract UI

InstanciatedModels

ComponentANALYSIS

ContainerTask

Domain

Solution

Page 31: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Generation of the Abstract UI

Requirements

Preferences

ConstraintsFixes

Solution

Constraints-Abstract UI

Component

Container

Page 32: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Abstract UI

Page 33: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Automation of UIs Generation

Page 34: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML
Page 35: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Generation of the Concrete and Final UI

Abstract UI

Component

Container

Concrete UI

Platform

Final UI

Prog. Language

TransformiXML

Solution

Page 36: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Concrete UI

Page 37: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

Conclusion

Our goals are to: Save design and development time by automating

the generation of UI models and assure consistency among different platforms with the application of such models;

Provide an open-source tool, based on XML, that can be integrated with other tools (such as CTTE) to help in the integration of SE and HCI concepts and facilitate the communication among professionals from these two areas.

Page 38: KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in UsiXML

+

Elizabeth Furtado, Vasco Furtado, Kênia Sousa, Jean Vanderdonckt,

Quentin Limbourg