Workflow representation and runtime based on lazy functional streams

  • Authors:
  • Matthew J. Sottile;Geoffrey C. Hulette;Allen D. Malony

  • Affiliations:
  • University of Oregon, Eugene, OR;University of Oregon, Eugene, OR;University of Oregon, Eugene, OR

  • Venue:
  • Proceedings of the 4th Workshop on Workflows in Support of Large-Scale Science
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

Workflows are a successful model for building both distributed and tightly-coupled programs based on a dataflow-oriented coordination of computations. Multiple programming languages have been proposed to represent workflow-based programs in the past. In this paper, we discuss a representation of workflows based on lazy functional streams implemented in the strongly typed language Haskell. Our intent is to demonstrate that streams are an expressive intermediate representation for higher-level workflow languages. By embedding our stream-based workflow representation in a language such as Haskell, we also gain with minimal effort the strong type system provided by the base language, the rich library of built-in functional primitives, and most recently, rich support for managing concurrency at the language level.