org.optimizationservices.oscommon.communicationinterface
Interface OShL

All Known Implementing Classes:
OSAnalyzerAgent, OSSolverAgent

public interface OShL

The OShL interface declares all the methods as specified in the Optimization Services (OS) Framework, specifically the Optimization Services hook-up Language (OShL). These methods are called by an OS agent to invoke any OS-based solvers, anlyzers, scheduler etc.. Any solver, anlyzer or other related OS component that wants to become an OS-type callable on the distributed system must implement this interface.

Since:
OS 1.0
Version:
1.0, 03/14/2004
Author:
Robert Fourer, Jun Ma, Kipp Martin

Method Summary
 java.lang.String getJobID(java.lang.String osol)
          Get a unique job id from a service, before calling the service to solve a problem.
 java.lang.String kill(java.lang.String osol)
          Kill a previously sent/solved optimization job.
 java.lang.String knock(java.lang.String osplInput, java.lang.String osol)
          This method is called by one optimization service on another optimization service to provide runtime dynamic process information (push mechanism).
 java.lang.String retrieve(java.lang.String osol)
          Retrieve results from a previously sent/solved optimization job.
 boolean send(java.lang.String osil, java.lang.String osol)
          Send (or asynchronously solve) an optimization problem with options.
 java.lang.String solve(java.lang.String osil, java.lang.String osol)
          Solve an optimization problem with options.
 

Method Detail

getJobID

java.lang.String getJobID(java.lang.String osol)
Get a unique job id from a service, before calling the service to solve a problem. This method call is always required before an asynchronous send call. It may be or may not be used before a synchronous solve call.

Parameters:
osol - holds the optimization option in a string which format follows the Optimization Services option Language (OSoL) schema.
Returns:
jobID, a unique job ID generated by the service.

solve

java.lang.String solve(java.lang.String osil,
                       java.lang.String osol)
Solve an optimization problem with options. The problem instance is given by a string following the Optimization Services instance Language (OSiL) schema. The options are given in a string following the Optimization Services option Language (OSoL) schema. The function returns the solution in a string that follows the Optimization Services result Language (OSrL) schema.

Parameters:
osil - holds the optimization instance in a string which format follows the Optimization Services instance Language (OSiL) schema.
osol - holds the optimization option in a string which format follows the Optimization Services option Language (OSoL) schema.
Returns:
osrl, the optimization result in a string which format follows the Optimization Services result Language (OSrL) schema.

send

boolean send(java.lang.String osil,
             java.lang.String osol)
Send (or asynchronously solve) an optimization problem with options. The problem instance is given by a string following the Optimization Services instance Language (OSiL) schema. The options are given in a string following the Optimization Services option Language (OSoL) schema. The OSoL option has to contain a job id.

Parameters:
osil - holds the optimization instance in a string which format follows the Optimization Services instance Language (OSiL) schema.
osol - holds the optimization option in a string which format follows the Optimization Services option Language (OSoL) schema. It should contain the jobID information that is previous obtained from the optimization service.
Returns:
success, whether the asynchronous communication is successful or not.

retrieve

java.lang.String retrieve(java.lang.String osol)
Retrieve results from a previously sent/solved optimization job.

Parameters:
osol - holds the optimization option in a string which format follows the Optimization Services option Language (OSoL) schema. It should contain the jobID information that is previous obtained from the optimization service.
Returns:
osrl, the optimization result in a string which format follows the Optimization Services result Language (OSrL) schema. If the result cannot be retrieved, it should be indicated in the message/status section of OSrL.

kill

java.lang.String kill(java.lang.String osol)
Kill a previously sent/solved optimization job.

Parameters:
osol - holds the optimization option in a string which format follows the Optimization Services option Language (OSoL) schema. It should contain the jobID information that is previous obtained from the optimization service.
Returns:
ospl, the ouput kill process information in a string which format follows the OSpL schema.

knock

java.lang.String knock(java.lang.String osplInput,
                       java.lang.String osol)
This method is called by one optimization service on another optimization service to provide runtime dynamic process information (push mechanism).

Parameters:
osplInput - holds the input process information a string which format follows the Optimization Services process Language (OSpL) schema.
osol - holds the optimization option in a string which format follows the Optimization Services option Language (OSoL) schema.
Returns:
osplOutput, the ouput process information in a string which format follows the OSpL schema.