transformation templates: adding flexibilityto model-driven engineering of user interfaces

16
Transformation Templates: Adding Flexibility to Model-Driven Engineering of User Interfaces Nathalie Aquino 1 , Jean Vanderdonckt 1,2 , Óscar Pastor 1 1 Centro 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 2 Université catholique de Louvain, Louvain School of Management (LSM), Belgium [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

Upload: jean-vanderdonckt

Post on 30-Apr-2015

984 views

Category:

Documents


0 download

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

Page 1: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 2: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

2ACM SAC 2010, March 22-26 2010, Sierre, Switzerland

Agenda

Introduction

The Transformation Templates approach

Meta models

Software support

Conclusions and future works

Page 3: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 4: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 5: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 6: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 7: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 8: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 9: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 10: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 11: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 12: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 13: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 14: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 15: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

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

Page 16: Transformation Templates: Adding Flexibilityto Model-Driven Engineering of User Interfaces

Thank you very much for your attention

[email protected]

www.pros.upv.es