Distributed data flow language for multi-party protocols
|
Tools and Resources
Share: |
||||||||||||||||||||||||
ABSTRACTThis 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.
AUTHORS
|
|
||||||||||||||||||||||||||||||||||||||||
| View colleagues of Krzysztof Ostrowski | |||||||||||||||||||||||||||||||||||||||||
|
|
|||||||||||||||||||||||||||||||||||||||
| View colleagues of Ken Birman | ||||||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||||||
| View colleagues of Danny Dolev | |||||||||||||||||||||||||||||||||||||||||
REFERENCESNote: OCR errors may be found in this Reference List extracted from the full text article. ACM has opted to expose the complete List rather than only correct and linked references.
|
1
|
Live Distributed Objects. http://liveobjects.cs.cornell.edu/.
|
|
|
2
|
Y. Amir and J. Stanton. The Spread wide area group communication system. J. Hopkins Univ. Tech Report, 1998.
|
|
|
3
|
A. Banerji et al. Web Services Conversation Language. http://www.w3.org/TR/wscl10/.
|
|
| |
4
|
|
|
5
|
||
| |
6
|
|
|
7
|
S. Douglas, E. Tanin, A. Harwood, and S. Karunasekera. Enabling massively multiplayer online gaming applications on a P2P architecture. ICIA, 2005.
|
|
|
8
|
P. Eugster, R. Guerraoui, and J. Sventek. Distributed asynchronous collections: abstractions for publish/subscribe interaction. ECOOP, 2000.
|
|
|
9
|
||
|
10
|
R. Fuzzati and U. Nestmann. Much ado about nothing? http://www.brics.dk/NS/05/3/, 1995.
|
|
|
11
|
||
| |
12
|
David Gay , Philip Levis , Robert von Behren , Matt Welsh , Eric Brewer , David Culler, The nesC language: A holistic approach to networked embedded systems, Proceedings of the ACM SIGPLAN 2003 conference on Programming language design and implementation, June 09-11, 2003, San Diego, California, USA [doi>10.1145/781131.781133]
|
|
13
|
J. Hickey, N. Lynch, and R. van Renesse. Specifications and proofs for Ensemble layers. TACAS, 1999.
|
|
|
14
|
||
|
15
|
||
| |
16
|
|
| |
17
|
Charles Edwin Killian , James W. Anderson , Ryan Braud , Ranjit Jhala , Amin M. Vahdat, Mace: language support for building distributed systems, Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation, June 10-13, 2007, San Diego, California, USA [doi>10.1145/1250734.1250755]
|
|
18
|
||
| |
19
|
|
| |
20
|
|
| |
21
|
|
|
22
|
||
|
23
|
||
|
24
|
K. Ostrowski, K. Birman, and D. Dolev. Programming Live Distributed Objects with Distributed Data Flows. Cornell Univ. Tech Report, 2009. http://hdl.handle.net/1813/12766.
|
|
| |
25
|
Krzysztof Ostrowski , Ken Birman , Danny Dolev , Chuck Sakoda, Implementing reliable event streams in large systems via distributed data flows and recursive delegation, Proceedings of the Third ACM International Conference on Distributed Event-Based Systems, July 06-09, 2009, Nashville, Tennessee [doi>10.1145/1619258.1619279]
|
|
26
|
||
|
27
|
D. Smith, A. Kay, A. Raab, and D. Reed. Croquet: a collaboration system architecture. C5, 2003.
|
|
|
28
|
J. Strohm. Managing player awareness in Darkstar. http://www.projectdarkstar.com, 2007.
|
|
| |
29
|
CITED BY
INDEX TERMSThe ACM Computing Classification System (CCS rev.2012)
PUBLICATION| Title | PLOS '09 Proceedings of the Fifth Workshop on Programming Languages and Operating Systems table of contents | ||||||||||||||||||||||||||
| Program Chair | Gilles Muller INRIA | ||||||||||||||||||||||||||
| Article No. | 7 | ||||||||||||||||||||||||||
| Publication Date | 2009-10-11 (yyyy-mm-dd) | ||||||||||||||||||||||||||
| Sponsor | SIGOPS ACM Special Interest Group on Operating Systems | ||||||||||||||||||||||||||
| Publisher | ACM New York, NY, USA ©2009 | ||||||||||||||||||||||||||
| ISBN: 978-1-60558-844-5 doi>10.1145/1745438.1745448 | |||||||||||||||||||||||||||
| Conference |
SOSPACM Symposium on Operating Systems Principles
|
||||||||||||||||||||||||||
| Overall Acceptance Rate 38 of 66 submissions, 58% | |||||||||||||||||||||||||||
|
|||||||||||||||||||||||||||
REVIEWS
COMMENTSBe the first to comment To Post a comment please sign in or create a free Web account
Table of Contents| SESSION: Kernels | ||
| Checking process-oriented operating system behaviour using CSP and refinement | ||
| Frederick R. M. Barnes, Carl G. Ritson | ||
| Article No.: 1 | ||
| doi>10.1145/1745438.1745440 | ||
Full text: Pdf
|
||
|
Process orientation is an approach to concurrency that uses concepts of processes and message-passing communication, with whole systems constructed from layered and dynamically evolving networks of communicating processes. The work described in this ...
expand
|
||
| A microkernel API for fine-grained decomposition | ||
| Sebastian Reichelt, Jan Stoess, Frank Bellosa | ||
| Article No.: 2 | ||
| doi>10.1145/1745438.1745441 | ||
Full text: Pdf
|
||
|
Microkernel-based operating systems typically require special attention to issues that otherwise arise only in distributed systems. The resulting extra code degrades performance and increases development effort, severely limiting decomposition granularity. ...
expand
|
||
| SESSION: Distributed systems | ||
| Code-Partitioning Gossip | ||
| Lonnie Princehouse, Ken Birman | ||
| Article No.: 3 | ||
| doi>10.1145/1745438.1745443 | ||
Full text: Pdf
|
||
|
Code-Partitioning Gossip (CPG) is a novel technique to facilitate implementation and analysis of gossip protocols. A gossip exchange is a pair-wise transaction between two nodes; a gossip system executes an endless sequence of exchanges between nodes ...
expand
|
||
| CatchAndRetry: extending exceptions to handle distributed system failures and recovery | ||
| Emre Kiciman, Benjamin Livshits, Madanlal Musuvathi | ||
| Article No.: 4 | ||
| doi>10.1145/1745438.1745444 | ||
Full text: Pdf
|
||
|
In this paper, we present CatchAndRetry, an extension of the traditional exception mechanism to provide language-level support for common recovery techniques in distributed systems. We motivate and justify our design by analyzing several cases studies ...
expand
|
||
| SESSION: Domain-specific languages | ||
| Filet-o-Fish: practical and dependable domain-specific languages for OS development | ||
| Pierre-Evariste Dagand, Andrew Baumann, Timothy Roscoe | ||
| Article No.: 5 | ||
| doi>10.1145/1745438.1745446 | ||
Full text: Pdf
|
||
|
We address a persistent problem with using domain-specific languages to write operating systems: the effort of implementing, checking, and debugging the DSL usually outweighs any of its benefits. Because these DSLs generate C by templated string concatenation, ...
expand
|
||
| KStruct: preserving consistency through C annotations | ||
| Alexander Schmidt, Martin von Löwis, Andreas Polze | ||
| Article No.: 6 | ||
| doi>10.1145/1745438.1745447 | ||
Full text: Pdf
|
||
|
Debuggers and instrumentation tools have been proven valuable for understanding the inner workings of software systems. Although these tools are essential for various people, e.g., system administrators, developers, or teachers, they have one ...
expand
|
||
| Distributed data flow language for multi-party protocols | ||
| Krzysztof Ostrowski, Ken Birman, Danny Dolev | ||
| Article No.: 7 | ||
| doi>10.1145/1745438.1745448 | ||
Full text: Pdf
|
||
|
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 ...
expand
|
||