Variant handling, inheritance and composition in the ObjectMath computer algebra environment

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


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.


Modeling Language Computer Algebra Symbolic Computation Scientific Computing Computer Algebra System 
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. [1]
    Mats Andersson. Omola — an object-oriented language for model representation. Licentiate thesis. Department of Automatic Control, Lund Institute of Technology, P.O. Box 118, S-221 00 Lund. Sweden, May 1990.Google Scholar
  2. [2]
    Bruce W. Char, Keith O. Geddes, Gaston H. Gonnet, Benton L. Leong, Michael B. Monagan, and Stephen M. Watt. Maple V Language Reference Manual. Springer-Verlag, 1991.Google Scholar
  3. [3]
    Willaim Courington, Jonathan Feiber, and Masahiro Honda. NSE highlights. In Mark Hall and John Barry, editors. The Sun Technology Papers. Springer-Verlag, 1990.Google Scholar
  4. [4]
    J.H. Davenport, Y. Siret, and E. Tournier. Computer Algebra — Systems and Algorithms for Algebraic Computation. Academic Press, 1988.Google Scholar
  5. [5]
    Richard J. Fateman. A Mathematica parser in Common Lisp. Personal Communications. Computer Science Division, Dept. of Electrical Engineering and Computer Science, University of California, Berkeley, California, 1991.Google Scholar
  6. [6]
    Dag Fritzson and Peter Fritzson. Equational modeling of machine elements-applied to rolling bearings. Technical Report LiTH-IDA-R-91-05, Department of Computer and Information Science, Linköping University, S-581 83, Linköping, Sweden, March 1991.Google Scholar
  7. [7]
    Peter Fritzson and Dag Fritzson. The need for high-level programming support in scientific computing applied to mechanical analysis. Computers & Structures, 45(2):387–395, 1992. Also as technical report LiTH-IDA-R-91-04,Department of Computer and Information Science, Linköping University, S-581 83, Linköping, Sweden.Google Scholar
  8. [8]
    Peter Fritzson, Lars Viklund, Johan Herber, and Dag Fritzsoa. Industrial application of object-oriented mathematical modeling and computer algebra in mechanical analysis. In Georg Heeg, Boris Magnusson, and Bertrand Meyer, editors, Technology of Object-Oriented Languages and Systems — TOOLS 7, pages 167–181. Prentice Hall, 1992.Google Scholar
  9. [9]
    A. C. Hearn. REDUCE-3 User's Manual, version 3.3. The Rand Corporation, Santa Monica, Califoria, USA, 1987. Publication CP78 (7/78).Google Scholar
  10. [10]
    Richard D. Jenks. A primer: 11 keys to new SCRATCHPAD. In John Fitch, editor, Proceedings of EUROSAM 84/International Symposium on Symbolic and Algebraic Computation, July 1984.Google Scholar
  11. [11]
    Richard D. Jenks and Robert S. Sutor. AXIOM — The Scientific Computation System. Springer-Verlag, 1992.Google Scholar
  12. [12]
    C. Limongelli, A. Minola, and M. Temperini. Design and implementation of symbolic computation systems. In P. W. Gaffney and E. N. Houstis, editors, Programming Environments for High-Level Scientific Problem Solving, pages 217–226. North-Holland, 1992. Proceedings of the IFIP TC2/WG 2.5 Working Conference on Programming Environments for High-Level Scientific Problem Solving.Google Scholar
  13. [13]
    Thomas W. Page, Jr., Steven E. Berson, William C. Cheng, and Richard R. Muntz. An object-oriented modeling environment. In OOPSLA'89 Conference Proceedings, pages 287–296, 1989.Google Scholar
  14. [14]
    P. C. Piela, T. G. Epperly, K. M. Westerberg, and A. W. Westerberg. ASCEND: An object-oriented computer environment for modeling and analysis: The modeling language. Computers & Chemical Engineering, 12(7):53–72, 1991.Google Scholar
  15. [15]
    Symbolics Inc. MACSYMA Reference Guide, 1985.Google Scholar
  16. [16]
    Lars Viklund and Peter Fritzson. An object-oriented language for symbolic computation — applied to machine element analysis. In Paul S. Wang, editor, Proceedings of the International Symposium on Symbolic and Algebraic Computation, pages 397–405. ACM Press, 1992.Google Scholar
  17. [17]
    Lars Viklund, Johan Herber, and Peter Fritzson. The implementation of ObjectMath — a high-level programming environment for scientific computing. In Uwe Kastens and Peter Pfahler, editors. Compiler Construction — 4th International Conference, CC '92, volume 641 of Lecture Notes in Computer Science, pages 312–318. Springer-Verlag, 1992.Google Scholar
  18. [18]
    Stephen Wolfram. Mathematica — A System for Doing Mathematics by Computer. Addison-Wesley Publishing Company, second edition, 1991.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1993

Authors and Affiliations

  • Peter Fritzson
    • 1
  • Vadim Engelson
    • 1
  • Lars Viklund
    • 1
  1. 1.Programming Environments Laboratory Department of Computer and Information ScienceLinköping UniversityLinköpingSweden

Personalised recommendations