edu.isi.pegasus.planner.provenance.pasoa.pps
| Modifier and Type | Field and Description |
|---|---|
private DocumentBuilder |
_builder
A pre-created DOM XML parser (expensive to create so we do just once)
|
private org.pasoa.pstructure.InteractionKey |
_causeKey |
static String |
_clusteredRelation |
static String |
_clusterParameter |
private org.pasoa.pstructure.InteractionKey |
_effectKey |
static String |
_identicalParameter |
static String |
_identicalRelation
The identicalTo relationship relates a workflow node before and after a
refinement that has not changed during that refinement
|
static String |
_inClusterParameter |
private String |
_refinement |
private String |
_refinementID |
static String |
_registrationOfParameter |
static String |
_registrationParameter |
static String |
_registrationRelation |
private int |
_relationshipPAssertionCounter |
static String |
_siteSelectionInputParameter
The job before site selection plays the 'preselection' role.
|
static String |
_siteSelectionOutputParameter
The job after site selection plays the 'postselection' role.
|
static String |
_siteSelectionRelation
The site seleciotn relationship relates a job that has had its site selected
to that same job before site selection.
|
static String |
_stagedForParameter |
static String |
_stagingParameter |
static String |
_stagingRelation |
private org.pasoa.storeclient.ClientLib |
_storeProxy
ClientLib is the primary class by which a client communicates with a provenance store
|
private URL |
_storeRecordURL
The URL of the provenance store Web Service (recording port)
|
private static String |
_workflowPostfix
A partially refined workflow is specified as an XML document.
|
private String |
_workflowXML |
private static String |
_xmlFooter |
NAMESPACE, PEGASUS, REFINEMENT_CLUSTER, REFINEMENT_REDUCE, REFINEMENT_REGISTER, REFINEMENT_SITE_SELECT, REFINEMENT_STAGE| Constructor and Description |
|---|
Pasoa()
On initialisation, create a ClientLib object for communication with a
store, set the store URL and create a namespace-aware DOM document parser.
|
Pasoa(String storeURL)
On initialisation, create a ClientLib object for communication with a
store, set the store URL and create a namespace-aware DOM document parser.
|
| Modifier and Type | Method and Description |
|---|---|
static Element |
addressToElement(String address)
Conventionally, we use WS-Addressing to identify the endpoints of an
interaction between actors, and this method constructs an XML (DOM) fragment
in the WS-Addressing schema for a particular URL.
|
String |
beginWorkflowRefinementStep(Refiner workflow,
String refinementStepName,
boolean firstStep) |
void |
clusteringOf(String clusteredJob,
List jobs) |
Element |
createDataAccessor(String jobID)
Individual jobs in a workflow are identified by an XML document fragment,
called a data accessor, and this method constructs the fragment for a given
job ID.
|
org.pasoa.pstructure.InteractionKey |
createInteractionKey(String refinementID,
String refinementAddress,
boolean preRefinement)
Creates an interaction key to identify an interaction between two actors.
|
org.pasoa.pstructure.InteractionPAssertion |
createInteractionPAssertion(String workflow)
Creates an interaction p-assertion asserting that a given partially
refined workflow was exchanged between actors.
|
org.pasoa.pstructure.RelationshipPAssertion |
createRelationship(int count,
String effectJobID,
String effectParameter,
String relationType,
org.pasoa.pstructure.InteractionKey causeKey,
String causeJobID,
String causeParameter)
Creates a relationship p-assertion between nodes in two partially refined workflows.
|
void |
endWorkflowRefinementStep(Refiner workflow) |
void |
isIdenticalTo(String afterNode,
String beforeNode) |
void |
isPartitionOf(String afterNode,
List beforeNode) |
void |
record(org.pasoa.pstructure.PAssertion passertion,
org.pasoa.pstructure.InteractionKey interactionKey,
boolean isSender,
String asserterURL) |
void |
recordInteraction(org.pasoa.pstructure.InteractionPAssertion passertion,
org.pasoa.pstructure.InteractionKey interactionKey,
String refinerType,
boolean refinementInput) |
void |
recordInteraction(String workflow,
org.pasoa.pstructure.InteractionKey interactionKey,
String refinerType,
boolean refinementInput) |
org.pasoa.pstructure.RelationshipPAssertion |
recordRelationship(int count,
String effectJobID,
String effectParameter,
String relationType,
org.pasoa.pstructure.InteractionKey causeKey,
String causeJobID,
String causeParameter,
String asserterURL) |
void |
registrationIntroducedFor(String registrationNode,
String dataStagingNode) |
void |
siteSelectionFor(String afterNode,
String beforeNode) |
void |
stagingIntroducedFor(List stagingNodes,
String appNode) |
Element |
toElement(String xmlAsString)
Convenience method to parse string represented XML into a DOM XML fragment representation
|
private String _workflowXML
private int _relationshipPAssertionCounter
private org.pasoa.pstructure.InteractionKey _causeKey
private org.pasoa.pstructure.InteractionKey _effectKey
private String _refinement
private String _refinementID
private static final String _xmlFooter
public static final String _identicalRelation
public static final String _identicalParameter
public static final String _siteSelectionRelation
public static final String _siteSelectionInputParameter
public static final String _siteSelectionOutputParameter
public static final String _stagingRelation
public static final String _stagedForParameter
public static final String _stagingParameter
public static final String _registrationRelation
public static final String _registrationOfParameter
public static final String _registrationParameter
public static final String _clusteredRelation
public static final String _inClusterParameter
public static final String _clusterParameter
private static final String _workflowPostfix
private org.pasoa.storeclient.ClientLib _storeProxy
private URL _storeRecordURL
private DocumentBuilder _builder
public Pasoa()
throws Exception
Exceptionpublic String beginWorkflowRefinementStep(Refiner workflow, String refinementStepName, boolean firstStep) throws Exception
beginWorkflowRefinementStep in interface PPSExceptionpublic void isIdenticalTo(String afterNode, String beforeNode) throws Exception
isIdenticalTo in interface PPSExceptionpublic void siteSelectionFor(String afterNode, String beforeNode) throws Exception
siteSelectionFor in interface PPSExceptionpublic void stagingIntroducedFor(List stagingNodes, String appNode) throws Exception
stagingIntroducedFor in interface PPSExceptionpublic void registrationIntroducedFor(String registrationNode, String dataStagingNode) throws Exception
registrationIntroducedFor in interface PPSExceptionpublic void clusteringOf(String clusteredJob, List jobs) throws Exception
clusteringOf in interface PPSExceptionpublic void isPartitionOf(String afterNode, List beforeNode)
isPartitionOf in interface PPSpublic void endWorkflowRefinementStep(Refiner workflow) throws Exception
endWorkflowRefinementStep in interface PPSExceptionpublic static Element addressToElement(String address)
address - The URL of the endpointpublic Element createDataAccessor(String jobID) throws IOException, SAXException
jobID - The job IDIOExceptionSAXExceptionpublic org.pasoa.pstructure.InteractionPAssertion createInteractionPAssertion(String workflow) throws IOException, SAXException
workflow - The (XML) content of the partially refined workflowIOExceptionSAXExceptionpublic org.pasoa.pstructure.InteractionKey createInteractionKey(String refinementID, String refinementAddress, boolean preRefinement)
refinementID - The unique identifier for this workflow refinement (run of Pegasus)refinementAddress - The URI of the particular refinement step (site selection, cluster etc.)preRefinement - True if the interaction is pre-refinement, i.e. from Pegasus to a refiner, rather than the other way roundpublic org.pasoa.pstructure.RelationshipPAssertion createRelationship(int count,
String effectJobID,
String effectParameter,
String relationType,
org.pasoa.pstructure.InteractionKey causeKey,
String causeJobID,
String causeParameter)
throws IOException,
SAXException
count - The index of this relationship p-assertion in the interaction (to support the requirement that each p-assertion has a unique ID)effectJobID - The job ID of the subject (effect) of the relationshipeffectParameter - The role played by the subject of the relationshiprelationType - The type of the relationshipcauseKey - The interaction key of the object of the relationshipcauseJobID - The job ID of the object (cause) of the relationshipcauseParameter - The role played by the object of the relationshipIOExceptionSAXExceptionpublic void record(org.pasoa.pstructure.PAssertion passertion,
org.pasoa.pstructure.InteractionKey interactionKey,
boolean isSender,
String asserterURL)
throws Exception
Exceptionpublic void recordInteraction(org.pasoa.pstructure.InteractionPAssertion passertion,
org.pasoa.pstructure.InteractionKey interactionKey,
String refinerType,
boolean refinementInput)
throws Exception
Exceptionpublic void recordInteraction(String workflow, org.pasoa.pstructure.InteractionKey interactionKey, String refinerType, boolean refinementInput) throws Exception
Exceptionpublic org.pasoa.pstructure.RelationshipPAssertion recordRelationship(int count,
String effectJobID,
String effectParameter,
String relationType,
org.pasoa.pstructure.InteractionKey causeKey,
String causeJobID,
String causeParameter,
String asserterURL)
throws Exception
Exceptionpublic Element toElement(String xmlAsString) throws IOException, SAXException
IOExceptionSAXException