Skip to main content

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

  • Conference paper
  • First Online:
Design and Implementation of Symbolic Computation Systems (DISCO 1993)

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 722))

Abstract

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  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. 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. 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. J.H. Davenport, Y. Siret, and E. Tournier. Computer Algebra — Systems and Algorithms for Algebraic Computation. Academic Press, 1988.

    Google Scholar 

  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. 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. 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. 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. 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. 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. Richard D. Jenks and Robert S. Sutor. AXIOM — The Scientific Computation System. Springer-Verlag, 1992.

    Google Scholar 

  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. 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. 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. Symbolics Inc. MACSYMA Reference Guide, 1985.

    Google Scholar 

  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. 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. Stephen Wolfram. Mathematica — A System for Doing Mathematics by Computer. Addison-Wesley Publishing Company, second edition, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Alfonso Miola

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fritzson, P., Engelson, V., Viklund, L. (1993). Variant handling, inheritance and composition in the ObjectMath computer algebra environment. In: Miola, A. (eds) Design and Implementation of Symbolic Computation Systems. DISCO 1993. Lecture Notes in Computer Science, vol 722. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0013175

Download citation

  • DOI: https://doi.org/10.1007/BFb0013175

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57235-0

  • Online ISBN: 978-3-540-47985-7

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics