Semantics with applications: a formal introduction
Semantics with applications: a formal introduction
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Denotational Semantics: The Scott-Strachey Approach to Programming Language Theory
Functional Programming and Parallel Graph Rewriting
Functional Programming and Parallel Graph Rewriting
MFCS '98 Proceedings of the 23rd International Symposium on Mathematical Foundations of Computer Science
Theoretical Computer Science
Scrap your nameplate: (functional pearl)
Proceedings of the tenth ACM SIGPLAN international conference on Functional programming
Scientific workflow management and the Kepler system: Research Articles
Concurrency and Computation: Practice & Experience - Workflow in Grid Systems
Ott: effective tool support for the working semanticist
ICFP '07 Proceedings of the 12th ACM SIGPLAN international conference on Functional programming
From reduction-based to reduction-free normalization
AFP'08 Proceedings of the 6th international conference on Advanced functional programming
An executable and testable semantics for iTasks
IFL'08 Proceedings of the 20th international conference on Implementation and application of functional languages
iData for the world wide web – programming interconnected web forms
FLOPS'06 Proceedings of the 8th international conference on Functional and Logic Programming
Workflow system modeling in the mobile healthcare b2b using semantic information
ICCSA'05 Proceedings of the 2005 international conference on Computational Science and Its Applications - Volume Part II
Mechanized metatheory for the masses: the PoplMark challenge
TPHOLs'05 Proceedings of the 18th international conference on Theorem Proving in Higher Order Logics
Automatic testing of higher order functions
APLAS'06 Proceedings of the 4th Asian conference on Programming Languages and Systems
Task-oriented programming in a pure functional language
Proceedings of the 14th symposium on Principles and practice of declarative programming
Hi-index | 0.00 |
This paper has two contributions. First, it gives a semantics for the iTask workflow management system. Second, it describes an effective methodology to construct such a semantics. Semantics is a formal description of the meaning of language constructs. Just like any other formal description there are umpteen ways of introducing flaws in such a description. Even trained people are not very effective in spotting issues in formal text. In this paper we show that it is very well possible to describe semantics of programming languages using a modern functional programming as carrier of the specification. This enables automatic sanity checks by the language compiler, simulation of the described semantics to validate the specification, and automatic testing of properties of the semantics. We illustrate this technique with the well-known example of simple imperative language as well as the iTask workflow management system. In our experience this methodology works very well. The combination of sanity checks, simulation and automatic testing of properties really helped to construct a trustworthy semantics for the iTask system.