Udit – A Graphical Editor For Task Models Gerrit Meixner Marc Seissler Marcel Nahler German Research Center for Artificial University of Kaiserslautern University of Applied Sciences Trier Intelligence (DFKI) Gottlieb-Daimler Str. Schneiderhof Trippstadter Str. 122 D-67663 Kaiserslautern D-54293 Trier D-67663 Kaiserslautern +49 631 205-3707 seissler@rhrk.uni-kl.de nahlerm@fh-trier.de Gerrit.Meixner@dfki.de ABSTRACT user-centric model-based development process is the task model Nowadays, the commercial success of an electronic device [6]. Task models—developed during a user and use context significantly depends on its usability. The demand for devices analysis—are explicit representations of all user tasks [9]. Over with intuitively usable interfaces is growing. This enforces the last years, various task-oriented modeling languages for developers to use user-centered development processes to designing user interfaces have been introduced. One of the main guarantee a high usability for their product. The Useware Markup purposes of a task model in MBUID is to automatically generate Language (useML) 2.0 is a user-centered task-oriented modeling user interfaces for different modalities and platforms. Due to this language, which is used in the Useware-Engineering process for automatic generation, the development process must be improved developing intelligent user interfaces. With version 2.0 some by developing and using software tools regarding development major changes have been made to increase the expressiveness of time and usability. useML, i.e. with adding temporal operators the language has been Section 2 describes the improvement of the Useware Markup equipped for semi-automatic dialog model generation. To support Language 2.0. To support developers’, section 3 introduces a developers, an intuitively, graphical useML-Editor has been graphical useML-Editor. In section 4 we give a first review about developed. This paper introduces the changes in useML 2.0, the our current transformation process for deriving dialog models useML-Editor and in part the transformation processes for from use models and in section 5 we conclude and give further deriving the dialog model from the use model. outlooks. Categories and Subject Descriptors 2. USEWARE MARKUP LANGUAGE 2.0 H5.2 [Information Interfaces and Presentation]: User While the basic structure of use models has not been changed Interfaces, User-centered design; H.1.2 [Models and Principles]: since [8], certain enhancements have been incorporated into User/Machine Systems useML 2.0, which was originally developed in its first version for the definition of use structure of user interfaces in the field of General Terms production environments. According to [1], the use model must Design, Human Factors differentiate between interactive user tasks (performed via the user interface) and pure system tasks requiring no active Keywords intervention by the user. System tasks encapsulate tasks that are Model-Based User Interface Development, MBUID, Usability, fulfilled solely by the system which, however, does not imply that useML 2.0, Graphical Task-Model Editor, Udit no user interface must be presented, because the user might decide, for example, to abort the system task, or request 1. INTRODUCTION information about the status of the system. Interactive tasks The improvement of human-machine-interaction is an important usually require the user(s) to actively operate the system, but still, field of research reaching far back into the past. Yet, for almost there can be tasks that do not have to be fulfilled or may be two decades, Graphical User Interfaces (GUI’s) have dominated tackled only under certain conditions. In any case, however, their interaction in most cases. In the future, a broader range of interactive tasks are usually connected to system tasks and the paradigms will emerge, allowing for multi-modal interaction underlying application logic, which has been addressed recently incorporating, for example, visual, acoustic and haptic input and by the newly introduced differentiation of user tasks and system output in parallel [15]. But also the growing number of tasks in useML 2.0. heterogeneous platforms and devices utilized complementarily— such as PC’s, smartphones, PDA’s etc.—demands for the To specify that a certain task is optional, the semantics of use development of congeneric user interfaces for a plethora of target objects and elementary use objects has been enhanced to reflect platforms; their consistency ensures their intuitive use and their their importance. Their respective user actions can now be marked users’ satisfaction [5]. as “optional”, “recommended”, or “required”. To meet the consistency requirement, factors such as reusability, Similarly, only useML 2.0 is able to attribute cardinalities to use flexibility, and platform-independence play an important role for objects and elementary use objects. These cardinalities can the development of user interfaces. Further, the perseverative specify minimum and maximum frequencies of utilization, development effort for every single platform, single device or ranging from 0 for optional tasks to ∞. Further, respective logical even single use context solution is way too high, so that a model- and/or temporal conditions can now be specified, as well as based approach for the (abstract) development of user interfaces invariants that must be fulfilled at any time during the execution (MBUID) appears to be favourable [11]. The pivotal model of a (processing) of a task. Invariants are especially needed for CEUR ceur-ws.org Workshop ISSN 1613-0073 Proceedings defining security aspects, e.g. during interaction with industrial ensures, that saved projects are valid to the useML 2.0- robots. specification. Consequently, temporal operators (see Fig. 1) have been added to useML, which is the most important and most comprehensive enhancement in version 2.0. Figure 1: The enhanced useML 2.0 Figure 2: Screenshot of the graphical useML Editor These operators allow for putting tasks within one hierarchical An integrated toolbar, located above the model-editor window level into certain temporal orders explicitly; implicitly, temporal (see Fig. 2), contains all essential functions for editing the operators applied onto neighboring levels of the hierarchical structure of use models. Additionally to the toolbar, a context- structure can form highly complex, temporal expressions. In order sensitive menu, which can be accessed via a right click, lists all to define the minimum number of temporal operators allowing for available functions, which can be performed on a selected object. the broadest range of applications, other task modeling languages’ If a new elementary use object is added to the use model, a temporal operators were analyzed and compared. Among others, window, for editing the elementary use objects properties, Tombola [13], XUAN [4] and CTT [10] were examined closely. automatically opens. This enables users to immediately set the Based on their temporal operators’ relevance and applicability in a elementary use objects information. A left double click on a use model-based development process, the following binary temporal model, use object or elementary use object opens the properties operators were selected for useML 2.0: window, too. To be ISO 9241-110 conforming, common  Choice (CHO): Exactly one of two tasks will be properties are identically arranged in the properties window, fulfilled. which enhances the suitability for learning. Object-dependent properties, are grouped together by topic and placed in own tabs.  Order Independence (IND): The two tasks can be Figure 3 shows the properties window for use objects. accomplished in any arbitrary order. However, when the first task has been started, the second one has to wait for the first one to be finalized or aborted.  Concurrency (CON): The two tasks can be accomplished in any arbitrary order, even parallel at the same time (i.e. concurrently).  Sequence (SEQ): The tasks must be accomplished in the given order. The second task must wait until the first one has been fulfilled. Since the unambiguous priority of these four temporal operators is crucial for the derivation of a dialog model from a use model, their priorities (i.e. order of temporal execution) have been Figure 3: Window for editing use object properties defined as follows (see also [5]): Choice > Order Independence > Concurrency > Sequence. Udit displays the use model as a tree structure from left to right (see Fig. 2). The tree root, which represents the use model, is 3. UDIT – THE USEML EDITOR always located at the left window side and colored black. The To improve the model-based development process, specialized direct successors of the root have to be, according to the useML tool support is required [1]. Therefore, a graphical useML-Editor specification, use objects. All siblings with same tree hierarchy (Udit), for editing useML 2.0-models, has been developed. Udit share a column in Udit. Use objects are always colored orange. supports the whole expressiveness of useML 2.0 and allows users Each use object can be the father of a random number of use to edit any model consistent to the useML 2.0-specification. objects or elementary use objects. The elementary use objects also have a unique color representation. All elementary use objects When starting a new useML-project, Udit creates a serialized which are interactive user tasks, like “Change”, “Release”, useML-file, and a project-specific attributions style sheet file. “Select” and “Enter” are colored green. “Inform”, which implies Regardless, if the project has been loaded or created, Udit always no direct user action is colored blue. To guarantee consistency of the information presentation, all use objects, elementary use process is currently under research. Since useML 2.0 is a task objects and the use model have the same graphical structure. Due modeling language it corresponds to the task & concepts layer of to the graphical representation of use models a better user the CAMELEON Reference-Framework [2]. According to this experience should be guaranteed. In general, an object consists of framework the task & concepts models can be transformed into an a header, and a white label for its name. The object header Abstract User Interface (AUI). consists of the abbreviated object-type and the unique object id, which is denoted in the upper right corner of the header. If the The AUI can further be decomposed into a presentation model multiple execution-attribute of the use object is set, the number of and dialog model. While the presentation model specifies the iterations is enclosed by two brackets, placed before the object- structure of Abstract Interaction Objects (AIOs) [14] the dialog type. An asterisk, illustrated by the right use object in Fig. 4, model is used for describing the interaction between the AIOs and represents infinite executions, which means, that the execution has the user [11]. The dialog model is also used to describe the to be aborted by the user. navigation between the presentation sets of the UI [5]. Both models facilitate a platform and modality independent description Temporal operators, which were introduced with useML 2.0 of a user interface. The challenge finding an appropriate mapping enable modeling temporal relationships between (elementary) use between abstract and concrete models is also known as “the objects, are displayed as thin, vertical arrows. The type of the mapping problem” [11]. temporal operator, Sequence (SEQ), Concurrency (CON), Choice (CHO) or Order Independence (IND) is also denoted with a label in the middle of the arrow. Complex projects tend to a flood of information, which have to be managed by the developers. But usually only a small cut-set of these information, are relevant for handling the current task. To support them in focusing on important parts of the model, Udit implements various features, which support developers to set the granularity of the displayed models’ information. Via expand nodes the children of each use object can be displayed or hidden. Figure 4: The three level of detail for use objects This feature allows hiding sub-tasks, which are independent from the current task, for example. Additionally, Udit supports three Our current mapping process is decomposed into the following different modes, for tailoring information of use objects. Figure 4 steps: depicts those three detail levels for a use object. From left to right: Task-user mappings: The task model can be tailored towards “Simple view”-, “Show attributions”- and “Show all”- specific requirements. Filters enable developers to create a dialog representation. For the next update of Udit it is proposed to model e.g. for a specific user group (Personalization) by removing implement filters. This feature would allow filtering all use tasks, which are not available on the target UI. Since filters can be objects, which are available for a certain user group, for example. specified for any type of assertion – e.g. user group –, the task Besides editing use models, Udit also has an integrated style model can be tailored in many different ways and is not limited to sheet-editor, which allows changing the project specific the user model. attributions style sheet. Those attributions are defined in a Task-dialog mappings: The task-dialog mapping is used to separate style sheet and can be adjusted to special project obtain the navigational structure of the task model [5]. This is requirements. The “user group” element for example is such an expressed by the structure and temporal relationships between the attribution, which might vary in different (industrial) projects and tasks. therefore has to be adjustable. After saving the style sheet, Our approach is based on Enabled Task Sets (ETSs), introduced developers can immediately use the new attribution values in the in [10]. An ETS is a set of tasks, which can be executed at the current project. same time. Different algorithms have been presented, like in [10] For international use, Udit implements a multilingual designed and [3], to calculate these ETSs. Both use a top-down approach to interface. The application language can be easily changed via a identify the tasks, which share the same ETS. To specify the simple language selection box, while the latest version of Udit is behavior, transitions are detected, which connect the ETSs with localized in German and English. Due to the .NET resource each other. Those transitions describe the “inter-window” manager, it is easy to add new languages, if they'll be demanded relations as stated in [5]. Since we are interested in a more in the future. Udit also supports exporting use models into various detailed dialog model, our approach could be considered as an image formats, or to print them. These exports can be used for “intra-window” [5] method, which describes the dialog within a documentation purposes or for structural system evaluation. “window”. This implies, that for each task in an ETS, a transition has to be generated, which is linked to another ETS. The linked In the current version, Udit fulfills most of the specified ETS represents the tasks that can be executed, after the requirements and is successfully used and tested in a large scale transitional task has been finished. industrial project. Because of ongoing research progress, Udit is Instead of separating the ETSs identification and finding the maintained to guarantee consistency to the useML specification corresponding transitions, we use an algorithm – influenced by the and to increase the usability of the tool itself. simulator algorithm of CTTE [7] – which integrates the detection of ETSs and transitions: 4. MODEL-MAPPING PROCESS First, the algorithm identifies the initial ETS. This is done In this section we want to give a first overview about our mapping traversing the task model top-down, using a function which approach from use models, specified with useML 2.0 into identifies the first tasks on each hierarchy, according to the Abstract User Interfaces (AUIs). The underlying transformation semantics of the temporal operators. This function can be compared to the “first”-function, used in [10], [3] and [5]. [2] Calvary, G.; Coutaz, J. and Thevenin, D. et al. 2003. A After the initial ETS has been identified, all tasks of the ETS are Unifying Reference Framework for multi-target user executed. When a task of an ETS is selected for execution, a new interfaces. In: Interacting with Computers, 15(3):289-308. simulation cycle starts. The algorithm checks, which tasks of the [3] Coninx, K.; Luyten, K. and Vandervelpen, C. et al. 2003. task model have been executed – those are labeled “finished” – Dygimes: Dynamically Generating Interfaces for Mobile and which still can be executed. The tasks, which can be executed Computing Devices and Embedded Systems. In: Proc. of the next – according to the temporal operators –, are grouped together 5th International Symposium on Human-Computer within a new ETS. Then a new transition is created, labeled with Interaction with Mobile Devices and Services, 256-270. the executed task, and linked to the new ETS. The last step is, to label the executed task as “finished”. This [4] Gray, P., England, D. and McGowan, S. 1994. XUAN: process is repeated, until all tasks of any ETS are executed, which Enhancing UAN to capture temporal relationships among implies that the root task of the task model is marked as actions. Proc. of the Conference on People and Computers “finished”. The whole dialog model can therefore be derived from IX, Cambridge University Press, 301-312. the task model by generating all possible simulation traces. After [5] Luyten, K. 2004. Dynamic User Interface Generation for the dialog model has been generated, it can be used to simulate Mobile and Embedded Systems with Model-Based User the dynamical aspects of the task model, within a simulator. Interface Development. PhD thesis, Transnationale Simulation is important for the dynamic evaluation of use models. Universiteit Limburg. Task-presentation mappings: With a task-presentation mapping, [6] Meixner, G. and Görlich, D. 2008. Aufgabenmodellierung Abstract Interaction Objects (AIOs) are identified for each als Kernelement eines nutzerzentrierten interactive user task in the task model. In case of useML 2.0 Entwicklungsprozesses für Bedienoberflächen. Workshop interactive user tasks are represented by elementary use objects. "Verhaltensmodellierung: Best Practices und neue Since we are using the Dialog and Interface Specification Erkenntnisse", Fachtagung Modellierung. Language (DISL) [12], a platform and modality independent [7] Mori, G.; Paternò, F. and Santoro, C. 2002. CTTE: Support UIDL, for AUI description, those elementary use objects have to for Developing and Analyzing Task Models for Interactive be mapped onto corresponding generic widgets. A simple look-up System Design. In: IEEE Transactions on Software table is used for this mapping. On this abstraction level, we don’t Engineering, 28(8): 797 – 813. consider grouping of AIOs. This should be done within the concrete presentation model. The task model can be used to obtain [8] Mukasa, K. and Reuther, A. 2004. The Useware Markup information about how to group or organize the interaction Language (useML) – Development of user-centered Objects within a Concrete User Interface (CUI). Interfaces using XML. Proc. of the 9th IFAC/IFIPS/IFORS/IEA Symposium on Analysis, Design, The results of the dialog and presentation mappings can be used to and Evaluation of Human-Machine Systems. generate an AUI, described with the DISL. Export functionalities [9] Paris, C., Lu, S. and Vander Linden, K. 2003. Environments will be integrated into Udit. for the Construction and Use of Task Models. In: The 5. SUMMARY & OUTLOOK Handbook of Task Analysis for Human-Computer This paper introduced the major changes which have been Interaction, D. Diaper and N. Stanton (ed.), Lawrence incorporated into useML 2.0. With these changes, the Erlbaum Associates, 467-482. expressiveness of useML has been strongly increased. The most [10] Paternò, F. 1999. Model-based design and evaluation of important enhancement is the introduction of temporal operators. interactive applications. Springer, London. This also enables useML for a semi-automatic model [11] Puerta, A.; Eisenstein, J. 1999.: Towards a General transformation, into a dialog model. A preview of the Computational Framework for Model-Based Interface transformation process we are using to transform useML models Development Systems. In: Proc. of the 4th international into DISL dialog models was first introduced in this paper. To conference on Intelligent user interfaces, 171-178. support developers with a practical tool, the graphical use model editor Udit has been introduced. In the current version, useML has [12] Schaefer, R.; Bleul, S. and Mueller, W. 2006. Dialog been successfully tested in a large project. With the help of a Modelling for Multiple Devices and Multiple Interaction consistent color-schema, a well structured design and context- Modalities. In: Proc. of the 5th International Workshop on sensitive function-menus, the tool is designed to guaranty the best Task Models and Diagrams for User Interface Design, 39-53. usability when editing use models. Further steps in the [13] Uhr, H. 2003. TOMBOLA: Simulation and User-Specific development of a MBUID tool chain will be the implementation Presentation of Executable Task Models. Proc. of the of the introduced transformation processes for automatic International HCI Conference, 263-267. derivation of dialog models from use models. [14] Vanderdonckt, J.; Bodart, F. 1993.: Encapsulating ACKNOWLEDGMENTS Knowledge for Intelligent Automatic Interaction Objects The work presented in this article is being supported in part by the Selection. In: Proc. of the 1st Annual CHI Conference on Stiftung Rheinland-Pfalz für Innovation. Human Factors in Computing Systems, 424-429. [15] Zuehlke, D. and Thiels, N. 2008. Useware-Engineering: a REFERENCES methodology for the development of user-friendly interfaces. [1] Bomsdorf, B. and Szwillus, G. 1998. From task to dialogue: Library Hi Tech, 26(1):126-140. Task based user interface design. SIGCHI Bulletin, 30(4):40- 42.