Linguistic support for distributed programming abstractions

C.H. Damm, P.T. Eugster, R. Guerraoui
2004 24th International Conference on Distributed Computing Systems, 2004. Proceedings.  
What abstractions are useful for distributed programming? This question has constituted an active area of research in the last decades and several candidate abstractions have been proposed, including remote method invocations, tuple spaces and publish/subscribe. How should such abstractions be offered to the programmer? Should they sit besides centralized programming abstractions in the core of a language? Should they rather sit within external libraries? Should they benefit from specific
more » ... er support? These questions are also important but have sparked less enthousiasm. This paper contributes to addressing these questions in the context of Java and the type-based publish/subscribe (TPS) abstraction, an object-oriented variant of the publish/subscribe paradigm. We present an experience that compares implementations of TPS in (1) a variant of Java we designed to inherently support TPS, (2) standard Java, and (3) Java augmented with genericity. We derive from our implementation experience general observations on what features a programming language should support in order to enable a satisfactory library implementation of TPS, and finally, also alternative abstractions In particular, we (re-) insist here on the importance of providing genericity and reflective features in the language, and point out the very fact that current efforts towards providing such features are still insufficient.
doi:10.1109/icdcs.2004.1281589 dblp:conf/icdcs/DammEG04 fatcat:fed36pdqfbfizmnl4sbqyk2o24