Key words:
|
source code iTasks resource analysis |
Abstract:
|
Source code accompanying the paper
Markus Klinik, Jurriaan Hage, Jan Martin Jansen, and Rinus Plasmeijer. Predicting resource consumption of higher-order workflows. In Proceedings of PEPM 2017, Paris, France, January 18-20, 2017, pages 99–110. ACM, 2017a. ISBN 978-1-4503-4721-1.
CONTENTS
- *.dcl/.icl: the Clean modules of the analyzer
- *.prj: project files for the main program and the test
- test: test cases for the corresponding Clean module, includes source code for
the TestFramework needed to run the tests
- bash_completion.d: source this file in your .bashrc to get simple
command-line completion for the mtasks command.
- programs: example programs to demonstrate the analyzer
- More information on how to compile and run this program can be found in README.txt
SHORT SUMMARY
We present a type and effect system for the static analysis of programs written in a simplified version of iTasks.
iTasks is a workflow specification language embedded in Clean, a general-purpose functional programming language.
Given costs for basic tasks, our analysis calculates an upper bound of the total cost of a workflow.
The analysis has to deal with the domain-specific features of iTasks, in particular parallel and sequential composition of tasks, as well as the general-purpose features of Clean, in particular let-polymorphism, higher-order functions, recursion and lazy evaluation.
Costs are vectors of natural numbers where every element represents some resource, either consumable or reusable.
|