Open Modules: A Proposal for Modular Reasoning in Aspect-Oriented Programming
Jonathan Aldrich · 2004
Aspect-oriented programming (AOP) is a new programming paradigm whose goal is to more cleanly modularize crosscutting concerns such as logging, synchronization, and event notification which would otherwise be scattered throughout the system and tangled with functional code. However, while AOP languages provide promising ways to separate crosscutting concerns, they can also break conventional encapsulation mechanisms, making it di#cult to reason about code without the aid of external tools.