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 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
      • REFINEMENT_SITE_SELECT

        static final java.lang.String REFINEMENT_SITE_SELECT
        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