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

  • Vadim Engelson
  • Dag Fritzson
  • Peter Fritzson
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1098)


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.


User Interface Data Type Graphical User Interface Data Item Class Hierarchy 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [ACSST94]
    J. Alt, E. Casais, B. Schiefer, S. Sirdeshpande, D. Theobald. The OBST Tutorial, Forschungszentrum Informatik (FZI), Karlsruhe, Germany, FZI.049.2, 15nd December, 1994Google Scholar
  2. [BB88]
    A. Björnerstedt, S. Britts, “AVANCE: An Object Management System”, SIGPLAN Notices, vol. 23, pp. 206–221. Nov. 1988. In Proceedings of the OOPSLA'88 Conference, San Diego, CA, 25–30 September 1988.Google Scholar
  3. [CRSTZ92]
    E. Casais, M. Ranft, B. Schiefer, D. Theobald, W. Zimmer. OBST — An Overview, Forschungszentrum Informatik (FZI), Karlsruhe, Germany, FZI.039.1, June 1992Google Scholar
  4. [Debug92]
    Debugging a Program. Sparc Works documentation. SunPro, October 1992Google Scholar
  5. [Deux91]
    O. Deux et al., “The O2 System”, Communications of the ACM, vol. 34, pp.34–48, Oct. 1991CrossRefGoogle Scholar
  6. [Dewan87]
    P.Dewan, M.Solomon. “Dost: An Environment to Support Automatic Generation of User Interfaces”. In Proceeding of the ACM SIGSOFT/SIGPLAN Software Engineering Symposium on Practical Software Development Environments, SIGPLAN Notices Vol. 22, No. 1, January 1987, pp. 150–159.CrossRefGoogle Scholar
  7. [Dewan90]
    P. Dewan, M. Solomon. “An Approach to Support Automatic Generation of User Interfaces”. ACM TOPLAS, Vol. 12, No. 4, pp. 566–609 (October 1990)CrossRefGoogle Scholar
  8. [Dewan90A]
    P. Dewan. “Object-Oriented Editor Generation”. Journal of Object-Oriented Programming, vol. 3, 2 (July/Aug 1990), pp. 35–49Google Scholar
  9. [Dewan91]
    P. Dewan. “An Inheritance Model for Supporting Flexible Displays of Data Structures”. Software — Practice and Experience, vol. 21(7), 719–738 (July 1991)Google Scholar
  10. [Dewan91A]
    P. Dewan. A Tour of the Suite User Interface Software. Included in [Suite91]Google Scholar
  11. [E96]
    V. Engelson. An Approach to Automatic Construction of Graphical User Interfaces for Applications in Scientific Computing. Linköping Studies in Science and Technology. Licentiate thesis No 545. Department of Computer and Information Science, Linköping University, 1996.Google Scholar
  12. [Fritzson93]
    P. Fritzson, V. Engelson, L.Viklund. “Variant Handling, Inheritance and Composition in the ObjectMath Computer Algebra Environment”. In Proc. Of DISCO'93 — Conference On Design and Implementation of Symbolic Computation Systems, LNCS 722, Sept. 1993Google Scholar
  13. [Fritzson95]
    P. Fritzson, L. Viklund, J. Herber and D. Fritzson. “High-level Mathematical Modeling and Programming”. IEEE Software, July 1995, pp. 77–86.CrossRefGoogle Scholar
  14. [FWHSS96]
    P. Fritzson, R. Wismüller, Olav Hansen, Jonas Sala, Peter Skov. “A Parallel Debugger with Support for Distributed Arrays, Multiple Executables and Dynamic Processes”. In Proceedings of International Conference on Compiler Construction, Linköping University, Linköping, Sweden, 22–26 April, 1996, LNCS 1061, Springer Verlag.Google Scholar
  15. [LLOW91]
    Ch. Lambs, G. Landis, J. Orenstein, D. Weinreb, “The ObjectStore Database System”, Communications of the ACM, vol. 34, pp. 50–63, Oct. 1991CrossRefGoogle Scholar
  16. [OBST94]
    OBST, a persistent object management system. Available as, see also Google Scholar
  17. [Ou94]
    John K. Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley, 1994Google Scholar
  18. [Paulisch90]
    F.N.Paulisch, S. Manke, W.F.Tichy. “Persistence for Arbitrary C++ Data Structures”. In Proc. of Int. Workshop on Computer Architectures to Support Security and Persistence of Information, Bremen, FRG, May 1990, pp. 378–391.Google Scholar
  19. [PDGen96]
    V. Engelson. The PDGen tool. Information available as Scholar
  20. [PGen94]
    PGen, a persistence facility. This software is available as Scholar
  21. [Tichy94]
    W.F.Tichy, J.Heilig, F.N.Paulisch. “A Generative and Generic Approach to Persistence”. C++ report, January 1994. Also included in [PGen94].Google Scholar
  22. [Wolfram91]
    S. Wolfram, Mathematica — A System for Doing Mathematics by Computer (second edition), Addison-Wesley, Reading, Mass., 1991.Google Scholar
  23. [Viklund95]
    L. Viklund and P. Fritzson, “ObjectMath: An Object-Oriented Language for Symbolic and Numeric Processing in Scientific Computing”, Scientific Programming, Vol. 4, pp. 229–250, 1995.Google Scholar
  24. [Suite91]
    SUITE, user interface software. This software is available as Some information available as Google Scholar
  25. [SUN90]
    SUN Microsystems Inc. Network Programming Guide (Ch. 5,6), 1990Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Vadim Engelson
    • 1
  • Dag Fritzson
    • 2
  • Peter Fritzson
    • 1
  1. 1.Dept. of Computing and Information ScienceLinköping UniversityLinköpingSweden
  2. 2.SKF ERC B.V.DT NieuwegeinThe Netherlands

Personalised recommendations