<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>RSS for Extending AspectJ for separating regions</title><link>http://academic.research.microsoft.com/Rss.aspx?cata=9&amp;id=6036120</link><description>Search RSS feed for Microsoft Academic Search</description><generator>MSRA Libra RSS Burner</generator><copyright>(c)2008 Microsoft Corpration, All right reserved.</copyright><pubDate>Tue, 18 Jun 2013 22:56:40 GMT</pubDate><lastBuildDate>Tue, 18 Jun 2013 22:56:40 GMT</lastBuildDate><category /><item><title>Extending AspectJ for separating regions</title><link>http://academic.research.microsoft.com/Publication/6036120</link><pubDate>Tue, 18 Jun 2013 15:56:40 GMT</pubDate><guid isPermaLink="false">60361200</guid><description><![CDATA[<div><a href="http://academic.research.microsoft.com/Author/4854741">Shumpei Akai</a>, <a href="http://academic.research.microsoft.com/Author/769365">Shigeru Chiba</a>:
            
            <span style="margin-left:20px" /><span style="margin-left:20px"><a href="http://www.informatik.uni-trier.de/~ley/db/conf/gpce/gpce2009.html#AkaiC09">view publication</a></span></div><div>Synchronization is a good candidate for an aspect in aspect- oriented programming (AOP) since programmers have to choose the best granularity of synchronization for the underlying hard- ware to obtain the best execution performance. If synchronization is an aspect, programmers can change the synchronization code independently of the rest of the program when the program runs on different hardware. However, existing AOP languages such as AspectJ have problems. They cannot select an arbitrary code re- gion as a join point. Moreover, they cannot enforce weaving of a synchronization aspect. Since it is an alternative feature in feature modeling, at least one of available synchronization aspects must be woven. Otherwise, the program would be thread-unsafe. Since an aspect in AspectJ is inherently optional, programmers must be responsible for weaving it. To solve these problems, this paper proposes two new constructs for AspectJ, regioncut and assertions for advice. Regioncut selects arbitrary code region as a join point and assertion for advice enforces weaving a mandatory advice. We implemented these constructs by extending the AspectBench com- piler. We evaluated the design of our constructs by applying them to two open-source software products, Javassist and Hadoop. Categories and Subject Descriptors D.3.3 (Programming Lan- guages): Language Constructs and Features</div><div>Conference: <a href="http://academic.research.microsoft.com/Conference/1030">Generative Programming and Component Engineering</a>, pp. 45-54, 2009</div><div></div><div />]]></description></item></channel></rss>