Invasive patterns for distributed programs

  • Authors:
  • Luis Daniel Benavides Navarro;Mario Südholt;Rémi Douence;Jean-Marc Menaud

  • Affiliations:
  • EMN, INRIA, LINA, Dépt. Informatique, École des Mines de Nantes, Nantes cédex 3, France;EMN, INRIA, LINA, Dépt. Informatique, École des Mines de Nantes, Nantes cédex 3, France;EMN, INRIA, LINA, Dépt. Informatique, École des Mines de Nantes, Nantes cédex 3, France;EMN, INRIA, LINA, Dépt. Informatique, École des Mines de Nantes, Nantes cédex 3, France

  • Venue:
  • OTM'07 Proceedings of the 2007 OTM Confederated international conference on On the move to meaningful internet systems: CoopIS, DOA, ODBASE, GADA, and IS - Volume Part I
  • Year:
  • 2007

Quantified Score

Hi-index 0.00

Visualization

Abstract

Software patterns have evolved into a commonly used means to design and implement software systems. Programming patterns, architecture and design patterns have been quite successful in the context of sequential as well as (massively) parallel applications but much less so in the context of distributed applications over irregular communication topologies and heterogeneous synchronization requirements. In this paper, we propose a solution for one of the main issues in this context: the need to complement distributed patterns with access to execution state on which it depends but that is frequently not directly available at the sites where the patterns are to be applied. To this end we introduce invasive patterns that couple well-known computation and communication patterns like pipelining and farming out computations with facilities to access non-local state. We present the following contributions: (i) a motivation for such invasive patterns in the context of a real-world application: the JBoss Cache framework for transactional replicated caching, (ii) a proposal of language support for such invasive patterns, (iii) a prototypical implementation of this pattern language using AWED, an aspect language for distributed programming, and (iv) an evaluation of our proposal for refactoring of JBoss Cache.