== Workflow interpreter and processor flow.rb is a utility for running job workflows in DRMAA-compliant DRM systems. Workflows are specified in flowfiles that allow expression of * concurrent and sequential execution of sub-flows * multiple runs of sub-flows with varying parameter sets * actual jobs are defined in terms of DRMAA attributes in addition any subflow or sets of subflows can be run as used with make(1) by specifying it as target. === Job defaults To minimize the extent of attributes necessarily specified in flowfiles, flow.rb provides defaults for jobs' command path, stdout/stdin path, current working directory and job name. === Workflow verification The -verify option can be used to print dependencies and job attributes for diagnosis purposes. To ensure each workflow job can be run, a number of verifications is performed before the first job gets submitted. === Job streaming Large workflows are automatically run in job streaming mode upon DRM saturation and a job maximum can be set in .flowrc.rb to place an upper limit of jobs be kept concurrently in the DRM for each workflow. === Pre-submission plug-in Enforcement of site-specific policies can easily be achieved through pre-submission procedures that allow any job attribute to be modified freely.