Skip to main content

Generating parallel code from equations in the ObjectMath programming environments

  • Conference paper
  • First Online:

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

Abstract

For a long time efficient use of massively parallel computers has been hindered by dependencies introduced in software through low-level implementation practice. This paper presents a programming environment and language called ObjectMath (Object oriented Mathematical language for scientific computing), which aims at eliminating this problem by allowing the user to represent mathematical equational models directly in the system. The system performs dependency analysis of equations to extract parallelism and automatically generates parallel code for numerical solution.

The system is currently being used for industrial applications in advanced mechanical analysis, but is generally applicable to other areas. Using ObjectMath, it is possible to model classes of equation objects, to support inheritance of equations, and to solve systems of equations.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Alfred V. Aho, John E. Hopcroft, Jeffrey D. Ullman. Data Structures and Algorithms, 222–226, Addison-Wesley, 1983.

    Google Scholar 

  2. 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 

  3. J.H. Davenport, Y. Siret, and E. Tournier. Computer Algebra — Systems and Algorithms for Algebraic Computation. Academic Press, 1988.

    Google Scholar 

  4. Richard J. Fateman. A review of Mathematica. Preliminary version. To appear in the Journal of Symbolic Computation, 1992.

    Google Scholar 

  5. 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 

  6. Peter Fritzson and Dag Fritzson. The need for high-level programming support in scientific computing applied to mechanical analysis. Technical Report LiTHIDA-R-91-04, Department of Computer and Information Science, Linköping University, S-581 83, Linköping, Sweden. March 1991. Accepted for publication in Computers and Structures — an International Journal.

    Google Scholar 

  7. Peter Fritzson, Lars Viklund, Johan Herber, and Dag Fritzson. 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. Prentice Hall, 1992.

    Google Scholar 

  8. Adele Goldberg. Smalltalk-80: The Interactive Programming Environment. Addison-Wesley Publishing Company, 1984.

    Google Scholar 

  9. E. Hairer S.P. Nørsett G. Wanner. Solving Ordinary Differential Equations I: Non stiff Problems. Springer-Verlag, 1980.

    Google Scholar 

  10. E. Hairer G. Wanner. Solving Ordinary Differential Equations II: Stiff and Differential-Algebraic Problems. Springer-Verlag, 1991.

    Google Scholar 

  11. Thomas W. Page, Jr., Steven E. Berson, William C. Cheng, and Richard R. Muntz. An object-oriented modeling environment. In OOPSLA'89 Conference Proceedings, 1989.

    Google Scholar 

  12. Peter Jacobson. The CONcurrent LABoratory: Algorithm Design for and Simulation of Parallel Architectures. Licentiate thesis. Institute of Information Processing, Department of Computing Science, University of Umeå, Sweden,1992.

    Google Scholar 

  13. Walter F. Tichy, Christian G. Herter. Modula-2*: An Extension of Modula-2 for Highly Parallel, Portable Programs. Technical report 4/90 — January 1990, Universität Karlsruhe, Fakultät für Informatik, Postfach 6980, D-7500 Karlsruhe 1.

    Google Scholar 

  14. Lars Viklund, Johan Herber, and Peter Fritzson. The implementation of ObjectMath — a high-level programming environment for scientific computing. To appear in Proceedings of the 1992 International Workshop on Compiler Construction, Springer-Verlag, 1992.

    Google Scholar 

  15. Paul S. Wang. FINGER: A symbolic system for automatic generation of numerical programs in finite element analysis. Journal of Symbolic Computation, 2:305–316, 1986.

    Google Scholar 

  16. Paul S. Wang. Graphical user interfaces and automatic generation of sequential and parallel code for scientific computing. In IEEE CompCon Spring, 1988.

    Google Scholar 

  17. Peter Wegner. Concepts and paradigms of object-oriented programming. OOPS Messenger, 1(1):8–87, August 1990.

    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

Jens Volkert

Rights and permissions

Reprints and permissions

Copyright information

© 1993 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fritzson, P., Andersson, N. (1993). Generating parallel code from equations in the ObjectMath programming environments. In: Volkert, J. (eds) Parallel Computation. ACPC 1993. Lecture Notes in Computer Science, vol 734. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-57314-3_18

Download citation

  • DOI: https://doi.org/10.1007/3-540-57314-3_18

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-57314-2

  • Online ISBN: 978-3-540-48055-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics