This document is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
The copyright holder grants you permission to redistribute this
document freely as a verbatim copy. Furthermore, the copyright
holder permits you to develop any derived work from this document
provided that the following conditions are met.
a) The derived work acknowledges the fact that it is derived from
this document, and maintains a prominent reference in the
work to the original source.
b) The fact that the derived work is not the original OpenMath
document is stated prominently in the derived work. Moreover if
both this document and the derived work are Content Dictionaries
then the derived work must include a different CDName element,
chosen so that it cannot be confused with any works adopted by
the OpenMath Society. In particular, if there is a Content
Dictionary Group whose name is, for example, `math' containing
Content Dictionaries named `math1', `math2' etc., then you should
not name a derived Content Dictionary `mathN' where N is an integer.
However you are free to name it `private_mathN' or some such. This
is because the names `mathN' may be used by the OpenMath Society
for future extensions.
c) The derived work is distributed under terms that allow the
compilation of derived works, but keep paragraphs a) and b)
intact. The simplest way to do this is to distribute the derived
work under the OpenMath license, but this is not a requirement.
If you have questions about this license please contact the OpenMath
society at http://www.openmath.org.
This CD defines symbols for the description of the management
of mathematical queries.
In particular, it is used by the SCIEnce project [http://www.symbolic-computation.org/](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"
[http://www.symbolic-computation.org/scscp/](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.
Uniquely identifies a procedure call. Used in subsequent communication, so the
parties know which call they are talking about.
Example:
<OMOBJ xmlns="http://www.openmath.org/OpenMath">
<OMATTR>
<OMATP>
<OMS cd="scscp1" name="call_id"/>
<OMSTR>a1d0c6e83f027327d8461063f4ac58a6</OMSTR>
</OMATP>
<OMSTR> The OMA goes here </OMSTR>
</OMATTR>
</OMOBJ>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics><cs> The OMA goes here </cs><annotation-xml cd="scscp1" name="call_id"><cs>a1d0c6e83f027327d8461063f4ac58a6</cs></annotation-xml></semantics>
</math>
Attrib([
call_id "a1d0c6e83f027327d8461063f4ac58a6"
],
" The OMA goes here " )
" The OMA goes here "{scscp1.call_id -> "a1d0c6e83f027327d8461063f4ac58a6"}
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>
<OMSTR> The OMA goes here </OMSTR>
</OMATTR>
</OMOBJ>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<cs> The OMA goes here </cs>
<annotation-xml cd="scscp1" name="call_id"><cs>localhost:26137:18668:s2sYf1pg</cs></annotation-xml>
<annotation-xml cd="scscp1" name="option_min_memory"><cn type="integer">250971520</cn></annotation-xml>
<annotation-xml cd="scscp1" name="option_return_object"><cs/></annotation-xml>
</semantics>
</math>
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>
<OMSTR>The OMA goes here </OMSTR>
</OMATTR>
</OMOBJ>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<cs>The OMA goes here </cs>
<annotation-xml cd="scscp1" name="call_id"><cs>localhost:26137:18668:s2sYf1pg</cs></annotation-xml>
<annotation-xml cd="scscp1" name="option_return_cookie"><cs/></annotation-xml>
</semantics>
</math>
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>
<OMSTR> The OMA goes here </OMSTR>
</OMATTR>
</OMOBJ>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<cs> The OMA goes here </cs>
<annotation-xml cd="scscp1" name="call_id"><cs>localhost:26137:18668:s2sYf1pg</cs></annotation-xml>
<annotation-xml cd="scscp1" name="info_memory"><cn type="integer">134218000</cn></annotation-xml>
</semantics>
</math>
Attrib([
call_id "localhost:26137:18668:s2sYf1pg" info_memory
134218000
],
" The OMA goes here " )
" The OMA goes here "{scscp1.call_id -> "localhost:26137:18668:s2sYf1pg", scscp1.info_memory -> 134218000}
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>
<OMSTR> The OMA goes here </OMSTR>
</OMATTR>
</OMOBJ>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<cs> The OMA goes here </cs>
<annotation-xml cd="scscp1" name="call_id"><cs>localhost:26137:18668:s2sYf1pg</cs></annotation-xml>
<annotation-xml cd="scscp1" name="info_runtime"><cn type="integer">76543</cn></annotation-xml>
</semantics>
</math>
Attrib([
call_id "localhost:26137:18668:s2sYf1pg" info_runtime
76543
],
" The OMA goes here " )
" The OMA goes here "{scscp1.call_id -> "localhost:26137:18668:s2sYf1pg", scscp1.info_runtime -> 76543}
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>
<OMSTR> The OMA goes here </OMSTR>
</OMATTR>
</OMOBJ>
<math xmlns="http://www.w3.org/1998/Math/MathML">
<semantics>
<cs> The OMA goes here </cs>
<annotation-xml cd="scscp1" name="call_id"><cs>localhost:26137:18668:s2sYf1pg</cs></annotation-xml>
<annotation-xml cd="scscp1" name="info_message"><cs>The weather in St. Andrews is beautiful this time of year</cs></annotation-xml>
</semantics>
</math>
Attrib([
call_id "localhost:26137:18668:s2sYf1pg" info_message "The weather in St. Andrews is beautiful this time of year"
],
" The OMA goes here " )
" The OMA goes here "{scscp1.call_id -> "localhost:26137:18668:s2sYf1pg", scscp1.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.