up previous next
2.1.2 System Structure
CoCoA is written in C language and is available on several platforms. The core of the system is an implementation of Buchberger's algorithm for computing Groebner bases of ideals and modules over a polynomial ring whose coefficient ring is a field, and a variation of it for computing syzygies. The algorithm has been optimized in several directions and is used as a building block for many operations. Most users can, however, completely ignore the theory of Groebner bases and even their existence: CoCoA will do all the necessary Groebner stuff in the background. However, for optimum use of the system some knowledge of the theory is helpful.

The system interacts with the external world using a Low Level Protocol (LLP) that is independent of any machine architecture. High level inputs from the user are translated into LLP-requests to the CoCoA kernel. The LLP-answers are then translated back into high level, user-readable outputs.