CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutSign UpSign In

Real-time collaboration for Jupyter Notebooks, Linux Terminals, LaTeX, VS Code, R IDE, and more,
all in one place.

| Download

GAP 4.8.9 installation with standard packages -- copy to your CoCalc project to get it

Views: 418346
1
2
3
SCSCP
4
5
6
Symbolic Computation Software Composability Protocol
7
8
9
Version 2.2.3
10
11
12
24 September 2017
13
14
15
Alexander Konovalov
16
17
Steve Linton
18
19
20
21
Alexander Konovalov
22
Email: mailto:alexander dot konovalov at st-andrews dot ac dot uk
23
Homepage: http://www.cs.st-andrews.ac.uk/~alexk/
24
Address: School of Computer Science
25
University of St Andrews
26
Jack Cole Building, North Haugh,
27
St Andrews, Fife, KY16 9SX, Scotland
28
29
30
Steve Linton
31
Email: mailto:sal at cs dot st-andrews dot ac dot uk
32
Homepage: http://www.cs.st-andrews.ac.uk/~sal/
33
Address: School of Computer Science
34
University of St Andrews
35
Jack Cole Building, North Haugh,
36
St Andrews, Fife, KY16 9SX, Scotland
37
38
39
40
-------------------------------------------------------
41
Abstract
42
The GAP package SCSCP implements the Symbolic Computation Software
43
Composability protocol (http://www.symbolic-computing.org/scscp) for the
44
computational algebra system GAP.
45
46
47
-------------------------------------------------------
48
Copyright
49
© 2007-2017 by Alexander Konovalov and Steve Linton
50
51
SCSCP is free software; you can redistribute it and/or modify it under the
52
terms of the GNU General Public License as published by the Free Software
53
Foundation; either version 2 of the License, or (at your option) any later
54
version. For details, see the FSF's own site
55
http://www.gnu.org/licenses/gpl.html.
56
57
If you obtained SCSCP, we would be grateful for a short notification sent to
58
one of the authors.
59
60
If you publish a result which was partially obtained with the usage of
61
SCSCP, please cite it in the following form:
62
63
A. Konovalov and S. Linton. SCSCP --- Symbolic Computation Software
64
Composability Protocol, Version 2.2.3; 2017
65
(https://gap-packages.github.io/scscp/).
66
67
68
-------------------------------------------------------
69
Acknowledgements
70
The development of the SCSCP package has been supported by:
71
72
 EU FP6 Programme project 026133 SCIEnce - Symbolic Computation
73
Infrastructure for Europe (see http://www.symbolic-computing.org/).
74
75
 OpenDreamKit Horizon 2020 European Research Infrastructures project
76
#676541 (see http://opendreamkit.org/).
77
78
79
-------------------------------------------------------
80
Colophon
81
Versions history:
82
83
 Version 0.1 - first half of 2007;
84
85
 Version 0.2 - December 2007;
86
87
 Version 0.3 - May 2008;
88
89
 Version 0.4 - August 2008;
90
91
 Version 1.0 - March 2009;
92
93
 Version 1.1 - May 2009;
94
95
 Version 1.2 - March 2010.
96
97
 Version 2.0 - October 2011.
98
99
 Version 2.1 - March 2012.
100
101
 Version 2.2 - February 2017.
102
103
104
-------------------------------------------------------
105
106
107
Contents (scscp)
108
109
1 Preface
110
2 Installation
111
2.1 Installation and system requirements
112
2.2 Configuration files
113
3 Using streams
114
3.1 Input-output TCP streams
115
3.1-1 IsInputOutputTCPStream
116
3.1-2 IsInputOutputTCPStreamRep
117
3.1-3 InputOutputTCPStream
118
3.2 Example of client-server communication via input-output TCP streams
119
4 Message exchange by SCSCP
120
4.1 Communication with the SCSCP server
121
4.1-1 StartSCSCPsession
122
4.1-2 OMPutProcedureCall
123
4.1-3 SCSCPwait
124
4.1-4 OMGetObjectWithAttributes
125
4.2 Communication with the SCSCP client
126
4.2-1 OMPutProcedureCompleted
127
4.2-2 OMPutProcedureTerminated
128
4.3 Example: SCSCP session
129
5 Running SCSCP server
130
5.1 Installation of SCSCP procedures
131
5.1-1 InstallSCSCPprocedure
132
5.1-2 OMsymRecord
133
5.2 Starting SCSCP server
134
5.2-1 RunSCSCPserver
135
5.3 Procedures to get information about the SCSCP server
136
5.3-1 GetServiceDescription
137
5.3-2 GetAllowedHeads
138
5.3-3 IsAllowedHead
139
5.3-4 GetTransientCD
140
5.3-5 GetSignature
141
6 Client's functionality
142
6.1 SCSCP connections
143
6.1-1 IsSCSCPconnection
144
6.1-2 NewSCSCPconnection
145
6.1-3 CloseSCSCPconnection
146
6.2 Processes
147
6.2-1 IsProcess
148
6.2-2 NewProcess
149
6.2-3 CompleteProcess
150
6.2-4 TerminateProcess
151
6.3 All-in-one tool: sending request and getting result
152
6.3-1 EvaluateBySCSCP
153
6.4 Switching between Binary and XML OpenMath Encodings
154
6.4-1 SwitchSCSCPmodeToBinary
155
6.5 Remote objects
156
6.5-1 StoreAsRemoteObjectPersistently
157
6.5-2 IsRemoteObject
158
6.5-3 RemoteObjectsFamily
159
6.5-4 RetrieveRemoteObject
160
6.5-5 UnbindRemoteObject
161
7 Examples of SCSCP usage
162
7.1 Providing services with the SCSCP package
163
7.2 Identifying groups of order 512
164
8 Parallel computing with SCSCP
165
8.1 Managing multiple requests
166
8.1-1 SynchronizeProcesses
167
8.1-2 FirstProcess
168
8.1-3 SCSCPservers
169
8.1-4 ParQuickWithSCSCP
170
8.1-5 FirstTrueProcess
171
8.2 MasterWorker skeleton
172
8.2-1 ParListWithSCSCP
173
8.2-2 SCSCPreset
174
8.2-3 SCSCPLogTracesToGlobal
175
8.3 Example: parallelising Karatsuba multiplication for polynomials
176
9 Service functions
177
9.1 Pinging SCSCP servers
178
9.1-1 PingSCSCPservice
179
9.1-2 PingStatistic
180
9.2 Info classes for SCSCP
181
9.2-1 InfoSCSCP
182
9.2-2 InfoMasterWorker
183
9.3 Other SCSCP Utilities
184
9.3-1 DateISO8601
185
9.3-2 CurrentTimestamp
186
9.3-3 Hostname
187
9.3-4 MemoryUsageByGAPinKbytes
188
9.3-5 LastReceivedCallID
189
9.3-6 IO_PickleToString
190
9.3-7 IO_UnpickleFromString
191
192
193

194
195