Mace: Language support for building distributed systems

被引:14
作者
Killian, Charles [1 ]
Anderson, James W. [1 ]
Braud, Ryan [1 ]
Jhala, Ranjit [1 ]
Vahdat, Amin [1 ]
机构
[1] Univ Calif San Diego, La Jolla, CA 92093 USA
关键词
languages; reliability; performance; Mace; domain specific languages; model checking; debugging; distributed systems; concurrency; event driven programming;
D O I
10.1145/1273442.1250755
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
Building distributed systems is particularly difficult because of the asynchronous, heterogeneous, and failure-prone environment where these systems must 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.
引用
收藏
页码:179 / 188
页数:10
相关论文
共 37 条
[1]  
Aguilera M. K., 2003, P SOSP
[2]   AUTOMATED PROTOCOL IMPLEMENTATION WITH RTAG [J].
ANDERSON, DP .
IEEE TRANSACTIONS ON SOFTWARE ENGINEERING, 1988, 14 (03) :291-300
[3]  
Balakrishnan H., 2001, P SIGCOMM
[4]  
BARHAM PT, 2003, P HOTOS
[5]  
BOLOGNESI T, 1987, COMPUTER NETWORKS, V14
[6]   AN INTRODUCTION TO ESTELLE - A SPECIFICATION LANGUAGE FOR DISTRIBUTED SYSTEMS [J].
BUDKOWSKI, S ;
DEMBINSKI, P .
COMPUTER NETWORKS AND ISDN SYSTEMS, 1987, 14 (01) :3-23
[7]  
CASTRO M, 2003, P SOSP
[8]  
CHEN MY, 2002, P DSN
[9]  
DABEK F, 2001, SOSP 01, P202
[10]  
DABEK F, 2004, P ACM SIGCOMMM 04 C