Article ID Journal Published Year Pages File Type
432612 Journal of Logical and Algebraic Methods in Programming 2014 24 Pages PDF
Abstract

•We present a reasoning system for asynchronous communication with shared futures.•We consider compositional reasoning of concurrent and object oriented systems.•We provide an operational and axiomatic semantics.•The reasoning system is proven sound and relatively complete.•The language considered and the formal treatment focus on the future concept.

Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of their concurrency, communication, and synchronization mechanisms. We consider the setting of concurrent objects communicating by asynchronous method calls. The future mechanism extends the traditional method call communication model by facilitating sharing of references to futures. By assigning method call result values to futures, third party objects may pick up these values. This may reduce the time spent waiting for replies in a distributed environment. However, futures add a level of complexity to program analysis, as the program semantics becomes more involved.This paper presents a Hoare style reasoning system for distributed objects based on a general concurrency and communication model focusing on asynchronous method calls and futures. The model facilitates invariant specifications over the locally visible communication history of each object. Compositional reasoning is supported, and each object may be specified and verified independently of its environment. The presented reasoning system is proven sound and (relatively) complete with respect to the given operational semantics.

Related Topics
Physical Sciences and Engineering Computer Science Computational Theory and Mathematics
Authors
, ,