An Executable and Testable Semantics for iTasks

The iTask system is an easy to use combinator library for specifying dynamic data dependent workflows in a very flexible way. The specified workflows are executed as a multi-user web-application. The implementation of the iTask system is fairly complicated. Hence we cannot use it for reasoning about the semantics of workflows in the iTask system. In this paper we define an executable semantics that specifies how workflows react on events generated by the workers executing them. The semantics is used to explain iTasks and to reason about iTasks. Based on this semantics we define a mathematical notion of equivalence of tasks and show how this equivalence for tasks can be approximated automatically. Advantages of this executable semantics are: it is easy to validate the semantics by interactive simulation; properties of the semantics can be tested by our model-based test system Gst. Gst can test a large number of properties within seconds. These tests appeared to be a good indication about the consistency of the specified semantics and equivalence relation for tasks. The automatic testing of properties was very helpful in the development of the semantics. The contribution of this paper is a semantics for iTasks as well as the method used to construct this operational semantics.

[1]  Wil M. P. van der Aalst,et al.  newYAWL : Specifying a Workflow Reference Language using Coloured Petri Nets , 2007 .

[2]  Marinus J. Plasmeijer,et al.  A Generic Programming Extension for Clean , 2001, IFL.

[3]  Rinus Plasmeijer,et al.  The Mathematical Foundation of the Proof Assistant Sparkle , 2007 .

[4]  Marinus J. Plasmeijer,et al.  iData for the World Wide Web - Programming Interconnected Web Forms , 2006, FLOPS.

[5]  Jeom Goo Kim,et al.  Workflow System Modeling in the Mobile Healthcare B2B Using Semantic Information , 2005, ICCSA.

[6]  Marinus J. Plasmeijer,et al.  Automatic Testing of Higher Order Functions , 2006, APLAS.

[7]  Marinus J. Plasmeijer,et al.  iTasks: executable specifications of interactive work flow systems for the web , 2007, ICFP '07.

[8]  Marinus J. Plasmeijer,et al.  Fully Automatic Testing with Functions as Specifications , 2005, CEFP.

[9]  Rinus Plasmeijer,et al.  An Arrow Based Semantics for Interactive Applications , 2007 .

[10]  Wmp Wil van der Aalst,et al.  New YAWL: specifying a workflow reference language using coloured petri nets , 2007 .

[11]  Jozef Gruska,et al.  Mathematical Foundations of Computer Science 1998 , 1998, Lecture Notes in Computer Science.

[12]  Flemming Nielson,et al.  Semantics with applications - a formal introduction , 1992, Wiley professional computing.

[13]  Brian Campbell,et al.  Amortised Memory Analysis Using the Depth of Data Structures , 2009, ESOP.

[14]  Christine Paulin-Mohring,et al.  The coq proof assistant reference manual , 2000 .

[15]  David Taniar,et al.  Computational Science and Its Applications - ICCSA 2005, International Conference, Singapore, May 9-12, 2005, Proceedings, Part I , 2005, ICCSA.

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

[17]  Viktória Zsók,et al.  Central European Functional Programming School - Third Summer School, CEFP 2009, Budapest, Hungary, May 21-23, 2009 and Komárno, Slovakia, May 25-30, 2009, Revised Selected Lectures , 2010, CEFP.

[18]  Werner Kluge,et al.  Implementation of Functional Languages , 1996, Lecture Notes in Computer Science.

[19]  Colin Stirling,et al.  The Joys of Bisimulation , 1998, MFCS.