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.
Sender-initiated coordination by means of pattern-based group communication.
-
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.
Preview
Unable to display preview. Download preview PDF.
References
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.
G. Agha. ACTORS: A Model of Concurrent Computation in Distributed Systems. The MIT Press series in artificial intelligence, 1986.
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.
Inc. American National Standards Institute. The Programming Language Ada Reference Manual. Lecture Notes in Computer Science, 155, 1983.
S. Bijnens. The Correlate Language Definition and Architecture. Technical Report 94-4SB, Dept. of Computer Science, KULeuven, 1994.
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.
Stijn Bijnens, Wouter Joosen, Johan Van Oeyen, and Pierre Verbaeten. The XENOOPS Object-Oriented Framework for Dynamic Resource Management. 1994. Submitted for Publication.
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.
D. Caromel. Towards a Method of Object-Oriented Concurrent Programming. Communications of the ACM, 36(9):90–102, September 1993.
Nicholas Carriero and David Gelernter. Linda in Context. Communications of the ACM, 32(4):444–458, April 1989.
Andrew Chien. Concurrent Aggregates: Supporting Modularity in Massively Parallel Programs. The MIT Press, 1993.
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.
Jacques Ferber. Computational Reflection in class-based object-oriented languages. In Proceedings of OOPSLA'89, pages 317–326. ACM Sigplan Notices, October 1989.
Yutaka Ishikawa. Communication Mechanism on Autonomous Objects. In Proceedings of OOPSLA'92, pages 303–314. ACM Sigplan Notices, 1992.
Robin Milner. The Polyadic π Calculus: a tutorial. Technical report, ECS-LFCS-91-180, Comp. Science Dept. University of Edinburgh, October 1991.
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.
Oscar Nierstrasz. Regular Types for Active Objects. In Proceedings of OOPSLA'93, pages 1–15. ACM Sigplan Notices, October 1993.
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.
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.
Peter Wegner. Dimensions of Object-Based Language Design. In Proceedings of OOPSLA '87, pages 168–182. ACM Sigplan Notices, December 1987.
A. Yonezawa. ABCL: An Object Oriented Concurrent System. The MIT Press series in artificial intelligence, 1990.
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 1995 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Bijnens, S., Joosen, W., Verbaeten, P. (1995). Sender-initiated and receiver-initiated coordination in a global object space. In: Ciancarini, P., Nierstrasz, O., Yonezawa, A. (eds) Object-Based Models and Languages for Concurrent Systems. ECOOP 1994. Lecture Notes in Computer Science, vol 924. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-59450-7_2
Download citation
DOI: https://doi.org/10.1007/3-540-59450-7_2
Published:
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-59450-5
Online ISBN: 978-3-540-49269-6
eBook Packages: Springer Book Archive