Forward Chaining in HALO: An Implementation Strategy for History-based Logic Pointcuts

Printer-friendly version

Publication Type:

Journal Article

Source:

Elsevier International Journal on Computer Languages, Systems {&} Structures, Volume 35, p.31–47 (2009)

Keywords:

aop, forward chaining, halo, lmp, logic meta programming, rete, temporal logic

Abstract:

<p>In aspect-oriented programming, pointcuts are formulated as conditions over the context of dynamic events in the execution of a program. Hybrid pointcut languages also allow this context to come from interactions between the pointcut language and the base program. While some pointcut languages only allow conditions on the current execution event, more recent proposals have demonstrated the need for expressing conditions over a history of join points. Such pointcut languages require means to balance the expressiveness of the language with the additional memory and runtime overhead caused by keeping a history of join point context data. In this paper, we introduce a logic-based pointcut language that allows interaction with the base program as well as pointcuts over a history of join points. We introduce forward chaining as an implementation model for this language, and discuss possible optimization strategies for the additional overhead.</p>