Programming with sets; an introduction to SETL
Programming with sets; an introduction to SETL
Hierarchical correctness proofs for distributed algorithms
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
The early history of Smalltalk
HOPL-II The second ACM SIGPLAN conference on History of programming languages
ACM Transactions on Programming Languages and Systems (TOPLAS)
IEEE Transactions on Software Engineering - Special issue on formal methods in software practice
Specification, composition, and automated verification of layered communication protocols
Specification, composition, and automated verification of layered communication protocols
Concurrency and distribution in object-oriented programming
ACM Computing Surveys (CSUR)
SEDA: an architecture for well-conditioned, scalable internet services
SOSP '01 Proceedings of the eighteenth ACM symposium on Operating systems principles
Group communication specifications: a comprehensive study
ACM Computing Surveys (CSUR)
The nesC language: A holistic approach to networked embedded systems
PLDI '03 Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation
Distributed ML: Abstractions for Efficient and Fault-Tolerant Programming
Distributed ML: Abstractions for Efficient and Fault-Tolerant Programming
Appia: A Flexible Protocol Kernel Supporting Multiple Coordinated Channels
ICDCS '01 Proceedings of the The 21st International Conference on Distributed Computing Systems
On the efficient implementation of production systems.
On the efficient implementation of production systems.
Implementing declarative overlays
Proceedings of the twentieth ACM symposium on Operating systems principles
Mace: language support for building distributed systems
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation
The Chubby lock service for loosely-coupled distributed systems
OSDI '06 Proceedings of the 7th USENIX Symposium on Operating Systems Design and Implementation - Volume 7
Using the strategy design pattern to compose reliable distributed protocols
COOTS'97 Proceedings of the 3rd conference on USENIX Conference on Object-Oriented Technologies (COOTS) - Volume 3
Live distributed objects
Proceedings of the Third ACM International Conference on Distributed Event-Based Systems
Hi-index | 0.00 |
This paper presents a novel object-oriented approach to modeling the semantics of distributed multi-party protocols such as leader election, distributed locks or reliable multicast, and a programming language that supports it. The approach extends our live distributed objects (LO) model with the new concept of a distributed flow (DF), a stream of events that flow concurrently at multiple locations. DFs correspond to local variables, private fields, and method parameters in Java-like languages; they're means by which one stores and communicates state. Protocol instances correspond to Java objects; they consume and output flows; their internal states are encapsulated as internal flows, and their internal logic is represented as operations on flows. Our language provides a new type of concern separation: the semantic structure of protocols is decoupled from implementation details such as construction and maintenance of overlays, trees, and other structures used for scalability. These can be generated by the compiler or at deployment time. This can be done differently in different parts of the network, to match the local environment.