  
  
                                     [1X[5XSCSCP[0m[1X[0m
  
  
              [1XSymbolic Computation Software Composability Protocol[0m
  
  
                                 Version 1.2.0
  
  
                                 30 March 2010
  
  
                              Alexander Konovalov
  
                                  Steve Linton
  
  
  
  Alexander Konovalov
      Email:    [7Xmailto:alexk at mcs dot st-andrews dot ac dot uk[0m
      Homepage: [7Xhttp://www.cs.st-andrews.ac.uk/~alexk/[0m
      Address:  School of Computer Science
                University of St Andrews
                Jack Cole Building, North Haugh,
                St Andrews, Fife, KY16 9SX, Scotland
  
  
  Steve Linton
      Email:    [7Xmailto:sal at cs dot st-andrews dot ac dot uk[0m
      Homepage: [7Xhttp://www.cs.st-andrews.ac.uk/~sal/[0m
      Address:  School of Computer Science
                University of St Andrews
                Jack Cole Building, North Haugh,
                St Andrews, Fife, KY16 9SX, Scotland
  
  
  
  -------------------------------------------------------
  [1XAbstract[0m
  The   [5XGAP[0m   package  [5XSCSCP[0m  implements  the  Symbolic  Computation  Software
  Composability  protocol  ([7Xhttp://www.symbolic-computation.org/scscp[0m) for the
  computational algebra system [5XGAP[0m.
  
  
  -------------------------------------------------------
  [1XCopyright[0m
  © 2007-2010 by Alexander Konovalov and Steve Linton
  
  [5XSCSCP[0m  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
  [7Xhttp://www.gnu.org/licenses/gpl.html[0m.
  
  If you obtained [5XSCSCP[0m, 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
  [5XSCSCP[0m, please cite it in the following form:
  
  A.  Konovalov  and  S.  Linton.  [13XSCSCP  ---  Symbolic  Computation  Software
  Composability          Protocol,          Version          1.2;[0m         2010
  ([7Xhttp://www.cs.st-andrews.ac.uk/~alexk/scscp.htm[0m).
  
  
  -------------------------------------------------------
  [1XAcknowledgements[0m
  The  project  026133  "SCIEnce  -  Symbolic  Computation  Infrastructure for
  Europe"  ([7Xhttp://www.symbolic-computation.org/[0m)  is  supported by the EU FP6
  Programme.
  
  
  -------------------------------------------------------
  [1XColophon[0m
  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.
  
  
  -------------------------------------------------------
  
  
  [1XContents (scscp)[0X
  
  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.1-4 InputOutputTCPStream
    3.2 Example of client-server communication via input-output TCP streams
  4 Message exchange by [5XSCSCP[0m
    4.1 Communication with the [5XSCSCP[0m server
      4.1-1 StartSCSCPsession
      4.1-2 OMPutProcedureCall
      4.1-3 SCSCPwait
      4.1-4 OMGetObjectWithAttributes
    4.2 Communication with the [5XSCSCP[0m client
      4.2-1 OMPutProcedureCompleted
      4.2-2 OMPutProcedureTerminated
    4.3 Example: [5XSCSCP[0m session
  5 Running SCSCP server
    5.1 Installation of [5XSCSCP[0m 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 [5XSCSCP[0m 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 Sending request and getting result
      6.1-1 IsProcess
      6.1-2 NewProcess
      6.1-3 CompleteProcess
      6.1-4 EvaluateBySCSCP
      6.1-5 TerminateProcess
    6.2 Remote objects
      6.2-1 StoreAsRemoteObjectPersistently
      6.2-2 IsRemoteObject
      6.2-3 RemoteObjectsFamily
      6.2-4 RetrieveRemoteObject
      6.2-5 UnbindRemoteObject
  7 Examples of [5XSCSCP[0m usage
    7.1 Providing services with the SCSCP package
    7.2 Identifying groups of order 512
  8 Parallel computing with [5XSCSCP[0m
    8.1 Managing multiple requests
      8.1-1 SynchronizeProcesses
      8.1-2 FirstProcess
      8.1-3 SCSCPservers
      8.1-4 ParQuickWithSCSCP
    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 Tools for making documentation
      9.1-1 SCSCPBuildManual
      9.1-2 SCSCPBuildManualHTML
    9.2 Other commands
      9.2-1 PingSCSCPservice
      9.2-2 PingStatistic
      9.2-3 InfoSCSCP
      9.2-4 InfoMasterWorker
      9.2-5 DateISO8601
      9.2-6 CurrentTimestamp
      9.2-7 Hostname
      9.2-8 MemoryUsageByGAPinKbytes
      9.2-9 LastReceivedCallID
      9.2-10 IO_PickleToString
      9.2-11 IO_UnpickleFromString
  
  
  -------------------------------------------------------
