Software architectures for computer algebra: A case study
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.
- 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