The SCIEnce Project

From SCIEnce
Jump to: navigation, search
To view the screencast about the Java API for the SCSCP protocol, click on this link (not on the picture)
We received the Best Poster Award at ISSAC 2007. To download the PDF version of the poster, click here

Note our new URL: or alternative short form 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

Software composability

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:

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 API for SCSCP and OpenMath, with a collection of middleware developed on top if it:
    • POPCORN - convertor between OpenMath and Popcorn (Possibly Only Practicable Convenient OpenMath Replacement Notation)
    • WUPSI - Wonderful Universal Popcorn SCSCP Interface, a command line SCSCP-compliant interface
  • MiniSCSCP++ - C++ library providing a simple C++ SCSCP client

Other SCSCP implementations include:

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

Training schools:

SCIEnce workshops:

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

More Information

SCIEnce Project Documents SCIEnce Project Presentations
Symbolic Computation Software Composability Protocol, v.1.3 The SCIEnce project (8th OpenMath Meeting, RISC, 2007)
Flyer Describing the SCIEnce Project SymGrid (Invited talk, SYNASC 2007)
List of project publications, talks and posters The SCIEnce project (4th SCIEnce Workshop, Paris, 2011)