Learn More
AspectJ™ is a simple and practical aspect-oriented extension to Java™. With just a few new constructs, AspectJ provides support for modular implementation of a range of crosscutting concerns. In AspectJ's dynamic join point model, join points are well-defined points in the execution of the program; pointcuts are collections of join points; advice are(More)
59 M Many software developers are attracted to the idea of AOP—they recognize the concept of crosscutting concerns and know they have had problems with the implementation of such concerns in the past. But they have questions about how to adopt AOP into their development process, including: How to use aspects in existing code? What kinds of benefits can be(More)
This paper describes the implementation of advice weaving in AspectJ. The AspectJ language picks out dynamic join points in a program's execution with pointcuts and uses advice to change the behavior at those join points. The core task of AspectJ's advice weaver is to statically transform a program so that at runtime it will behave according to the AspeetJ(More)
This report discusses experiences applying AspectJ [1] to modularize crosscutting concerns in a middleware product line at IBM®. Aspect oriented programming techniques were used to cleanly separate platform specific facilities for aspects such as error handling, performance monitoring and logging from base components, permitting those components to be(More)
Is speech a useful input modality for applications where the user has easy access to a full-size keyboard and mouse? This study shows that a well-designed speech interface can be more effective than a standard desktop application's traditional interface. Subjects are able to build a set of three spreadsheet tables 50% faster using a spoken dialog interface,(More)
From the beginning, Microsoft's .NET framework was designed to support a broad range of different programming languages on a Common Language Runtime (CLR). The CLR provides shared services to these languages ranging from a world-class GC and JIT to a sandboxed security model to tools integration for debugging and profiling. Sharing these features has two(More)
1 Introduction AspectJ is an aspect-oriented extension to JAVA program language. It enables a different way to further and cleaner modularize all concerns of interest in a complex systems comparing with the object-oriented mechanism. The AOP approach has a number of benefits. First, it improves performance because the operations are more succinct. Second,(More)
Description Dynamic analysis of software systems requires the instrumentation of application programs with functionality to measure events of interest that occur during program execution, e.g., method calls, runtime exceptions, and variable accesses. For modern programming languages that are executed by virtual machines (Java, .NET, etc.), instrumentation(More)
Complex systems usually contain design units that are logically related to several objects in the system. Some examples include: tracing, propagation of interrupts, multi-object protocols, security enforcement etc. This crosscutting between those design units and the objects is a natural phenomenon. But, using traditional implementation techniques, the(More)
  • 1