Top Banner
University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface Automatic user interface generation generation from declarative models from declarative models Egbert Schlungbaum & Thomas Elwert Department of Computer Science University of Rostock Rostock, Germany
26

University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

Dec 14, 2015

Download

Documents

Teresa Calhoun
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 2: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 3: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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 ?

Page 4: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 5: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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 • …

Page 6: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 7: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 8: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 9: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 10: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 11: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 12: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 13: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 14: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 15: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 16: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

... ...

Page 17: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 18: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 19: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 20: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 21: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 22: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 23: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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)

Page 24: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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

Page 25: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

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 ?

Page 26: University of Rostock 1 CADUI'96 - 5-7 June 1996 - FUNDP Namur Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas.

University of Rostock 32 CADUI'96 - 5-7 June 1996 - FUNDP Namur

Thank you for your attention!