1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.

Slides:



Advertisements
Similar presentations
Context-aware Generation of User Interface Containers for Mobile devices Francisco J. Martínez Ruiz 1,2, Jean Vanderdonckt 1 and Jaime Muñoz Arteaga 3.
Advertisements

A Transformational Approach for Developing Multimodal Web User Interfaces Adrian Stanciulescu.
1 DSV-IS’2006, July 2006 Visual Design of User Interfaces by (De)composition Sophie Lepreux (1,2), Jean Vanderdonckt (1), Benjamin Michotte (1) 1.
1 ICAS’2008 – Gosier, March 16-21, 2008 GrafiXML, A Multi-Target User Interface Builder based on UsiXML Benjamin Michotte, Jean Vanderdonckt Université.
Towards User Interface Derivation from Business Processes: A Model-Driven Approach for Organizational Engineering Kênia Sousa, Hildeberto Mendonça, Jean.
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
User Interfaces Composition with UsiXML Sophie LEPREUX (1), Jean VANDERDONCKT (2), Christophe KOLSKI (1) (1) LAMIH “Automated Reasoning and Human-Computer.
Introduction 01_intro.ppt
Formal Definition of Collaborative Spaces Sergio Arzola-Herrera Josefina Guerrero-García Juan Manuel González-Calleros Claudia Zepeda-Cortés Facultad de.
Reverse Engineering of Web Pages based on Derivations and Transformations L.Bouillon, Q.Limbourg, J.Vanderdonckt, B.Michotte Université catholique de Louvain,
1 DSV-IS’2008, Kingston, Ontario, Canada, July 16-18, 2008 Towards a Library of Workflow User Interface Patterns Josefina Guerrero García 1, Jean Vanderdonckt.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
Inés Pederiva 1, Jean Vanderdonckt 1,2, Sergio España 1, José Ignacio Panach 1 and Óscar Pastor 1 1 Universidad Politécnica de Valencia, Departamento de.
1 Belgian Laboratory of Computer-Human Interaction (BCHI) ::: UCL August 2007 Development Method for User Interfaces of Rich Internet Applications By Francisco.
1 ICAS’2008 – Gosier, March 16-21, 2008 A Transformational Approach for Pattern-based Design of User Interfaces Costin Pribeanu Jean Vanderdonckt National.
Mihir Daptardar Software Engineering 577b Center for Systems and Software Engineering (CSSE) Viterbi School of Engineering 1.
Towards Method Engineering of Model-Driven User Interface Development Kênia Sousa, Hildeberto Mendonça, Jean Vanderdonckt Université catholique de Louvain.
Towards supporting the user interfaces design using composition rules Sophie Lepreux, Jean Vanderdonckt {lepreux,
Introduction to MDA (Model Driven Architecture) CYT.
Transformation of XAML schema for RIA using XSLT & UsiXML Fco. J. Martínez Ruiz 1, Jaime Muñoz Arteaga 2 and Jean Vanderdonckt 3. 1 Universidad Autónoma.
1 November 9-11, Mérida, Mexico La-Web’09 A Model-Based Approach for Developing Vectorial User Interfaces Jean Vanderdonckt, Josefina Guerrero-García,
Model-Driven Approach for User Interface-Business Alignment Kênia Sousa Advisor: Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School.
1EMODE workshop – September 2007 Automatic Usability Assessment of Multimodal User Interfaces Based on Ergonomic Rules Adrian Stanciulescu Jean Vanderdonckt.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
1 Workshop on Model Driven Software Engineering for Ambient Intelligence Applications – Darmstadt, Nov. 7 th, 2007 Distributed User Interfaces in Ambient.
Selected Topics in Software Engineering - Distributed Software Development.
1 Workshop on Business-Driven Enterprise Application Design & Implementation Cristal City, Washington D.C., USA, July 21, 2008 How to Describe Workflow.
Design Options for Multimodal Web Applications Adrian Stanciulescu and Jean Vanderdonckt {stanciulescu, UCL/IAG/BCHI.
1 A Model-Driven Approach For Information System Migration Raymonde Le Delliou 1, Nicolas Ploquin 2, Mariano Belaunde 3, Reda Bendraou 4, Louis Féraud.
1 Cascading Dialog Modeling with UsiXML Marco Winckler 1,2,Jean Vanderdonckt 2, Adrian Stanciulescu 2, Francisco Trindade 3 1 IRIT, Université Toulouse.
UsiXML July, 2004 (Hamburg, Germany) 1 USIXML: a Language Supporting Multi-Path Development of User Interfaces Quentin Limbourg 1, Jean Vanderdonckt 1,
Hapgets, Towards Haptically- enhanced Widgets based on a User Interface Description Language Nikolaos Kaklanis, Juan González Calleros, Jean Vanderdonckt,
A first draft of a Model-driven Method for Designing Graphical User Interfaces of Rich Internet Applications Francisco J. Martínez-Ruiz 1, Jaime Muñoz.
Elizabeth Furtado, Vasco Furtado, Kênia Sousa, Jean Vanderdonckt, Quentin Limbourg KnowiXML: A Knowledge-Based System Generating Multiple Abstract User.
EIS'2007 (Salamanca, Spain, March 22-24, 2007) 1 Towards an Extended Model of User Interface Adaptation: the ISATINE framework 1 Víctor M. López Jaquero,
1 November 9-11, Mérida, Mexico CLIHC’09 Towards Canonical Task Types for User Interface Design Juan Manuel Gonzalez-Calleros, Josefina Guerrero-
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
1 CLIHC 2009, November 9-11,2009. Mérida, Yucatán, Mexico. A Theoretical Survey of User Interface Description Languages: Preliminary Results Josefina Guerrero.
Multi-Path Development of User Interfaces 1 Quentin Limbourg Louvain-la-Neuve, 4th November 2004.
A model-based development for 3D User Interfaces Juan Manuel Gonzalez Calleros Université catholique de Louvain, School of Management (IAG) Information.
Solving the Mapping Problem in UI Design by Seamless Integration in I DEAL XML Francisco Montero LoUISE Research Group University of Castilla-La Mancha.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
A model-based development for 3D User Interfaces Juan Manuel Gonzalez Calleros 1, Jean Vanderdonckt 1, Jaime Muñoz Arteaga 2 1. Université catholique de.
December 4, ICSSEA’03 The SmartTools Software Factory The MDA approach and Generative programming for Software Development:
Visual Specification of a DSL Processor Debugger Tamás Mészáros and Tihamér Levendovszky Budapest University of Technology and Economics.
Murielle Florins 1 IAG-Louvain School of Management ISYS-Information Systems Unit Graceful Degradation: a Method for Designing Multiplatform Graphical.
Reference WPx/Tx.y/YY-MM-DD/PP UsiXML project # Generating User Interface for Information Applications from Task, Domain and User models.
Nathalie Aquino 1, Jean Vanderdonckt 2, Francisco Valverde 1, Oscar Pastor 1 1 Department of Information Systems and Computation, Valencia University of.
1 PhD Public Defense, 25 June 2008 A Methodology for Developing Multimodal User Interfaces of Information Systems Adrian Stanciulescu Université catholique.
A Transformational Approach for Multimodal Web User Interfaces based on UsiXML Adrian Stanciulescu, Quentin Limbourg, Jean Vanderdonckt, Benjamin Michotte.
Murielle Florins 1, Francisco Montero Simarro 2, Jean Vanderdonckt 1, Benjamin Michotte 1 1 Université catholique de Louvain 2 Universidad de Castilla-la-Mancha.
Cooperative Computing & Communication Laboratory A Survey on Transformation Tools for Model-Based User Interface Development Robbie Schäfer – Paderborn.
1 Technical & Business Writing (ENG-715) Muhammad Bilal Bashir UIIT, Rawalpindi.
© TAMODIA’061 The Comets Inspector: Towards Run Time Plasticity Control based on a Semantic Network Alexandre Demeure, Gaëlle Calvary, Joelle Coutaz, Jean.
1 Interaccion 2008, IX Congreso de Interacción Persona-Ordenador, Albacete, 9-12 June 2008 ECOOL: Generation of Collaborative Multiplatform Scenarios with.
Chapter 5 System Modeling. What is System modeling? System modeling is the process of developing abstract models of a system, with each model presenting.
Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.
A Sketching Tool for Designing Anyuser, Anyplatform, Anywhere User Interfaces A Sketching Tool for Designing Anyuser, Anyplatform, Anywhere User Interfaces.
1 ACM SAC’2008 – Fortaleza, Ceará, Brazil, March 16-20, 2008 An Intelligent Editor for Multi-Presentation User Interfaces Benoît Collignon 1, Jean Vanderdonckt.
1 ICAS’2008 – Gosier, March 16-21, 2008 Modeling User Interfaces to Workflow Information Systems Josefina Guerrero 1, Jean Vanderdonckt 1, Juan M. Gonzalez.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.
1 ICAS’2008 – Gosier, March 16-21, 2008 Model-Driven Engineering of Multi-Target Plastic User Interfaces Benoît Collignon 1, Jean Vanderdonckt 1, Gaëlle.
1 February 1-7, Cancun, Mexico ACHI’09 A structured approach to support 3D User Interface Development Juan Manuel Gonzalez-Calleros, Jean Vanderdonckt.
Ganga/Dirac Data Management meeting October 2003 Gennady Kuznetsov Production Manager Tools and Ganga (New Architecture)
Alignment of Business Processes and User Interfaces in the Context of Large Organizations Kênia Sousa, Hildeberto Mendonça, Jean Vanderdonckt Université.
Chapter 5 – System Modeling Lecture 1 1Chapter 5 System modeling.
Software Testing.
Implementing Language Extensions with Model Transformations
Implementing Language Extensions with Model Transformations
Presentation transcript:

1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González Calleros 1, Adrian Stanciulescu 1, Jean Vanderdonckt 1, Jean-Pierre Delacre 1, Marco Winckler 12 1 Université catholique de Louvain (UCL) Louvain School of Management (LSM) - Information Systems Unit (ISYS) Belgian Laboratory of Computer-Human Interaction (BCHI) 2 LIIHS-IRIT, Université Paul Sabatier

2 MDWE'2008, Toulouse, France, September 30, 2008 Context of the problem User interface development according to the Cameleon framework: –This framework has now gained consensus –Tasks and domain are expressed first for user-centered design –Abstract User Interface is derived from the tasks and domain –Concrete User Interface is then derived –Code generation was not taken into consideration here (out of scope)

3 MDWE'2008, Toulouse, France, September 30, 2008 Context of the problem

4 MDWE'2008, Toulouse, France, September 30, 2008 Context of the problem Model to Model Platform Independent Model (PIM) Platform Specific Model (PSM) Model to Code Source code MDA Components Techniques proposed based on UsiXML Computing Independent Model (CIM) Model to Model UsiXML model: Abstract user interface UsiXML model: Concrete user interface Rendering Final user interface UsiXML models: task, domain Graph transformations Graph transformations

5 MDWE'2008, Toulouse, France, September 30, 2008 A development library stores (in UsiXML textual format) paths, steps and sub-steps definition and their associated transformation systems and transformation rules Context of the problem Development step Development step Development sub-step Development sub-step Development path Development path Transformation System Transformation System Transformation Rule Transformation Rule isComposedOf isRealizedBy isComposedOf * 1 * 1 1 * Development step Development step Development sub-step Development sub-step Development path Development path Transformation System Transformation System Transformation Rule Transformation Rule isComposedOf isRealizedBy isComposedOf * 1 * 1 1 * Methodological World Development step Development step Development sub-step Development sub-step Development path Development path Transformation System Transformation System Transformation Rule Transformation Rule isComposedOf isRealizedBy isComposedOf * 1 * 1 1 * Transformation World [Limbourg,2004]

6 MDWE'2008, Toulouse, France, September 30, 2008 Context of the problem Rule n Transformation System 1 Rule 1 Rule 2 … Rule n Transformation System 2 Rule 1 Rule 2 … Rule n Transformation System... Rule 1 Rule 2 … Rule n Transformation System n Rule 1 Rule 2 … : when source terminates apply target : execute development step Development Step α

7 MDWE'2008, Toulouse, France, September 30, 2008 An example of a complex rule: one out of 163 transformation rules

8 MDWE'2008, Toulouse, France, September 30, 2008 Software support (on top of AGG)

9 MDWE'2008, Toulouse, France, September 30, Youri... <radioButton groupName=“grupo01" defaultContent="Femme" defaultState="false" id="radiobutton_0"/> <radioButton groupName="grupo01" defaultContent="Homme" defaultState="true" id="radiobutton_1"/>... Excerpt for an UsiXML CUI specification. Example: interface adaptation

10 MDWE'2008, Toulouse, France, September 30, 2008 Example: interface adaptation

11 MDWE'2008, Toulouse, France, September 30, 2008 Example: interface adaptation The UsiXML graph before applying any rule

12 MDWE'2008, Toulouse, France, September 30, 2008 Example: interface adaptation LHS RHS NAC Rule 1: Create a new comboBox with the same id and name as the name of the group of radioButtons.

13 MDWE'2008, Toulouse, France, September 30, 2008 Rule 1: Create a new comboBox with the same id and name as the name of the group of radioButtons. The UsiXML graph after applying the first rule Example: interface adaptation

14 MDWE'2008, Toulouse, France, September 30, 2008 Example: interface adaptation LHSRHS ::= Rule 2: Convert every radioButton within the group “x” into an item for the comboBox “x”, we have just created.

15 MDWE'2008, Toulouse, France, September 30, 2008 Rule 2: Convert every radioButton within the group “x” into an item for the comboBox “x”, we have just created. The UsiXML graph after applying the second rule Example: interface adaptation

16 MDWE'2008, Toulouse, France, September 30, Youri Example: interface adaptation Excerpt from the final transformated UsiXML specification

17 MDWE'2008, Toulouse, France, September 30, 2008 Example: interface adaptation

18 MDWE'2008, Toulouse, France, September 30, 2008 What is the problem with that? AGG + TransformiXML –Pros Separation of concerns, MDE Rigorousness –Contras Not efficient enough Not powerful enough, in particular at run-time Why? Too many conversions –UsiXML -> graph -> TransformiXML -> AGG -> UsiXML So the question is: is it possible to find out a better transformation engine with excellent performance?

19 MDWE'2008, Toulouse, France, September 30, 2008 Objective and Methodology The objective is to compare tools used to create transformation rules for the development of user interface. The methodology is decomposed into the following steps: 1) Selection of a User Interface Description Language –We chose UsiXML as meta-model 2) Selection of User Interface Development Method –Cameleon reference framework 3) Selection of case study –A simple example: Virtual Polling System 4) Selection of transformation rules 5) Selection of the tools and execution of the rules in the tools

20 MDWE'2008, Toulouse, France, September 30, 2008 Outline Introduction Transformation engines for User Interface Development –Case Study: Virtual Polling System –YATE Implementation –AToM ³ Implementation –AGG Implementation –TransformiXML Implementation Comparative Analysis of Transformation Engines Conclusion

21 MDWE'2008, Toulouse, France, September 30, 2008 UIDL Selection Many different UIDLs exist: XUL, UIML, XIML, UsiXML, XAML,… We chose UsiXML as meta-model because –Based on a transformational approach –Underlying graph-based syntax –MDA-compliant –Not a software vendor product: accessibility

22 MDWE'2008, Toulouse, France, September 30, 2008 Transformation rules The same set of rules set were used in each tool –From Task and Domain Models to AUI Model 19 transformation rules –From AUI Model to CUI Model 17 transformation rules Three tools, representative of three different approaches, are compared: –Graphical approach: AToM³, AGG, TransformiXML –Programmatic approach: java

23 MDWE'2008, Toulouse, France, September 30, 2008 Outline Introduction Transformation engines for User Interface Development –Case Study: Virtual Polling System –YATE Implementation –AToM ³ Implementation –AGG Implementation –TransformiXML Implementation Comparative Analysis of Transformation Engines Conclusion

24 MDWE'2008, Toulouse, France, September 30, 2008 Outline Introduction Transformation engines for User Interface Development –Case Study: Virtual Polling System –YATE Implementation –AToM ³ Implementation –AGG Implementation –TransformiXML Implementation Comparative Analysis of Transformation Engines Conclusion

25 MDWE'2008, Toulouse, France, September 30, 2008 Yate Transformation engine entirely coded using java –External projects like JMI exist to help programmer create a transformation engine, but we did not use them –Also, external projects exist to help use pattern matching, but we did not use them either; rules are thus coded in Java, and it is not possible to use UsiXML rules with our java transformation engine Takes a UsiXML file as input, returns the resulting UsiXML file as output

26 MDWE'2008, Toulouse, France, September 30, 2008 Yate transformation engine: architecture Transformation rules are implemented in the « Rules » class Functions to help implementing the rules in the « RulesHelpers » class « RulesTree » class contains a list of the rules, showed in the GUI A « Main » class to –Transform the UsiXML file into java objects –Call the transformation rules selected by the user A graphical user interface to –Open the source UsiXML file –Choose the transformation rules to execute –Show the resulting model and save it in a UsiXML file

27 MDWE'2008, Toulouse, France, September 30, 2008 Yate: sequence diagram

28 MDWE'2008, Toulouse, France, September 30, 2008 Yate Transformation engine in java complex to implement and maintain –Took us 3 man-months to implement –About 2800 lines of Java code –Modifying the application (modify rules, add rules, …) was also very long and complex Three classes to modify: main, rules and rulesTree The rules have to be coded in Java

29 MDWE'2008, Toulouse, France, September 30, 2008 Yate

30 MDWE'2008, Toulouse, France, September 30, 2008 Outline Introduction Transformation engines for User Interface Development –Case Study: Virtual Polling System –YATE Implementation –AToM ³ Implementation –AGG Implementation –TransformiXML Implementation Comparative Analysis of Transformation Engines Conclusion

31 MDWE'2008, Toulouse, France, September 30, 2008 AToM³ Graphical syntax: –Meta-model as a UML diagram but with some restrictions: no composition relation. –Graph grammar for transformation rules Rule composed of a LHS and a RHS graphically designed (UML-like) but No NAC, the precondition is here implemented as a Python algorithm No distinction between source and target model: –The model is graphically designed and –The model is directly modified by the transformation rules

32 MDWE'2008, Toulouse, France, September 30, 2008 Virtual polling system model in AToM³

33 MDWE'2008, Toulouse, France, September 30, 2008 Virtual Polling system after execution of transformation rules by AToM³

34 MDWE'2008, Toulouse, France, September 30, 2008 AToM³ AToM³ is easy to use and understand but Complex and difficult-to-read graphs can result from even quite small models Despite simplicity, it is quite long to implement the rules –Learning to use AToM³ is very fast, but –the implementation itself is quite long –Meta-model and rules took us about 3 months to implement, but with no skills in transformation rules in general.

35 MDWE'2008, Toulouse, France, September 30, 2008 Outline Introduction Transformation engines for User Interface Development –Case Study: Virtual Polling System –YATE Implementation –AToM ³ Implementation –AGG Implementation –TransformiXML Implementation Comparative Analysis of Transformation Engines Conclusion

36 MDWE'2008, Toulouse, France, September 30, 2008 AGG

37 MDWE'2008, Toulouse, France, September 30, 2008 Outline Introduction Transformation engines for User Interface Development –Case Study: Virtual Polling System –YATE Implementation –AToM ³ Implementation –AGG Implementation –TransformiXML Implementation Comparative Analysis of Transformation Engines Conclusion

38 MDWE'2008, Toulouse, France, September 30, 2008 Outline Introduction Transformation engines for User Interface Development –Case Study: Virtual Polling System –YATE Implementation –AToM ³ Implementation –AGG Implementation –TransformiXML Implementation Comparative Analysis of Transformation Engines Conclusion

39 MDWE'2008, Toulouse, France, September 30, 2008 Comparison table

40 MDWE'2008, Toulouse, France, September 30, 2008 What is the best trade-off?

41 MDWE'2008, Toulouse, France, September 30, 2008 Thank you very much for your attention For more information and downloading, User Interface eXtensible Markup Language European network on Multimodal UIs Special thanks to all members of the team!