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

Direct link
Variant handling, inheritance and composition in the ObjectMath computer algebra environment
Linköping University, Department of Computer and Information Science. (PELAB)ORCID iD: 0000-0002-3435-4996
Linköping University, Department of Computer and Information Science. (PELAB)
Linköping University, Department of Computer and Information Science.
1993 (English)In: Design and Implementation of Symbolic Computation Systems: International Symposium, DISCO '93 Gmunden, Austria, September 15–17, 1993 Proceedings / [ed] Alfonso Miola, Springer Berlin/Heidelberg, 1993, 145-163 p.Conference paper (Refereed)
Abstract [en]

ObjectMath is a high-level programming environment and modeling language for scientific computing which supports variants and graphical browsing in the environment and integrates object-oriented constructs such as classes and single and multiple inheritance within a computer algebra language. In addition, composition of objects using the part-of relation and support for solution of systems of equations is provided. This environment is currently being used for industrial applications in scientific computing. The ObjectMath environment is designed to handle realistic problems. This is achieved by allowing the user to specify transformations and simplifications of formulae in the model, in order to arrive at a representation which is efficiently solvable. When necessary, equations can be transformed to C++ code for efficient numerical solution. The re-use of equations through inheritance in general reduces models by a factor of two to three, compared to a direct representation in the Mathematica computer algebra language. Also, we found that multiple inheritance from orthogonal classes facilitates re-use and maintenance of application models.

Place, publisher, year, edition, pages
Springer Berlin/Heidelberg, 1993. 145-163 p.
Lecture Notes in Computer Science, ISSN 0302-9743 (print), 1611-3349 (online) ; 722
National Category
Engineering and Technology
URN: urn:nbn:se:liu:diva-88534DOI: 10.1007/BFb0013175ISBN: 978-3-540-57235-0OAI: diva2:604698
International Symposium, DISCO '93 Gmunden, Austria, September 15–17, 1993
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
Fritzson, PeterEngelson, Vadim
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: 54 hits
ReferencesLink to record
Permanent link

Direct link