Software architectures for computer algebra: A case study

  • Greg Butler
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1128)


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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 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. 2.
    A.V. Aho, R. Sethi, J.D. Ullman, Compilers: Principles, techniques, and Tools, Addison-Wesley, 1986.Google Scholar
  3. 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. 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. 5.
    David Budgen, Software Design, Addison-Wesley, 1993.Google Scholar
  6. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 16.
    Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides, Design Patterns: Elements of Reusable Object-Oriented Software, Addison-Wesley, 1994.Google Scholar
  17. 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. 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. 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. 20.
    R.D. Jenks and R.S. Sutor, Axiom: The Scientific Computation System, Springer-Verlag, New York, 1992.Google Scholar
  21. 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. 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. 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. 24.
    R. Prieto-Díaz and J.M. Neighbors, Module interconnection languages, J. Systems and Software 6, 4 (1987) 307–334.Google Scholar
  25. 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. 26.
    J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorenson, Object-Oriented Modelling and Design, Prentice Hall, 1991.Google Scholar
  27. 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. 28.
    G. Wiederhold, P.Wegner, S. Ceri, Towards megaprogramming, CACM 35 (1992) 89–99.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1996

Authors and Affiliations

  • Greg Butler
    • 1
  1. 1.Centre Interuniversitaire en Calcul Mathématique Algébrique Department of Computer ScienceConcordia UniversityMontrealCanada

Personalised recommendations