Advanced

Processes and actors: Translating Kahn processes to dataflow with firing

Cedersjö, Gustav LU and Janneck, Jörn LU (2016) International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS XVI) In 2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS) p.21-30
Abstract
Dataflow programming is a paradigm for describing stream processing algorithms in a manner that naturally exposes their concurrency and makes the resulting programs readily implementable on highly parallel architectures. Dataflow programs are graph structured, with nodes representing computational kernels that process the data flowing over the edges. There are two major families of languages for the kernels: process languages and languages for dataflow with firing. While processes tend to be easier to write, the additional structure provided by the dataflow-with-firing style increases the analyzability of dataflow programs and supports more efficient implementation techniques. This paper seeks to combine these benefits in a principled... (More)
Dataflow programming is a paradigm for describing stream processing algorithms in a manner that naturally exposes their concurrency and makes the resulting programs readily implementable on highly parallel architectures. Dataflow programs are graph structured, with nodes representing computational kernels that process the data flowing over the edges. There are two major families of languages for the kernels: process languages and languages for dataflow with firing. While processes tend to be easier to write, the additional structure provided by the dataflow-with-firing style increases the analyzability of dataflow programs and supports more efficient implementation techniques. This paper seeks to combine these benefits in a principled manner by constructing a family of translations from a process language to dataflow with firing. In order to formally relate these descriptions, we first introduce a notion of firing to the semantics of Kahn processes, which allows us to give a precise definition of equivalence between programs written in these different styles. Then we introduce a family of translations between them and and show that they retain meaning of a program. The presented language and its translation has been implemented in a compiler for the dataflow programming language CAL. (Less)
Please use this url to cite or link to this publication:
author
organization
publishing date
type
Chapter in Book/Report/Conference proceeding
publication status
published
subject
in
2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS)
pages
21 - 30
publisher
IEEE--Institute of Electrical and Electronics Engineers Inc.
conference name
International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS XVI)
external identifiers
  • scopus:85013848356
ISBN
978-1-5090-3076-7
978-1-5090-3077-4
DOI
10.1109/SAMOS.2016.7818327
language
English
LU publication?
yes
id
4700dc55-8024-4d9d-8c75-18d60d6895e5
date added to LUP
2017-01-27 15:25:06
date last changed
2017-11-14 09:52:09
@inproceedings{4700dc55-8024-4d9d-8c75-18d60d6895e5,
  abstract     = {Dataflow programming is a paradigm for describing stream processing algorithms in a manner that naturally exposes their concurrency and makes the resulting programs readily implementable on highly parallel architectures. Dataflow programs are graph structured, with nodes representing computational kernels that process the data flowing over the edges. There are two major families of languages for the kernels: process languages and languages for dataflow with firing. While processes tend to be easier to write, the additional structure provided by the dataflow-with-firing style increases the analyzability of dataflow programs and supports more efficient implementation techniques. This paper seeks to combine these benefits in a principled manner by constructing a family of translations from a process language to dataflow with firing. In order to formally relate these descriptions, we first introduce a notion of firing to the semantics of Kahn processes, which allows us to give a precise definition of equivalence between programs written in these different styles. Then we introduce a family of translations between them and and show that they retain meaning of a program. The presented language and its translation has been implemented in a compiler for the dataflow programming language CAL.},
  author       = {Cedersjö, Gustav and Janneck, Jörn},
  booktitle    = {2016 International Conference on Embedded Computer Systems: Architectures, Modeling and Simulation (SAMOS)},
  isbn         = {978-1-5090-3076-7 },
  language     = {eng},
  month        = {07},
  pages        = {21--30},
  publisher    = {IEEE--Institute of Electrical and Electronics Engineers Inc.},
  title        = {Processes and actors: Translating Kahn processes to dataflow with firing},
  url          = {http://dx.doi.org/10.1109/SAMOS.2016.7818327},
  year         = {2016},
}