Nothing Special   »   [go: up one dir, main page]

skip to main content
10.1145/1119655.1119684acmotherconferencesArticle/Chapter ViewAbstractPublication PagesmodularityConference Proceedingsconference-collections
Article

Detecting and resolving ambiguities caused by inter-dependent introductions

Published: 20 March 2006 Publication History

Abstract

AOP languages are continuously evolving, for example (1) pointcut languages are becoming increasingly powerful with respect to the expressiveness of the pointcut language itself, (2) new program properties can be used as a selection criterion in pointcut designators, or (3) new types of program elements can be introduced by means of a crosscut specification. In this paper we investigate the consequences of these trends. To this end, we focus particularly on the usage of meta-data annotations: several recent (versions of) AOP languages support the use of annotations as a selection criterion in pointcut designators or the introduction of annotations, or both. We investigate the introduction of annotations through the use of expressive pointcut languages; explain why introduction of annotations is useful, and in particular, why and how annotations can be derived from other annotations.We explore the issues that arise due to the inter-dependencies between annotation introductions. We investigate when such dependencies may cause ambiguities, and we present an algorithm that resolves the dependencies when possible, and detects ambiguous cases that cannot be resolved. The solution we propose is implemented within the Compose* tool, which supports the introduction of meta-data annotations.

References

[1]
Aspectj - http://aspectj.org/.
[2]
AspectJ team. The AspectJ 5 Development Kit Developer's Notebook - http://eclipse.org/aspectj/doc/next/adk15notebook/.
[3]
L. Bergmans and M. Akşit. Composing crosscutting concerns using composition filters. Comm. ACM, 44(10):51--57, Oct. 2001.
[4]
L. Bergmans and M. Akşit. Principles and design rationale of composition filters. In Filman et al. {8}, pages 63--95.
[5]
V. Cepa and M. Mezini. Declaring and Enforcing Dependencies Between .NET Custom Attributes. In Procedings of the Third International Conference on Generative Programming and Component Engineering (GPCE'04) - LNCS 3286, pages 283--297, 2004.
[6]
Composestar project - http://composestar.sf.net.
[7]
C# language specification. ECMA International, December 2002.
[8]
R. E. Filman, T. Elrad, S. Clarke, and M. Akşit, editors. Aspect-Oriented Software Development. Addison-Wesley, Boston, 2005.
[9]
S. Greco, D. Sacca, and C. Zaniolo. DATALOG Queries with Stratified Negation and Choice: from P to DP. In ICDT '95: Proceedings of the 5th International Conference on Database Theory, pages 82--96, London, UK, 1995. Springer-Verlag.
[10]
K. Gybels. Using a logic language to express cross-cutting through dynamic joinpoints. In Proceedings of the Second German Workshop on Aspect-Oriented Software Development, Technical Report IAI-TR-2002-1 Universität Bonn, 2002.
[11]
JBoss project - http://jboss.com/.
[12]
JTransformer project - http://roots.iai.uni-bonn.de/research/jtransformer/, 2005.
[13]
R. Laddad. AOP and metadata: A perfect match - http://www-128.ibm.com/developerworks/java/library/j-aopwork3/. AOP@Work series, 2005.
[14]
R. Lopez-Herrejon, D. Batory, and C. Lengauer. A disciplined approach to aspect composition. In PEPM '06: Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation, pages 68--77, New York, NY, USA, 2006. ACM Press.
[15]
I. Nagy, L. Bergmans, W. Havinga, and M. Aksit. Utilizing design information in aspect-oriented programming. In Proceedings of International Conference Net. Object Days, NODe2005, Lecture Notes in Informatics. Gesellschaft für Informatik (GI), 2005.
[16]
Sun Microsystems. Java 1.5 documentation - http://java.sun.com/j2se/1.5.0/docs/.

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
AOSD '06: Proceedings of the 5th international conference on Aspect-oriented software development
March 2006
247 pages
ISBN:159593300X
DOI:10.1145/1119655
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

  • AOSD-Europe: European Network of Excellent on Aspect-oriented Software Development

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 20 March 2006

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

AOSD06
Sponsor:
  • AOSD-Europe

Acceptance Rates

Overall Acceptance Rate 41 of 139 submissions, 29%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 01 Nov 2024

Other Metrics

Citations

Cited By

View all
  • (2010)Composing aspects with aspectsProceedings of the 9th International Conference on Aspect-Oriented Software Development10.1145/1739230.1739249(157-168)Online publication date: 15-Mar-2010
  • (2009)Application of reflection in a model transformation languageSoftware & Systems Modeling10.1007/s10270-009-0138-z9:3(311-333)Online publication date: 10-Nov-2009
  • (2009)Detection and Resolution of Weaving InteractionsTransactions on Aspect-Oriented Software Development V10.1007/978-3-642-02059-9_5(135-186)Online publication date: 18-Jun-2009
  • (2008)Symbiosis in logic-based pointcuts over a history of join pointsProceedings of the 2008 ACM symposium on Applied computing10.1145/1363686.1363751(253-260)Online publication date: 16-Mar-2008
  • (2008)Non-invasive and non-scattered annotations for more robust pointcuts2008 IEEE International Conference on Software Maintenance10.1109/ICSM.2008.4658055(67-76)Online publication date: Sep-2008
  • (2008)Application of Reflection in Model Transformation LanguagesProceedings of the 1st international conference on Theory and Practice of Model Transformations10.1007/978-3-540-69927-9_14(199-213)Online publication date: 1-Jul-2008
  • (2007)Modularizing crosscuts in an e-commerce application in Lisp using HALOProceedings of the 2007 International Lisp Conference10.1145/1622123.1622136(1-14)Online publication date: 1-Apr-2007
  • (2007)Forward chaining in HALOProceedings of the 2007 international conference on Dynamic languages: in conjunction with the 15th International Smalltalk Joint Conference 200710.1145/1352678.1352689(157-182)Online publication date: 25-Aug-2007
  • (2007)AwesomeACM SIGPLAN Notices10.1145/1297105.129706542:10(515-534)Online publication date: 21-Oct-2007
  • (2007)AwesomeProceedings of the 22nd annual ACM SIGPLAN conference on Object-oriented programming systems, languages and applications10.1145/1297027.1297065(515-534)Online publication date: 21-Oct-2007
  • Show More Cited By

View Options

Get Access

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media