This Article 
   
 Share 
   
 Bibliographic References 
   
 Add to: 
 
Digg
Furl
Spurl
Blink
Simpy
Google
Del.icio.us
Y!MyWeb
 
 Search 
   
Dynamic Adaptation of the Squid Web Cache with Arachne
January/February 2006 (vol. 23 no. 1)
pp. 34-41
Marc Ségura-Devillechaise, École des Mines de Nantes
Jean-Marc Menaud, École des Mines de Nantes
Nicolas Loriant, École des Mines de Nantes
Rémi Douence, École des Mines de Nantes
Mario Südholt, École des Mines de Nantes
Thomas Fritz, University of British Columbia
Egon Wuchner, Siemens
Networking software, and in particular popular Web caches such as Squid, is highly optimized for execution speed and therefore disregards several common software design principles—for example, modularity. This is an important impediment to their adaptation to new requirements, such as extending an existing Web cache protocol or closing a security hole. Furthermore, such adaptations typically crosscut the applications' legacy code.

The authors investigate the use of Arachne, a system for the aspect-oriented programming of C applications. They present three examples of adaptations of the Squid Web cache: correcting a security hole, introducing prefetching, and extending a protocol. These show that Arachne's expressive aspect language, especially its notion of sequence aspects, enables concise modularization of these adaptations, and that Arachne's dynamic weaver lets developers perform such adaptations without a perceptible performance overhead.

This article is part of a special issue on aspect-oriented programming.

Index Terms:
aspect-oriented programming, web caching, networking softwrae, open implementation, stateful aspects, Arachne
Citation:
Marc Ségura-Devillechaise, Jean-Marc Menaud, Nicolas Loriant, Rémi Douence, Mario Südholt, Thomas Fritz, Egon Wuchner, "Dynamic Adaptation of the Squid Web Cache with Arachne," IEEE Software, vol. 23, no. 1, pp. 34-41, Jan.-Feb. 2006, doi:10.1109/MS.2006.9
Usage of this product signifies your acceptance of the Terms of Use.