Please use this identifier to cite or link to this item: https://research.matf.bg.ac.rs/handle/123456789/2342
Title: A continuation-based task programming model for C++: design of the Causeway library
Authors: Čukić, Ivan 
Keywords: asynchronous task-oriented design;C++11;continuation monad;coordination;domain-specific languages;functional programming
Issue Date: 1-Dec-2016
Rank: M22
Publisher: Willey
Journal: Software Practice and Experience
Abstract: 
There is a big class of problems that requires writing programs in an asynchronous manner. Cloud computing, service-oriented architectures, multi-core and heterogeneous systems all require programs to be written with asynchronous components. The necessity of concurrency and asynchronous execution brings in the added complexity of the inversion of control into the system, either through message passing or through event processing. In this paper, we introduce explicit programming language support for asynchronous programming that completely hides inversion of control. The presented programming model defines a common abstraction of the different types of tasks, both synchronous and asynchronous. It defines common imperative control constructs equivalent to those of the host programming language, along with a few more advanced ones for transactional and parallel execution that can universally work for any task type. It allows the programmer to implement the logic of an asynchronous system in a natural way by writing simple, seemingly, synchronous imperative code. We will show that the programs written using this approach are easier to understand by programmers. They are also easier to design automated tests for, and for performing computer-based static analysis of the program logic. The principles behind this approach were tested in a couple of real-world systems with worldwide user base. Our experience shows that it makes the complex code with a lot of interdependencies between asynchronously executed tasks easy to write and reason about. Copyright © 2016 John Wiley & Sons, Ltd.
URI: https://research.matf.bg.ac.rs/handle/123456789/2342
ISSN: 00380644
DOI: 10.1002/spe.2395
Appears in Collections:Research outputs

Show full item record

Google ScholarTM

Check

Altmetric

Altmetric


Items in DSpace are protected by copyright, with all rights reserved, unless otherwise indicated.