A global process for using model-driven approaches in user interface design Sybille Caffiau, Patrick Girard LISI / ENSMA Site du Futurosope – Téléport 2 86961 Futuroscop Chasseneuil Cédex – France {caffiaus, girard}@ensma.fr ABSTRACT • All considered research issues are concerned with In user interface design, model-driven approaches usually classical WIMP1 applications. The hierarchical use a generative solution, which has obvious limitations, structure of task models is used to build the interface especially for advanced user interfaces. Based on strong navigation scheme. We demonstrated in [4] that associations between task models and dialogue models, introducing non menu-based interactions implies a non- we propose a global process, which facilitates the design automatic transformation of the dialogue. of interactive applications conform to their models, with • Generating is not easy to include in iterative design the including of a rule-checking step. This process permits cycles such as HCI-adapted cycles. When changes are either to start from a task model or a user-defined required, it is necessary to modify the high-level prototype. In any case, it allows an iterative development, models, and to generate again a new skeleton, to be in line with user-centered design standards. improved again by hand-made add-ons. Some results have been obtained around the definition of “round-trip Author Keywords engineering” [6, 7], but were not applied to HCI. More, Task Model, Dialogue Model, Metamodel, Design this approach prevents the designers from starting from Method, Model-Driven Approach. the prototype, which method is often used in post- WIMP design. ACM Classification Keywords H5.2 [Information Interfaces and Presentation]: User Our aim is to introduce a new way to use models in user Interfaces, User-centered design; H.1.2 [Models and interface design. Leaning on meta-models of one task Principles]: User/Machine Systems. model and one dialogue model, we wrote equivalence rules between such models. Then, we defined a new INTRODUCTION development cycle that can be used in a user-centered Model-driven approaches have been promoted for years. iterative approach. Despite their great interest, they remain hard to use in the In this paper, the context of the used models is first context of user-centered design, especially when novel described. Then, an example of the meta-models is given, interaction techniques are expected. Thus, several and equivalence rules are presented. In the third part, the research works [1-3] used a generative approach to build proposed way to use these models in a development cycle user interfaces – mainly skeletons to be completed – from is outlined. task models. Following the analysis we made in [4], we can argue that this approach has several limitations: CONTEXT OF THE STUDY: THE MODELS • Generating requires the addition of information in order The starting point of our work is the analysis from [4]. to reach an operative stage of interfaces. This Whilst the generation appears to be too limitative, links information can be added to high-level models, which between task models and user interfaces seem obvious. then loose their original goal; so doing they become So, we decided to explore the possibility to establish hard to understand and to use, because of their multiple strong links between task model and other models, and to semantics (for example, adding presentation consider exploiting said links in software design methods. information to task models results in adding new For some reasons, which are external to our subject here, semantics to this model). The other way is to insert this we chose the K-MAD model [8] as our task model. information during the generating process. This second In our laboratory, we have been working for some time on approach is for example used in TERESA [5] by the dialogue models and formal approaches in HCI. We way of heuristics, which are applied during the process. introduced a software architecture model, H4, which was This however results in a lack of understanding of such transformations by users. 1 Windows, Icons, Menus and Pointers Pre-proceedings of the 5th International Workshop on Model Driven Development of Advanced User Interfaces (MDDAUI 2010): Bridging between User Experience and UI Engineering, organized at the 28th ACM Conference on Human Factors in Computing Systems (CHI 2010), Atlanta, Georgia, USA, April 10, 2010. Copyright © 2010 for the individual papers by the papers' authors. Copying permitted for private and academic purposes. Re-publication of material from this volume requires permission by the copyright owners. This volume is published by its editors. 33 first dedicated to computer-aided systems. Coupled with transitions. This allows to consider the dialogue at the that architectural model, we proposed a dialogue model, level of abstract level one wants. This is particularly the hierarchical interactors [9], and developed tools to important when post-WIMP interaction techniques are apply it [10]. Because of its hierarchical structure, the used. Hierarchical Interactor (HI) model appeared as the most suitable for our purpose. A previous study demonstrated the capacity to exploit these two models (K-MAD and HI) in HCI design [11]. Then, we defined the meta-model of these two models, which is published in [12]. We chose to use the EXPRESS language, an alternative to the OMG approach for meta-modeling. EXPRESS is a standard data modeling language for product data. It is formalized in the ISO Standard for the Exchange of Product model STEP (ISO 10303), and standardized as ISO 10303-112. It is supported by complete verification tools, and allows a full expression of constraints [13]. PRINCIPLES In this section, we give a short description of the K-MAD and HI models, and provide some examples of the meta-models. The K-MAD model The K-MAD model is a hierarchical model where tasks are decomposed in sub-tasks, with temporal operators describing the dynamics of the model. Figure 1: EXPRESS definition of the Task entity (partial) The description can be enhanced by the definition of objects and expressions (preconditions, post-conditions, Such as in advanced state machines, transitions may be and actions) to control the model dynamics more guarded by expressions, which involve variables. They precisely. The semantics of these different elements is also can trigger actions. Figure 2 (next page) illustrates a defined in details. transition meta-model. Associations between models Figure 1 illustrates a sample of the EXPRESS definition The general philosophy of our approach is to take of the central element of the model, the task. advantage of the hierarchical nature of the two models to establish strong associations between them. The Hierarchical Interactor (HI) model The HI model consists in a state machine model where the The task/transition association dialogue of the application is split into independent The first obvious association can be made between tasks automata. Transitions are activated by tokens that from the task model and transitions from the dialogue represent user inputs or automaton productions. model. This link has been largely used in the previous The hierarchical organization of the model allows the research works, but for us, the link is not a bijective link: automata to produce and consume tokens. The main because of the need for interaction facilities in advantages of this system are two-fold: applications, there can be more transitions than user tasks. • Automata are independent from each other. They can be The compound-task/automaton association removed or added independently, without any change to The structure of the dialogue model encourages others. considering each task decomposition as equivalent to a • Tokens are the key elements of the model. As they can specific automaton. The structure of the automaton must refer to both user entries and automaton productions, then be compatible with the dynamics described through they break the binding between user inputs and the temporal operator of the compound task. Again, the dialogue may be richer than the simple translation of the 2 temporal operator. Another consequence of this http://www.tc184-sc4.org/ association is the equivalence between tokens and 34 compound tasks: each compound task may be achieved by dialogue, or they can be used in verification to state that the way of an automaton that produces a token that stands two models are compatible. In that way, our work might for the task achievement. be compared to [14]. We describe in the next section the different usages of this duality. THE GLOBAL PROCESS In this section, we describe the global process we propose to utilize the model- driven approach we describe above. As previously claimed in the introduction, generating dialogue model from task models suffers from drawbacks; the most important of them is related to the iterative nature of user- centered approaches. When changes must be made in response to new or enhanced user needs, the generating process must be run again, and all hand- made changes in the interface are lost. We argue that, if a generation phase occurs, it must be restricted to a starting point; then, the process must be able to achieve without any further generation. The scenario schema we propose is as follows. Assuming we are able to design, edit and verify each of both task and dialogue model. Each of these phases will be called “X-editing phase” Figure 2: EXPRESS definition of the Transition entity thereafter. These phases may be realized independently from each other. Our model-driven approach consists in The object/variable and expression associations including these phases in a dynamic design process. Both task model and dialogue model use expressions, which manipulate objects/variables. This link is patent, Optionally, one can start by a “task-editing phase”, from but was not described in the previous works because the which a starting skeleton for the dialogue model can be used task model did not formally consider objects and derived (e.g. generated, but only once). Either kinds of expressions. rules, existence rules and semantic rules, can be used to produce this skeleton. Then, the next phase consists in Rules between models filling in the skeleton, in a “dialogue-editing phase”. Two kinds of rules can be established between the models Adding specific dialogue elements, the dialogue model [12], based on the previously defined associations. can be completed. The first kind of rules concerns the existence of logically During this step, the two models can be confronted for associated entities in both models. For example, are there detecting inconsistencies. By adding specific interaction one token and one automaton for each compound task? Or elements to the skeleton, the designer might have changed is there one transition in the dialogue model for each task the semantics of the model. in the task model? To reach this objective, the designer must associate the The second kind of rules relates to the semantics of the two models: some added dialogue entities might be models. Are the semantics of the expressions we can find related to task entities. in each model equivalent? Is the navigation, which is After analysis, depending on the result, different solutions allowed by the automata, consistent with the temporal can be applied: decomposition of the tasks? • Fail. The two models do not match. Some tasks are These rules can be exploited in two ways. They can be missing in the dialogue model. The dialogue model used in initial design to generate a skeleton of the 35 must be improved to take into account the whole task 3. Wolff, A. and P. Forbrig. Deriving User Interfaces model. from Task Models. in MDDAUI'09. 2009. Sanibel • Fail. The two models do not match. The dynamics of Island, USA: CEUR-WS. p. 4. the two models differ. The task model and/or the 4. Caffiau, S., et al. Generating Interactive Applications dialogue model must be modified. from Task Models: a Hard Challenge. in TAsk MOdels and DIAgrams (TAMODIA). 2007. Toulouse, • Success. The two models match. The system is now France: Springer Berlin/Heidelberg. p. 267-272. ready to being tested by users. 5. Berti, S., et al. TERESA: a transformation-based A user evaluation phase may result in new requirements, environment for designing and development multi- which may lead us to coming back to either dialogue or device interface. in Conference on Human Factors in task modeling, and resuming the loop. Computing Systems - CHI'04. 2004. Vienna, Austria: ACM NY. p. 793-794. Figure 3 is a Petri net diagram that represents the global 6. Hettel, T., M. Lawley, and K. Raymond. Model process. The process can start either from the Dialog- Synchronisation: Definitions for Round-Trip Editing Phase or the Task-Editing Phase. After rule Engineering. in Theory and Practice of Model checking, a failure results in redoing both Task and Transformations, ICMT 2008. 2008. Zürich, Dialogue Editing Phases. If problems are detected with Switzerland: Springer. p. 31-45. usage or interaction during user evaluation, the process 7. Sendall, S. and J. Küster, Taming Model Round-Trip must also be repeated. Engineering, in OOPSLA Workshop on Best Practices for Model Driven Software Development. 2004: Vancouver, Canada. 8. Lucquiaud, V. Proposition d'un noyau et d'une structure pour les modèles de tâches orientés utilisateurs. in 17th French-speacking conference on Human-computer interaction. 2005. Toulouse. p. 83- 90. 9. Depaulis, F., et al., Le modèle d'architecture logicielle H4 : Principes, usages, outils et retours d'expérience dans les applications de conception technique. Revue d'Interaction Homme-Machine, 2006. 7(1): p. 93-129. 10. Depaulis, F., S. Maiano, and G. Texier. DTS-Edit : an Interactive Development Environment for Structured Dialog Applications. in CADUI'02. 2002. Valenciennes (France): Kluwer Academics. p. 75-82. 11. Caffiau, S., et al., Hierarchical Structure: A Step for Jointly Designing Interactive Software Dialog and Task Model, in Human-Computer Interaction. Novel Interaction Methods and Techniques, Springer, Editor. Figure 3: The global process. 2009, Springer: Berlin. p. 664-673. CONCLUSION 12. Caffiau, S., Approche dirigée par les modèles pour la In this paper, we present a global process to use a model- conception et la validation des applications driven approach in user interface design. This process interactives : une démarche basée sur la modélisation uses rules that allow to check the validity of task models des tâches, in LIIS/ENSMA. 2009, Poitiers: Poitiers. and dialogue models. Moreover, this process is compliant p. 240. to user-centered approaches that promote iterative design. 13. Dehainsala, H., et al. Ingénierie dirigée par lesmodèles en EXPRESS : un exemple d’application. in IDM. REFERENCES 2005. 1. Mori, G., F. Paternò, and C. Santoro, Design and 14. Kavaldjian, S., et al. Transformations between Development of Multidevice User Interfaces through Specifications of Requirements and User Interfaces. in Multiple Logical Descriptions. IEEE Transactions on MDDAUI'09. 2009. Sanibel Island, USA: CEUR-WS. Software Engineering, 2004: p. 507-520. p. 4. 2. Luyten, K., et al. Derivation of a Dialog Model from a Task Model by Activity Chain Extraction. in DSV- IS'2003. 2003. Funchal, Madeira Island, Portugal: Springer-Verlag. p. 203-217. 36