transformation templates: adding flexibilityto model-driven engineering of user interfaces
DESCRIPTION
Model-based user interface (UI) development environments are aimed at generating one or many UIs from one or many models. Model-driven engineering (MDE) of UIs is assumed to be superior to those environments since they make the UI design knowledge visible, explicit, and external, for instance as model-to-model transformations and model-to-code compilation rules. These transformations and rules are often considered inflexible, complex to express, and hard to develop by UI designers and developers who are not necessarily experts in MDE. In order to overcome these shortcomings, this paper introduces "Transformation Templates", an approach that is adding flexibility to the MDE of UIs by externalizing the transformation logic of UI models, and making it editable, customizable, and reusable. It is also intended to make it easier for UI designers to specify the transformations. A Transformation Template specifies a series of parameters that enable designers to parameterize the model transformation process at the concept level that is of a higher level of abstraction than at the level of physical properties of UI widgets. This paper presents an editor for Transformation Templates and an example of Parameter Type. Transformation Templates can be effectively and efficiently used in any circumstances where the transformation knowledge needs to be modified by non-experts, such as in domain specific languages where flexibility is required.TRANSCRIPT
Transformation Templates: Adding Flexibility to Model-Driven Engineering of User Interfaces
Nathalie Aquino1, Jean Vanderdonckt1,2, Óscar Pastor1
1Centro de Investigación en Métodos de Producción de Software (PROS), Universidad Politécnica de Valencia, Spain{naquino, opastor}@pros.upv.es – www.pros.upv.es
2Université catholique de Louvain, Louvain School of Management (LSM), [email protected] - www.isys.ucl.ac.be/bchi
This work has been developed with the support of MEC under the project SESAMO (TIN2007-62894), GVA under the BFPI/2008/209 grant, and the ITEA2 Call3 UsiXML project under reference 2008026.
SAC 2010 Human-Computer Interaction Track
2ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Agenda
Introduction
The Transformation Templates approach
Meta models
Software support
Conclusions and future works
3ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Introduction
User Interface (UI) design in Model-Driven Engineering (MDE)Approaches with IMPLICIT transformation logic •Teallach (Griffiths, IWC 2001)•TERESA (Mori, TSE 2004)•OO-Method/OLIVANOVA (Pastor 2007)•…
Approaches with EXPLICIT transformation logic•MultimodaliXML/TransformiXML/UsiXML (Stanciulescu, ICMI 2005)•Different model transformation languages have been applied in MDE of UIs: ATL, RDL/TT, XSLT … (Schaefer, HCI 2007)•…
(Pinheiro da Silva, DSVIS 2000)
(Pinheiro da Silva, DSVIS 2000)
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
4ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Introduction
Concerns about MDE of UIs Case of implicit transformation logic: OO-Method/OLIVANOVA
Domain Model
Presentation Model
CONCERN 1: Implicit design knowledge and presentation guidelinesCONCERN 2: End-users always perceive similar UIsCONCERN 3: UI designers must manually modify the generated UI code
Model to Code
Compiler
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
5ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Introduction
Concerns about MDE of UIs Case of explicit transformation logic: MultimodaliXML/TransformiXML/UsiXML
CONCERN 4: UI designers face a complex process for specifying transformationsCONCERN 5: Difficulties for gradually extend the capabilities of tools for MDE of UIs
Model to Model and Model to Code
Compilers
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
6ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Introduction
How to deal with the previous concerns? Defining a methodology (models, method and tools) in order to add
flexibility to MDE of UIs▪ Transformation Templates
Flexibility means For end-users: it will be possible to generate many different UIs For designers: it will be easier to customize a UI previously to its
generation For developers: it will be possible to gradually implement the
methodology and extend the set of possible UIs when necessary
Focus of this presentation: conceptual definitions of the Transformation Templates approach (models)
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
7ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Transformation Templates
Transformation Templates Specify the structure, layout and style of a UI Are composed of parameters with associated values
that parameterize UI model transformations Are inputs for transformation tools
Transformation Engine
Transformation Template
AUI Model CUI Model
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
8ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Transformation Templates
Parameter Type
UI Meta Element
Value Type
Context
Selector
Parameter Value
Transformation Template
UI Element
User Interfaces Transformation Templates Context
Parameter Type definition level
Parameter definition level
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
9ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Transformation Templates
Parameter Type definition level
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
10ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Transformation Templates
Parameter definition level Transformation Templates gather Parameters
Parameter Value Selector Comments
Grouping layout
wizard id=5 The element with id=15 will be rendered with a wizard
Grouping layout
group box Argument Grouping
All Argument Groupings will be rendered with group boxes
Grouping layout
tabbed dialog box
Argument Groupingdirectly contained in Service Interaction Unit
In all Service Interaction Units, all the Argument Groupings which are in the first level of containment, will be rendered with tabbed dialog boxes
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
11ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Meta models
Transformation Template meta model: Parameter Type definition level
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
12ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Meta models
Transformation Template meta model: Parameter definition level
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
13ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Software support
Transformation Templates editor A prototype has been implemented using the OO-Method/OLIVANOVA
technology
The creation of Transformation Templates is an easy task which consists of adding parameters with values and selectors
The task will be even easier after the implementation of an improved editor that includes visualization facilities
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
14ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Conclusion
Contributions The conceptual definition of the Transformation Templates approach A prototype of Transformation Templates editor has been
implemented
Ongoing and future work Definition of a suitable methodology Improvements in the editor Design of model compilers which take as input a Transformation
Template Definition of a generic catalogue of Parameter Types Definition of metrics for flexibility taking into account different
stakeholders and validation of the approach
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
15ACM SAC 2010, March 22-26 2010, Sierre, Switzerland
Conclusion
Concerns about MDE of UIs vs. Transformation TemplatesConcern Transformation Templates - Flexibility
Similar UIs A catalogue of Parameter Types will provide many design options which will lead to many different UIs
Implicit transformation logic
Transformation Templates externalize the transformation logic, making it editable, customizable and reusable
Manual modifications on generated UI code
UI designers will use an easier process which consists on selecting parameters, values and selectors
Complex process for modifying external transformation logic
Difficulties for gradually extending the capabilities of tools
Estimations of importance level and development cost for different contexts of use allow to decide a priority of implementation for parameter types and values
SW support
ConclusionTransformation Templates
Meta modelsIntroduction
SW support
ConclusionTransformation Templates
Meta modelsIntroduction