Technical Reports


Display by Author:
A | B | C | D | E | F | G | H | I | J | K | L | M | N | O | P | Q | R | S | T | U | V | W | X | Y | Z
Search by for:

TR-696-04
Protection from Bad Advice
Authors: Dantas, Daniel S., Walker, David
Date:April 2004
Pages:10
Download Formats: [PDF]
Abstract:
Aspect-oriented programming languages such as AspectJ provide a new way to separate out and consolidate code for debugging, profiling, distribution and other tasks that would otherwise become tangled with the main-line computation. Without aspects, this code can be difficult to understand and maintain. Unfortunately, while aspects purport to provide a new form of modularity, they also defeat the purpose of existing information hiding and modularity mechanisms.

We have developed a new aspect-oriented programming language, AspectML, that allows programmers to control information hiding and access to the internals of a module through a simple static type system. Using our mechanisms, programmers can prevent aspects from interfering with local invariants or reading information that should be kept private to a module. Consequently, AspectML is the first aspect-oriented language that interoperates safely and effectively with rich module systems.