|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface AbstractProcess
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.
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 |
---|
static final int UNDEFINED_PRIORITY
Method Detail |
---|
java.util.List<Process> getCandidates()
void setCandidates(java.util.Collection<Process> candidates)
candidates
- The list of candidatesProcess getSelected()
void setSelected(Process p)
p
- The process to selectint getPriority()
void setPriority(int priority)
priority
- The process priorityQueryProfile getProfile()
void setProfile(QueryProfile profile)
profile
- The profile model
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |