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

Direct link
ObjectMath inheritance and composition diagram editor
Linköping University, Department of Computer and Information Science. Linköping University, The Institute of Technology.
2000 (English)In: Linköping Electronic Articles in Computer and Information Science, ISSN 1401-9841, Vol. 5, no 6Article in journal (Refereed) Published
Abstract [en]

ObjectMath is a new object-oriented modeling language for scientific computing. The major innovation of this language is the introduction of object-oriented structure into a computer algebra language making it possible to group equations and formulae into classes. ObjectMath contains three object-oriented structuring constructs (class, instance and part) providing classes, single and multiple inheritance and composition of parts. Typical models in ObjectMath include between 10 and 30 such constructs. Inheritance and composition relationships are established between them. The problem is how to inspect, browse, and modify these relations in a convenient way. Our solution to this problem is using a graphical two-dimensional diagram editor connected to a text editor. An integrated programming environment for ObjectMath includes this editor. The report describes how object-oriented constructs of ObjectMath are mapped to their graphical representation. The ObjectMath syntax rules are mapped to diagram editor operations so that only syntactically correct models can be created.

Place, publisher, year, edition, pages
Linköping: Linköpings Universitet , 2000. Vol. 5, no 6
National Category
Engineering and Technology
URN: urn:nbn:se:liu:diva-88513OAI: diva2:604600
Available from: 2013-02-11 Created: 2013-02-11 Last updated: 2013-02-12
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

Link to article

Search in DiVA

By author/editor
Engelson, Vadim
By organisation
Department of Computer and Information ScienceThe Institute of Technology
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

Total: 52 hits
ReferencesLink to record
Permanent link

Direct link