OpenMath Content Dictionary: scscp1

Canonical URL:
http://www.win.tue.nl/SCIEnce/cds/scscp1.ocd
CD File:
scscp1.ocd
CD as XML Encoded OpenMath:
scscp1.omcd
Defines:
call_id, error_memory, error_runtime, error_system_specific, info_memory, info_message, info_runtime, option_debuglevel, option_max_memory, option_min_memory, option_return_cookie, option_return_nothing, option_return_object, option_runtime, procedure_call, procedure_completed, procedure_terminated
Date:
2009-06-22
Version:
1 (Revision 13)
Review Date:
2017-12-31
Status:
experimental


     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.


procedure_call

Description:

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.

Example:
procedure_call ( GroupIdentificationService ( group ( permutation ( 2 , 3 , 1 ) , permutation ( 1 , 2 , 4 , 3 ) ) ) )
Signatures:
sts


[Next: procedure_completed] [Last: error_system_specific] [Top]

procedure_completed

Description:

The result of a successful computation. Should come along with a call_id and, possibly, some extra information.

Example:
procedure_completed ( 26925748508234281076009 )
  Instead of the result, we may return a reference to the result, as follows:
Example:
procedure_completed ( )
Signatures:
sts


[Next: procedure_terminated] [Previous: procedure_call] [Top]

procedure_terminated

Description:

The result of a failed computation. Should come along with a call_id, an error description, and possibly some extra information.

Example:
procedure_terminated ( error_system_specific Segmentation fault )
Signatures:
sts


[Next: call_id] [Previous: procedure_completed] [Top]

call_id

Description:

Uniquely identifies a procedure call. Used in subsequent communication, so the parties know which call they are talking about.

Example:
The OMA goes here
Signatures:
sts


[Next: option_max_memory] [Previous: procedure_terminated] [Top]

option_max_memory

Description:

An option, to be given along with a procedure call, describing the maximum amount of memory (in bytes) the system should spend on this call.

Example:
The OMA goes here
Signatures:
sts


[Next: option_min_memory] [Previous: call_id] [Top]

option_min_memory

Description:

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:
The OMA goes here
Signatures:
sts


[Next: option_runtime] [Previous: option_max_memory] [Top]

option_runtime

Description:

An option, to be given along with a procedure call, describing the maximum amount of time (in milliseconds) the system should spend on this call.

Example:
The OMA goes here
Signatures:
sts


[Next: option_debuglevel] [Previous: option_min_memory] [Top]

option_debuglevel

Description:

An option, to be given along with a procedure call, describing the amount of debug information the client is interested in. Should be an integer.

Example:
The OMA goes here
Signatures:
sts


[Next: option_return_cookie] [Previous: option_runtime] [Top]

option_return_cookie

Description:

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:
The OMA goes here
      The reply from the server should then look like:
    
Example:
procedure_completed ( )
Signatures:
sts


[Next: option_return_object] [Previous: option_debuglevel] [Top]

option_return_object

Description:

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:
The OMA goes here
      The reply from the server should then look like:
    
Example:
procedure_completed ( 42 )
Signatures:
sts


[Next: option_return_nothing] [Previous: option_return_cookie] [Top]

option_return_nothing

Description:

An option, to be given along with a procedure call, indicating that the client expects no return value.

Example:
The OMA goes here
	    The reply from the server may then look like:
	  
Example:
procedure_completed ( )
Signatures:
sts


[Next: info_memory] [Previous: option_return_object] [Top]

info_memory

Description:

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:
The OMA goes here
Signatures:
sts


[Next: info_runtime] [Previous: option_return_nothing] [Top]

info_runtime

Description:

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:
The OMA goes here
Signatures:
sts


[Next: info_message] [Previous: info_memory] [Top]

info_message

Description:

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:
The OMA goes here
Signatures:
sts


[Next: error_memory] [Previous: info_runtime] [Top]

error_memory

Description:

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.

Signatures:
sts


[Next: error_runtime] [Previous: info_message] [Top]

error_runtime

Description:

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.

Signatures:
sts


[Next: error_system_specific] [Previous: error_memory] [Top]

error_system_specific

Description:

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.

Signatures:
sts


[First: procedure_call] [Previous: error_runtime] [Top]