Solving the Mapping Problem in UI Design by Seamless Integration in
IDEALXML
Francisco MonteroLoUISE Research Group
University of Castilla-La Mancha
Belgian Laboratory of Computer-Human Interaction
Université catholique de [email protected]
Newcastle, July 13–15, 2005 DSV-IS’05
Table of contents
• The problem with mapping models• A language: usiXML• A tool: IDEALXML
• Solution: experience documented by using patterns– Domain model– Task model– Presentation model– Mapping model
• Conclusions and future works
Newcastle, July 13–15, 2005 DSV-IS’05
Problem
• MDA is a new way of writing specifications, based on a platform-independent model [OMG].
• The mapping problem is the problem of solving the transformations necessary to convert information in abstract models to concrete models close to a concrete user interface [Puerta et al., 1999].
• Mapping to the supported MDA platforms will be implemented by tools, easing the task of supporting new or different technologies [OMG].
• OMG is in the ideal position to provide the model-based standards that are necessary to extend integration beyond the middleware approach... Now is the time for the MDA [Soley, 2000].
Newcastle, July 13–15, 2005 DSV-IS’05
source: www.omg.org
Newcastle, July 13–15, 2005 DSV-IS’05
Tendency
In the 1980’s: Everything is an object
In the 2000’s: Everything is a model
models: explicitly capture knowledge about UI and
Interactive Applications with appropriate abstractions
Newcastle, July 13–15, 2005 DSV-IS’05
usiXMLUSer Interface eXtensible Markup Language
• usiXML is a XML-compliant markup language that describes the UI for multiple contexts of use such as Character User Interfaces (CUIs), Graphical User Interfaces (GUIs), Auditory User Interfaces, and Multimodal User Interfaces.
• usiXML is defined in a set of XML schemas. Each schema corresponds to one of the models (domain, task, presentation, mapping, etc) in the scope of the language.
Newcastle, July 13–15, 2005 DSV-IS’05
Mappings in usiXML
• Observes: ........... (IO x domain (a/m))• Updates: ............. (IO x attribute)• Triggers: ............. (IO x method)• isExecutedIn: ......(task x IO)• isReified: .............(AIO x CIO)• IsAbstractedInto: .(CIO x AIO)• IsAdapted: .......... (IO x IO)• Manipulates: .......(task x domain)• HasContext: ........(ANY x context of use)
Captions:
IO: Interaction Object
AIO: Abstract IO
CIO: Concrete IO
Newcastle, July 13–15, 2005 DSV-IS’05
What is IDEALXML?
• It is a pattern-oriented tool. • By using this environment you can edit, manipulate,
view and learn about patterns. • It is based on PLML [Fincher et al., 2003], but
additional elements are provided. • You can create a pattern repository, and then
distribute your repository to other people. • You can edit textual features associated with a
pattern, such as: name, alias, problem, context, solution, synopsis, rationale, etc.
• You can edit diagrams (models) using meaningful notations from Software Engineering (UML) and Human-Computer Interaction (CTT).
Newcastle, July 13–15, 2005 DSV-IS’05
Newcastle, July 13–15, 2005 DSV-IS’05
Newcastle, July 13–15, 2005 DSV-IS’05
Newcastle, July 13–15, 2005 DSV-IS’05
Newcastle, July 13–15, 2005 DSV-IS’05
Newcastle, July 13–15, 2005 DSV-IS’05
Newcastle, July 13–15, 2005 DSV-IS’05
Newcastle, July 13–15, 2005 DSV-IS’05
CTT notation (task model)
class diagram (domain model)
AIO notation (presentation model)
container
component
input
outputnavigation
control
select
abstract task
interaction task
application task
user task
cooperation task
class
attributemethoddependency
associationgeneralization
aggregation
composition
Newcastle, July 13–15, 2005 DSV-IS’05
triggers (tg): { , } x
updates (up): x
observes (ob): x
isExecutedIn (ex): x
manipulates (ma): { , } x
These mappings can be established:
Newcastle, July 13–15, 2005 DSV-IS’05
Newcastle, July 13–15, 2005 DSV-IS’05
• example figures
• pattern description (xml)
• diagrams - models (usixml)
Newcastle, July 13–15, 2005 DSV-IS’05
Patterns are experience
Experience can be modelled (learned, and reused)
Newcastle, July 13–15, 2005 DSV-IS’05
Domain model
• Collaboration patterns [Nicola et al., 2001]
Actor Role1 0..*
OuterPlace Place1
1..*
performs
Item SpecificItem1 0..*
has copies
Assembly Part1
1..*
Container Content1
0..*
Group Member0..*
0..*
Role Transaction1 0..*
CompositeTr LineItem1
1..*
handles
SpecificIt Transaction1 0..*
involved in
SpecificIt LineItem1 0..*
appeared in
Transaction FollowupTr1 0..*
related to
Place Transaction1 0..*
conducts
Newcastle, July 13–15, 2005 DSV-IS’05
Task and Presentation models
• Just-UI [Molina, 2002] patterns are documented using CTT [Paternò, 1999], but these patterns are not used using these models.
• We have many interaction patterns catalogs– [Tidwell, 1999]– [Welie, 2000]– [van Duyne et al., 2002]– [Graham, 2002]– [Montero et al., 2002]– many other references
but, these patterns are only descriptions using
natural language
These patterns need to be modelled
Newcastle, July 13–15, 2005 DSV-IS’05
Presentation model
• Patterns are solutions recurring solutions to design problems you see over and over [The Smalltalk Companion]
• A pattern addresses a recurring design problem that arises in specific design situations and presents a solution to it. [Buschmann et al. 1996]
Newcastle, July 13–15, 2005 DSV-IS’05
Mapping model (i) (an example: narrative pattern [Tidwell, 1999])
• Context: There is a need to convey information to the user; the information is closely interrelated, but of diverse kinds, and there may be some subjectivity involved.
• Problem: In what form should the information be displayed to the user?
• Solution: Convey the information via natural language. Use all you learned in high-school English class about good writing. If users might be skimming the text to find specific data items, use color, fonts, and white space to set off items of interest; for readability in some situations, try using "senselining."
Newcastle, July 13–15, 2005 DSV-IS’05
Mapping model (ii)(an example: narrative pattern [Tidwell, 1999])
Item
ItemName : string
description : string
SpecificItem
SpName : string
description : string
1
0..*
ha
s c o
pi e
s
info close
showStatus* [collaction]
closeTask*
Root
view
get
create
create
notify/update
create/service
Newcastle, July 13–15, 2005 DSV-IS’05
Mapping model (iii)(an example: narrative pattern [Tidwell, 1999])
Item
ItemName : string
description : string
SpecificItem
SpName : string
description : string
1
0..*
ha
s c o
pi e
s
show* collaction
closeTask*
Root info close
link
down
view [task]
link [download]
select download
[next] [back] [print] [search] [error]
showError confirm
[home]
....
notify/update
get
create
service
service
Newcastle, July 13–15, 2005 DSV-IS’05
Mapping model (iv)
Swing
Newcastle, July 13–15, 2005 DSV-IS’05
Mapping model (v)
MIDP
Newcastle, July 13–15, 2005 DSV-IS’05
Conclusions
• MDA is the actual tendency• Everithing are models• Patterns can be modeled• Patterns are design solutions• Quality features are related with patterns• User interface development can be improved by
using interaction patterns• Patterns can be used by users and designers,
examples and models are useful to them respectively
Newcastle, July 13–15, 2005 DSV-IS’05
Thank you!
Francisco MonteroLoUISE Research Group
University of Castilla-La Mancha
Belgian Laboratory of Computer-Human Interaction
Université catholique de [email protected]