An Introduction to iTasks: Defining Interactive Work Flows for the Web

  • Authors:
  • Rinus Plasmeijer;Peter Achten;Pieter Koopman

  • Affiliations:
  • Radboud University Nijmegen, Netherlands;Radboud University Nijmegen, Netherlands;Radboud University Nijmegen, Netherlands

  • Venue:
  • Central European Functional Programming School
  • Year:
  • 2008

Quantified Score

Hi-index 0.01

Visualization

Abstract

In these lecture notes we present the iTaskssystem: a set of combinators to specify work flowsin a pure functional language at a very high level of abstraction. Work flow systems are automated systems in which tasksare coordinated that have to be executed by either humans or computers. The combinators that we propose support work flow patterns commonly found in commercial work flow systems. In addition, we introduce novel work flow patterns that capture real world requirements, but that can not be dealt with by current systems. Compared with most of these commercial systems, the iTaskssystem offers several further advantages: tasks are statically typed, tasks can be higher order, the combinators are fully compositional, dynamic and recursive work flows can be specified, and last but not least, the specification is used to generate an executable web-based multi-user work flow application. With the iTaskssystem, useful work flows can be defined which cannot be expressed in other systems: a work can be interrupted andsubsequently directed to other workers for further processing. The iTaskssystem has been constructed in the programming language Clean, making use of its generic programming facilities, and its iDatatoolkit with which interactive, thin-client, form-based web applications can be created. In all, iTasksare an excellent case of the expressive power of functional and generic programming.