|
| This Article | ||
| ||
| Share | ||
| Bibliographic References | ||
| Add to: | ||
| | ||
| Search | ||
| ||
Garf: A Tool for Programming Reliable Distributed Applications
October-December 1997 (vol. 5 no. 4)
pp. 32-39
| ASCII Text | x | ||
| Rachid Guerraoui, Benoît Garbinato, Karim Mazouni, "Garf: A Tool for Programming Reliable Distributed Applications," IEEE Concurrency, vol. 5, no. 4, pp. 32-39, October-December, 1997. | |||
| BibTex | x | ||
| @article{ 10.1109/4434.641625, author = {Rachid Guerraoui and Benoît Garbinato and Karim Mazouni}, title = {Garf: A Tool for Programming Reliable Distributed Applications}, journal ={IEEE Concurrency}, volume = {5}, number = {4}, issn = {1063-6552}, year = {1997}, pages = {32-39}, doi = {http://doi.ieeecomputersociety.org/10.1109/4434.641625}, publisher = {IEEE Computer Society}, address = {Los Alamitos, CA, USA}, } | |||
| RefWorks Procite/RefMan/Endnote | x | ||
| TY - MGZN JO - IEEE Concurrency TI - Garf: A Tool for Programming Reliable Distributed Applications IS - 4 SN - 1063-6552 SP32 EP39 EPD - 32-39 A1 - Rachid Guerraoui, A1 - Benoît Garbinato, A1 - Karim Mazouni, PY - 1997 VL - 5 JA - IEEE Concurrency ER - | |||
DOI Bookmark: http://doi.ieeecomputersociety.org/10.1109/4434.641625
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.

