An executable and testable semantics for iTasks

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

  • Affiliations:
  • Nijmegen Institute for Computing and Information Sciences, Radboud University Nijmegen, The Netherlands;Nijmegen Institute for Computing and Information Sciences, Radboud University Nijmegen, The Netherlands;Nijmegen Institute for Computing and Information Sciences, Radboud University Nijmegen, The Netherlands

  • Venue:
  • IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

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 Gšt. Gšt 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.