Partial Evaluation of Pointcuts [chapter]

Karl Klose, Klaus Ostermann, Michael Leuschel
<span title="">2006</span> <i title="Springer Berlin Heidelberg"> <a target="_blank" rel="noopener" href="https://fatcat.wiki/container/2w3awgokqne6te4nvlofavy5a4" style="color: black;">Lecture Notes in Computer Science</a> </i> &nbsp;
This paper makes use of declarative languages, together with associated analysis and specialisation tools, to implement powerful and extensible query languages for aspect oriented programming. Pointcuts are predicates over events in the execution of a program, and are used to specify where an aspect should be applied. Expressive and extensible pointcut languages allow the programmer to abstract away from computational details and write pointcuts at a higher level and in a domain specific way.
more &raquo; ... intcuts are usually compiled by identifying a set of shadows -that is, places in the code whose execution is potentially relevant for a pointcut -and inserting dynamic checks at these places for those parts of the pointcut that cannot be evaluated statically. Today, the algorithms for identifying shadows and generating appropriate dynamic checks are specific for every pointcut designator. This makes it very tedious to extend the pointcut language. We propose a logic based pointcut language and a framework for finding shadows and generating dynamic checks based on partial evaluation of the pointcut predicates. With this approach it is possible to produce both powerful and extensible pointcut languages together with efficient compilation and execution of the resulting program.
<span class="external-identifiers"> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/978-3-540-69611-7_21">doi:10.1007/978-3-540-69611-7_21</a> <a target="_blank" rel="external noopener" href="https://fatcat.wiki/release/tuh67prp6bdbfdxiu4f7aybuw4">fatcat:tuh67prp6bdbfdxiu4f7aybuw4</a> </span>
<a target="_blank" rel="noopener" href="https://web.archive.org/web/20151203195740/http://stups.hhu.de/mediawiki/images/3/30/Pub-KlOsLe07_211.pdf" 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="https://blobs.fatcat.wiki/thumbnail/pdf/f0/96/f096bbcfc47c7e644025626542d2408aa1344bf9.180px.jpg" alt="fulltext thumbnail" loading="lazy"> </div> </button> </a> <a target="_blank" rel="external noopener noreferrer" href="https://doi.org/10.1007/978-3-540-69611-7_21"> <button class="ui left aligned compact blue labeled icon button serp-button"> <i class="external alternate icon"></i> springer.com </button> </a>