You are here: TUCS > PUBLICATIONS > Publication Search > Thick control flows – An imp...
Thick control flows – An imperative version of stream programming
Jari-Matti Mäkelä, Ville Leppänen, Thick control flows – An imperative version of stream programming. In: Markus Koskela, Kari Heikkinen (Eds.), Yhdistetyt tietojenkäsittelypäivät 2014, 4, Lappeenrannan yliopisto, 2014.
Abstract:
We propose thick control flows as a model for defining parallel multi-threaded OO programs, and consider the model's influence on the semantics of ordinary imperative and object-oriented language constructions as well as their implementation by a compiler.
When a thick control flow (in terms of the number of threads) is executing a statement or an expression of a program, all the threads of that flow are considered to execute the same program element synchronously in parallel. Considering method calls, when a control flow with thickness t calls a method, the method is not called separately by each of the t threads, but the control flow calls it only once with t threads. A call stack is not related to each thread but to each of the parallel control flows, since threads do not have program counters -- only control flows have program counters. The concept of thread is only implicit.
The concept of thick control flow makes the programmer to focus on co-operation of few parallel thick control flows instead of a huge number of parallel threads and the implicit synchrony of each thick flow promotes the concept of computation's state, which is essential in achieving correctness.
BibTeX entry:
@INPROCEEDINGS{inpMxLe14a,
title = {Thick control flows – An imperative version of stream programming},
booktitle = {Yhdistetyt tietojenkäsittelypäivät 2014},
author = {Mäkelä, Jari-Matti and Leppänen, Ville},
editor = {Koskela, Markus and Heikkinen, Kari},
publisher = {Lappeenrannan yliopisto},
pages = {4},
year = {2014},
ISSN = {978-952-265-596-7},
}
Belongs to TUCS Research Unit(s): Software Development Laboratory (SwDev)