University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation...
-
Upload
teresa-calhoun -
Category
Documents
-
view
213 -
download
0
Transcript of University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation...
University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Automatic user interface generationAutomatic user interface generationfrom declarative modelsfrom declarative models
Egbert Schlungbaum & Thomas Elwert
Department of Computer ScienceUniversity of Rostock
Rostock, Germany
University of Rostock 2 CADUI'96 - 5-7 June 1996 - FUNDP Namur
IntroductionIntroduction
1 Overview on recent research works
– model-based approach
2 The TADEUS approach
– a small example to demonstrate some features
3 Conclusion
University of Rostock 3 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Introduction (2)Introduction (2)
• CAGUI - Computer Automated Generation of UI
– Declarative models
– Automatic user interface generation
• CADUI - Computer Aided Design of UI
– model-based approach and UI development
Support of UI-Designer or UI-Constructor ?
University of Rostock 4 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Model-based tools (some)Model-based tools (some)
UIDE, HUMANOID, MECANO (I), ITS, GENIUS, JANUS
ADEPT, TRIDENT
MASTERMIND, MECANO (II), AME, FUSE, TADEUS
EXPOSE, IDA
University of Rostock 5 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Model-based approachModel-based approach
Model Editors
Design Exploration
Automatic Design
Design Assistance
Design Critics
Runtime system
declarative models • tasks • objects • presentation • dialogue • …
University of Rostock 6 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Declarative models in model-based toolsDeclarative models in model-based tools
Task modelApplication modelDialogue model
Presentation modelBehaviour model
Platform modelUser model
Workplace model
University of Rostock 7 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Use of declarative modelsUse of declarative models
UIDEUIDE application model (application & interface actions, interaction techn.)pre- and post-conditions are assigned to each action
HUMANOIDHUMANOID declarative modelling language with 5 parts:application semantics, presentation, behaviour, dialogue sequencing, side effects
MECANOMECANO domain model
TRIDENTTRIDENT task model, application model, presentation model
GENIUSGENIUS existing application model, dialogue model
JANUSJANUS OOA - application model
University of Rostock 8 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Classification (Classification (smallsmall) )
classification on notation of central model
• systems with their own notatione.g., UIDE, HUMANOID, TRIDENT
• systems with notations well-known from software-engineering
e.g., JANUS, GENIUS
one possibility of integration: UI-EUI-E and SESE for Interactive systems developmentInteractive systems development
University of Rostock 9 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Use of declarative modelsUse of declarative models
MASTERMINDMASTERMINDtask model, presentation model, application model
MECANO IIMECANO IIuser-task model, domain model, presentation model, dialogue model, user model, design model
AMEAMEapplication systems objects (all-purpose OO-model)
FUSEFUSEtask model, problem domain model, user model, dialogue and layout models
University of Rostock 10 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Different architecturesDifferent architectures
UIDE, HUMANOID,MECANO,MASTERMIND
AME: OI, C++GENIUS: ISA DMJANUS: ISA DM, OITADEUS: ISA DM
declarative models • tasks • objects • presentation • dialogue • …
special purpose runtime system
runtime system of existing UIMS
user interface
file
ISA DM: ISA Dialogue Manager, ISA GmbHOI: Open Interface, Neuron Data
University of Rostock 11 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Automatic generation from modelsAutomatic generation from models
presentation: data model of application - UIDEUIDE, GENIUSGENIUS
dynamic behaviour:application model extended with pre- & postconditions - UIDEUIDE
presentation and dynamic behaviour:object or domain models - JANUSJANUS, MECANOMECANO, AMEAME
presentation and dynamic behaviour:multiple models - ADEPTADEPT, TRIDENTTRIDENT, MASTERMINDMASTERMIND, FUSEFUSE, TADEUSTADEUS
University of Rostock 12 CADUI'96 - 5-7 June 1996 - FUNDP Namur
TADEUSTADEUSTATAsk-based sk-based DEDEvelopment of velopment of USUSer interface softwareer 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
University of Rostock 13 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Modelling steps in TADEUSModelling steps in TADEUS
Requirements of Interactive system:Task, Problem-domain, and User m.
Dialogue design: Dialogue model1. Dialogue view identification2. Navigation dialogue between views3. Processing dialogue inside views
Automatic generationAutomatic generation
Task model
User model
Problem- domain model
Dialogue model
User interface description file
Requirements analysis
Dialogue design
Realization
University of Rostock 14 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Declarative models and automatic Declarative models and automatic generation in TADEUSgeneration in TADEUS
Dialogue model: Dialogue graph + Interaction tables
presentation:problem-domain model problem-domain model (object model) and refinements in dialogue model: Interaction tablesInteraction tables
dynamic behaviour:task model task model and refinements in dialogue model: Dialogue graphDialogue graph
University of Rostock 15 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Example: Task and Problem-domain m.Example: Task and Problem-domain m.
TADEUS
tasks, roles
process tasks
tasks
process roles
roles
remove role
role
create role
role
modify role
role
... ...
role
system_expierence
dialogue_expierence
system_knowledge
create role
remove role
modify role
University of Rostock 16 CADUI'96 - 5-7 June 1996 - FUNDP Namur
TADEUS
tasks, roles
process tasks
tasks
process roles
roles
remove role
role
create role
role
modify role
role
... ...
University of Rostock 17 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Example: Identification of dialogue viewsExample: Identification of dialogue views
TADEUS
tasks, roles
process tasks
tasks
process roles
roles
remove role
role
create role
role
modify role
role
TADEUS
Role
... ...
User Model
University of Rostock 18 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Example: Dialogue modelExample: Dialogue modelDialogue graph and Interaction tableDialogue graph and Interaction table
view: Role
transition dialogue form ...
help function call
quit function call
TADEUS
User model Role
University of Rostock 19 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Generation of UI code in TADEUSGeneration of UI code in TADEUS
Steps of the automatic process: Steps of the automatic process: 1 Default layout description
2 Selection of AIO’s for each dialogue form
3 Mapping from AIO’s to CIO’s
4 Layout of CIO’s using defaults
5 Placing CIO’s inside the dialogue view
6 Creation the dynamics from Dialogue graph
7 User interface description file for Existing UIMS
University of Rostock 26 CADUI'96 - 5-7 June 1996 - FUNDP Namur
View View User modelUser model
Interaction table and generation resultInteraction table and generation result
transition dialogueform
type group positionin group
new role data input free 1 1
remove role function call 2 2
modify role function call 2 1
help function call 3 1
quit function call 3 2
University of Rostock 27 CADUI'96 - 5-7 June 1996 - FUNDP Namur
View View User modelUser model ( (modifiedmodified))
Interaction table and generation resultInteraction table and generation result
transition dialogueform
type group positionin group
new role function call 1 1
remove role function call 1 3
modify role function call 1 2
help function call 2 1
quit function call 2 2
University of Rostock 28 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Conclusion: Conclusion: Some questions to open discussionSome 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
University of Rostock 29 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Conclusion: Conclusion: Some questions to open discussionSome 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)
University of Rostock 30 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Conclusion: Conclusion: Some questions to open discussionSome 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
University of Rostock 31 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Conclusion: Conclusion: Some questions to open discussionSome 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 ?
University of Rostock 32 CADUI'96 - 5-7 June 1996 - FUNDP Namur
Thank you for your attention!