Separating distribution policies in a shared data space system

To more fully exploit its benefits, the principle of separation of concerns should be built into the methods of designing systems as well as into the techniques that we use for implementation. We argue that for distributed applications, separating concerns should be supported by the middleware on which the applications are executed. In particular, we argue that the middleware should provide the proper mechanisms to enforce application-specific policies for different concerns. Interweaving of policies should take place at run time such that it becomes possible to change them without the need for recompiling the application source code. To illustrate that this approach is principally feasible, we present a design for a middleware based on the shared data space paradigm. Here distribution is taken as an example of a concern that can be treated separately from other concerns and transparently to applications. We present a case study that shows how we can vary the distribution policy for an application. The case study shows a trade-off between the use of bandwidth versus the speed of message delivery.

[1]  Andrew S. Tanenbaum,et al.  Dynamically Selecting Optimal Distribution Strategies for Web Documents , 2002, IEEE Trans. Computers.

[2]  Nicholas Carriero,et al.  Coordination languages and their significance , 1992, CACM.

[3]  Franco Zambonelli,et al.  Mobile-Agent Coordination Models for Internet Applications , 2000, Computer.

[4]  Willy Zwaenepoel,et al.  Techniques for reducing consistency-related communication in distributed shared-memory systems , 1995, TOCS.

[5]  David Gelernter,et al.  Generative communication in Linda , 1985, TOPL.

[6]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[7]  Wouter Joosen,et al.  Customization of Object Request Brokers by Application Specific Policies , 2000, Middleware.

[8]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[9]  Christopher Gill,et al.  Building Customizable Middleware using Aspect Oriented Programming , 2001 .

[10]  Antony I. T. Rowstron Run-Time Systems for Coordination , 2001, Coordination of Internet Agents: Models, Technologies, and Applications.

[11]  Anne-Marie Kermarrec,et al.  The many faces of publish/subscribe , 2003, CSUR.

[12]  Farhad Arbab,et al.  Coordination Models and Languages , 1998, Adv. Comput..

[13]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[14]  Ken Arnold,et al.  JavaSpaces¿ Principles, Patterns, and Practice , 1999 .

[15]  Andrew S. Tanenbaum,et al.  Globe: a wide area distributed system , 1999, IEEE Concurr..