liu.seSearch for publications in DiVA
Change search
ReferencesLink to record
Permanent link

Direct link
Automatic generation of user interfaces from data structure specifications and object-oriented application models
Linköping University, Department of Computer and Information Science. (PELAB)
SKF Engineering & Research Centre ,Sweden.
Linköping University, Department of Computer and Information Science. (PELAB)ORCID iD: 0000-0002-3435-4996
1996 (English)In: ECOOP ’96 — Object-Oriented Programming: 10th European Conference Linz, Austria, July 8–12, 1996 Proceedings / [ed] Pierre Cointe, Springer Berlin/Heidelberg, 1996, 114-141 p.Conference paper (Refereed)
Abstract [en]

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.

Place, publisher, year, edition, pages
Springer Berlin/Heidelberg, 1996. 114-141 p.
Lecture Notes in Computer Science, ISSN 0302-9743 (print), 1611-3349 (online) ; 1098
National Category
Engineering and Technology
URN: urn:nbn:se:liu:diva-88536DOI: 10.1007/BFb0053059ISBN: 978-3-540-61439-5OAI: diva2:604702
European Conference on Object-Oriented Programming (ECOOP96), Linz, Austria, 8-12 July 1996
Available from: 2013-02-12 Created: 2013-02-12 Last updated: 2014-10-08
In thesis
1. Tools for design, interactive simulation, and visualization of object-oriented models in scientific computing
Open this publication in new window or tab >>Tools for design, interactive simulation, and visualization of object-oriented models in scientific computing
2000 (English)Doctoral thesis, comprehensive summary (Other academic)
Abstract [en]

Mathematical models used in scientific computing are becoming large and complex. In order to handle the size and complexity, the models should be better structured (using objectorientation) and visualized (using advanced user interfaces). Visualization is a difficult task, requiring a great deal of effort from scientific computing specialists.

Currently, the visualization of a model is tightly coupled with the structure of the model itself. This has the effect that any changes to the model require that the visualization be redesigned as well. Our vision is to automate the generation of visualizations from mathematical models. In other words, every time the model changes, its visualization is automatically updated without any programming efforts.

The innovation of this thesis is demonstrating this approach in a number of different situations, e.g. for input and output data, and for two- and three-dimensional visualizations. We show that this approach works best for object-oriented languages (ObjectMath, C++, and Modelica).

In the thesis, we describe the design of several programming environments and tools supporting the idea of automatic generation of visualizations.

Tools for two-dimensional visualization include an editor for class hierarchies and a tool that generates graphical user interfaces from data structures. The editor for class hierarchies has been designed for the ObjectMath language, an object-oriented extension of the Mathematica language, used for scientific computing. Diagrams showing inheritance, partof relations, and instantiation of classes can be created, edited, or automatically generated from a model structure.

A graphical user interface, as well as routines for loading and saving data, can be automatically generated from class declarations in C++ or ObjectMath. This interface can be customized using scripts written in Tcl/Tk.

In three-dimensional visualization we use parametric surfaces defined by object-oriented mathematical models, as well as results from mechanical simulation of assemblies created by CAD tools.

Mathematica includes highly flexible tools for visualization of models, but their performance is not sufficient, since Mathematica is an interpreted language. We use a novel approach where Mathematica objects are translated to C++, and used both for simulation and for visualization of 3D scenes (including, in particular, plots of parametric functions).

Traditional solutions to simulations of CAD models are not customizable and the visualizations are not interactive. Mathematical models for mechanical multi-body simulation can be described in an object-oriented way in Modelica. However, the geometry, visual appearance, and assembly structure of mechanical systems are most conveniently designed using interactive CAD tools. Therefore we have developed a tool that automatically translates CAD models to visual representations and Modelica objects which are then simulated, and the results of the simulations are dynamically visualized. We have designed a high performance OpenGL-based 3D-visualization environment for assessing the models created in Modelica. These visualizations are interactive (simulation can be controlled by the user) and can be accessed via the Internet, using VRML or Cult3D technology. Two applications (helicopter flight and robot simulation) are discussed in detail.

The thesis also contains a section on integration of collision detection and collision response with Modelica models in order to enhance the realism of simulations and visualizations.

We compared several collision response approaches, and ultimately developed a new penalty-based collision response method, which we then integrated with the Modelica multibody simulation library and a separate collision detection library.

We also present a new method to compress simulation results in order to reuse them for animations or further simulations. This method uses predictive coding and devilers high compression quality for results from ordinary differential equation solvers with varying time step.

Place, publisher, year, edition, pages
Linköping: Linköpings universitet, 2000. 42 p.
Linköping Studies in Science and Technology. Dissertations, ISSN 0345-7524 ; 627
National Category
Computer Science
urn:nbn:se:liu:diva-35606 (URN)27914 (Local ID)91-7219-709-9 (ISBN)27914 (Archive number)27914 (OAI)
Public defence
2000-06-05, Estraden, Hus E, Linköpings Universitet, Linköping, 13:15 (Swedish)
Available from: 2009-10-10 Created: 2009-10-10 Last updated: 2013-02-12

Open Access in DiVA

No full text

Other links

Publisher's full text

Search in DiVA

By author/editor
Engelson, VadimFritzson, Peter
By organisation
Department of Computer and Information Science
Engineering and Technology

Search outside of DiVA

GoogleGoogle Scholar
The number of downloads is the sum of all downloads of full texts. It may include eg previous versions that are now no longer available

Altmetric score

Total: 99 hits
ReferencesLink to record
Permanent link

Direct link