Title

Panini: a concurrent programming model for solving pervasive and oblivious interference

Campus Units

Computer Science

Document Type

Conference Proceeding

Conference

14th International Conference on Modularity (MODULARITY 2015)

Publication Version

Accepted Manuscript

Link to Published Version

https://doi.org/10.1145/2724525.2724568

Publication Date

2015

Journal or Book Title

Proceedings of the 14th International Conference on Modularity (MODULARITY 2015)

First Page

93

Last Page

108

DOI

10.1145/2724525.2724568

Conference Date

March 16-19, 2015

City

Fort Collins, CO

Abstract

Modular reasoning about concurrent programs is complicated by the possibility of interferences happening between any two instructions of a task (pervasive interference), and these interferences not giving out any information about the behaviors of potentially interfering concurrent tasks (oblivious interference). Reasoning about a concurrent program would be easier if a programmer modularly and statically (1) knows precisely the program points at which interferences may happen (sparse interference), and (2) has some insights into behaviors of potentially interfering tasks at these points (cognizant interference). In this work we present Panini, a core concurrent calculus which guarantees sparse interference, by controlling sharing among concurrent tasks, and cognizant interference, by controlling dynamic name bindings and accessibility of states of tasks. Panini promotes capsule-oriented programming whose concurrently running capsules own their states, communicate by asynchronous invocations of their procedures and dynamically transfer ownership. Panini limits sharing among two capsules to other capsules and futures, limits accessibility of a capsule states to only through its procedures and dispatches a procedure invocation on the static type of its receiver capsule. We formalize Panini, present its semantics and illustrate how its interference model, using behavioral contracts, enables Hoare-style modular reasoning about concurrent programs with interference.

Comments

This is a manuscript of a proceeding published as Bagherzadeh, Mehdi, and Hridesh Rajan. "Panini: A concurrent programming model for solving pervasive and oblivious interference." In Proceedings of the 14th International Conference on Modularity, pp. 93-108. ACM, 2015. 10.1145/2724525.2724568. Posted with permission.

Rights

© ACM, 2015 This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published in Proceedings of the 14th International Conference on Modularity, pp. 93-108. 2015. https://doi.org/10.1145/2724525.2724568

Copyright Owner

ACM

Language

en

File Format

application/pdf

Published Version

Share

Article Location

 
COinS