Automatic generation of user interfaces from data structure specifications and object-oriented application models
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.
KeywordsUser Interface Data Type Graphical User Interface Data Item Class Hierarchy
Unable to display preview. Download preview PDF.
- [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
- [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
- [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
- [Debug92]Debugging a Program. Sparc Works documentation. SunPro, October 1992Google Scholar
- [Dewan90A]P. Dewan. “Object-Oriented Editor Generation”. Journal of Object-Oriented Programming, vol. 3, 2 (July/Aug 1990), pp. 35–49Google Scholar
- [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
- [Dewan91A]P. Dewan. A Tour of the Suite User Interface Software. Included in [Suite91]Google Scholar
- [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
- [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
- [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
- [OBST94]OBST, a persistent object management system. Available as ftp://ftp.ask.uni-ketrlsruhe.de/pub/education/computer-science/OBST, see also http://www.fzi.de/divisions/dbs/projects/OBST.html Google Scholar
- [Ou94]John K. Ousterhout. Tcl and the Tk Toolkit. Addison-Wesley, 1994Google Scholar
- [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
- [PDGen96]V. Engelson. The PDGen tool. Information available as http://www.ida.liu.se/~vaden/pdgen.Google Scholar
- [PGen94]PGen, a persistence facility. This software is available as ftp://ftp.ira.uka.de/systems/general.Google Scholar
- [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
- [Wolfram91]S. Wolfram, Mathematica — A System for Doing Mathematics by Computer (second edition), Addison-Wesley, Reading, Mass., 1991.Google Scholar
- [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
- [Suite91]SUITE, user interface software. This software is available as ftp://ftp.cs.unc.edu/pub/users/dewan/suite. Some information available as http://www.cs.unc.edu/~dewan/ Google Scholar
- [SUN90]SUN Microsystems Inc. Network Programming Guide (Ch. 5,6), 1990Google Scholar