Learn More
AspectJTM is a simple and practical aspect-oriented extension to JavaTM. 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)
Many software developers are attracted to the idea of AOP, but unsure about how to begin using the technology. They recognize the concept of crosscutting concerns, and know that they have had problems with the implementation of such concerns in the past. But there are many questions about how to adopt AOP into the development process. Common questions(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)
public aspect RemoteExceptionLogging { abstract pointcut logPoints();pointcut logPoints(); after() throwing (RemoteException e): logPoints() { log.println(“Remote call failed in: ” + thisJoinPoint.toString() + “(” + e + “).”); } } public aspect MyRMILogging extends RemoteExceptionLogging { pointcut logPoints(): receptions(* RegistryServer.*.*(..)) ||(More)
This paper describes a new working implementation of the Python language; built on top of the Java language and run-time environment. This is in contrast to the existing implementation of Python, which has been built on top of the C language and run-time environment. Implementing Python in Java has a number of limitations when compared to the current(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)
We took an existing framework written in Java, the JWAM framework, and partially reengineered some of its exception detection and handling aspects using AspectJ, an aspect-oriented programming extension to Java. The results of this reengineering project are reported in [5]. This position paper summarizes the project and the results presented in that(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)