Abstractions for fault-tolerant global computing

Tom Chothia, Dominic Duggan
2004 Theoretical Computer Science  
Global computing (WAN programming, Internet programming) distinguishes itself from local computing (LAN computing) by the fact that it exposes some aspects of the network to the application, rather than seeking to hide them with network transparency, as in LAN programming. Global computing languages seek to provide useful abstractions for building applications in such environments. The lqp(·)-calculus is a family of programming languages that use the abstraction of logs to specify
more » ... eciÿc protocols for distributed agreement and fault tolerance in global applications. Re ecting the motivation for global computing, the abstraction of logs isolates the communication requirements of such protocols. Two speciÿc instances of the lqp(·)-calculus are provided, the lqp(dc)-calculus and the lqp(dcu)-calculus. These are intended as kernel programming languages for fault-tolerant distributed programming. The calculi incorporate various abstractions for fault tolerance, from which several forms of distributed transactions and optimistic computation may be built. As an example application, a calculus of atomic failures is presented, the atf-calculus, and its encoding in the lqp(dc)-calculus used to verify a correctness property.
doi:10.1016/j.tcs.2003.09.014 fatcat:mhgvwkimj5dnvceejyb4wl4oti