Processes and actors: Translating Kahn processes to dataflow with firing
(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:
https://lup.lub.lu.se/record/4700dc55-8024-4d9d-8c75-18d60d6895e5
- author
- Cedersjö, Gustav LU and Janneck, Jörn LU
- organization
- publishing date
- 2016-07-17
- 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
- 2025-01-12 20:22:59
@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}}, }