Automatic user interface generation from declarative models Egbert
Automatic user interface generation from declarative models Egbert Schlungbaum & Thomas Elwert Department of Computer Science University of Rostock, Germany University of Rostock 1 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Introduction 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 2 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
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 3 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Model-based tools (some) UIDE, HUMANOID, MECANO (I), ITS, GENIUS, JANUS ADEPT, TRIDENT MASTERMIND, MECANO (II), AME, FUSE, TADEUS EXPOSE, IDA University of Rostock 4 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Model-based approach University of Rostock 5 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Declarative models in model-based tools Task model Application model Dialogue model Presentation model Behaviour model Platform model User model Workplace model University of Rostock 6 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Use 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 parts: application 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 University of Rostock 7 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Classification (small) classification on notation of central model • systems with their own notation e. g. , UIDE, HUMANOID, TRIDENT • systems with notations well-known from softwareengineering e. g. , JANUS, GENIUS Þ one possibility of integration: UI-E and SE for Interactive systems development University of Rostock 8 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Use of declarative models MASTERMIND task model, presentation model, application model MECANO II user-task model, domain model, presentation model, dialogue model, user model, design model AME application systems objects (all-purpose OO-model) FUSE task model, problem domain model, user model, dialogue and layout models University of Rostock 9 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Different architectures ®UIDE, HUMANOID, MECANO, MASTERMIND ®AME: OI, C++ GENIUS: ISA DM JANUS: ISA DM, OI TADEUS: ISA DM: OI: University of Rostock 10 ISA Dialogue Manager, ISA Gmb. H Open Interface, Neuron Data CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Automatic generation from models presentation: data model of application - UIDE, UIDE GENIUS dynamic behaviour: application model extended with pre- & postconditions - UIDE presentation and dynamic behaviour: object or domain models - JANUS, JANUS MECANO, MECANO AME presentation and dynamic behaviour: multiple models - ADEPT, ADEPT TRIDENT, TRIDENT MASTERMIND, MASTERMIND FUSE, FUSE TADEUS University of Rostock 11 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
TADEUS TAsk-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 University of Rostock 12 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Modelling steps in TADEUS Requirements of Interactive system: Task, Problem-domain, and User m. Dialogue design: Dialogue model 1. Dialogue view identification 2. Navigation dialogue between views 3. Processing dialogue inside views Automatic generation University of Rostock 13 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Declarative models and automatic generation in TADEUS Dialogue model: Dialogue graph + Interaction tables presentation: problem-domain model (object model) and refinements in dialogue model: Interaction tables dynamic behaviour: task model and refinements in dialogue model: Dialogue graph University of Rostock 14 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Example: Task and Problem-domain m. University of Rostock 15 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
University of Rostock 16 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Example: Identification of dialogue views University of Rostock 17 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Example: Dialogue model Dialogue graph and Interaction table University of Rostock 18 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Generation of UI code in TADEUS Steps of the automatic process: 1 2 3 4 5 6 7 Default layout description Selection of AIO’s for each dialogue form Mapping from AIO’s to CIO’s Layout of CIO’s using defaults Placing CIO’s inside the dialogue view Creation the dynamics from Dialogue graph User interface description file for Existing UIMS University of Rostock 19 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
View User model Interaction table and generation result University of Rostock 26 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
View User model (modified) Interaction table and generation result University of Rostock 27 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Conclusion: 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 University of Rostock 28 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Conclusion: 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) University of Rostock 29 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Conclusion: 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 University of Rostock 30 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Conclusion: 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 ? University of Rostock 31 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
Thank you for your attention! University of Rostock 32 CADUI'96 - 5 -7 June 1996 - FUNDP Namur
- Slides: 26