Complex software often has concerns which cut across the modules of the system. Aspect-oriented programming languages such as AspectJ attempt to address this problem by providing a new abstraction for encapsulating such concerns called aspects. Aspects are integrated automatically during compilation with the main body of code at well-defined join points. This approach is difficult to apply when concerns are highly contextdependent and have complex relationships not supported by the language. In this paper, we propose an alternative approach based on software plans. In this approach, a specialized editor is used to annotate code segments as belonging to one or more concerns. The user can then specify a limited view of the code, a plan, which consists of some desired subset of the concerns. Using this plan view, the user can directly implement any complex relationship between overlapping, interdependent concerns. We present our approach using a motivating example from the GNU grep tool. We also present our prototype editor implementation
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.