Capsule-oriented programming

Supplemental Files
Date
2015-01-01
Authors
Rajan, Hridesh
Rajan, Hridesh
Major Professor
Advisor
Committee Member
Journal Title
Journal ISSN
Volume Title
Publisher
Altmetrics
Authors
Research Projects
Organizational Units
Computer Science
Organizational Unit
Journal Issue
Series
Department
Computer Science
Abstract

"Explicit concurrency should be abolished from all higher-level programming languages (i.e. everything except - perhaps- plain machine code.)." Dijkstra [1] (paraphrased). A promising class of concurrency abstractions replaces explicit concurrency mechanisms with a single linguistic mechanism that combines state and control and uses asynchronous messages for communications, e.g. active objects or actors, but that doesn't remove the hurdle of understanding non-local control transfer. What if the programming model enabled programmers to simply do what they do best, that is, to describe a system in terms of its modular structure and write sequential code to implement the operations of those modules and handles details of concurrency? In a recently sponsored NSF project we are developing such a model that we call capsule-oriented programming and its realization in the Panini project. This model favors modularity over explicit concurrency, encourages concurrency correctness by construction, and exploits modular structure of programs to expose implicit concurrency.

Comments

This is a manuscript of a proceeding published as Rajan, Hridesh. "Capsule-oriented programming." In Proceedings of the 37th International Conference on Software Engineering-Volume 2, pp. 611-614. IEEE Press, 2015. doi:10.1109/ICSE.2015.205. Posted with permission

Description
Keywords
Citation
DOI