ACM Home Page
Please provide us with feedback. Feedback
Mace: language support for building distributed systems
Full text PdfPdf (280 KB)
Source
Conference on Programming Language Design and Implementation archive
Proceedings of the 2007 ACM SIGPLAN conference on Programming language design and implementation table of contents
San Diego, California, USA
SESSION: Languages designed table of contents
Pages: 179 - 188  
Year of Publication: 2007
ISBN:978-1-59593-633-2
Also published in ...
Authors
Charles Edwin Killian  University of California: San Diego, La Jolla, CA
James W. Anderson  University of California: San Diego, La Jolla, CA
Ryan Braud  University of California: San Diego, La Jolla, CA
Ranjit Jhala  University of California: San Diego, La Jolla, CA
Amin M. Vahdat  University of California: San Diego, La Jolla, CA
Sponsors
SIGPLAN: ACM Special Interest Group on Programming Languages
ACM: Association for Computing Machinery
Publisher
ACM  New York, NY, USA
Bibliometrics
Downloads (6 Weeks): 13,   Downloads (12 Months): 154,   Citation Count: 10
Additional Information:

abstract   references   cited by   index terms   collaborative colleagues  

Tools and Actions: Request Permissions Request Permissions    Review this Article  
DOI Bookmark: Use this link to bookmark this Article: http://doi.acm.org/10.1145/1250734.1250755
What is a DOI?

ABSTRACT

Building distributed systems is particularly difficult because of the asynchronous, heterogeneous, and failure-prone environment where these systemsmust run. Tools for building distributed systems must strike a compromise between reducing programmer effort and increasing system efficiency. We present Mace, a C++ language extension and source-to-source compiler that translates a concise but expressive distributed system specification into a C++ implementation. Mace overcomes the limitations of low-level languages by providing a unified framework for networking and event handling, and the limitations of high-level languages by allowing programmers to write program components in a controlled and structured manner in C++. By imposing structure and restrictions on how applications can be written, Mace supports debugging at a higher level, including support for efficient model checking and causal-path debugging. Because Mace programs compile to C++, programmers can use existing C++ tools, including optimizers, profilers, and debuggers to analyze their systems.


REFERENCES

Note: 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
Freepastry: an open-source implementation of pastry intended for deployment in the internet. http://freepastry.rice.edu, 2006.
2
 
3
 
4
 
5
 
6
7
 
8
9
10
11
12
13
 
14
HOLZMANN, G. The Spin Model Checker: Primer and Reference Manual. Addison-Wesley, 2003.
 
15
16
 
17
KILLIAN, C., ANDERSON, J. W., JHALA, R., AND VAHDAT, A. Life, death, and the critical transition: Detecting liveness bugs in systems code. In NSDI (2007).
18
19
 
20
 
21
22
 
23
LOPES, C. D: A Language Framework for Distributed Programming. PhD thesis, Northeastern University, 1996.
 
24
 
25
 
26
27
 
28
PETERSON, L., ANDERSON, T., CULLER, D., AND ROSCOE, T. A Blueprint for Introducing Disruptive Technology into the Internet. In Proceedings of the 1st Workshop on Hot Topics in Networks (HotNets-I) (Princeton, New Jersey, 2002).
 
29
 
30
 
31
 
32
 
33
34
35
36
37

CITED BY  10

Collaborative Colleagues:
Charles Edwin Killian: colleagues
James W. Anderson: colleagues
Ryan Braud: colleagues
Ranjit Jhala: colleagues
Amin M. Vahdat: colleagues