The SCIEnce Project
Note our new URL: http://www.symbolic-computing.org or alternative short form http://www.symcomp.org. If you will find elsewhere an old link with symbolic-computation in the URL, please edit it manually.
The SCIEnce project (Symbolic Computation Infrastructure for Europe), started in Spring 2006, brought together developers of several powerful symbolic computation software packages and a major symbolic computation research institute, supported by research groups expert in essential underpinning technologies, to unite the European community of researchers in, and users of, symbolic computation.
The project is an Integrated Infrastructure Initiative, funded by the European Commission under the Research Infrastructures Action of Framework 6. It began on April 1st, 2006 and run until December 31st, 2011.
An overview of the project is given in the paper "Easy composition of symbolic computation software using SCSCP: A new Lingua Franca for symbolic computation" by S. Linton, K. Hammond, A. Konovalov, C. Brown, P.W. Trinder, H.-W. Loidl, P. Horn and D. Roozemond (to appear in the Journal of Symbolic Computation).
Main Project Activities
- Software composability
- Software access from symbolic computation systems to Grid Services and Computational Grids
- Knowledge dissemination and user training trough series of summer school and workshops
- Personal access to facilities at RISC
In the direction of the software composability, we designed the Symbolic Computation Software Composability Protocol (SCSCP) - a remote procedure call framework by which a computer algebra system (CAS) may offer services to a variety of possible clients, including:
- Another CAS running on the same computer system or remotely
- Another instance of the same CAS (in a parallel computing context)
- A simplistic SCSCP client (e.g. C/C++/Python/etc. program) with a minimal SCSCP support needed for a particular application
- Grid middleware
- A Web server which passes on the same services as Web services using SOAP/HTTP protocols
All protocol instructions are represented as OpenMath objects, using the new Content Dictionaries scscp1 and scscp2, developed for this purpose. The data are also encoded in the OpenMath format, but are not limited by existing official OpenMath content dictionaries - private encodings may be easily embedded into SCSCP messages.
The current version of the protocol is 1.3 dated March 2009, and its specification may be downloaded from this page. The protocol is accompanied by two OpenMath content dictionaries, scscp1 and scscp2.
Currently (April 2012), support of OpenMath and SCSCP is available in the following computer algebra systems:
- GAP - with packages SCSCP and OpenMath
- KANT - with KANT 4 SCSCP Package
- Macaulay2 - with OpenMath and SCSCP packages.
- Maple - with packages SCSCP[Client], SCSCP[Server] and MapleNET (update: Maple SCSCP client is available in Maple 16)
- Mathematica - with SCSCP4Mathematica package.
- MuPAD - with the MuPAD OpenMath Package
- TRIP - with the built-in SCSCP client and server
Remarkably, most of OpenMath and SCSCP implementations produced in the SCIEnce project stay mainly within the computer algebra systems rather than in custom-built wrappers.
To facilitate SCSCP implementations, the following API and middleware is available:
- C/C++ SCSCP library providing a C/C++ API to develop client and server SCSCP-compliant applications
- java.symcomp.org - Java API for SCSCP and OpenMath, with a collection of middleware developed on top if it:
- MiniSCSCP++ - C++ library providing a simple C++ SCSCP client
Other SCSCP implementations include:
- A prototype of the SCSCP client for the Coq proof assistant
- A simple Python SCSCP client which is being used to connect to the GAP SCSCP server
Here you may find a software demonstration which involves some of the above mentioned software products. It was given at the 3rd_SCIEnce_Workshop in Paris during CICM 2010 in July 2010. Further examples are available in the respective manuals which may be also found in the Section "Documentation". Links to downloads, where available, are also collected in the section "Downloads".
We are inviting for cooperation both developers and users of computer algebra systems and other scientific software. We hope that more SCSCP-compliant applications will appear in the future, and that existing and coming APIs will facilitate their appearance. It's important to underline that SCSCP is a standard, which may be implemented in various systems following their own conventions, and that it's not necessary to implement a full range of OpenMath content dictionaries (CDs) to support SCSCP. Instead, CDs are classified as required, recommended and optional, so to became SCSCP-compliant a software package needs to implement only the necessary part of the SCSCP specification and a subset of OpenMath symbols needed for a particular application. We are happy to provide further advice on SCSCP for users and developers and may be contacted at support[at]symbolic-computing[dot]org.
Software access from symbolic computation systems to Grid Services and Computational Grids
We have designed a new Grid framework, SymGrid, which builds on and extends standard Globus middleware capabilities, providing support for Grid Services and for orchestration of symbolic components into high-performance Grid-enabled applications forming a computational Grid. In this way, heterogeneous symbolic components can be composed into a single large-scale (possibly parallel) application.
SymGrid comprises two main middleware components: SymGrid-Services provides a generic interface to Grid services, which may be engines of computational algebra (CA) packages; SymGrid-Par links multiple instances of these engines into a coherent parallel application that may be distributed across a geographically-distributed computational Grid. SymGrid-Par may itself be registered as a Grid service.
See the SymGrid page for further details.
Knowledge dissemination and user training trough series of summer school and workshops
- SCIEnce/RISC Training Schools in Symbolic Computation:
- SICSA Summer School "Advanced techniques in computer algebra systems development" (August 29 - September 2, 2011, St Andrews, Scotland)
- 1st SCIEnce Workshop, Palaiseau, France, 8-10 January 2007.
- 2nd SCIEnce Workshop, Palaiseau, France, 19-21 January 2009.
- 3rd SCIEnce Workshop at CICM 2010, Paris, France, 5 July 2010.
- 4th SCIEnce Workshop, Palaiseau, France, 12-13 December 2011.
Personal access to facilities at RISC
To contact us, please send email to the following address, removing spaces and replacing [at] and [dot] by corresponding symbols:
support [at] symbolic-computing [dot] org