Abstract
GARF is an object-oriented programming environment aimed to support the design of reliable distributed applications. Its computational model is based on two programming levels: the functional level and the behavioral level. At the functional level, software functionalities are described using passive objects, named data objects, in a centralized, volatile, and failure free environment. At the behavioral level, data objects are dynamically bound to encapsulators and mailers which support distribution, concurrency, persistence and fault tolerance. Encapsulators wrap data objects by controlling how the latter send and receive messages, while mailers perform communications between encapsulators. This paper describes how the GARF computational model enables to build flexible and highly modular abstractions for the design of reliable distributed applications.
Research supported by the Swiss FNS as part of the project Mesures Spéciales under contract number 5003-034344.
Preview
Unable to display preview. Download preview PDF.
References
M. Aksit, K. Wakita, J. Bosh, L. Bergmans and A. Yonezawa. Abstracting Inter-Object Communications Using Composition Filters. Internal Report 0924-3755, Univ. of Twente. 1987.
M.P. Atkinson, P. Bailey, W. Cockshott, K. Chisholm and P. Morrison. Procedures as Persistent Data Objects. In ACM Transactions on Programming Languages and Systems. 1985.
S. Bijnens, W. Joosen and P. Verbaeten. A Reflective Invocation Scheme to Realise Advanced Object Management. In R. Guerraoui, O. Nierstrasz and M. Riveill editors, Object Based Distributed Programming, Springer Verlag publisher. 1994.
K. Birman, T.A. Joseph and F. Schmuck-ISIS: A Distributed Programming Environnment, User's Guide and Reference Manual. Internal Report, Dept of Computer Science, Cornell Univ. 1991.
K. Birman, A. Schiper and P. Stephenson. Lightweight causal and atomic group multicast. In ACM Transactions on Computer Systems. August 1991.
D. Cherriton. The V Distributed System. In Communications of the ACM. March 1988.
F. Cristian. Understanding Fault-Tolerant Distributed Systems. In Communications of the ACM. February 1991.
P. Dickman and M. Makpangou. A Refinement of the Fragmented Object Model. In IEEE Proceedings of IWOOS'92: the International Workshop on Object Orientation in Operating Systems. 1992.
B. Garbinato, R. Guerraoui and K. Mazouni. Programming Fault-Tolerant Applications Using Two Orthogonal Object Levels. In Proceedings of ISCIS'93: the International Symposium on Computer and Information Science. 1993.
A.J Goldberg and A.D Robson. SMALLTALK-80: The Language and its Implementation. Addison Wesley publisher. 1983.
R. Guerraoui, R. Capobianchi, A. Lanusse and P. Roux. Nesting Actions through Asynchronous Message Passing: the ACS protocol-In Proceedings of ECOOP'92: the European Conference on Object Oriented Programming, Springer Verlag publisher. 1992.
R. Guerraoui. Towards Modular Concurrency Control for Distributed Object Oriented Systems. In IEEE Proceedings of FTDCS'93: the International Workshop on Future Trends in Distributed Computing Systems. 1993.
R. Guerraoui. Nested Transactions: Reviewing the Coherency Contract. In Proceedings of ISCIS'93: the International Symposium on Computer and Information Science. 1993.
S. Krakowiak, M. Meysembourg, V.H Nguyen, M. Riveill and C. Roisin. Design and Implementation of an Object-Oriented, Strongly Typed Language for Distributed Applications. In Journal of Object-Oriented Programming. September/October 1990.
B. Liskov and R. Sheifler. Guardians and Actions: Linguistic Support for Robust, Distributed Programs. In ACM Proceedings of SOPL '82: the Symposium on Principles of Programming Languages. 1982.
C. Low. A Shared Persistent Object Store. In Proceedings of ECOOP'88: the European Conference on Object Oriented Programming, Springer Verlag publisher. 1988.
P. Maes. Issues in Computational Reflection. In P. Maes and D. Nardi editors, Meta-Level Architectures and Reflection, North Holland publisher. 1988.
S. Matsuoka, T. Watanabe and A. Yonezawa. Hybrid Group Reflective Architectures for Object-Oriented Concurrent Reflective Programming. In Proceedings of ECOOP'91: the European Conference on Object Oriented Programming, Springer Verlag publisher. 1991.
G.A Pascoe. Encapsulators: A New Software Paradigm in Smalltalk-80. In ACM Proceedings of OOPSLA'86: the Conference on Object-Oriented Programming Systems, Languages and Applications. 1986.
G.D Parington and S. Shrivastava. Implementing Concurrency Control in Reliable Distributed Object-Oriented Systems-In Proceedings of ECOOP'88: the European Conference on Object Oriented Programming, Springer Verlag publisher. 1988.
R. Schantz, R. Thomas and G. Bono. The architecture of the Cronus Distributed Operating System-In IEEE Proceedings of ICDCS'86: the International Conference on Distributed Computing Systems. 1986.
Y. Yokote. The Apertos Reflective Operating System: The Concept and Its Implementation. In ACM Proceedings of OOPSLA'92: the Conference on Object-Oriented Programming Systems, Languages and Applications. 1992.
E. Walker, R. Floyd and P. Neves. Asynchronous Remote Operation Execution in Distributed Systems. In IEEE Proceedings of ICDCS'90: the International Conference on Distributed Computing Systems. 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1994 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Garbinato, B., Guerraoui, R., Mazouni, K.R. (1994). Distributed programming in GARF. In: Guerraoui, R., Nierstrasz, O., Riveill, M. (eds) Object-Based Distributed Programming. ECOOP 1993. Lecture Notes in Computer Science, vol 791. Springer, Berlin, Heidelberg. https://doi.org/10.1007/BFb0017543
Download citation
DOI: https://doi.org/10.1007/BFb0017543
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-57932-8
Online ISBN: 978-3-540-48389-2
eBook Packages: Springer Book Archive