Refereed article in conference proceedings (A4)

Thick control flows -- An imperative version of stream programming




List of AuthorsJari-Matti Mäkelä, Martti Forsell, Ville Leppänen

EditorsMarkus Koskela, Kari Heikkinen

Conference nameYhdistetyt tietojenkäsittelyn päivät

Publication year2014

Book title *Yhdistetyt tietojenkäsittelypäivät 2014

ISBN978-952-265-596-7


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.



Last updated on 2021-24-06 at 10:11