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
Exception
public String beginWorkflowRefinementStep(Refiner workflow, String refinementStepName, boolean firstStep) throws Exception
beginWorkflowRefinementStep
in interface PPS
Exception
public void isIdenticalTo(String afterNode, String beforeNode) throws Exception
isIdenticalTo
in interface PPS
Exception
public void siteSelectionFor(String afterNode, String beforeNode) throws Exception
siteSelectionFor
in interface PPS
Exception
public void stagingIntroducedFor(List stagingNodes, String appNode) throws Exception
stagingIntroducedFor
in interface PPS
Exception
public void registrationIntroducedFor(String registrationNode, String dataStagingNode) throws Exception
registrationIntroducedFor
in interface PPS
Exception
public void clusteringOf(String clusteredJob, List jobs) throws Exception
clusteringOf
in interface PPS
Exception
public void isPartitionOf(String afterNode, List beforeNode)
isPartitionOf
in interface PPS
public void endWorkflowRefinementStep(Refiner workflow) throws Exception
endWorkflowRefinementStep
in interface PPS
Exception
public static Element addressToElement(String address)
address
- The URL of the endpointpublic Element createDataAccessor(String jobID) throws IOException, SAXException
jobID
- The job IDIOException
SAXException
public org.pasoa.pstructure.InteractionPAssertion createInteractionPAssertion(String workflow) throws IOException, SAXException
workflow
- The (XML) content of the partially refined workflowIOException
SAXException
public 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 relationshipIOException
SAXException
public void record(org.pasoa.pstructure.PAssertion passertion, org.pasoa.pstructure.InteractionKey interactionKey, boolean isSender, String asserterURL) throws Exception
Exception
public void recordInteraction(org.pasoa.pstructure.InteractionPAssertion passertion, org.pasoa.pstructure.InteractionKey interactionKey, String refinerType, boolean refinementInput) throws Exception
Exception
public void recordInteraction(String workflow, org.pasoa.pstructure.InteractionKey interactionKey, String refinerType, boolean refinementInput) throws Exception
Exception
public 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
Exception
public Element toElement(String xmlAsString) throws IOException, SAXException
IOException
SAXException