Lambda Calculus as a Workflow Model

Data-oriented workflows are often used in scientific applications for executing a set of dependent tasks across multiple computers. We discuss how these can be modeled using lambda calculus, and how ideas from functional programming are applicable in the design of workflows. Such an approach avoids the restrictions often found in workflow languages, permitting the implementation of complex application logic and data manipulation. This paper explains why lambda calculus is an appropriate model for workflow representation, and how a suitably efficient implementation can provide a wide range of capabilities to developers. The presented approach also permits high-level workflow features to be implemented at user level, in terms of a small set of low-level primitives provided by the language implementation.

[1]  Scott Boag,et al.  XQuery 1.0 : An XML Query Language , 2007 .

[2]  Thomas Johnsson,et al.  Efficient compilation of lazy evaluation , 1984, SIGPLAN '84.

[3]  Simon L. Peyton Jones,et al.  Strictness Analysis - A Practical Approach , 1985, FPCA.

[4]  Edward A. Lee,et al.  CONCURRENCY AND COMPUTATION: PRACTICE AND EXPERIENCE Concurrency Computat.: Pract. Exper. 2000; 00:1–7 Prepared using cpeauth.cls [Version: 2002/09/19 v2.02] Taverna: Lessons in creating , 2022 .

[5]  Gerald J. Sussman,et al.  Structure and interpretation of computer programs , 1985, Proceedings of the IEEE.

[6]  Edward A. Lee,et al.  Scientific workflow management and the Kepler system , 2006, Concurr. Comput. Pract. Exp..

[7]  A. Church,et al.  Some properties of conversion , 1936 .

[8]  Yong Zhao,et al.  Chimera: a virtual data system for representing, querying, and automating data derivation , 2002, Proceedings 14th International Conference on Scientific and Statistical Database Management.

[9]  John T. O'Donnell,et al.  Dialogues: A basis for constructing programming environments , 1985, SLIPE.

[10]  Thomas Johnsson,et al.  Parallel graph reduction with the (v , G)-machine , 1989, FPCA.

[11]  Ali Afzal,et al.  Workflow Enactment in ICENI , 2004 .

[12]  Robert L. Henderson,et al.  Job Scheduling Under the Portable Batch System , 1995, JSSPP.

[13]  Rajkumar Buyya,et al.  A Taxonomy of Workflow Management Systems for Grid Computing , 2005, Proceedings of the 38th Annual Hawaii International Conference on System Sciences.

[14]  Wolfgang Gentzsch,et al.  Sun Grid Engine: towards creating a compute power grid , 2001, Proceedings First IEEE/ACM International Symposium on Cluster Computing and the Grid.

[15]  Ian T. Foster,et al.  Globus: a Metacomputing Infrastructure Toolkit , 1997, Int. J. High Perform. Comput. Appl..

[16]  Simon L. Peyton Jones,et al.  The Implementation of Functional Programming Languages , 1987 .

[17]  Simon L. Peyton Jones,et al.  Imperative functional programming , 1993, POPL '93.

[18]  Hans-Wolfgang Loidl,et al.  Algorithm + strategy = parallelism , 1998, Journal of Functional Programming.

[19]  A. Church A Set of Postulates for the Foundation of Logic , 1932 .

[20]  Andrew L. Wendelborn,et al.  Distributed, parallel Web service orchestration using XSLT , 2005, First International Conference on e-Science and Grid Computing (e-Science'05).

[21]  Adam Arbree,et al.  Mapping Abstract Complex Workflows onto Grid Environments , 2003, Journal of Grid Computing.

[22]  Ulf Leser,et al.  Adapters, shims, and glue - service interoperability for in silico experiments , 2006, Bioinform..

[23]  Jack Dongarra,et al.  Optimal Routing in Binomial Graph Networks , 2007 .

[24]  Douglas Thain,et al.  Distributed computing in practice: the Condor experience , 2005, Concurr. Pract. Exp..

[25]  Andrew L. Wendelborn,et al.  A Distributed Virtual Machine for Parallel Graph Reduction , 2007 .

[26]  Robert Stevens,et al.  Treating Shimantic Web Syndrome with Ontologies , 2004 .