Elizabeth Furtado, Vasco Furtado, Kênia Sousa, Jean Vanderdonckt, Quentin Limbourg KnowiXML: A Knowledge-Based System Generating Multiple Abstract User Interfaces in USIXML
Presentation Plan Hypothesis Problematic Objectives Solution USIXML UPi IKnowU Conclusion
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.
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;
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.
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.
USIXML Limbourg et al., 2004
Abstract x Concrete x Final UI
IKnowU Functionality
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.
IKnowU Components
Automation of UIs Generation
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
Ontology of the UI Models
Mapping of Patterns Abstract UIConcrete UIFinal UI PatternsUsability Requirements Usability Patterns Architectural Patterns Example 1FeedbackProgress Indicator Feedbacker.class Example 2User Explicit Control UndoUndoer.class
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
Automation of UIs Generation
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.
Definition of Usability Requirements Preferences: Provide help; Constraints: Provide help only when requested. Fix: Change automatic help to requested help. Usability Requirements
Flow of Events
Task Model
Context of Use Model
Domain Model
Automation of UIs Generation
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 Abstract Object Context Constraints-Abstract UI Instanciated Models Component ANALYSIS Container Task Domain Solution
Generation of the Abstract UI Requirements Preferences Constraints Fixes Solution Constraints-Abstract UI Component Container
Abstract UI
Automation of UIs Generation
Generation of the Concrete and Final UI Abstract UI Component Container Concrete UI Platform Final UI Prog. Language TransformiXML Solution
Concrete UI
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.
+ Elizabeth Furtado, Vasco Furtado, Kênia Sousa, Jean Vanderdonckt, Quentin Limbourg