Goto Chapter: Top 1 2 3 4 5 6 7 8 9 Bib Ind
[Top of Book] [Contents] [Next Chapter]

[MathJax off]

# SCSCP

## Symbolic Computation Software Composability Protocol

Version 2.5.0

11 August 2026

Olexandr Konovalov
Email: obk1 at st-andrews dot ac dot uk
Homepage: https://olexandr-konovalov.github.io/
Address:
School of Computer Science
University of St Andrews
Jack Cole Building, North Haugh,
St Andrews, Fife, KY16 9SX, Scotland

Steve Linton
Email: sal at cs dot st-andrews dot ac dot uk
Homepage: http://www.cs.st-andrews.ac.uk/~sal/
Address:
School of Computer Science
University of St Andrews
Jack Cole Building, North Haugh,
St Andrews, Fife, KY16 9SX, Scotland

### Abstract

The GAP package SCSCP implements the Symbolic Computation Software Composability protocol (https://www.openmath.org/standard/scscp/) for the computational algebra system GAP.

### Copyright

© 2007-2026 by Olexandr Konovalov and Steve Linton

SCSCP is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. For details, see the FSF's own site https://www.gnu.org/licenses/gpl.html.

If you obtained SCSCP, we would be grateful for a short notification sent to one of the authors.

If you publish a result which was partially obtained with the usage of SCSCP, please cite it in the following form:

O. Konovalov and S. Linton. SCSCP --- Symbolic Computation Software Composability Protocol, Version 2.5.0; 2026 (https://gap-packages.github.io/scscp/).

### Acknowledgements

The development of the SCSCP package has been supported by:

- EU FP6 Programme project 026133 SCIEnce - Symbolic Computation Infrastructure for Europe.

- OpenDreamKit Horizon 2020 European Research Infrastructures project #676541 (see https://opendreamkit.org/).

### Colophon

Versions history:

- Version 0.1 - first half of 2007;

- Version 0.2 - December 2007;

- Version 0.3 - May 2008;

- Version 0.4 - August 2008;

- Version 1.0 - March 2009;

- Version 1.1 - May 2009;

- Version 1.2 - March 2010.

- Version 2.0 - October 2011.

- Version 2.1 - March 2012.

- Version 2.2 - February 2017.

- Version 2.3 - May 2019.

### Contents

1 Preface
2 Installation
2.1 Installation and system requirements
2.2 Configuration files
3 Using streams
3.1 Input-output TCP streams
3.1-1 IsInputOutputTCPStream
3.1-2 IsInputOutputTCPStreamRep
3.1-3 InputOutputTCPStream
3.2 Example of client-server communication via input-output TCP streams
4 Message exchange by SCSCP
4.1 Communication with the SCSCP server
4.1-1 StartSCSCPsession
4.1-2 OMPutProcedureCall
4.1-3 SCSCPwait
4.1-4 OMGetObjectWithAttributes
4.2 Communication with the SCSCP client
4.2-1 OMPutProcedureCompleted
4.2-2 OMPutProcedureTerminated
4.3 Example: SCSCP session
5 Running SCSCP server
5.1 Installation of SCSCP procedures
5.1-1 InstallSCSCPprocedure
5.1-2 OMsymRecord
5.2 Starting SCSCP server
5.2-1 RunSCSCPserver
5.3 Procedures to get information about the SCSCP server
5.3-1 GetServiceDescription
5.3-2 GetAllowedHeads
5.3-3 IsAllowedHead
5.3-4 GetTransientCD
5.3-5 GetSignature
6 Client's functionality
6.1 SCSCP connections
6.1-1 IsSCSCPconnection
6.1-2 NewSCSCPconnection
6.1-3 CloseSCSCPconnection
6.2 Processes
6.2-1 IsProcess
6.2-2 NewProcess
6.2-3 CompleteProcess
6.2-4 TerminateProcess
6.3 All-in-one tool: sending request and getting result
6.3-1 EvaluateBySCSCP
6.4 Switching between Binary and XML OpenMath Encodings
6.4-1 SwitchSCSCPmodeToBinary
6.5 Remote objects
6.5-1 StoreAsRemoteObjectPersistently
6.5-2 IsRemoteObject
6.5-3 RemoteObjectsFamily
6.5-4 RetrieveRemoteObject
6.5-5 UnbindRemoteObject
7 Examples of SCSCP usage
7.1 Providing services with the SCSCP package
7.2 Identifying groups of order 512
8 Parallel computing with SCSCP
8.1 Managing multiple requests
8.1-1 SynchronizeProcesses
8.1-2 FirstProcess
8.1-3 SCSCPservers
8.1-4 ParQuickWithSCSCP
8.1-5 FirstTrueProcess
8.2 MasterWorker skeleton
8.2-1 ParListWithSCSCP
8.2-2 SCSCPreset
8.2-3 SCSCPLogTracesToGlobal
8.3 Example: parallelising Karatsuba multiplication for polynomials
9 Service functions
9.1 Pinging SCSCP servers
9.1-1 PingSCSCPservice
9.1-2 PingStatistic
9.2 Info classes for SCSCP
9.2-1 InfoSCSCP
9.2-2 InfoMasterWorker
9.3 Other SCSCP Utilities
9.3-1 DateISO8601
9.3-2 CurrentTimestamp
9.3-3 Hostname
9.3-4 MemoryUsageByGAPinKbytes
9.3-5 LastReceivedCallID
9.3-6 IO_PickleToString
9.3-7 IO_UnpickleFromString
References
Index
[Top of Book] [Contents] [Next Chapter]
Goto Chapter: Top 1 2 3 4 5 6 7 8 9 Bib Ind

generated by GAPDoc2HTML