edu.isi.pegasus.planner.provenance.pasoa

## Interface PPS

All Known Implementing Classes:
  Empty

    public interface PPS

Pegasus P-assertion Support interface Classes that implement this interface assist in the creation of p-assertions for the Pegasus workflow refinement system. This interface follows a builder pattern. Using this interface proceeds as follows: 1. At the beginning of a refinement step the beginWorkflowRefinmentStep method should be called. 2. As nodes are transformed the particular refinement operation method (siteSelectionFor, isParticiationOf...) should be called. 3. When the refinement step is complete the endWorkflowStep method should be called. 4. At this point identicalTo relationships are automatically created between the resulting workflow and the input workflow A note on PHeaders: For the first refinement step, the p-header can be passed in as null. For each, subsequent refinement step the p-header provided by the endWorkflowRefinementStep method should be passed into the beginWorkflowRefinementMethod

### Field Summary

Fields
`static java.lang.String` `NAMESPACE` A namespace we can use to identify relationships and concepts defined for Pegasus' provenance data
`static java.lang.String` `PEGASUS`
`static java.lang.String` `REFINEMENT_CLUSTER`
`static java.lang.String` `REFINEMENT_REDUCE`
`static java.lang.String` `REFINEMENT_REGISTER`
`static java.lang.String` `REFINEMENT_SITE_SELECT`
`static java.lang.String` `REFINEMENT_STAGE`

### Method Summary

All Methods Instance Methods Abstract Methods
`java.lang.String` `beginWorkflowRefinementStep(Refiner refiner, java.lang.String refinementStepName, boolean firstStep)`
`void` `clusteringOf(java.lang.String clusteredJob, java.util.List jobs)`
`void` `endWorkflowRefinementStep(Refiner refiner)`
`void` `isIdenticalTo(java.lang.String afterNode, java.lang.String beforeNode)`
`void` `isPartitionOf(java.lang.String afterNode, java.util.List beforeNode)`
`void` `registrationIntroducedFor(java.lang.String registrationNode, java.lang.String dataStagingNode)`
`void` `siteSelectionFor(java.lang.String afterNode, java.lang.String beforeNode)`
`void` `stagingIntroducedFor(java.util.List stagingNodes, java.lang.String appNode)`

### Field Detail

#### NAMESPACE

    static final java.lang.String NAMESPACE

A namespace we can use to identify relationships and concepts defined for Pegasus' provenance data

See Also:
  Constant Field Values

#### PEGASUS

    static final java.lang.String PEGASUS

See Also:
  Constant Field Values

#### REFINEMENT_CLUSTER

    static final java.lang.String REFINEMENT_CLUSTER

See Also:
  Constant Field Values

#### REFINEMENT_REDUCE

    static final java.lang.String REFINEMENT_REDUCE

See Also:
  Constant Field Values

#### REFINEMENT_REGISTER

    static final java.lang.String REFINEMENT_REGISTER

See Also:
  Constant Field Values

#### REFINEMENT_SITE_SELECT

    static final java.lang.String REFINEMENT_SITE_SELECT

See Also:
  Constant Field Values

#### REFINEMENT_STAGE

    static final java.lang.String REFINEMENT_STAGE

See Also:
  Constant Field Values

### Method Detail

#### beginWorkflowRefinementStep

    java.lang.String beginWorkflowRefinementStep(Refiner refiner,
                                                 java.lang.String refinementStepName,
                                                 boolean firstStep)
                                          throws java.lang.Exception

Returns:
  The ID used for the whole refinement process of this workflow
Throws:
  `java.lang.Exception`

#### isIdenticalTo

    void isIdenticalTo(java.lang.String afterNode,
                       java.lang.String beforeNode)
                throws java.lang.Exception

Throws:
  `java.lang.Exception`

#### siteSelectionFor

    void siteSelectionFor(java.lang.String afterNode,
                          java.lang.String beforeNode)
                   throws java.lang.Exception

Throws:
  `java.lang.Exception`

#### stagingIntroducedFor

    void stagingIntroducedFor(java.util.List stagingNodes,
                              java.lang.String appNode)
                       throws java.lang.Exception

Throws:
  `java.lang.Exception`

#### registrationIntroducedFor

    void registrationIntroducedFor(java.lang.String registrationNode,
                                   java.lang.String dataStagingNode)
                            throws java.lang.Exception

Throws:
  `java.lang.Exception`

#### clusteringOf

    void clusteringOf(java.lang.String clusteredJob,
                      java.util.List jobs)
               throws java.lang.Exception

Throws:
  `java.lang.Exception`

#### isPartitionOf

    void isPartitionOf(java.lang.String afterNode,
                       java.util.List beforeNode)
                throws java.lang.Exception

Throws:
  `java.lang.Exception`

#### endWorkflowRefinementStep

    void endWorkflowRefinementStep(Refiner refiner)
                            throws java.lang.Exception

Throws:
  `java.lang.Exception`