Combining Aspect Oriented And Strategic Programming

Stratego -- Strategies for Program Transformation
Karl Trygve Kalleberg and Eelco Visser. Combining Aspect-Oriented and Strategic Programming. RULE 2005 (accepted for publication). Draft available as pdf.

Abstract

Properties such as logging, persistence, debugging, tracing, distribution, performance monitoring and exception handling occur in most programming paradigms and are normally very difficult or even impossible to modularize with traditional modularization mechanisms because they are cross-cutting. Recently, aspect-oriented programming has enjoyed recognition as a practical solution for separating these concerns. In this paper we describe an extension to the Stratego term rewriting language for capturing such properties. We show our aspect language offers a concise, practical and adaptable solution for dealing with unanticipated algorithm extension for forward data-flow propagation and dynamic type checking of terms. We briefly discuss some of the challenges faced when designing and implementing an aspect extension for and in a rule-based term rewriting system.

See also AspectStratego.

-- KarlTrygveKalleberg - 27 Mar 2005