ECOOP ’96 — Object-Oriented Programming

Volume 1098 of the series Lecture Notes in Computer Science pp 114-141


Automatic generation of user interfaces from data structure specifications and object-oriented application models

  • Vadim EngelsonAffiliated withDept. of Computing and Information Science, Linköping University
  • , Dag FritzsonAffiliated withSKF ERC B.V.
  • , Peter FritzsonAffiliated withDept. of Computing and Information Science, Linköping University

* Final gross prices may vary according to local VAT.

Get Access


Applications in scientific computing operate with data of complex structure and graphical tools for data editing, browsing and visualization are necessary.

Most approaches to generating user interfaces provide some interactive layout facility together with a specialized language for describing user interaction. Realistic automated generation approaches are largely lacking, especially for applications in the area of scientific computing.

This paper presents two approaches to automatically generating user interfaces (that include forms, pull-down menus and pop-up windows) from specifications.

The first is a semi-automatic approach, that uses information from object-oriented mathematical models, together with a set of predefined elementary types and manually supplied layout and grouping information. This system is currently in industrial use. A disadvantage is that some manual changes need to be made after each update of the model.

Within the second approach we have designed a tool, PDGen (Persistence and Display Generator) that automatically creates a graphical user interface and persistence routines from the declarations of data structures used in the application (e.g., C++ class declarations). This largely eliminates the manual update problem. The attributes of the generated graphical user interface can be altered.

Now structuring and grouping information is automatically extracted from the object-oriented mathematical model and transferred to PDGen. This is one of very few existing practical systems for automatically generating user interfaces from type declarations and related object-oriented structure information.