This presentation contains the slides of the Doctoral Course given at University of Valencia (Spain) regarding model-driven engineering of user interfaces based on UsiXML (User Interface eXtensible Markup-Language, www.usixml.org), November 2006.
NO1 Certified Amil Baba In Lahore Kala Jadu In Lahore Best Amil In Lahore Ami...
Model-driven engineering of user interfaces
1. Model-Driven Engineering of User Interfaces Jean Vanderdonckt Université catholique de Louvain (UCL) Louvain School of Management (LSM) Information Systems Unit (ISYS) Belgian Laboratory of Computer-Human Interaction (BCHI) http://www.isys.ucl.ac.be/bchi
2.
3.
4.
5.
6. Adapted from [Palanque,2002] Target Applications, Domains Notations and tools User Interface Interaction Techniques 2006 TODAY No Interaction Technique Automated, batch systems Nothing Character UIs Business applications Screen definitions Graphical User Interfaces Information systems Entity-relationship Attribute model State-transition diagrams
12. Multiplicity of contexts of use Day 1: Why? TV is multi-media family device #1 Family Device Booking notification Everywhere connectivity for simple data exchange Travelling Travel booking site Powerful interface for complex operations Working Multimedia Travel programme Sporting Experience Role Location
26. Simple choice Mixed domain: Know domain: Day 1: Why? [Vanderdonckt & Faulkner,2002] Unknown domain : Amount of possible values [2,3] Amount of possible values [8,50] Amount of possible values [4,7] Amount of possible values ]50,+ [ Amount of possible values [2,3] Amount of possible values [4,7] Amount of possible values [8,50] Amount of possible values ]50,+ [
27. Choix multiple Mixed domain: Known domain: Day 1: Why? [Vanderdonckt & Faulkner,2002] Domaine inconnu : Amount of possible values [4,7] Amount of possible values [8,50] Amount of possible values ]50,+ [ Amount of possible values [2,3] Amount of possible values [4,7] Amount of possible values [8,50] Amount of possible values ]50,+ [ Amount of possible values [2,3]
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44. Derivation panel with preview CTTE Operator Operator parameters Design comment resulting from Applying guidelines Design Preview that dynamically changes according to parameters Legends Day 1: Why? [Vanderdonckt et al.,2003]
50. What do we want to get? Final user Interface T Concrete user Interface T Task and Domain T Abstract user Interface T T=Target context of use Concrete user Interface S Final user Interface S Task and Domain S Abstract user Interface S S=Source context of use http://www.plasticity.org UsiXML unsupported model UsiXML supported model User S User T Day 2: What? [Calvary et al.,2003] Environment T Reification Abstraction Reflexion Translation Platform S Environment S Platform T
58. Adapted from [Palanque,2002] Target Applications, Domains Notations and tools User Interface Interaction Technique 2006 TODAY 2007 No Interaction Technique Automated, batch systems Nothing Character UIs Business applications Screen definitions Graphical User Interfaces Information systems Entity-relationship Attribute model State-transition diagrams Multi-platform User Interfaces Web, Java applications Task model, context model, UML ,…
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69. MDE based on UsiXML 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
81. Mapping the models [Montero,2005] triggers (tg): { , } x updates (up): x observes (ob): x isExecutedIn (ex): x manipulates (ma): { , } x These mappings can be established:
87. 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 [Limbourg,2004]
88.
89.
90. Transformation system [Limbourg,2004] G Host USIXM specification G’ Resultant USIXM specification LHS RHS Matches - Co-Matches Is Transformed Into Is Transformed Into Transformation Rule 1 Transformation Rule 2 … Transformation Rule N Transformation System NAC Not Matches +
91.
92. PIM step: task+domain to AUI Identification of AUI structure Spatio-Temporal Arrangement of AIOs Selection of AIC Definition of Abstract Dialog Control STEP : From Task & Domain to AUI SUB-STEPS Derivation of AUI to Domain Relationships
93. How to read a graph transformation? Node type Node (Attribute,value) Edge type Edge (Attribute,value) Node Edge
112. PSM Step: AUI to CUI Reification of AC into CC Arrangement of CICs Selection of CIC Concrete Dialog Control Definition STEP : From AUI to CUI SUB-STEPS Definition of Navigation Derivation of CUI to Domain Relationships
113. PSM sub-step 3: definition of navigation An example of a complex rule
118. Example: widget substitution (4) LHS RHS NAC Rule 1: Create a new comboBox with the same id and name as the name of the group of radioButtons.
119. Example: widget substitution (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 applying the first rule
120. Example: widget substitution (6) LHS RHS ::= Rule 2: Convert every radio button within the group “x” into an item for the comboBox “x” that we have just created thanks to Rule 1
121. Example: widget substitution (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 applying the second rule: radio buttons disappeared
122. Example: widget substitution (8) <?xml version="1.0" encoding="UTF-8" standalone="yes"?> < cuiModel name =" MyModel "> < version modifDate =" 2004-03-24T17:09:17.402+01:00 " xmlns =""> 7 </ version > < authorName xmlns =""> Youri </ authorName > < window height =" 500 " width =" 600 " name =" Formulaire (2/5) " id =" window_1 "> < box relativeHeight =" 100 " name =" box1_0 " id =" box1_0 "> < box type =" vert " name =" boxTodo " id =" boxTodo "> ... < box type =" horiz " name =" box_2_2_2_1 " id =" box_2_2_2_1 "> < textComponent defaultContent =" Sexe " isBold =" true " id =" label_2 "/> < comboBox id =" comboBox001 " name =" label_3 " isDropDown =" true "> < item id =" radiobutton_0 " name =" radiobutton_0 " defaultContent =" Femme "/> < item id =" radiobutton_1 " name =" radiobutton_1 " defaultContent =" Homme "/> </ comboBox > ... </ box > </ box > </ window > </ cuiModel > Excerpt from the final transformated UsiXML specification
124. What do we have so far? Concrete user Interface S Final user Interface S Task and Domain S Abstract user Interface S S=Source context of use UsiXML unsupported model UsiXML supported model User S Reification Platform S Environment S
126. Mapping the Methodological World onto the Transformation World A development library stores (in usiXML textual format) paths, steps and sub-steps definition and their associated transformation systems and transformation rules 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 isComposedOf * 1 * 1 1 * 1 0..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 isComposedOf * 1 * 1 1 * 1 0..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 isComposedOf * 1 * 1 1 * 1 0..1 Transformation World [Limbourg,2004]
127. Multiple development paths 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 α
128.
129.
130.
131. What is a Feature Model? C F1 C F1 F2 C F1 F2 Dependencies 1. 2. Optional Exclusive Alternate [Schlee & Vanderdonckt,2004]
132. Example of a Feature Model Alternate [Schlee & Vanderdonckt,2004]
133. Interpretation of a feature model C F1 F2 F3 F2a F2b F3a F3b C F1 F2 F3 F2a F2b F3a F3b 0 1 1 1 1 0 0 UsiXML Specifications <C> <F1>0</F1> <F2>1 <F2a>1</F2a> <F2b>0</F2b> </F2> <F3>1 <F3a>0</F3a> <F3b>1</F3b> </F3> </C> ABA ANGIE-Part [Schlee & Vanderdonckt,2004]
141. What do we have so far? Concrete user Interface S Final user Interface S Task and Domain S Abstract user Interface S S=Source context of use UsiXML unsupported model UsiXML supported model User S Reification Platform S Environment S
155. What do we have so far? Concrete user Interface S Final user Interface S Task and Domain S Abstract user Interface S S=Source context of use UsiXML unsupported model UsiXML supported model User S Let’s go for adaptation [Calvary et al.,2003] Reification Abstraction Platform S Environment S
156. What do we want to get? Final user Interface T Concrete user Interface T Task and Domain T Abstract user Interface T T=Target context of use Concrete user Interface S Final user Interface S Task and Domain S Abstract user Interface S S=Source context of use UsiXML unsupported model UsiXML supported model User S User T [Calvary et al.,2003] Environment T Reification Abstraction Reflexion Translation Platform S Environment S Platform T
183. Adapted from [Palanque,2002] Target Applications, Domains Notations and tools User Interface Interaction Technique 2006 TODAY 2007 No Interaction Technique Automated, batch systems Nothing Character UIs Business applications Screen definitions Graphical User Interfaces Information systems Entity-relationship Attribute model State-transition diagrams Multi-platform User Interfaces Web, Java applications Task model, context model, UML ,… Virtual Reality User Interfaces 3D Applications Scene model
184.
185.
186. Why take care of multiple displays? [Czerwinsky,2005] Effects of Display Size on Task Times 0 20 40 60 80 100 120 140 160 DISPLAY Average Task Time (Seconds) Small Large
187. Why take care of multiple displays? The tasks were easy to perform 0 1 2 3 4 5 Small Large Display Size Average Rating (1=Disagree, 5=Agree) [Czerwinsky,2005]
188. Why take care of multiple displays? [Czerwinsky,2005]
196. This is not a floating toolbar Process DistriXML
197. This is migration ! Computer B Process Process Computer A DistriXML
198.
199.
200.
201.
202.
203.
204.
205.
206.
207.
208.
209.
210.
211.
212.
213.
214.
215.
216.
217.
218.
219.
220.
221.
222.
223. Preference example Problem Solution 1 Solution 2 (RE1) (RE2) suggests suggests avoids contradicts respects = for = against (A1) = drop down list requires less space than radio buttons (A2) = some possible values become obsolete when they are infrequently used (A3) = drop down list shows better then current value than the possible values (A4) = radio buttons are faster and easier to manipulate than drop down list (A5) = radio buttons are recommended in Microsoft Windows style guide (A6) = radio buttons do not allow users to change the values drop down list radio buttons (A4) is contradicted by (A2) and (A3) : the widget should be more used for output than input. (A6) is contradicted by (A3) : it is better to present all possible values than only one at a time (A5) is an autority argument , and can fall in front of (A1)+(A2)+(A3) [Vanderdonckt,1997] (A1) (A2) (A3) (A4) (A5) (A6) Standard compatibility (e.g. Windows) Cognitive respect Minimal actions Dialog representativity Prompting Clarity contradicts
224. Theory or argumentation [Toulmin,1975] [Perelman, 1978] Design problem Design option parameter (parameter, value) Is described by Is solved by Accepted solution Set of admissible solutions Solution 1 Solution 2 Solution n Counter-argument (rebuttal, counter-claim) Argument (ground, typically data) can be rejected because of Can be accepted thanks to Is justified by Design claim Warrant Is reinforced by Qualifier satisfied unsatisfied Is related to corresponds to Is justified by Is qualified by
228. Composing the MIS Real CIO Patient head Virtual CIOs Anatomic organs Virtual CIOs Annotations Primary object of interest
229.
230.
231.
232. Plasticity analysis and usability evaluation Plasticity Domains in the MIS Plasticity thresholds and context boundary values Inter-context continuity Perceptive, cognitive, functional intra-context continuity and inter-context continuity Intra-context / inter-context frequency and frequency switch Refined Metrics for Plastic MR systems
233. What do we have now? Final user Interface T Concrete user Interface T Task and Domain T Abstract user Interface T T=Target context of use Concrete user Interface S Final user Interface S Task and Domain S Abstract user Interface S S=Source context of use UsiXML unsupported model UsiXML supported model User S User T Environment T Reification Abstraction Reflexion Translation Platform S Environment S Platform T
238. Conclusion: the big picture of MDA UsiXML model: Abstract user interface UsiXML model: Concrete user interface Rendering Final user interface UsiXML models: task, domain Generative programming Graph transformations Graph transformations Derivation rules IdealXML ReversiXML FlashiXML QtkXML JaviXML VisualiXML TransformiXML GrafiXML VisiXML SketchiXML FormiXML KnowiXML MethodiXML
239. The Invisible UI All Applications Adapted from [Palanque,2002] Target Applications, Domains Notations and tools User Interface Interaction Technique No more programming: only models 2020 2006 TODAY 2008 2007 No Interaction Technique Automated, batch systems Nothing Character UIs Business applications Screen definitions Graphical User Interfaces Information systems Entity-relationship Attribute model State-transition diagrams Multi-platform User Interfaces Web, Java applications Task model, context model, UML ,… Virtual Reality User Interfaces 3D Applications Scene model Mixed Reality User Interfaces Command and control systems, games World models Tangible UIs Embodied UIs Physical models Embarked syst
240. Thank you very much for your attention For more information and downloading, http://www.isys.ucl.ac.be/bchi http://www.usixml.org User Interface eXtensible Markup Language http://www.similar.cc European network on Multimodal UIs Special thanks to all members of the team!