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.
Preview
Unable to display preview. Download preview PDF.
References
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.
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.
Willaim Courington, Jonathan Feiber, and Masahiro Honda. NSE highlights. In Mark Hall and John Barry, editors. The Sun Technology Papers. Springer-Verlag, 1990.
J.H. Davenport, Y. Siret, and E. Tournier. Computer Algebra — Systems and Algorithms for Algebraic Computation. Academic Press, 1988.
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.
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.
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.
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.
A. C. Hearn. REDUCE-3 User's Manual, version 3.3. The Rand Corporation, Santa Monica, Califoria, USA, 1987. Publication CP78 (7/78).
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.
Richard D. Jenks and Robert S. Sutor. AXIOM — The Scientific Computation System. Springer-Verlag, 1992.
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.
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.
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.
Symbolics Inc. MACSYMA Reference Guide, 1985.
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.
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.
Stephen Wolfram. Mathematica — A System for Doing Mathematics by Computer. Addison-Wesley Publishing Company, second edition, 1991.
Author information
Authors and Affiliations
Editor information
Rights 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