Advertisement

Distributed programming in GARF

  • Benoît Garbinato
  • Rachid Guerraoui
  • Karim R. Mazouni
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 791)

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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    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.Google Scholar
  2. 2.
    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.Google Scholar
  3. 3.
    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.Google Scholar
  4. 4.
    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.Google Scholar
  5. 5.
    K. Birman, A. Schiper and P. Stephenson. Lightweight causal and atomic group multicast. In ACM Transactions on Computer Systems. August 1991.Google Scholar
  6. 6.
    D. Cherriton. The V Distributed System. In Communications of the ACM. March 1988.Google Scholar
  7. 7.
    F. Cristian. Understanding Fault-Tolerant Distributed Systems. In Communications of the ACM. February 1991.Google Scholar
  8. 8.
    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.Google Scholar
  9. 9.
    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.Google Scholar
  10. 10.
    A.J Goldberg and A.D Robson. SMALLTALK-80: The Language and its Implementation. Addison Wesley publisher. 1983.Google Scholar
  11. 11.
    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.Google Scholar
  12. 12.
    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.Google Scholar
  13. 13.
    R. Guerraoui. Nested Transactions: Reviewing the Coherency Contract. In Proceedings of ISCIS'93: the International Symposium on Computer and Information Science. 1993.Google Scholar
  14. 14.
    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.Google Scholar
  15. 15.
    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.Google Scholar
  16. 16.
    C. Low. A Shared Persistent Object Store. In Proceedings of ECOOP'88: the European Conference on Object Oriented Programming, Springer Verlag publisher. 1988.Google Scholar
  17. 17.
    P. Maes. Issues in Computational Reflection. In P. Maes and D. Nardi editors, Meta-Level Architectures and Reflection, North Holland publisher. 1988.Google Scholar
  18. 18.
    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.Google Scholar
  19. 19.
    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.Google Scholar
  20. 20.
    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.Google Scholar
  21. 21.
    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.Google Scholar
  22. 22.
    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.Google Scholar
  23. 23.
    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.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1994

Authors and Affiliations

  • Benoît Garbinato
    • 1
  • Rachid Guerraoui
    • 1
  • Karim R. Mazouni
    • 1
  1. 1.Département d'InformatiqueEcole Polytechnique Fédérale de LausanneLausanneSuisse

Personalised recommendations