From a technical point of view, a dynamic module is a special kind of a machine code library that can be linked at run-time. Its module functions are made public to the CAS interpreter and propagated to the user like usual CAS functions. The machine code of dynamic modules resides within the process environment of the CAS kernel and can directly access all internal data and methods. The module code is loaded on demand and can be unloaded at any time by the user and by automatic displacement and replacement strategies. This is the fastest method possible without further communication overhead.
Dynamic modules lead to a small and freely configurable run-time kernel.
Furthermore, modules can be developed and maintained by users and special interest groups independently from the kernel. On the one hand it works in the conventional way, providing its sophisticated capabilities of doing symbolic computation and on the other hand it can be used as a powerful and flexible universal mathematical shell to integrate, utilize or test various software packages in order to use them all together to solve mathematical problems.