Skip to main content

Software architectures for computer algebra: A case study

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

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

  • 130 Accesses

Abstract

The architectures of the existing computer algebra systems have not been discussed sufficiently in the literature. Instead, the focus has been on the design of the related programming language, or the design of a few key data structures.

We address this deficiency with a case study of the architecture of Cayley. Our aim is twofold: to capture this knowledge before the total passing of a system now made obsolete by Magma; and to encourage others to describe the architecture of the computer algebra systems with which they are familiar.

The long-term goal is a better understanding of how to construct computer algebra systems in the future.

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. G. Abowd, R. Allen, D. Garlan, Using style to give meaning to software architecture, Proceedings of SIGSOFT'93: Foundations of Software Engineering, ACM Software Engineering Notes 18, 3 (December 1993) 9–20.

    Google Scholar 

  2. A.V. Aho, R. Sethi, J.D. Ullman, Compilers: Principles, techniques, and Tools, Addison-Wesley, 1986.

    Google Scholar 

  3. Kent Beck and Ralph Johnson, Patterns generate architectures, ECOOP'94, M. Tokoro and R. Pareschi (eds), LNCS 821, Springer-Verlag, pp. 139–149, 1994.

    Google Scholar 

  4. W. Bosma, J.J. Cannon, G. Matthews, Programming with algebraic structures: Design of the Magma language, ISSAC 94, ACM Press, New York, 1994, pp.52–57.

    Google Scholar 

  5. David Budgen, Software Design, Addison-Wesley, 1993.

    Google Scholar 

  6. W.H. Burge and S.M. Watt, Infinite structures in Scratchpad II, EUROCAL '87, (Proceedings of the European Conference on Computer Algebra, June 2–5, 1987, Leipzig, DDR), Davenport, J.H. (ed.), Lecture Notes in Computer Science 378, Springer-Verlag, Berlin, 1989, pp.138–148.

    Google Scholar 

  7. G. Butler & John Cannon, Cayley, version 4: the user language, ISSAC'88, (Proceedings of 1988 International Symposium on Symbolic and Algebraic Computation, Rome, July 4–8), Lecture Notes in Comput. Sci. 358, 456–466, Springer-Verlag, Berlin, 1989.

    Google Scholar 

  8. J.J. Cannon, An introduction to the group theory language Cayley, Computational Group Theory, M.D. Atkinson (ed.), Academic Press, London, 1984, 145–183.

    Google Scholar 

  9. B.W. Char, G.J. Fee, K.O. Geddes, G.H. Gonnet, M.B. Monagan, S.M. Watt, On the design and performance of the Maple system, Proceedings of the 1984 Macsyma Users' Conference.

    Google Scholar 

  10. B.W. Char, K.O. Geddes, W.M. Gentleman, G.H. Gonnet, The design of Maple: a compact, portable and powerful computer algebra system, Computer Algebra, (Proceedings of EUROCAL '83, European Computer Algebra Conference, March 28–30, 1983, London), van Hulzen, J.A. (ed.), Lecture Notes in Computer Science 162, Springer-Verlag, Berlin, pp.101–115.

    Google Scholar 

  11. B.W. Char, K.O. Geddes, G.H. Gonnet, B.L. Leong, M.B. Monagan, S.M. Watt, Maple V Languaage Reference Manual, Springer-Verlag, New York, 1991.

    Google Scholar 

  12. G. Cooperman, Star/MPI: Binding a parallel library to interactive symbolic algebra systems, ISSAC 95, A.H.M. Levelt (ed.), ACM Press, New York, 1995, 126–132.

    Google Scholar 

  13. J.H. Davenport, B.M. Trager, Scratchpad's view of algebra I: Basic commutative algebra, Design and Implementation of Symbolic Computation Systems, A. Miola (ed.), Springer LNCS 429, 1990, 40–54.

    Google Scholar 

  14. J.H. Davenport, P. Gianni, B.M. Trager, Scratchpad's view of algebra II: A categorical view of factorization, ISSAC 91, S.M. Watt (ed.), ACM Press, New York, 1991, 32–38.

    Google Scholar 

  15. A. Diaz, E. Kaltofen, K. Schmitz, T. Valente, DSC: A system for distributed symbolic computation, ISSAC 91, S.M. Watt (ed.), ACM Press, New York, 1991, 323–332.

    Google Scholar 

  16. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994.

    Google Scholar 

  17. D. Garlan, R. Allen, J. Ockerbloom, Exploiting style in architectural design environments, Proceedings of SIGSOFT'94: Foundations of Software Engineering, ACM Software Engineering Notes 19, 5 (December 1994) 175–188.

    Google Scholar 

  18. David Garlan and Mary Shaw. An Introduction to Software Architecture. Advances in Software Engineering and Knowledge Engineering, Volume 1, World Scientific Publishing Company, 1993.

    Google Scholar 

  19. J.M. Greif, The SMP pattern matcher, EUROCAL '85, (Proceedings of European Conference on Computer Algebra, April 1–3, 1985, Linz, Austria), Caviness, B.F. (ed.), Lecture Notes in Computer Science 204, pp. 303–314.

    Google Scholar 

  20. R.D. Jenks and R.S. Sutor, Axiom: The Scientific Computation System, Springer-Verlag, New York, 1992.

    Google Scholar 

  21. Mark Moriconi and Xiaolei Qian, Correctness and composition of software architectures, Proceedings of SIGSOFT'94: Foundations of Software Engineering, ACM Software Engineering Notes 19, 5 (December 1994) 164–174.

    Google Scholar 

  22. A.C. Norman, The development of a vector-based algebra system, Computer Algebra, (Proceedings of EUROCAM '82, European Computer Algebra Conference, April 5–7, 1982, Marseille, France), Calmet, J. (ed.), Lecture Notes in Computer Science 144, Springer-Verlag, Berlin, 1982, pp.237–248.

    Google Scholar 

  23. A.C. Norman and P.M.A. Moore, The initial design of a vector based algebra system, Symbolic and Algebraic Computation, (Proceedings of EUROSAM '79, an International Symposium on Algebraic Manipulation, June 1979, Marseille, France), Ng, E.W. (ed.), Lecture Notes in Computer Science 72, Springer-Verlag, Berlin, 1979, pp.258–265.

    Google Scholar 

  24. R. Prieto-Díaz and J.M. Neighbors, Module interconnection languages, J. Systems and Software 6, 4 (1987) 307–334.

    Google Scholar 

  25. J.M. Purtilo, Applications of a software interconnection system in mathematical problem solving environments, SYMSAC '86, B.W. Char (ed.), ACM, New York, 1986, 16–23.

    Google Scholar 

  26. J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorenson, Object-Oriented Modelling and Design, Prentice Hall, 1991.

    Google Scholar 

  27. R.S. Sutor and R.D. Jenks, The type inference and coercion facilities in the Scratchpad II interpreter, (Proceedings of SIGPLAN '87 Symposium on Interpreters and Interpretive Techniques), SIGPLAN Notices 22, 7 (1987) pp. 56–63.

    Google Scholar 

  28. G. Wiederhold, P.Wegner, S. Ceri, Towards megaprogramming, CACM 35 (1992) 89–99.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Jacques Calmet Carla Limongelli

Rights and permissions

Reprints and permissions

Copyright information

© 1996 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Butler, G. (1996). Software architectures for computer algebra: A case study. In: Calmet, J., Limongelli, C. (eds) Design and Implementation of Symbolic Computation Systems. DISCO 1996. Lecture Notes in Computer Science, vol 1128. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-61697-7_29

Download citation

  • DOI: https://doi.org/10.1007/3-540-61697-7_29

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-61697-9

  • Online ISBN: 978-3-540-70635-9

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics