Axiomatic semantics of communicating sequential processes
ACM Transactions on Programming Languages and Systems (TOPLAS) - Lecture notes in computer science Vol. 174
Communicating sequential processes
Communicating sequential processes
MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Object-oriented concurrent programming ABCL/1
OOPLSA '86 Conference proceedings on Object-oriented programming systems, languages and applications
Object-oriented specifications
Research directions in object-oriented programming
Promises: linguistic support for efficient asynchronous procedure calls in distributed systems
PLDI '88 Proceedings of the ACM SIGPLAN 1988 conference on Programming Language design and Implementation
Conditional rewriting logic as a unified model of concurrency
Selected papers of the Second Workshop on Concurrency and compositionality
Specification and development of interactive systems: focus on streams, interfaces, and refinement
Specification and development of interactive systems: focus on streams, interfaces, and refinement
Verifiable Programming
Abstraction and Modularity Mechanisms for Concurrent Computing
IEEE Parallel & Distributed Technology: Systems & Technology
The incremental garbage collection of processes
Proceedings of the 1977 symposium on Artificial intelligence and programming languages
Verification of Concurrent Objects with Asynchronous Method Calls
SWSTE '05 Proceedings of the IEEE International Conference on Software - Science, Technology & Engineering
Formalising Java RMI with explicit code mobility
Theoretical Computer Science
A complete guide to the future
ESOP'07 Proceedings of the 16th European conference on Programming
All about maude - a high-performance logical framework: how to specify, program and verify systems in rewriting logic
Verification of object-oriented software: The KeY approach
Verification of object-oriented software: The KeY approach
Java JR: fully abstract trace semantics for a core java language
ESOP'05 Proceedings of the 14th European conference on Programming Languages and Systems
SCOOP – a contract-based concurrent object-oriented programming model
Advanced Lectures on Software Engineering
A system for compositional verification of asynchronous objects
Science of Computer Programming
Hi-index | 0.00 |
Distributed and concurrent object-oriented systems are difficult to analyze due to the complexity of their concurrency, communication, and synchronization mechanisms. 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 model for asynchronously communicating objects, where return values from method calls are handled by futures. The model facilitates invariant specifications over the locally visible communication history of each object. Compositional reasoning is supported, as each object may be specified and verified independently of its environment. A kernel object-oriented language with futures inspired by the ABS modeling language is considered. A compositional proof system for this language is presented, formulated within dynamic logic.