Real world software systems change continuously to meet new demands. Most programming languages and development environments, however, are more concerned with limiting the effects...
The current AspectJ join points represent locations in the code that are at the interface of the Java objects. However, not all the “things that happen”1 happen at the interfa...
We present in this paper an approach aiming at adapting software components. It focuses on adapting component structures instead of adapting component services. Among the motivati...
Middleware becomes increasingly important in building distributed applications. Conventional middleware systems are designed, implemented, and packaged before applications are dev...
Program restructuring or refactoring is often required when a function becomes too large or is involved in multiple activities and therefore exhibits low cohesion. A critical fact...