Abstract
This paper describes the Gaggle, a mechanism for grouping and naming objects in an object-oriented distributed system. Using Gaggles, client objects can access distributed replicated services without regard for the number of objects that provide the service. Gaggles are not themselves a replication mechanism; instead they enable programmers to construct their own replicated distributed services in whatever way is appropriate for the application at hand, and then to encapsulate the result.
From the point of view of a client, a Gaggle can be named and invoked exactly like an object. However, Gaggles can be used to represent individual objects, several ordinary objects, or even several other Gaggles. In this way they encapsulate plurality. If a Gaggle is used as an invokee, one of the objects that it represents is chosen (non-deterministically) to receive the invocation.
Mark Immel was supported by the Division of Applied Sciences of Harvard University while this work was undertaken.
Chapter PDF
Similar content being viewed by others
Keywords
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.
References
Architecture Projects Management Ltd. “ANSA: An Application Programmer’s Introduction to the Architecture”. TR.017, APM Ltd, November 1991.
Bernstein, P. A. and Goodman, N. “An Algorithm for Concurrency Control and Recovery in Replicated Distributed Databases”. Trans. Database Systems 9,4 (December 1984), pp.596–615.
Birman, K. P., Schiper, A. and Stephenson, P. “Lightweight Causal and Atomic Group Multicast”. Trans. Computer Systems 9,3 (August 1991), pp.272–314.
Black, A. P. “Supporting Distributed Applications: Experience with Eden”. Proc. 10th ACM Symp. on Operating Systems Prin., December 1985, pp. 181–193.
Black, A. P., Hutchinson, N., Jul, E., Levy, H. M. and Carter, L. “Distribution and Abstract Types in Emerald”. IEEE Trans. on Software Eng. SE-13,1 (January 1987), pp. 65–76.
Black, A. P. and Artsy, Y. “Implementing Location Independent Invocation”. IEEE Trans. on Parallel and Distributed Syst. 1,1 (January 1990), pp. 107–119.
Black, A. P. and Hutchinson, N. “Typechecking Polymorphism in Emerald”. Tech. Rep. CRL 91/1 (Revised), DEC Cambridge Research Lab., Cambridge, MA, July 1991.
Gifford, D. K. “Weighted Voting for Replicated Data”. Proc. 7th ACM Symp. on Operating Systems Prin., December 1979, pp. 150–159.
Jul, E. Object Mobility in a Distributed Object-Oriented System. Ph.D. Thesis, University of Washington, Dept. of Computer Science, December 1988. (Tech. Rep. 88-12-06).
Ladin, R., Liskov, B. and Shrira, L. “Lazy Replication: Exploiting the Semantics of Distributed Services”. Proc. of the 9th ACM Symp. on Prin. of Distributed Computing, Quebec City, Quebec, August 1990, pp. 43–57.
Lampson, B. W. “Designing a Global Name Service”. Proc. 5th ACM Symp. on Prin. Distributed Computing, August 1986, pp. 1–10.
Pardyak, P. “Group Communication in an Object-Based Environment”. Proc. International Workshop on Object-Orientation in Operating Systems, Paris, France, September 1992.
Schroeder, M. S. “Software Clerks”. Proc. ACM SIGOPS Workshop on Models and Paradigms for Distributed System Structuring, Le Mont Saint-Michel, France, September 1992.
Shapiro, M., Gourhant, Y., Narzul, J. L. and Makpangou, M. “Structuring Distributed Applications as Fragmented Objects”. Rapport de Recherche 1404, INRIA, Le Chesnay Cedex, France, January 1991.
van Renesse, R., Birman, K., Cooper, R., Glade, B. and Stephenson, P. “Reliable Multicast between Microkernels”. Proc. of the USENIX workshop on Micro-Kernels and Other Kernel Architectures, Seattle, Washington, April 1992, pp.269–283.
van Renesse, R., Cooper, R., Glade, B. and Stephenson, P. “A RISC Approach to Process Groups”. Proc. ACM SIGOPS Workshop on Models and Paradigms for Distributed System Structuring, Le Mont Saint-Michel, France, September 1992.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 1993 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Black, A.P., Immel, M.P. (1993). Encapsulating Plurality. In: Nierstrasz, O.M. (eds) ECOOP’ 93 — Object-Oriented Programming. ECOOP 1993. Lecture Notes in Computer Science, vol 707. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-47910-4_5
Download citation
DOI: https://doi.org/10.1007/3-540-47910-4_5
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57120-9
Online ISBN: 978-3-540-47910-9
eBook Packages: Springer Book Archive