# Package edu.isi.pegasus.planner.refiner

Interface Summary
Refiner: A first cut at a separate refiner interface.

Class Summary
Authenticate: It takes in a authenticate request and authenticates against the resource on the basis of the type of the resource against which authentication is required.
AuthenticateEngine: It authenticates the user with the sites, that the user specifies at the execution time.
CleanupEngine: The refiner that results in the creation of cleanup jobs within the workflow.
CreateDirectory: This common interface that identifies the basic functions that need to be implemented to introduce random directories in which the jobs are executed on the remote execution pools.
DataReuseEngine: The data reuse engine reduces the workflow on the basis of existing output files of the workflow found in the Replica Catalog.
DeployWorkerPackage: The refiner that is responsible for adding - setup nodes that deploy a worker package on each deployment site at start of workflow execution - cleanup nodes that undeploy a worker package on each deployment site at end workflow execution
Engine: The class which is a superclass of all the various Engine classes.
InterPoolEngine: This engine calls out to the Site Selector selected by the user and maps the jobs in the workflow to the execution pools.
MainEngine: The central class that calls out to the various other components of Pegasus.
NodeCollapser: This collapses the nodes of the same logical name scheduled on the same pool into fewer fat nodes.
ReduceEdges: An algorithm to reduce remove edges in the workflow, based on a DFS of a graph and doing least common ancestor tranversals to detect duplicate edges.
RemoveDirectory: Ends up creating a cleanup dag that deletes the remote directories that were created by the create dir jobs.
ReplicaCatalogBridge: This coordinates the look up to the Replica Location Service, to determine the logical to physical mappings.
TestReduceEdges
ThreadPool: This maintains a pool of authenticate threads that authenticate against a particular resource.
TransferEngine: The transfer engine, which on the basis of the pools on which the jobs are to run, adds nodes to transfer the data products.