Advertisement

Sender-initiated and receiver-initiated coordination in a global object space

  • Stijn Bijnens
  • Wouter Joosen
  • Pierre Verbaeten
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 924)

Abstract

This paper features a case study of a complex parallel application (in the area of Molecular Dynamics Simulation) modelled in a concurrent object-oriented language. In this computational model, application objects can exhibit some autonomous behaviour and reside in a global object space. At runtime, this object space can physically be mapped onto a distributed memory machine.

The case study indicates the pitfalls of pure name-based object interaction. We show that due to the dynamic nature of the interaction schemes between the application objects, coordination primitives are necessary to achieve expressive lucidity within a programming language. As a result, two kinds of semantics exist for coordination in the object space:
  1. 1.

    Sender-initiated coordination by means of pattern-based group communication.

     
  2. 2.

    Receiver-initiated coordination by means of multi-object synchronisation constraints.

     

A language framework is proposed that enables a programmer to express both kinds of coordination, and a concise implementation based on a meta-level architecture is presented.

Keywords

Reference Object Active Object Region Object Autonomous Operation Application Object 
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.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. [AC93]
    Gul Agha and Christian Callsen. ActorSpace: An Open Distributed Programming Paradigm. In PPOPP'93: Principles and Practice of Parallel Programming, pages 23–32. ACM Press, May 1993.Google Scholar
  2. [Agh86]
    G. Agha. ACTORS: A Model of Concurrent Computation in Distributed Systems. The MIT Press series in artificial intelligence, 1986.Google Scholar
  3. [Ame87]
    Pierre America. Pool-T: A Parallel Object-Oriented Language. In M. Tokoro and A. Yonezawa, editors, Object-Oriented Concurrent Programming, pages 199–220. The MIT Press, Cambridge, Massachusetts, 1987.Google Scholar
  4. [ANSI83]
    Inc. American National Standards Institute. The Programming Language Ada Reference Manual. Lecture Notes in Computer Science, 155, 1983.Google Scholar
  5. [Bij94]
    S. Bijnens. The Correlate Language Definition and Architecture. Technical Report 94-4SB, Dept. of Computer Science, KULeuven, 1994.Google Scholar
  6. [BJB+94]
    Bob Bywater, Wouter Joosen, Stijn Bijnens, Pierre Verbaeten, Thomas Larsen, and John Perram. Parallel Simulation Software for Drug Design. In HPCN Europe 94, pages 189–196. Lecture Notes in Computer Science 796, Springer Verlag, 1994.Google Scholar
  7. [BJOV94]
    Stijn Bijnens, Wouter Joosen, Johan Van Oeyen, and Pierre Verbaeten. The XENOOPS Object-Oriented Framework for Dynamic Resource Management. 1994. Submitted for Publication.Google Scholar
  8. [BJV94]
    Stijn Bijnens, Wouter Joosen, and Pierre Verbaeten. A Reflective Invocation Scheme to Realise Advanced Object Management. In R. Guerraoui, O Nierstrasz, and M. Riveill, editors, Object-Based Distributed Programming, Lecture Notes in Computer Science 791, pages 139–151. Springer-Verlag, 1994.Google Scholar
  9. [Car93]
    D. Caromel. Towards a Method of Object-Oriented Concurrent Programming. Communications of the ACM, 36(9):90–102, September 1993.Google Scholar
  10. [CG89]
    Nicholas Carriero and David Gelernter. Linda in Context. Communications of the ACM, 32(4):444–458, April 1989.Google Scholar
  11. [Chi93]
    Andrew Chien. Concurrent Aggregates: Supporting Modularity in Massively Parallel Programs. The MIT Press, 1993.Google Scholar
  12. [FA93]
    Svend Frolund and Gul Agha. A Language Framework for Multi-Object Coordination. In ECOOP'93, pages 346–360. Lecture Notes in Computer Science Vol. 707, Springer Verlag, July 1993.Google Scholar
  13. [Fer89]
    Jacques Ferber. Computational Reflection in class-based object-oriented languages. In Proceedings of OOPSLA'89, pages 317–326. ACM Sigplan Notices, October 1989.Google Scholar
  14. [Ish92]
    Yutaka Ishikawa. Communication Mechanism on Autonomous Objects. In Proceedings of OOPSLA'92, pages 303–314. ACM Sigplan Notices, 1992.Google Scholar
  15. [Mil91]
    Robin Milner. The Polyadic π Calculus: a tutorial. Technical report, ECS-LFCS-91-180, Comp. Science Dept. University of Edinburgh, October 1991.Google Scholar
  16. [MWY91]
    Satoshi Matsuoka, Takuo Watanabe, and Akinori Yonezawa. Hybrid group reflective architecture for object-oriented concurrent reflective programming. In Proceedings of ECOOP'91, pages 231–250. Lecture Notes in Computer Science, Springer-Verlag, 1991.Google Scholar
  17. [Nie93]
    Oscar Nierstrasz. Regular Types for Active Objects. In Proceedings of OOPSLA'93, pages 1–15. ACM Sigplan Notices, October 1993.Google Scholar
  18. [PdLP90]
    J.W. Perram, S.W. de Leeuw, and H.G. Petersen. Hamilton's Equations for Constrained Dynamical Systems. J. Stat. Phys., 61:1203–1222, 1990.Google Scholar
  19. [RTL91]
    Rajendra K. Ray, Ewan Tempero, and Henry M. Levy. Emerald: A General-Purpose Programming Language. Software: Practice and Experience, 21(1):91–92, January 1991.Google Scholar
  20. [Weg87]
    Peter Wegner. Dimensions of Object-Based Language Design. In Proceedings of OOPSLA '87, pages 168–182. ACM Sigplan Notices, December 1987.Google Scholar
  21. [Yon90]
    A. Yonezawa. ABCL: An Object Oriented Concurrent System. The MIT Press series in artificial intelligence, 1990.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1995

Authors and Affiliations

  • Stijn Bijnens
    • 1
  • Wouter Joosen
    • 1
  • Pierre Verbaeten
    • 1
  1. 1.Department of Computer ScienceKULeuvenBelgium

Personalised recommendations