A Survey of Model Driven Engineering Tools for User Interface Design
---
paper_title: The TAC paradigm: specifying tangible user interfaces

paper_content:

This paper introduces a paradigm for describing and specifying tangible user interfaces (TUIs). The proposed Token and Constraints (TAC) paradigm captures the core components of TUIs while addressing many of the conceptual challenges unique to building these interfaces. The paradigm enables the description of a broad range of TUIs by providing a common set of constructs. Thus, the TAC paradigm lays the foundation for a high-level description language and a software toolkit for TUIs. We evaluate the proposed paradigm by testing its ability to specify a wide variety of existing TUIs.
---
paper_title: CTTE: Support for developing and analyzing task models for interactive system design

paper_content:

While task modeling and task-based design are entering into current practice in the design of interactive software applications, there is still a lack of tools supporting the development and analysis of task models. Such tools should provide developers with ways to represent tasks, including their attributes and objects and their temporal and semantic relationships, to easily create, analyze, and modify such representations and to simulate their dynamic behavior. In this paper, we present a tool, CTTE, that provides thorough support for developing and analyzing task models of cooperative applications, which can then be used to improve the design and evaluation of interactive software applications. We discuss how we have designed this environment and report on trials of its use.
---
paper_title: Towards Model-driven Engineering of Plastic User Interfaces

paper_content:

Ubiquitous computing has introduced the need for interactive systems to run on multiple platforms in different physical environments. Providing a user interface specially crafted for each context of use ( ) is costly, may result in inconsistent behaviors [5] and above all is limited to the contexts of use that have been envisioned at design time. Opportunistic interaction in a changing environment requires enabling approaches and techniques for gracefully adapting the interactive system to its context of use. In Human-Computer Interaction, this ability of an interactive system to withstand variations of context of use while preserving its quality in use is called plasticity [7]. This paper shows how Model Driven Engineering is suited for supporting plasticity both at design time and run time.
---
paper_title: Past, present, and future of user interface software tools

paper_content:

A user interface software tool helps developers design and implement the user interface. Research on past tools has had enormous impact on today's developers—virtually all applications today are built using some form of user interface tool. In this article, we consider cases of both success and failure in past user interface tools. From these cases we extract a set of themes which can serve as lessons for future work. Using these themes, past tools can be characterized by what aspects of the user interface they addressed, their threshold and ceiling, what path of least resistance they offer, how predictable they are to use, and whether they addressed a target that became irrelevant. We believe the lessons of these past themes are particularly important now, because increasingly rapid technological changes are likely to significantly change user interfaces. We are at the dawn of an era where user interfaces are about to break out of the “desktop” box where they have been stuck for the past 15 years. The next millenium will open with an increasing diversity of user interface on an increasing diversity of computerized devices. These devices include hand-held personal digital assistants (PDAs), cell phones, pages, computerized pens, computerized notepads, and various kinds of desk and wall size-computers, as well as devices in everyday objects (such as mounted on refridgerators, or even embedded in truck tires). The increased connectivity of computers, initially evidenced by the World Wide Web, but spreading also with technologies such as personal-area networks, will also have a profound effect on the user interface to computers. Another important force will be recognition-based user interfaces, especially speech, and camera-based vision systems. Other changes we see are an increasing need for 3D and end-user customization, programming, and scripting. All of these changes will require significant support from the underlying user interface sofware tools.
---
paper_title: ASUR++: A Design Notation for Mobile Mixed System

paper_content:

In this paper we present a notation, ASUR++, for describing mobile systems that combine physical and digital entities. The notation ASUR++ builds upon our previous one, called ASUR. The new features of ASUR++ are dedicated to handling the mobility of users and enable a designer to express physical relationships among entities involved in the system. The notation and its usefulness are illustrated in the context of the design of an augmented museum gallery.
---
paper_title: MDA Explained: The Model Driven Architecture: Practice and Promise

paper_content:

From the Book: ::: ::: For many years, the three of us have been developing software using object oriented techniques. We started with object oriented programming languages, like C++, Smalltalk, and Eiffel. Soon we felt the need to describe our software at a higher level of abstraction. Even before the first object oriented analysis and design methods, like Coad/Yourdon and OMT, were published, we used our own invented bubbles and arrows diagrams. This naturally led to questions like "What does this arrow mean?" and "What is the difference between this circle and that rectangle?". We therefore rapidly decided to use the newly emerging methods to design and describe our software. During the years we found that we were spending more time on designing our models, than on writing code. The models helped us to cope with larger and more complex systems. Having a good model of the software available, made the process of writing code easier and in many cases even straightforward. ::: ::: In 1997 some of us got involved in defining the first standard for object oriented modeling called UML. This was a major milestone that stimulated the use of modeling in the software industry. When the OMG launched its initiative on Model Driven Architecture we felt that this was logically the next step to take. People try to get more and more value from their high level models, and the MDA approach supports these efforts. ::: ::: At that moment we realized that all these years we had naturally walked the path towards model driven development. Every bit of wisdom we acquired during our struggle with the systems we had to build, fitted in with this new idea of how to build software. It caused a feeling similar to an AHA-erlebnis: "Yes, this is it," the same feeling we had years before when we first encountered the object-oriented way of thinking, and again when we first read the GOF book on design patterns. We feel that MDA could very well be the next major step forward in the way software is being developed. MDA brings the focus of software development to a higher level of abstraction, thereby raising the level of maturity of the IT industry. ::: ::: We are aware of the fact that the grand vision of MDA, which Richard Soley, the president of the OMG, presents so eloquently, is not yet a reality. However some parts of MDA can already be used today, while others are under development. With this book we want to give you insight in what MDA means and what you can achieve, both today and in the future. ::: ::: Anneke Kleppe, Jos Warmer, and Wim Bast ::: Soest, the Netherlands ::: January 2003
---
paper_title: Model transformation language MOLA

paper_content:

, The paper describes a new graphical model transformation language MOLA. The basic idea of MOLA is to merge traditional structured programming as a control structure with pattern-based transformation rules. The key language element is a graphical loop concept. The main goal of MOLA is to describe model transformations in a natural and easy readable way.
---
paper_title: Model Transformation and Weaving in the AMMA Platform

paper_content:

Model transformation creates a set of target models from a set of source models. This operation is central in current MDE approaches. However, we highlight in this paper some of its limitations. Model weaving is another operation on models, which specifies typed links between model elements. Model weaving can thus be used to specify abstract model transformations as sets of links between source and target metamodel types. Therefore, we propose to combine model transformation and model weaving in order to overcome some of current model transformation limitations. This paper presents how we experimented this with ATLAS Transformation Language (ATL) and AMW (ATLAS Model Weaver) on an example.
---
paper_title: AMW: A Generic Model Weaver

paper_content:

Abstract In the MDA approach proposed by the OMG (Object Management Group) as well as in other MDE (Model Driven Engineering) approaches such as Microsoft “Software Factories”, model transformation is a central operation. However it is often necessary to create links between models, where distinct operations will be executed based on the link semantics. These links are captured by weaving models. One of the possible application domains is data mapping. We have been engaged in building a model weaver prototype as part of the construction of AMMA, a MDE platform. The basic assumption in such platforms is to consider models as first class entities. In the present work we go one step beyond to consider also model weaving as models, and thus as manageable entities. This paper suggests that several situations in software engineering could be captured by model weaving techniques. Present achievements (mainly output generation of a weaving model, extensible weaving metamodels, partial GUI generation, etc.) and future potential extensions are discussed.
---
paper_title: Model-Based Design and Evaluation of Interactive Applications

paper_content:

From the Publisher: ::: If you are interested in understanding how the systematic use of task models in the design, development, and usability evaluation of interactive software applications can open new opportunities and possibilities then this book will help you do just that. Fabio Paterno also discusses related issues relevant to designing user interfaces and provides a state-of-the-art review of the field, including recently developed methods, current results and problems and trends." "Software Engineers will also find Model-Based Design and Evaluation of Interactive Applications a great help when developing projects.
---
paper_title: Towards Model-driven Engineering of Plastic User Interfaces

paper_content:

Ubiquitous computing has introduced the need for interactive systems to run on multiple platforms in different physical environments. Providing a user interface specially crafted for each context of use ( ) is costly, may result in inconsistent behaviors [5] and above all is limited to the contexts of use that have been envisioned at design time. Opportunistic interaction in a changing environment requires enabling approaches and techniques for gracefully adapting the interactive system to its context of use. In Human-Computer Interaction, this ability of an interactive system to withstand variations of context of use while preserving its quality in use is called plasticity [7]. This paper shows how Model Driven Engineering is suited for supporting plasticity both at design time and run time.
---
paper_title: A Model-Driven Approach to the Engineering of Multiple User Interfaces

paper_content:

In this paper, we describe MANTRA, a model-driven approach to the development of multiple consistent user interfaces for one application. The common essence of these user interfaces is captured in an abstract UI model (AUI) which is annotated with constraints to the dialogue flow. We consider in particular how the user interface can be adapted on the AUI level by deriving and tailoring dialogue structures which take into account constraints imposed by front-end platforms or inexperienced users. With this input we use model transformations described in ATL (Atlas Transformation Language) to derive concrete, platform-specific UI models (CUI). These can be used to generate implementation code for several UI platforms including GUI applications, dynamic web sites and mobile applications. The generated user interfaces are integrated with a multi tier application by referencing WSDL-based interface descriptions and communicating with the application core over web service protocols.
---
paper_title: Towards Model-driven Engineering of Plastic User Interfaces

paper_content:

Ubiquitous computing has introduced the need for interactive systems to run on multiple platforms in different physical environments. Providing a user interface specially crafted for each context of use ( ) is costly, may result in inconsistent behaviors [5] and above all is limited to the contexts of use that have been envisioned at design time. Opportunistic interaction in a changing environment requires enabling approaches and techniques for gracefully adapting the interactive system to its context of use. In Human-Computer Interaction, this ability of an interactive system to withstand variations of context of use while preserving its quality in use is called plasticity [7]. This paper shows how Model Driven Engineering is suited for supporting plasticity both at design time and run time.
---
paper_title: Visualization in the Context of Model Driven Engineering

paper_content:

Understanding and maintenance of complex information spaces is often supported through visual interfaces. These interfaces must be highly flexible in order to adapt to both the user’s role and their current task. Program comprehension tools are one class of tools that make heavy use of information visualization techniques, and Software Engineers use these tools to help understand and maintain software systems. This paper presents a model-driven approach to address the customization requirements of visual user interfaces, and does so in the domain of program comprehension.
---
paper_title: A Model-Driven Engineering Approach for the Usability of Plastic User Interfaces

paper_content:

Plastic User Interfaces (UI) are able to adapt to their context of use while preserving usability. Research efforts have focused so far, on the functional aspect of UI adaptation, while neglecting the usability dimension. This paper investigates how the notion of mapping as promoted by Model Driven Engineering (MDE), can be exploited to control UI adaptation according to explicit usability criteria. In our approach, a run-time UI is a graph of models related by mappings. Each model (e.g., the task model, the Abstract UI, the Concrete UI, and the final UI) describes the UI from a specific perspective from high-level design decisions (conveyed by the task model) to low-level executable code (i.e. the final UI). A mapping between source and target models specifies the usability properties that are preserved when transforming source models into target models. This article presents a meta-model for the notion of mapping and shows how it is applied to plastic UIs.
---
paper_title: Towards Model-driven Engineering of Plastic User Interfaces

paper_content:

Ubiquitous computing has introduced the need for interactive systems to run on multiple platforms in different physical environments. Providing a user interface specially crafted for each context of use ( ) is costly, may result in inconsistent behaviors [5] and above all is limited to the contexts of use that have been envisioned at design time. Opportunistic interaction in a changing environment requires enabling approaches and techniques for gracefully adapting the interactive system to its context of use. In Human-Computer Interaction, this ability of an interactive system to withstand variations of context of use while preserving its quality in use is called plasticity [7]. This paper shows how Model Driven Engineering is suited for supporting plasticity both at design time and run time.
---
paper_title: Visualization in the Context of Model Driven Engineering

paper_content:

Understanding and maintenance of complex information spaces is often supported through visual interfaces. These interfaces must be highly flexible in order to adapt to both the user’s role and their current task. Program comprehension tools are one class of tools that make heavy use of information visualization techniques, and Software Engineers use these tools to help understand and maintain software systems. This paper presents a model-driven approach to address the customization requirements of visual user interfaces, and does so in the domain of program comprehension.
---
paper_title: A Model-Driven Approach to the Engineering of Multiple User Interfaces

paper_content:

In this paper, we describe MANTRA, a model-driven approach to the development of multiple consistent user interfaces for one application. The common essence of these user interfaces is captured in an abstract UI model (AUI) which is annotated with constraints to the dialogue flow. We consider in particular how the user interface can be adapted on the AUI level by deriving and tailoring dialogue structures which take into account constraints imposed by front-end platforms or inexperienced users. With this input we use model transformations described in ATL (Atlas Transformation Language) to derive concrete, platform-specific UI models (CUI). These can be used to generate implementation code for several UI platforms including GUI applications, dynamic web sites and mobile applications. The generated user interfaces are integrated with a multi tier application by referencing WSDL-based interface descriptions and communicating with the application core over web service protocols.
---
paper_title: Mapping ConcurTaskTrees into UML 2.0

paper_content:

ConcurTaskTrees (CTT) is one of the most widely used notations for task modeling, specifically tailored for user interface model-based design. The integration of CTT with a de facto standard modeling language was already identified as an important issue, but there is no consensus about the best approach to achieve this goal. The purpose of this paper is to examine the relative strengths and weaknesses of control and data flow specification in UML 2.0 Activity Diagrams to represent CTT semantics. The analysis is driven by the definition of pattern-based activities for the temporal operators in CTT. In this paper, we propose an extension of the UML 2.0 abstract syntax that fully supports the concepts behind CTTs and provides an adapted graphical notation for a UML-like representation.
---
paper_title: Towards Model-driven Engineering of Plastic User Interfaces

paper_content:

Ubiquitous computing has introduced the need for interactive systems to run on multiple platforms in different physical environments. Providing a user interface specially crafted for each context of use ( ) is costly, may result in inconsistent behaviors [5] and above all is limited to the contexts of use that have been envisioned at design time. Opportunistic interaction in a changing environment requires enabling approaches and techniques for gracefully adapting the interactive system to its context of use. In Human-Computer Interaction, this ability of an interactive system to withstand variations of context of use while preserving its quality in use is called plasticity [7]. This paper shows how Model Driven Engineering is suited for supporting plasticity both at design time and run time.
---
paper_title: Reverse Engineering Cross-Modal User Interfaces for Ubiquitous Environments

paper_content:

Ubiquitous environments make various types of interaction platforms available to users. There is an increasing need for automatic tools able to transform user interfaces for one platform into versions suitable for a different one. To this end, it is important to have solutions able to take user interfaces for a given platform and build the corresponding logical descriptions, which can then be manipulated to obtain versions adapted to different platforms. In this paper we present a solution to this issue that is able to reverse engineer even interfaces supporting different modalities (graphical and voice).
---
paper_title: A Model-Driven Engineering Approach for the Usability of Plastic User Interfaces

paper_content:

Plastic User Interfaces (UI) are able to adapt to their context of use while preserving usability. Research efforts have focused so far, on the functional aspect of UI adaptation, while neglecting the usability dimension. This paper investigates how the notion of mapping as promoted by Model Driven Engineering (MDE), can be exploited to control UI adaptation according to explicit usability criteria. In our approach, a run-time UI is a graph of models related by mappings. Each model (e.g., the task model, the Abstract UI, the Concrete UI, and the final UI) describes the UI from a specific perspective from high-level design decisions (conveyed by the task model) to low-level executable code (i.e. the final UI). A mapping between source and target models specifies the usability properties that are preserved when transforming source models into target models. This article presents a meta-model for the notion of mapping and shows how it is applied to plastic UIs.
---
paper_title: MOFLON: A Standard-Compliant Metamodeling Framework with Graph Transformations

paper_content:

The crucial point in Model Driven Architecture (MDA) is that software and system development are based on abstract models that are successively transformed into more specific models, ideally resulting in the desired system. To this end, developers must be enabled to model different aspects like structure, behavior, consistency constraints of the system. This results in a variety of related models, which in turn need tool support on the metalevel. However, there is a lack of tools offering uniform support for metamodel definition, analysis, transformation, and integration. In this paper we present the metamodeling framework MOFLON that addresses these issues by bringing together the latest OMG standards with graph transformations and their formal semantics. MOFLON provides a combination of visual and textual notations and offers powerful modularization concepts. Using MOFLON, developers can generate code for specific tools needed to perform the desired modeling tasks.
---

Title: A Survey of Model Driven Engineering Tools for User Interface Design

Section 1: Introduction
Description 1: Write about the goals of the paper, including the description of model-based approaches in HCI, the complexity of interactive systems, and the emergence of model driven engineering (MDE).

Section 2: Models and Meta-models
Description 2: Detail the concept of models and meta-models in MDE, their definitions, and the integral role they play in this paradigm.

Section 3: Model Transformation
Description 3: Explain the role and types of model transformations within the MDE paradigm, including various transformation languages used.

Section 4: Model Weaving
Description 4: Describe the concept of model weaving, its operation, its importance in MDE, and its application examples.

Section 5: Existing HCI Works in MDE
Description 5: Discuss the existing works in HCI related to MDE, focusing on the historical development and current applications of model-based systems for user interface design.

Section 6: Models and Meta-models in HCI
Description 6: Analyze the use of models and meta-models specific to HCI, including different notations and the need for domain-specific models and meta-models.

Section 7: Model Weaving in HCI
Description 7: Explore how model weaving has been applied in HCI, including the notion of mapping and its advantages and limitations.

Section 8: Model Transformations in HCI
Description 8: Detail the different types of model transformations utilized in HCI, including transformation languages chosen and specific transformation examples.

Section 9: Diversity of Tools
Description 9: Present a survey of various MDE tools, focusing on tools that support domain-specific models for the HCI domain, and compare their capabilities.

Section 10: Tools in Terms of Meta-models and Models Expression
Description 10: Compare MDE tools based on their support for meta-models and models expression, and determine their effectiveness for non-specialist HCI designers.

Section 11: Tools in Terms of Model Transformation and Weaving
Description 11: Evaluate MDE tools regarding their capabilities in model transformation and weaving, with emphasis on interoperability and format standards.

Section 12: Tools in Terms of Other Operations
Description 12: Discuss additional operations provided by MDE tools, such as interoperability with other tools and standards compliance, highlighting their importance for HCI.

Section 13: Conclusion
Description 13: Summarize the findings of the survey, the specific needs of the HCI community in the context of MDE, and the future direction for integrating MDE standards in HCI.