nextgrid.api.pom
Interface AbstractProcess

All Superinterfaces:
java.lang.Cloneable, Process, java.io.Serializable

public interface AbstractProcess
extends Process

An AbstractProcess represents a process with no implementation binding details, but only semantic information that can be used to discover compliant implementations through the grid.

Such an abstract process must be fulfilled with binding information or "replaced" by a more specific, yet still abstract, process during enaction. This replacement is really implemented through a child containment structure to prevent losing original semantic data: In case of error, the enactor must be able to revert to the original abstract description and repeat the discovery phase to reach an alternative service provider.

The presence of instances of this class within a workflow representation as leaf nodes marks this workflow as abstract, meaning that it will require some extra process before being "executable".

In OWL-WS terms, an AbstractProcessImpl can be mapped to a service that only contains a profile, but no grounding; that is, it only states service constraints, but no capabilities.

During the evaluation of an AbstractProcess, candidates are searched for its implementation. After that, the process will contain a list of candidates, all of which link to the abstract process as their parent. However, unlike ControlProcess, only one of them will be selected at a given point in time.

Author:
Rodrigo Ruiz

Field Summary
static int UNDEFINED_PRIORITY
          Priority value used for processes without an assigned priority.
 
Method Summary
 java.util.List<Process> getCandidates()
          Gets the list of candidates for this abstract process.
 int getPriority()
          Gets the current priority of this process.
 QueryProfile getProfile()
          Gets the profile model associated to this instance.
 Process getSelected()
          Gets the currently selected implementation candidate.
 void setCandidates(java.util.Collection<Process> candidates)
          Sets the list of candidates for this abstract process.
 void setPriority(int priority)
          Sets the priority of this process.
 void setProfile(QueryProfile profile)
          Sets the profile model associated to this instance.
 void setSelected(Process p)
          Selects the specified process as the implementation of this instance.
 
Methods inherited from interface nextgrid.api.pom.Process
addListener, copy, discover, enact, evaluate, findProcessById, findRoot, getAttribute, getAttribute, getAttribute, getAttributes, getDescription, getId, getInput, getInputs, getInputType, getName, getOutput, getOutputs, getOutputType, getParent, getUsedInputNames, getUsedOutputNames, invalidate, isEvaluated, isLazy, isValidated, prioritise, putInput, putOutput, removeInput, removeListener, removeOutput, reset, setAttribute, setAttribute, setDescription, setId, setLazy, setName, setParent, unuseInput, unuseOutput, useInput, useOutput, validate
 

Field Detail

UNDEFINED_PRIORITY

static final int UNDEFINED_PRIORITY
Priority value used for processes without an assigned priority.

See Also:
Constant Field Values
Method Detail

getCandidates

java.util.List<Process> getCandidates()
Gets the list of candidates for this abstract process.

Returns:
The list of candidates for this process

setCandidates

void setCandidates(java.util.Collection<Process> candidates)
Sets the list of candidates for this abstract process.

Parameters:
candidates - The list of candidates

getSelected

Process getSelected()
Gets the currently selected implementation candidate.

Returns:
The candidate process currently selected

setSelected

void setSelected(Process p)
Selects the specified process as the implementation of this instance.

Parameters:
p - The process to select

getPriority

int getPriority()
Gets the current priority of this process.

Returns:
The process priority

setPriority

void setPriority(int priority)
Sets the priority of this process.

Parameters:
priority - The process priority

getProfile

QueryProfile getProfile()
Gets the profile model associated to this instance.

Returns:
The profile model

setProfile

void setProfile(QueryProfile profile)
Sets the profile model associated to this instance.

Parameters:
profile - The profile model


Copyright © 2006-2008 Grid Systems, S.A.. All Rights Reserved.