Parallel Functional Reactive Programming

Authors:

John Peterson,Valery Trifonov, Andre Serjantov

Abstract:

In this paper, we demonstrate how Functional Reactive Programming (FRP), a framework for the description of interactive systems, can be extended to encompass parallel systems. FRP is based on Haskell, a purely functional programming language, and incorporates the concepts of time variation and reactivity.

Parallel FRP serves as a declarative system model that may be transformed into a parallel implementation using the standard program transformation techniques of functional programming. The semantics of parallel FRP include non-determinism, enhancing opportunities to introduce parallelism. We demonstrate a variety of program transformations based on parallel FRP and show how a FRP model may be transformed into explicitly parallel code. Parallel FRP is implemented using the Linda programming system to handle the underlying parallelism. As an example of parallel FRP, we show how a specification for a web-based online auctioning system can be transformed into a parallel implementation.

Bibtex:

 @InProceedings{Nilsson2003a,
  author = 	 "John Peterson and Valery Trifonov and Andrei Serjantov",
  title = 	 "Functional Hybrid Modeling",
  booktitle = 	 "Proceedings of Practical Aspects of Declarative Programming
                  ({PADL'00})",
  year =	 2000,
  month =	 jan,
} 

Links:

pfrp.pdf