MULTILISP: a language for concurrent symbolic computation
ACM Transactions on Programming Languages and Systems (TOPLAS)
Modelling and programming in an object-oriented concurrent language ABCL/1
Object-oriented concurrent programming
A Theory of Distributed Objects
A Theory of Distributed Objects
OOPSLA '05 Proceedings of the 20th annual ACM SIGPLAN conference on Object-oriented programming, systems, languages, and applications
A concurrent lambda calculus with futures
Theoretical Computer Science - Applied semantics
Creol: a type-safe object-oriented model for distributed concurrent systems
Theoretical Computer Science - Components and objects
An Asynchronous Distributed Component Model and Its Semantics
Formal Methods for Components and Objects
A complete guide to the future
ESOP'07 Proceedings of the 16th European conference on Programming
Isabelle/HOL: a proof assistant for higher-order logic
Isabelle/HOL: a proof assistant for higher-order logic
Ambient-Oriented programming in ambienttalk
ECOOP'06 Proceedings of the 20th European conference on Object-Oriented Programming
A framework for reasoning on component composition
FMCO'09 Proceedings of the 8th international conference on Formal methods for components and objects
A perspective on the CoreGRID grid component model
Euro-Par'11 Proceedings of the 2011 international conference on Parallel Processing
Efficient and fully abstract routing of futures in object network overlays
Proceedings of the 2013 workshop on Programming based on actors, agents, and decentralized control
Hi-index | 0.00 |
Components provide an easy to use programming paradigm allowing for better re-usability of application code. In the context of distributed programming, autonomous hierarchical components provide a simple model for creating efficient applications. This paper presents a model for distributed components communicating asynchronously using futures - placeholders for results. Our components communicate via asynchronous requests and replies where the requests are enqueued at the target component, and the invoker receives a future. Then, future references can be dispersed among components. When the result is available for a future, it needs to be transmitted to all interested components, as determined by a future update strategy. We present formal semantics of our component model incorporating formalisation of one such future update strategy. Our model has been mechanically formalised in Isabelle/HOL, together with the proof of properties. This approach validates the actual implementation of the future update strategy itself.