TY - GEN
T1 - Distributed data flow language for multi-party protocols
AU - Ostrowski, Krzysztof
AU - Birman, Ken
AU - Dolev, Danny
PY - 2009
Y1 - 2009
N2 - 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.
AB - 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.
KW - aggregation
KW - data flow
KW - distributed object
KW - multi-party protocol
UR - http://www.scopus.com/inward/record.url?scp=77954588732&partnerID=8YFLogxK
U2 - 10.1145/1745438.1745448
DO - 10.1145/1745438.1745448
M3 - ???researchoutput.researchoutputtypes.contributiontobookanthology.conference???
AN - SCOPUS:77954588732
SN - 9781605588445
T3 - Proceedings of the 5th Workshop on Programming Languages and Operating Systems, PLOS 2009, in Conjunction with the 22nd ACM Symposium on Operating Systems Principles, SOSP 2009
BT - Proceedings of the 5th Workshop on Programming Languages and Operating Systems, PLOS 2009, in Conjunction with the 22nd ACM Symposium on Operating Systems Principles, SOSP 2009
T2 - 5th Workshop on Programming Languages and Operating Systems, PLOS 2009, in Conjunction with the 22nd ACM Symposium on Operating Systems Principles SOSP 2009
Y2 - 11 October 2009 through 11 October 2009
ER -