In SCIEnce, we are connecting different Computer Algebra Systems in a standardized way. The protocol used is called SCSCP (Symbolic Computation Software Composability Protocol), and we have some prototypes running. The mathematical objects are marshalled in XML using OpenMath. This is a demo-session in MuPAD:

*----* MuPAD Pro 4.5.0 -- The Open Computer Algebra System /| /| *----* | Copyright (c) 1997 - 2008 by SciFace Software | *--|-* All rights reserved. |/ |/ *----* Licensed to: Peter Horn // load the package >> package("OpenMath"): // define some (simple) maths task. hold is required to prevent // MuPAD from immediately computing the result. >> A := hold(hold(_plus)(7, 8 )) hold(_plus)(7, 8 ) // There are scscp-servers running on some remote machines. // Note: in the setup of the connection, the type of the system is NOT // specified. They all talk SCSCP. >> gap := SCSCP("machine1.somewhere.org", 26133): >> kant := SCSCP("machine2.somewhere-else.org", 26133): >> mupad := SCSCP("machine3.differentplace.org", 26133): // now, ask GAP, KANT and the remote MuPAD to compute the task: >> gap::compute(A) 15 >> kant::compute(A) 15 >> mupad::compute(A) 15 // a slightly more advanced example (extended euclidean algorithm) >> B := hold(hold(gcdex)(12, 14, 20)) hold(gcdex)(12,14,20) >> kant::compute(B) [2, -1, 1, 0]

More to come