This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Garf: A Tool for Programming Reliable Distributed Applications
October-December 1997 (vol. 5 no. 4)
pp. 32-39
Replicating an application's critical components over several machines is a well-known way to increase its reliability. While this principle is readily understood, the techniques required to preserve a distributed and replicated application's consistency pose difficult problems. Group-communication systems implement these techniques by providing multicast primitives that deliver messages to groups of replicas with atomicity and ordering guarantees. Isis represents a typical example of such systems. However, these systems operate at a low level (Unix), and thus, programmers without broad experience in distributed computing find them very difficult to use. Furthermore, when using these systems, programmers must mix multicast primitives with application functional features, hampering extensibility and modularity. As a result, users cannot directly distribute and replicate an application written in a centralized context. The authors designed Garf (automatic generation of reliable applications) to address these issues. Garf is an object-oriented tool that supports the design and programming of reliable distributed applications. Garf acts as an intermediate between group-communication systems and applications. Garf promotes software modularity by clearly separating the behavioral features that deal with concurrency, distribution, and replication from functional features that involve traditional sequential and centralized aspects. Garf also offers an extensible library of abstractions for distributed programming. An experienced programmer can implement new abstractions by combining existing ones or by using the low-level group-communication primitives underlying Garf. This article describes Garf's programming model and architecture, and gives an example application.
Citation:
Rachid Guerraoui, Benoît Garbinato, Karim Mazouni, "Garf: A Tool for Programming Reliable Distributed Applications," IEEE Concurrency, vol. 5, no. 4, pp. 32-39, Oct.-Dec. 1997, doi:10.1109/4434.641625
Usage of this product signifies your acceptance of the Terms of Use.