Loading...
Please wait, while we are loading the content...
Similar Documents
Dynamic ModulesThe Concept of Software Integration in MuPADAndreas SorgatzDepartment of Mathematics and Computer ScienceUniversity of PaderbornPaderborn , Germanyandi
| Content Provider | Semantic Scholar |
|---|---|
| Author | Sorgatz, Andreas |
| Copyright Year | 1997 |
| Abstract | Integration of software packages into computer algebra systems (CAS) and communication between CAS and other systems, by using IPC protocols, gains more and more relevance for CAS users. They copy software from the Internet or write eecient special purpose algorithms in a low-level language such as C/C++ and want to integrate and use them in their favourite CAS. The concept of dynamic modules allows the user to integrate simple C/C++ functions as well as complete software packages into a CAS (by dynamic linking) and to use them in the same way as usual CAS functions. Furthermore, this concept allows the user directly to access all internal methods and data types of the CAS (e.g. the arbitrary precision arithmetic) and to truly extend it with nearly any feature that is desired. Dynamic modules ooers an alternative to interprocess communication (IPC) for many applications. The rst implementation is available with MuPAD 1]. This article gives a survey of the concept and the basic techniques of dynamic modules. It demonstrates the integration of the polynomial factoriza-tion package Magnum 2], the usage of the Nagc 3] library and shows how to provide IPC protocols like Asap2 4] or MP 5] in MuPAD. The variety of diierent packages and algorithms which can be utilized simultaneously from within MuPAD increases drastically. In this sense dynamic modules apply the principle of software integration to the broad eld of mathematical applications. Interprocess Communication So far, the general concept to integrate software into a CAS is to use IPC protocols, like Asap2, MP, MathLink 6] or OpenMath 7] which is usually based on socket, pipe or le communication. They are very useful, especially to communicate with systems running on diierent hosts in a network. However, they are a bit clumsy and require a lot of communication overhead. Using such protocols the following actions have to be carried out to pass data, e.g. function arguments or results, between processes or to call an external function of the partner process-if supported by the protocol: 1. The CAS data are converted into data packages (information encoding) and 2. transfered (copied physically) between the processes. 3. The data packages are reconverted into CAS data or any other representation used by the communication partner (information decoding). Information encoding and decoding may be costly. Furthermore passing information doubles the amount of memory space that is needed to store these data, because they are copied. Especially … |
| File Format | PDF HTM / HTML |
| Alternate Webpage(s) | http://www.sciface.com/support/bib/ONLINE/sorgatz97c.ps.gz |
| Language | English |
| Access Restriction | Open |
| Content Type | Text |
| Resource Type | Article |