AspectC++: an aspect-oriented extension to the C++ programming language
CRPIT '02 Proceedings of the Fortieth International Conference on Tools Pacific: Objects for internet, mobile and embedded applications
Beyond the Black Box: Open Implementation
IEEE Software
JAsCo: an aspect-oriented approach tailored for component based software development
Proceedings of the 2nd international conference on Aspect-oriented software development
Back to the future: a retroactive study of aspect evolution in operating system code
Proceedings of the 2nd international conference on Aspect-oriented software development
MDL: A Language And Compiler For Dynamic Program Instrumentation
PACT '97 Proceedings of the 1997 International Conference on Parallel Architectures and Compilation Techniques
Squid: The Definitive Guide
An expressive aspect language for system applications with Arachne
Proceedings of the 4th international conference on Aspect-oriented software development
Supporting autonomic computing functionality via dynamic operating system kernel aspects
Proceedings of the 4th international conference on Aspect-oriented software development
Pin: building customized program analysis tools with dynamic instrumentation
Proceedings of the 2005 ACM SIGPLAN conference on Programming language design and implementation
Domical cooperative caching for streaming media in wireless home networks
ACM Transactions on Multimedia Computing, Communications, and Applications (TOMCCAP)
Hi-index | 0.00 |
Networking software, and in particular popular Web caches such as Squid, is highly optimized for execution speed and therefore disregards several common software design principlesfor 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.