Forward chaining in HALO: An implementation strategy for history-based logic pointcuts

Charlotte Herzeel, Kris Gybels, Pascal Costanza, Coen De Roover, Theo D'Hondt
<span title="">2009</span> <i title="Elsevier BV"> <a target="_blank" rel="noopener" href="" style="color: black;">Computer languages, systems &amp; structures</a> </i> &nbsp;
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
more &raquo; ... nce 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. 1 1 ACM, 2007. This is a minor revision of the work published in
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="">doi:10.1016/</a> <a target="_blank" rel="external noopener" href="">fatcat:mfvytgd64ne5rj7hjxhds2spu4</a> </span>
<a target="_blank" rel="noopener" href="" title="fulltext PDF download" data-goatcounter-click="serp-fulltext" data-goatcounter-title="serp-fulltext"> <button class="ui simple right pointing dropdown compact black labeled icon button serp-button"> <i class="icon ia-icon"></i> Web Archive [PDF] <div class="menu fulltext-thumbnail"> <img src="" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href=""> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> </button> </a>