This CD defines symbols for the description of the management
of mathematical queries.
In particular, it is used by the SCIEnce project [SCIEnce website]
in the communication between a web service (i.e. computer algebra system, proof checker, etc) and a client.
SCSCP is an abbreviation for "Symbolic Computation Software Composability Protocol"
[SCSCP specification].
This version of the Content Dictionary agrees with version 1.3 of the SCSCP protocol.
The actual procedure call. Its only argument is an OpenMath Application,
whose head symbol describes the procedure to be called,
and whose arguments are the arguments to the procedure.
An option, to be given along with a procedure call,
describing the minimum amount of memory (in bytes)
the system should be able to spend on this call.
The idea is that in certain cases we know in advance
that we will need a large amount of memory. If the
system will never be able to provide that, it would
be a waste of time and resources to even start the
computation.
Example:
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMATTR>
<OMATP>
<OMS cd="scscp1" name="call_id"/>
<OMSTR>localhost:26137:18668:s2sYf1pg</OMSTR>
<OMS cd="scscp1" name="option_min_memory"/>
<OMI>250971520</OMI>
<OMS cd="scscp1" name="option_return_object"/>
<OMSTR/>
</OMATP>
<!-- The OMA goes here -->
</OMATTR>
</OMOBJ>
An option, to be given along with a procedure call,
indicating that the client would like to have a cookie (i.e.
a reference to an OpenMath object residing somewhere)
as return value.
Example:
<OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMATTR><OMATP><OMS cd="scscp1" name="call_id"/><OMSTR>localhost:26137:18668:s2sYf1pg</OMSTR><OMS cd="scscp1" name="option_return_cookie"/><OMSTR/></OMATP><!-- The OMA goes here --></OMATTR></OMOBJ>
An option, to be given along with a procedure call,
indicating that the client would like to have the actual OpenMath
object as return value.
Example:
<OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMATTR><OMATP><OMS cd="scscp1" name="call_id"/><OMSTR>localhost:26137:18668:s2sYf1pg</OMSTR><OMS cd="scscp1" name="option_return_object"/><OMSTR/></OMATP><!-- The OMA goes here --></OMATTR></OMOBJ>
An option, to be given along with a procedure call,
indicating that the client expects no return value.
Example:
<OMOBJ xmlns="http://www.openmath.org/OpenMath"><OMATTR><OMATP><OMS cd="scscp1" name="call_id"/><OMSTR>localhost:26137:18668:s2sYf1pg</OMSTR><OMS cd="scscp1" name="option_return_nothing"/><OMSTR/></OMATP><!-- The OMA goes here --></OMATTR></OMOBJ>
A piece of information from the system, to be used
along with a procedure_completed or procedure_terminated message,
describing how much memory was spent on the
calculation. It should be in bytes, denoted
using an OMI.
Example:
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMATTR>
<OMATP>
<OMS cd="scscp1" name="call_id"/>
<OMSTR>localhost:26137:18668:s2sYf1pg</OMSTR>
<OMS cd="scscp1" name="info_memory"/>
<OMI>134218000</OMI>
</OMATP>
<!-- The OMA goes here -->
</OMATTR>
</OMOBJ>
A piece of information from the system, to be used
along with a procedure_completed or procedure_terminated message,
describing how much cputime was spent on the
calculation. It should be in milliseconds, denoted
using an OMI.
Example:
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMATTR>
<OMATP>
<OMS cd="scscp1" name="call_id"/>
<OMSTR>localhost:26137:18668:s2sYf1pg</OMSTR>
<OMS cd="scscp1" name="info_runtime"/>
<OMI>76543</OMI>
</OMATP>
<!-- The OMA goes here -->
</OMATTR>
</OMOBJ>
A piece of information from the server, to be used
along with a procedure_completed or procedure_terminated
message, giving some additional information. The client
may choose to present this information to its user.
The argument is an OMSTR.
Example:
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMATTR>
<OMATP>
<OMS cd="scscp1" name="call_id"/>
<OMSTR>localhost:26137:18668:s2sYf1pg</OMSTR>
<OMS cd="scscp1" name="info_message"/>
<OMSTR>The weather in St. Andrews is beautiful this time of year</OMSTR>
</OMATP>
<!-- The OMA goes here -->
</OMATTR>
</OMOBJ>
Attrib([
call_id "localhost:26137:18668:s2sYf1pg" info_message "The weather in St. Andrews is beautiful this time of year"
],
)
A description of the error that caused a
procedure call to be terminated. This symbol
is used with a procedure_terminated, when
the system exceeded the amount of memory specified
in the option_max_memory option given in the
corresponding procedure call.
It carries one argument: An OMSTR, which may be empty.
A description of the error that caused a
procedure call to be terminated. This symbol
is used with a procedure_terminated, when
the system exceeded the runtime specified
in the option_runtime option given in the
corresponding procedure call.
It carries one argument: An OMSTR, which may be empty.
Note that this symbol is not intended to be
used when a different runtime error occurred.
In those cases, one should use error_system_specific.
A description of the error that caused a
procedure call to be terminated. This symbol
is used with a procedure_terminated, when
the error is specific to the system that
carried out the calculation.
This error must carry exactly one argument,
and it must be an OMSTR describing the error
that occurred.
Example:
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMATTR>
<OMATP>
<!-- The header goes here -->
</OMATP>
<OMA>
<OMS cd="scscp1" name="procedure_terminated"/>
<OME>
<OMS cd="scscp1" name="error_system_specific"/>
<OMSTR>Error, the group identification for groups of size\n
3628800 is not available called from\n
<function>( <arguments> ) called from read-eval-loop\n
Entering break read-eval-print loop ...\n
you can 'quit;' to quit to outer loop, or\n
you can 'return;' to continue\n
brk>\n
</OMSTR>
</OME>
</OMA>
</OMATTR>
</OMOBJ>
Attrib([
],
procedure_terminated
(Error(error_system_specific,
"Error, the group identification for groups of size\n
3628800 is not available called from\n
<function>( <arguments> ) called from read-eval-loop\n
Entering break read-eval-print loop ...\n
you can 'quit;' to quit to outer loop, or\n
you can 'return;' to continue\n
brk>\n
" )
)
)