Sequentially constructive concurrency: a conservative extension of the synchronous model of computation

  • Authors:
  • Reinhard von Hanxleden;Michael Mendler;Joaquin Aguado;Björn Duderstadt;Insa Fuhrmann;Christian Motika;Stephen Mercer;Owen O'Brien

  • Affiliations:
  • Kiel University, Kiel, Germany;Bamberg University, Bamberg, Germany;Bamberg University, Bamberg, Germany;Kiel University, Kiel, Germany;Kiel University, Kiel, Germany;Kiel University, Kiel, Germany;National Instruments, Austin, TX;National Instruments, Austin, TX

  • Venue:
  • Proceedings of the Conference on Design, Automation and Test in Europe
  • Year:
  • 2013

Quantified Score

Hi-index 0.00

Visualization

Abstract

Synchronous languages ensure deterministic concurrency, but at the price of heavy restrictions on what programs are considered valid, or constructive. Meanwhile, sequential languages such as C and Java offer an intuitive, familiar programming paradigm but provide no guarantees with regard to deterministic concurrency. The sequentially constructive model of computation (SC MoC) presented here harnesses the synchronous execution model to achieve deterministic concurrency while addressing concerns that synchronous languages are unnecessarily restrictive and difficult to adopt. In essence, the SC MoC extends the classical synchronous MoC by allowing variables to be read and written in any order as long as sequentiality expressed in the program provides sufficient scheduling information to rule out race conditions. The SC MoC is a conservative extension in that programs considered constructive in the common synchronous MoC are also SC and retain the same semantics. In this paper, we identify classes of variable accesses, define sequential constructiveness based on the concept of SC-admissible scheduling, and present a priority-based scheduling algorithm for analyzing and compiling SC programs.