Skip to main content

Lund University Publications

LUND UNIVERSITY LIBRARIES

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) 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
and
organization
publishing date
type
Chapter in Book/Report/Conference proceeding
publication status
published
subject
host publication
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)
conference location
Samos, Greece
conference dates
2017-07-17 - 2017-07-21
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
2022-08-09 17:36:44
@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}},
  doi          = {{10.1109/SAMOS.2016.7818327}},
  year         = {{2016}},
}