Title: Automatic user interface generation from declarative models
1Automatic user interface generationfrom
declarative models
Egbert Schlungbaum Thomas Elwert Department of
Computer Science University of Rostock Rostock,
Germany
2Introduction
- Overview on recent research works
- model-based approach
- The TADEUS approach
- a small example to demonstrate some features
- Conclusion
3Introduction (2)
- CAGUI - Computer Automated Generation of UI
- Declarative models
- Automatic user interface generation
- CADUI - Computer Aided Design of UI
- model-based approach and UI developmentSupport
of UI-Designer or UI-Constructor ?
4Model-based tools (some)
- UIDE, HUMANOID, MECANO (I), ITS, GENIUS, JANUS
- ADEPT, TRIDENT
- MASTERMIND, MECANO (II), AME, FUSE, TADEUS
- EXPOSE, IDA
5Model-based approach
6Declarative models in model-based tools
- Task modelApplication modelDialogue
modelPresentation modelBehaviour model - Platform modelUser modelWorkplace model
7Use of declarative models
- UIDE application model (application interface
actions, interaction techn.)pre- and
post-conditions are assigned to each action - HUMANOID declarative modelling language with 5
partsapplication semantics, presentation,
behaviour, dialogue sequencing, side effects - MECANO domain model
- TRIDENT task model, application model,
presentation model - GENIUS existing application model, dialogue
model - JANUS OOA - application model
8Classification (small)
- classification on notation of central model
- systems with their own notation e.g., UIDE,
HUMANOID, TRIDENT - systems with notations well-known from
software-engineering e.g., JANUS, GENIUS - one possibility of integration UI-E and SE for
Interactive systems development
9Use of declarative models
- MASTERMINDtask model, presentation model,
application model - MECANO IIuser-task model, domain model,
presentation model, dialogue model, user model,
design model - AMEapplication systems objects (all-purpose
OO-model) - FUSEtask model, problem domain model, user
model, dialogue and layout models
10Different architectures
- UIDE, HUMANOID,MECANO,MASTERMIND
- AME OI, CGENIUS ISA DMJANUS ISA DM,
OITADEUS ISA DM
ISA DM ISA Dialogue Manager, ISA GmbH OI Open
Interface, Neuron Data
11Automatic generation from models
- presentation data model of application - UIDE,
GENIUS - dynamic behaviourapplication model extended
with pre- postconditions - UIDE - presentation and dynamic behaviourobject or
domain models - JANUS, MECANO, AME - presentation and dynamic behaviourmultiple
models - ADEPT, TRIDENT, MASTERMIND, FUSE, TADEUS
12TADEUSTAsk-based DEvelopment of USer interface
software
- task-oriented and model-based approach to User
Interface development of interactive systems - methodology supports continuous development
process - declarative models task, user, problem-domain,
dialogue - integration of UI and Software engineering by
means of tool integration
13Modelling steps in TADEUS
- Requirements of Interactive systemTask,
Problem-domain, and User m. - Dialogue design Dialogue model1. Dialogue view
identification2. Navigation dialogue between
views3. Processing dialogue inside views - Automatic generation
14Declarative models and automatic generation in
TADEUS
- Dialogue model Dialogue graph Interaction
tables - presentationproblem-domain model (object model)
and refinements in dialogue model Interaction
tables - dynamic behaviourtask model and refinements in
dialogue model Dialogue graph
15Example Task and Problem-domain m.
16(No Transcript)
17Example Identification of dialogue views
18Example Dialogue modelDialogue graph and
Interaction table
19Generation of UI code in TADEUS
- Steps of the automatic process
- Default layout description
- Selection of AIOs for each dialogue form
- Mapping from AIOs to CIOs
- Layout of CIOs using defaults
- Placing CIOs inside the dialogue view
- Creation the dynamics from Dialogue graph
- User interface description file for Existing
UIMS
20Step 1 Default layout description
- example push-button, some attributes
- default_layout PushButton .background_colour
Dark_Grey .foreground_colour Black .font
ButtonFont .cursortype ActionCursor
21Step 2 Selection of AIOs
- automatic, rule-based selection(Dialogue
designer only specifies dialogue form, type) - if DialogueForm is data inputand type is
1n - then set AIO single selector
22Step 3 Mapping from AIOs to CIOs
- automatic, rule-based mapping
- if AIO is multiple selectorand number_of_ite
ms is constand number_of_items less 7 - then set CIO group of check boxes
23Step 4 Layout of CIOs
- presentation values are assigned to CIOs using
- Dialogue designers specification in the
Interaction table (if there is one) - Default layout description
24Step 5 Placing CIOs
- placing procedure is executed for each view
- it uses information on groups specified in the
interaction tables - identification of CIOs to place outside-in
- computation of position and size inside-out
- defaults for orientation
- of groups in a view vertical, horizontal
- of CIOs in a group vertical, horizontal
25Step 6 Creation of dynamics
Generation pattern of Dialogue graph transitions
26View User modelInteraction table and generation
result
27View User model (modified)Interaction table and
generation result
28Conclusion Some questions to open discussion
- Support of UI-Designer or UI-Constructor ?
- What kind of user interface does we have to the
modelling languages ? (UI for dialogue designer) - What range of applications does the modelling
languages support ? - TADEUS answer
- graphical tools under development
- application area information systems (business
application), TADEUS itself
29Conclusion Some questions to open discussion
- Automatic generation - Does it really support ?
- What is the relation between modelling effort and
quality of automatic generation result ? - Which steps of user interface generation can be
done in a fully automatic way ? - TADEUS answer
- quality of generation result is good , but
modelling effort is high (in the restricted
application area)
30Conclusion Some questions to open discussion
- Automatic generation - Does it really support ?
- How to properly integrate the generated User
Interface and the functional core ? - How to to update the declarative models, if the
dialogue designer improves the generated UI by
hand ? - TADEUS answer
- the destination UIMS allows the independent
development of the user interface and functional
core - generation of different solutions from which the
designer can select the best one
31Conclusion Some questions to open discussion
- How to perform a re-generation of a User
Interface when requirements change ? - How to reverse engineer an existing User
Interface to do a generation ?
32Thank you for your attention!