Multi-Path Development of User Interfaces 1 Quentin Limbourg Louvain-la-Neuve, 4th November 2004.

Slides:



Advertisements
Similar presentations
TU e technische universiteit eindhoven / department of mathematics and computer science Modeling User Input and Hypermedia Dynamics in Hera Databases and.
Advertisements

From Model-based to Model-driven Design of User Interfaces.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
A Transformational Approach for Developing Multimodal Web User Interfaces Adrian Stanciulescu.
McGill University School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab MPM’09 Explicit Transformation Modelling Thomas.
The Data Mining Visual Environment Motivation Major problems with existing DM systems They are based on non-extensible frameworks. They provide a non-uniform.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
WebRatio BPM: a Tool for Design and Deployment of Business Processes on the Web Stefano Butti, Marco Brambilla, Piero Fraternali Web Models Srl, Italy.
1/31 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2005] January 22, 2009.
Whole Platform Tesi di Dottorato di: RICCARDO SOLMI Università degli Studi di Bologna Facoltà di scienze matematiche, fisiche e naturali Corso di Dottorato.
1 System: Teallach Presenters: Baolinh Le, [Bryce Carder] Course: Knowledge-based User Interfaces Date: April 29, 2003 Teallach: A Model-Based User Interface.
1 CS 426 Senior Projects Chapter 1: What is UML? Chapter 2: What is UP? [Arlow and Neustadt, 2002] January 26, 2006.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
1 Ivano Malavolta, University of L’aquila, Computer Science Department Ivano Malavolta DUALLy: an Eclipse platform for architectural languages interoperability.
McGill University Proposal Exam School of Computer Science Ph.D. Candidate in the Modelling, Simulation and Design Lab Eugene Syriani.
Behaviour-Preserving Model Transformation Arend Rensink, University of Twente IPA Spring Days, 18 April 2012.
Romaric GUILLERM Hamid DEMMOU LAAS-CNRS Nabil SADOU SUPELEC/IETR.
Reverse Engineering of Web Pages based on Derivations and Transformations L.Bouillon, Q.Limbourg, J.Vanderdonckt, B.Michotte Université catholique de Louvain,
What is UML? What is UP? [Arlow and Neustadt, 2005] January 23, 2014
1 Conceptual Modeling of User Interfaces to Workflow Information Systems Conceptual Modeling of User Interfaces to Workflow Information Systems By: Josefina.
An Approach and Tool for Synchronous Refactoring of UML Diagrams and Models Using Model-to-Model Transformations Hafsteinn Þór Einarsson Helmut Neukirchen.
Aurora: A Conceptual Model for Web-content Adaptation to Support the Universal Accessibility of Web-based Services Anita W. Huang, Neel Sundaresan Presented.
Ontology Development Kenneth Baclawski Northeastern University Harvard Medical School.
Workshop on Integrated Application of Formal Languages, Geneva J.Fischer Mappings, Use of MOF for Language Families Joachim Fischer Workshop on.
1 MDWE'2008, Toulouse, France, September 30, 2008 A Comparative Analysis of Transformation Engines for User Interface Development Juan Manuel González.
Assessing the Suitability of UML for Modeling Software Architectures Nenad Medvidovic Computer Science Department University of Southern California Los.
Key Challenges for Modeling Language Creation by Demonstration Hyun Cho, Jeff Gray Department of Computer Science University of Alabama Jules White Bradley.
Integrated Development Environment for Policies Anjali B Shah Department of Computer Science and Electrical Engineering University of Maryland Baltimore.
I T & S A e r o s p a c eD e f e n c e THALES Research & Technology THALES recommendations for the final OMG standard on Query / Views / Transformations.
Košice, 10 February Experience Management based on Text Notes The EMBET System Michal Laclavik.
Reference WPx/Tx.y/YY-MM-DD/PP Distributed User Interfaces in Space and Time Jérémie Melchior Université catholique de Louvain Doctoral Consortium at EICS2011.
© DATAMAT S.p.A. – Giuseppe Avellino, Stefano Beco, Barbara Cantalupo, Andrea Cavallini A Semantic Workflow Authoring Tool for Programming Grids.
Dimitrios Skoutas Alkis Simitsis
Design Options for Multimodal Web Applications Adrian Stanciulescu and Jean Vanderdonckt {stanciulescu, UCL/IAG/BCHI.
A language to describe software texture in abstract design models and implementation.
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,
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.
1 November 9-11, Mérida, Mexico CLIHC’09 Towards Canonical Task Types for User Interface Design Juan Manuel Gonzalez-Calleros, Josefina Guerrero-
Requirements Engineering Methods for Requirements Engineering Lecture-30.
Model-Driven Engineering of Behaviors in User Interfaces Efrem Mbaki & Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management.
A model-based development for 3D User Interfaces Juan Manuel Gonzalez Calleros Université catholique de Louvain, School of Management (IAG) Information.
Automata Based Method for Domain Specific Languages Definition Ulyana Tikhonova PhD student at St. Petersburg State Politechnical University, supervised.
Sheet 1 DocEng’03, Grenoble, November 2003 Model Driven Architecture based XML Processing Ivan Kurtev, Klaas van den Berg University of Twente, the Netherlands.
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.
Murielle Florins 1 IAG-Louvain School of Management ISYS-Information Systems Unit Graceful Degradation: a Method for Designing Multiplatform Graphical.
Object-Oriented Modeling: Static Models. Object-Oriented Modeling Model the system as interacting objects Model the system as interacting objects Match.
Weaving a Debugging Aspect into Domain-Specific Language Grammars SAC ’05 PSC Track Santa Fe, New Mexico USA March 17, 2005 Hui Wu, Jeff Gray, Marjan Mernik,
Requirements Engineering-Based Conceptual Modelling From: Requirements Engineering E. Insfran, O. Pastor and R. Wieringa Presented by Chin-Yi Tsai.
Nathalie Aquino 1, Jean Vanderdonckt 2, Francisco Valverde 1, Oscar Pastor 1 1 Department of Information Systems and Computation, Valencia University of.
Ch- 8. Class Diagrams Class diagrams are the most common diagram found in modeling object- oriented systems. Class diagrams are important not only for.
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.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
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.
Université catholique de Louvain (UCL) Belgian Laboratory of Computer-Human Interaction (BCHI) Place des Doyens, 1 B-1348 Louvain-la-Neuve (Belgium) Presented.
Concepts and Realization of a Diagram Editor Generator Based on Hypergraph Transformation Author: Mark Minas Presenter: Song Gu.
SEESCOASEESCOA SEESCOA Meeting Activities of LUC 9 May 2003.
Requirement Engineering with URN: Integrating Goals and Scenarios Jean-François Roy Thesis Defense February 16, 2007.
Ontologies Reasoning Components Agents Simulations An Overview of Model-Driven Engineering and Architecture Jacques Robin.
AUTOMATIC GENERATION OF MODEL TRAVERSALS FROM METAMODEL DEFINITIONS Authors: Tomaž Lukman, Marjan Mernik, Zekai Demirezen, Barrett Bryant, Jeff Gray ACM.
1 February 1-7, Cancun, Mexico ACHI’09 A structured approach to support 3D User Interface Development Juan Manuel Gonzalez-Calleros, Jean Vanderdonckt.
What is UML? What is UP? [Arlow and Neustadt, 2005] October 5, 2017
SysML v2 Formalism: Requirements & Benefits
Daniel Amyot and Jun Biao Yan
Analysis models and design models
Graphical Modeling of INFOD applications
Software Development Process Using UML Recap
Presentation transcript:

Multi-Path Development of User Interfaces 1 Quentin Limbourg Louvain-la-Neuve, 4th November 2004

Multi-Path Development of User Interfaces 2 Presentation Plan  Context  Problem Statement  Thesis  Proposal –Ontological proposal –Methodological proposal  Case Studies and tools  Conclusion & Perspectives

Multi-Path Development of User Interfaces 3 Context  Transformational-driven Development of User Interfaces –Endorses the motivation of SE for HCI –User-Centred Design of UIs –Deriving a UI is heuristic and is not a straight line

Multi-Path Development of User Interfaces 4 Context (cont’d)  UIs are running fast…after change –Task redefinitions or reallocation –Organizational adaptation –Domain evolution –Obsolescence of languages and New Computing languages –New platforms  These changes give rise to the ellicitation development scenario

Multi-Path Development of User Interfaces 5 Context cont’d  These development scenarios are relevant to several problem areas : –Computer-assisted derivation of UIs –UI maintenance and refactoring –Multi-context UI development –Reverse engineering of UIs

Multi-Path Development of User Interfaces 6 Problem Statement  Ontological shortcomings –Explicitness, rigorousness, extendibility,commitment, communication  Methodological shortcomings –Expliciteness, rigorousness, consistency in application, predictability, flexibility, modifiability, communication.

Multi-Path Development of User Interfaces 7 Thesis Statement  It is possible to address the previously outlined shortcommings by: –A definition of an explicit and rigorous ontological framework for defining concepts involved in UI development –A definition of an explicit and rigorous methodological framework that is transformation driven and multi-path

Multi-Path Development of User Interfaces 8 Multi-Path Development of UI  Multi-path development qualifies a methodology that support the realization of multiples types of development paths withing a single framework Forward engineering Reverse EngineeringAdaptationAny Relevant Composition Development step Development step Development path Development path * 1 Development Scenario Development Scenario * * Development step Development step Development path Development path * 1 Development Scenario Development Scenario * *

Multi-Path Development of User Interfaces 9 Proposal  To support this approaches in a single framework we need: –An ontological framework that provide a description of concepts for each development stage –A methodological framework that allows a definition, organization, and execution of development paths

Multi-Path Development of User Interfaces 10 Ontological Framework  An ontology is a formal specification of a conceptualisation Abstract Concepts Model description with UML class diagrams Abstract Syntax Identified, Labeled, Typed, Constrained – Graphs Concrete Syntax AGG Visual Notation + usiXML Semantic Mapping Abstract to Concrete Mapping

Multi-Path Development of User Interfaces 11 Ontology: Abstract Concepts  Structured in viewpoints and in models –Task (CTT + some improvements) –Domain (UML Class/Object diagram + some improvements) –Abstract User Interface (vocabulary independent of the modality) –Concrete User Interface (vocabulary independent of the toolkit) –Context of use ( ) –Inter-model relationship mappings (traceability, integration of all views)

Multi-Path Development of User Interfaces 12 Ontology : Syntax  Abstract syntax –Directed, labeled, attributed, typed graphs. –Nodes are concepts –Edges are relationships between these concepts –Result: a UI specification is a BIG WHOLE graph  Concrete syntax : USIXML and AGG visual notation –USer Interface eXtensible Mark-Up Language –(graph structure is achieved by defining explicitly relationships) –AGG Visual Notation

Multi-Path Development of User Interfaces 13 Methodological Framework   Task and Domain Task and Domain Abstract User Interface Abstract User Interface Concrete User Interface Concrete User Interface Code User Interface Code Reification Abstraction Translation Code Generation Code Reverse Engineering         Task and Domain Task and Domain Abstract User Interface Abstract User Interface Concrete User Interface Concrete User Interface Code Final User Interface Reification Abstraction Translation Code Generation Code Reverse Engineering Reification Abstraction Translation Code Generation Code Reverse Engineering    

Multi-Path Development of User Interfaces 14 Model-to-Model Transformation  In the literature: –Opportunistic algorithms –APIs –XSLT –…  Drawbacks –Execution semantics is poorly defined –Consistency in applying steps –Consistency of resultant model –Procedurality –Cryptic syntax –Low predicatbility –Hidden rationale (entails low re-use)

Multi-Path Development of User Interfaces 15 Conditional Graph Rewritting  Generalization of string grammars  Grounded execution semantics (pushout construction)  Side-effect free  Attractive syntax  Declarativeness  Determinism (application strategy)  Seamlessness with ontological world (rules manipulate patterns of specification)  Tools  Extension (PAC, NAC)

Multi-Path Development of User Interfaces 16 How it works…  Find an occurrence of LHS in G (this occurrence is called a match). If several occurrences exist, choose one non- deterministically.  Check preconditions of both type PAC and NAC. If not verified, then skip.  Remove the part of G which corresponds to (LHS – K), where K is the morphism specified between LHS and RHS.  Add RHS – K into G – (LHS – K) as it is given by the corresponding relation between RHS – K and K.  Check postconditions of both type PAC (and notably that the resulting graph is properly typed) and NAC. If not verified, then undo the transformation rule.

Multi-Path Development of User Interfaces 17 Methodological World and Transformation World A development library stores (in usiXML textual format) paths, steps and sub-steps definition and their associated transformation systems and transformation rules

Multi-Path Development of User Interfaces 18 Substeps: From AUI to CUI  Definition of AUI structure –Which objects should be logically grouped ?  Definition of AIC types – Which « functionnality » should assume AICs and what data do they manipulate ?  Definition of spatio-temporal arrangement –How should AIC be arranged in space and/or in time ?  Definition of dialog control –What is the valid flow of action on AIOs ?

Multi-Path Development of User Interfaces 19 Substeps: From AUI to CUI  Define CUI structure –Which AIC is a window ?  Define CIC type ? –Which « widget » should represent which AIC ?  Define placement ? –What layout can be specified between CICs, CCs…  Define navigation ? –Which container can be started or closed from which container ?  Define dialog control ? –What is the valid flow of action on AIOs

Multi-Path Development of User Interfaces 20 Typed Model-to-Model Transformation Uses language Meta-Meta-Model Graph Structure is instance of Meta-Model Our Meta-Model Meta-Model Subset 1 e.g., Task+Domain Model is instance of Meta-Model Subset 2 e.g., Concrete UI Model is instance of Initial UI Model e.g., MyTaskAndDomainModel Resultant UI Model e.g., MyConcreteUIModel Transformation Rule Our transformation catalog

Multi-Path Development of User Interfaces 21 Example : Widget Replacement (1) 7 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.

Multi-Path Development of User Interfaces 22 Example : Widget Replacement (2)

Multi-Path Development of User Interfaces 23 Example : Widget Replacement (3) The usiXML graph before aplying any rule

Multi-Path Development of User Interfaces 24 Example : Widget Replacement (4) LHS RHS NAC Rule 1: Create a new comboBox with the same id and name as the name of the group of radioButtons.

Multi-Path Development of User Interfaces 25 Example : Widget Replacement (5) Rule 1: Create a new comboBox with the same id and name as the name of the group of radioButtons. The usiXML graph after aplying the first rule

Multi-Path Development of User Interfaces 26 Example : Widget Replacement (6) LHSRHS ::= Rule 2: Convert every radioButton within the group “x” into an item for the comboBox “x”, we have just created.

Multi-Path Development of User Interfaces 27 Example : Widget Replacement (7) Rule 2: Convert every radioButton within the group “x” into an item for the comboBox “x”, we have just created. The usiXML graph after aplying the second rule

Multi-Path Development of User Interfaces 28 7 Youri Example : Widget Replacement (8) Excerpt from the final transformated usiXML specification

Multi-Path Development of User Interfaces 29 Example : Widget Replacement (10)

Multi-Path Development of User Interfaces 30 Case Studies  2 case studies were considered  Modus Operandi

Multi-Path Development of User Interfaces 31 TransformiXML API/GUI  API = set of transformation functions  GUI (Video)

Multi-Path Development of User Interfaces 32 Tool Support  Prototypes –TransformiXML API/GUI : transformation tool (previously shown) –IdealXML: Task, Domain and AUI editors –GrafiXML : CUI Hi-Fi + Code Generator (Java Swing, XHTML) –VisiXML : CUI Lo-Fi, MS Visio Plug-in –FlashiXML : flash renderer –ReversiXML : reverse engineering from HTML to CUI

Multi-Path Development of User Interfaces 33 Tools : IdealXML Demo

Multi-Path Development of User Interfaces 34 Tools : GrafiXML

Multi-Path Development of User Interfaces 35 Tools : VisiXML

Multi-Path Development of User Interfaces 36 Tools : FlashiXML Demo

Multi-Path Development of User Interfaces 37 Conclusion: Validation  External: Feasiblity of the approach has been exposed by the realization of two case studies and the provision of transformation catalogs  Internal: –Ontological requirements: Expliciteness, Expressivity, Human readability, Formality, Machine readability, Separation of concerns, Verifiability, Homogeneity, Reuse, Extendibility, Standards –Methodological requirements: Expliciteness, Flexibility, Formality, Executability, Separation of concerns, Extendibility Traceability, Correctness, Tool interoperability, Reuse.

Multi-Path Development of User Interfaces 38 Conclusion: Main Contributions  Ontological contribution –Definition of a formal language for describing viewpoints on a UI system  Methodological contribution –Explicit, open and formal definition of development steps and paths –Unification of several problem area in a unique framework thanks to the paradigm of multi-path development of user interface –Communication and incremental research and development effort

Multi-Path Development of User Interfaces 39 Conclusion: Secondary contributions  For SE community: –Application of transformational development concepts to UIs.  Graph Transformation Community: –Application of theoretical concepts to a new problem domain

Multi-Path Development of User Interfaces 40 Obstacles and Shortcomings  Main obtacles and shortcomings : –Ontological Lack of expressivity of models –Methodological Complexity of certain sub-steps Difficulty of finding an approprite level of generalization Difficulty in ordering rules and steps Lack of disjunction in the rule expression Difficulty to get meta-information Difficulty in managing large sets of transformation catalogs

Multi-Path Development of User Interfaces 41 Future Works  Extension to other types of UIs  Extension to other types of models  Define high-level building blocks (“constructive” patterns)  Extension of methodological steps definition and transformation catalogs  Extend formal foundations  Validate catalogs by human factors experts  Hide complexity  Evaluate transformation for run-time scenarios  Continue the development of ongoing tools …

Multi-Path Development of User Interfaces 42 Thank You !