Skip to main content

A Classification of Various Approaches for Object-Based Parallel and Distributed Programming

  • Chapter

Part of the book series: Lecture Notes in Computer Science ((LNAI,volume 1624))

Abstract

This paper aims at classifying and discussing the various ways along which the object paradigm is used in concurrent and distributed contexts. We distinguish the applicative approach, the integrative approach, and the reflective approach. The applicative approach applies object-oriented concepts, as they are, to structure concurrent and distributed systems through libraries. The integrative approach consists in merging concepts such as: object and activity, message passing and transaction, etc. The reflective approach integrates protocol libraries intimately within an object-based programming language. We discuss and illustrate each of these approaches and we point out their complementary levels and goals.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Agha, G.: Actors: A Model of Concurrent Computation in Distributed Systems. Series in Artificial Intelligence. MIT Press, Cambridge (1986)

    Google Scholar 

  2. Agha, G., Frølund, S., Panwar, R., Sturman, D.: A Linguistic Framework for Dynamic Composition of Dependability Protocols, Dependable Computing for Critical Applications III (DCCA-3). In: IFIP Transactions, pp. 197–207. Elsevier, Amsterdam (1993)

    Google Scholar 

  3. Aksit, M., Wakita, K., Bosch, J., Bergmans, L., Yonezawa, A.: Abstracting Object Interactions Using Composition Filters. In: [28], pp. 152–184

    Google Scholar 

  4. America, P.: POOL-T: A Parallel Object-Oriented Language. In: [63], pp. 199–220

    Google Scholar 

  5. Balter, R., Lacourte, S., Riveill, M.: The Guide Language. The Computer Journal 37(6), 519–530 (1994); Special Issue on Distributed Operating Systems

    Google Scholar 

  6. Barga, R., Pu, C.: A Practical and Modular Implementation of Extended Transaction Models, Technical Report, no 95-004, CSE, Oregon Graduate Institute of Science & Technology, Portland OR, USA (1995)

    Google Scholar 

  7. Bernstein, P., Hadzilacos, V., Goodman, N.: Concurrency Control and Recovery in Database Systems. Addison Wesley, Reading (1987)

    Google Scholar 

  8. Bézivin, J.: Some Experiments in Object-Oriented Simulation. In: ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 1987), December 1987, vol. 20(12), pp. 394–405 (1987)

    Google Scholar 

  9. Birtwistle, G.M., Dahl, O.-J., Myhrhaug, B., Nygaard, K.: Simula Begin. Petrocelli Charter (1973)

    Google Scholar 

  10. Black, A., Hutchinson, N., Jul, E., Levy, H., Carter, L.: Distribution and abstract types in Emerald. IEEE Transactions on Software Engineering 12(12) (December 1986)

    Google Scholar 

  11. Black, A.: Understanding Transactions in the Operating System Context. Operating Systems Review 25(28), 73–77 (1991)

    Article  Google Scholar 

  12. Black, A., Immel, M.P.: Encapsulating plurality. In: Nierstrasz, O. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 57–79. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  13. van den Bos, J., Laffra, C.: Procol: A Concurrent Object-Language with Protocols, Delegation and Persistence. Acta Informatica (28), 511–538 (1991)

    Google Scholar 

  14. Brandt, S., Madsen, O.L.: Object-Oriented Distributed Programming in BETA. In: [28], pp. 185–212

    Google Scholar 

  15. Briot, J.-P., Yonezawa, A.: Inheritance and Synchronization in Concurrent OOP. In: Bézivin, J., Hullot, J.-M., Cointe, P., Lieberman, H. (eds.) ECOOP 1987. LNCS, vol. 276, pp. 32–40. Springer, Heidelberg (1987)

    Chapter  Google Scholar 

  16. Briot, J.-P.: Actalk: a Testbed for Classifying and Designing Actor Languages in the Smalltalk-80 Environment. In: Cook, S. (ed.) European Conference on Object Oriented Programming (ECOOP 1989), pp. 109–129. Cambridge University Press, Cambridge (1989)

    Google Scholar 

  17. Briot, J.-P.: An Experiment in Classification and Specialization of Synchronization Schemes. In: Futatsugi, K., Matsuoka, S. (eds.) ISOTAS 1996. LNCS, vol. 1049. Springer, Heidelberg (1996)

    Google Scholar 

  18. Briot, J.-P., Guerraoui, R.: Smalltalk for Concurrent and Distributed Programming. Special Issue on: Smalltalk, edited by R. Guerraoui, Informatik/Informatique, Swiss Informaticians Society, Switzerland, (1),16–19 (February 1996)

    Google Scholar 

  19. Briot, J.-P., Guerraoui, R., Löhr, K.-P.: Concurrency and Distribution in Object-Oriented Programming. In: ACM Computing Surveys (1998) (to appear in late)

    Google Scholar 

  20. Campbell, R., Islam, N., Raila, D., Madany, P.: Designing and Implementing Choices: An Object-Oriented System in C++. In: [50], pp. 117–126

    Google Scholar 

  21. Capobianchi, R., Guerraoui, R., Lanusse, A., Roux, P.: Lessons from Implementing Active Objects on a Parallel Machine. In: Usenix Symposium on Experiences with Distributed and Multiprocessor Systems, pp. 13–27 (1992)

    Google Scholar 

  22. Caromel, D.: Towards a Method of Object-Oriented Concurrent Programming. In: [50], pp. 90–102

    Google Scholar 

  23. Garbinato, B., Guerraoui, R., Mazouni, K.R.: Distributed Programming in GARF. In: [28], pp. 225–239

    Google Scholar 

  24. Garbinato, B., Guerraoui, R., Mazouni, K.R.: Implementation of the GARF Replicated Objects Platform. Distributed Systems Engineering Journal, 14–27 (February 1995)

    Google Scholar 

  25. Garbinato, B., Felber, P., Guerraoui, R.: Protocol classes for designing reliable designing reliable distributed environments. In: Cointe, P. (ed.) ECOOP 1996. LNCS, vol. 1098, pp. 316–343. Springer, Heidelberg (1996)

    Google Scholar 

  26. Garbinato, B., Guerraoui, R.: Using the strategy design pattern to compose reliable distributed protocols. In: Vinoski, S. (ed.) Usenix Conference on Object-Oriented Technologies and Systems (COOTS 1997), Usenix (June 1997)

    Google Scholar 

  27. Guerraoui, R., Capobianchi, R., Lanusse, A., Roux, P.: Nesting Actions Through Asynchronous Message Passing: the ACS Protocol. In: Lehrmann Madsen, O. (ed.) ECOOP 1992. LNCS, vol. 615, pp. 170–184. Springer, Heidelberg (1992)

    Chapter  Google Scholar 

  28. Guerraoui, R., Riveill, M., Nierstrasz, O. (eds.): ECOOP-WS 1993. LNCS, vol. 791. Springer, Heidelberg (1994)

    MATH  Google Scholar 

  29. Guerraoui, R., Schiper, A.: The Transaction Model vs Virtual Synchrony Model: Bridging the Gap, Distributed Systems: From Theory to Practice. In: Birman, K., Cristian, F., Mattern, F., Schiper, A. (eds.) Dagstuhl Seminar 1994. LNCS, vol. 938. Springer, Heidelberg (1995)

    Google Scholar 

  30. Guerraoui, R.: Modular Atomic Objects. In: Theory and Practice of Object Systems (TAPOS), November 1995, vol. 1(2), pp. 89–99. John Wiley & Sons, Chichester (1995)

    Google Scholar 

  31. Guerraoui, R., et al.: Strategic Directions in Object-Oriented Programming. ACM Computing Surveys 28(4), 691–700 (1996)

    Article  Google Scholar 

  32. Guerraoui, R., Schiper, A.: Software based replication for fault-tolerance. IEEE Computer 30(4), 68–74 (1997)

    Google Scholar 

  33. Jézéquel, J.-M.: Transparent Parallelization Through Reuse: Between a Compiler and a Library Approach. In: Nierstrasz, O. (ed.) ECOOP 1993. LNCS, vol. 707, pp. 384–405. Springer, Heidelberg (1993)

    Chapter  Google Scholar 

  34. Karaorman, M., Bruno, J.: Introducing Concurrency to a Sequential Language. In: [50], pp. 103–116

    Google Scholar 

  35. Kiczales, G., des Riviéres, J., Bobrow, D.: The Art of The Meta-Object Protocol. MIT Press, Cambridge (1991)

    Google Scholar 

  36. Kiczales, G. (ed.): Foil For The Workshop On Open Implementation (October 1994), http://www.parc.xerox.com/PARC/spl/eca/oi/workshop-94/foil/main.html

  37. Lea, R.: Concurrent Programming in Java. Addison-Wesley, Reading (1997)

    MATH  Google Scholar 

  38. Lescaudron, L.: Prototypage d’Environnements de Programmation pour les Langages á Objets Concurrents: une Réalisation en Smalltalk-80 pour Actalk, PhD Thesis, LITP, Université Paris VI - CNRS, France, TH93.11 (May 1992)

    Google Scholar 

  39. Lea, R., Jacquemot, C., Pillevesse, E.: COOL: System Support for Distributed Programming. In: [50], pp. 37–47

    Google Scholar 

  40. Lieberman, H.: Concurrent Object-Oriented Programming in Act 1. in: [63], 9–36

    Google Scholar 

  41. Liskov, B., Sheifler, R.: Guardians and Actions: Linguistic Support for Robust, Distributed Programs. ACM Transactions on Programming Languages and Systems 5(3) (1983)

    Google Scholar 

  42. Lopes, C.V., Lieberherr, K.J.: Abstracting Process-to-Function Relations in Concurrent Object-Oriented Applications. In: Tokoro, M., Pareschi, R. (eds.) ECOOP 1994. LNCS, vol. 821, pp. 81–99. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  43. Maes, P.: Concepts and Experiments in Computational Reflection. In: ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 1987), December 1987, vol. 22(12), pp. 147–155 (1987); Special Issue of Sigplan Notices

    Google Scholar 

  44. Maffeis, S.: Run-Time Support for Object-Oriented Distributed Programming, PhD Dissertation, University of Zurich, Switzerland (February 1995)

    Google Scholar 

  45. Masuhara, H., Matsuoka, S., Asai, K., Yonezawa, A.: Compiling Away the Meta-Level in Object-Oriented Concurrent Reflective Languages Using Partial Evaluation. In: ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 1995), October 1995, vol. 30(10), pp. 300–315 (1995); Special Issue of Sigplan Notices

    Google Scholar 

  46. Matsuoka, S., Yonezawa, A.: Analysis of Inheritance Anomaly in Object- Oriented Concurrent Programming Languages. In: Agha, G., Wegner, P., Yonezawa, A. (eds.) Research Directions in Concurrent Object-Oriented Programming, pp. 107–150. MIT Press, Cambridge (1993)

    Google Scholar 

  47. Mazouni, K., Garbinato, B., Guerraoui, R.: Building Reliable Client- Server Software Using Actively Replicated Objects. In: Graham, I., Magnusson, B., Meyer, B., Nerson, J.-M. (eds.) Technology of Object- Oriented Languages and Systems (TOOLS Europe 1995), March 1995, pp. 37–53. Prentice Hall, Englewood Cliffs (1995)

    Google Scholar 

  48. MeAffer, J.: Meta-Level Programming with CodA. In: Olthoff, W. (ed.) ECOOP 1995. LNCS, vol. 952, pp. 190–214. Springer, Heidelberg (1995)

    Google Scholar 

  49. McHale, C.: Synchronization in Concurrent, Object-oriented Languages: Expressive Power, Genericity and Inheritance, PhD Thesis, Dept. of Computer Science, Trinity College, Dublin, Ireland (October 1994), ftp://ftp.dsg.cs.tcd.ie/pub/doc/dsg-86b.ps.gz

  50. Meyer, B. (ed.): Concurrent Object-Oriented Programming, Special Issue, Communications of the ACM (CACM), vol. 36(9) (September 1993)

    Google Scholar 

  51. Meyer, B.: Systematic Concurrent Object-Oriented Programming. In: [50], pp. 56–80

    Google Scholar 

  52. Mowbray, T.J., Zahavi, R.: The Essential CORBA: System Integration Using Distributed Objects. John Wiley & Sons and The Object Management Group, Chichester (1995)

    Google Scholar 

  53. Nicol, J., Wilkes, T., Manola, F.: Object-Orientation in Heterogeneous Distributed Computing Systems. IEEE Computer 26(6), 57–67 (1993)

    Google Scholar 

  54. Okamura, H., Ishikawa, Y.: Object Location Control Using Meta-Level Programming. In: Tokoro, M., Pareschi, R. (eds.) ECOOP 1994. LNCS, vol. 821, pp. 299–319. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  55. Padget, J., Nuyens, G., Bretthauer, H.: An Overview of EuLisp. Journal of Lisp and Symbolic Computation 6(1/2), 9–98 (1993)

    Article  Google Scholar 

  56. Parrington, G.D., Shrivastava, S.K.: Implementing Concurrency Control in Reliable Distributed Object-Oriented Systems. In: Gjessing, S., Nygaard, K. (eds.) ECOOP 1988. LNCS, vol. 322, pp. 234–249. Springer, Heidelberg (1988)

    Google Scholar 

  57. Rozier, M.: Chorus. In: Usenix International Conference on Micro-Kernels and Other Kernel Architectures, pp. 27–28 (1992)

    Google Scholar 

  58. Thomas, L.: Extensibility and Reuse of Object-Oriented Synchronization Components. In: Etiemble, D., Syre, J.-C. (eds.) PARLE 1992. LNCS, vol. 605, pp. 261–275. Springer, Heidelberg (1992)

    Google Scholar 

  59. Wegner, P.: Dimensions of Object-Based Language Design. In: ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 1987), vol. 22(12), pp. 168–182 (1987), Special Issue of Sigplan Notices

    Google Scholar 

  60. Weihl, W.: Local Atomicity Properties: Modular Concurrency Control for Abstract Data Types. ACM Transactions on Programming Languages and Systems 11(2) (1989)

    Google Scholar 

  61. Wing, J.: Decomposing and Recomposing Transaction Concepts. In: [28], pp. 111–122.

    Google Scholar 

  62. Yokote, Y.: The Apertos Reflective Operating System: The Concept and its Implementation. In: ACM Conference on Object-Oriented Programming Systems, Languages and Applications (OOPSLA 1992), October 1992, vol. 27(10), pp. 414–434 (1992), Special Issue of Sigplan Notices

    Google Scholar 

  63. Yonezawa, A., Tokoro, M. (eds.): Object-Oriented Concurrent Programming, Computer Systems Series. MIT Press, Cambridge (1987)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 1999 Springer-Verlag Berlin Heidelberg

About this chapter

Cite this chapter

Briot, JP., Guerraoui, R. (1999). A Classification of Various Approaches for Object-Based Parallel and Distributed Programming. In: Padget, J.A. (eds) Collaboration between Human and Artificial Societies. Lecture Notes in Computer Science(), vol 1624. Springer, Berlin, Heidelberg. https://doi.org/10.1007/10703260_1

Download citation

  • DOI: https://doi.org/10.1007/10703260_1

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-66930-2

  • Online ISBN: 978-3-540-46624-6

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics