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

skip to main content
10.1145/1111542.1111554acmconferencesArticle/Chapter ViewAbstractPublication PagespepmConference Proceedingsconference-collections
Article

A disciplined approach to aspect composition

Published: 09 January 2006 Publication History

Abstract

Aspect-oriented programming is a promising paradigm that challenges traditional notions of program modularity. Despite its increasing acceptance, aspects have been documented to suffer limited reuse, hard to predict behavior, and difficult modular reasoning. We develop an algebraic model that relates aspects to program transformations and uncovers aspect composition as a significant source of the problems mentioned. We propose an alternative model of composition that eliminates these problems, preserves the power of aspects, and lays an algebraic foundation on which to build and understand AOP tools.

References

[1]
J. Aldrich. Open Modules: Modular Reasoning about Advice. ECOOP 2005.]]
[2]
D. Ancona, G. Lagorio, and E. Zucca, "True Separate Compilation of Java Classes", PPDP 2002.]]
[3]
AOSD Europe Network of Excellence Workshop. ECOOP 2005.]]
[4]
AspectJ Developers mailing list. dev. eclipse. org/mho-narc/lists/aspectj-dev/maillist.html. Thread on execution order. October 5, 2005.]]
[5]
P. Avgustinov, et al., "abc: An Extensible AspectJ Compiler", AOSD 2005, Chicago, USA.]]
[6]
P. Avgustinov, et al. "Optimizing AspectJ", PLDI 2005.]]
[7]
AspectJ, version 1.2.1, eclipse.org/aspectj/.]]
[8]
AspectJ Manual, www.eclipse.org/aspectj/doc/progguide/language.html.]]
[9]
Aspect Bench Compiler. www. aspectbench. org]]
[10]
D. Batory and S. O'Malley. "The Design and Implementation of Hierarchical Software Systems with Reusable Components", ACM TOSEM, October 1992.]]
[11]
D. Batory, J. N. Sarvela, A. Rauschmayer, "Scaling Step-Wise Refinement", IEEE TSE, June 2004.]]
[12]
J. Bezivin, "From Object Composition to Model Transformation with the MDA", TOOLS'USA, August 2001.]]
[13]
L. Cardelli, "Program Fragments, Linking, and Modularization", POPL 97.]]
[14]
S. Chiba, "Program Transformation with Reflective and Aspect-Oriented Programming", in {13}.]]
[15]
C. Clifton and G. Leavens, "Observers and Assistants: A Proposal for Modular Aspect-Oriented Reasoning", FOAL 2002.]]
[16]
C. Clifton, G. T. Leavens. "Obliviousness, Modular Reasoning, and the Behavioral Subtyping Analogy". SPLAT 2003.]]
[17]
C. Clifton, "A Design Discipline and Language Features for Modular Reasoning in Aspect-Oriented Programs", Ph.D. Dept. Computer Science, Iowa State, 2005.]]
[18]
E. W. Dijkstra. "The Structure of the 'THE'-Multiprogramming System", CACM, May 1968.]]
[19]
R. Dounce, D. Le Botlan. "Towards a Taxonomy of AOP Semantics". AOSD-Europe. Technical Report, July 2005.]]
[20]
R. E. Filman, T. Elrad, S. Clarke, M. Aksit. Aspect-Oriented Software Development. Addison-Wesley, 2004.]]
[21]
J. Gray et al. "A Technique for Constructing Aspect Weavers Using a Program Transformation Engine". AOSD 2004.]]
[22]
K. Gybels and J. Brichau, "Arranging Language Features for More Robust Pattern-based crosscuts", AOSD 2003.]]
[23]
K Gybels and K. Ostermann, Discussions at SPLAT 2005.]]
[24]
E. Hilsdale and J. Hugunin. "Advice weaving in AspectJ". AOSD 2004.]]
[25]
D. Hutchins, "Making Inheritance Scale: Towards a Theory of Deep Mixin Composition", Univ. of Edinburgh, 2005.]]
[26]
G. Kiczales, M. Mezini. "Aspect-Oriented Programming and Modular Reasoning". 1CSE 2005.]]
[27]
G. Kniesel, et al. "JMangler - A Framework for Load-Time Transformation of Java Class Files". SCAM 2001.]]
[28]
S. Krishnamurthi, K. Fisler, M. Greenberg. "Verifying Aspect Advice Modularity". FSE 2004.]]
[29]
R. Laddad. AspectJ in Action. Practical Aspect-Oriented Programming. Manning, 2003.]]
[30]
R. Lämmel, "Declarative Aspect-Oriented Programming", PEPM 1999.]]
[31]
R. Lämmel, J. Saraiva, and J. Visser (Eds), Generative and Transformational Techniques in Software Engineering, 2005.]]
[32]
R. E. Lopez-Herrejon, et al. "Evaluating Support for Features in Advanced Modularization Techniques". ECOOP 2005.]]
[33]
R. E. Lopez-Herrejon and D. Batory. "Improving Incremental Development in AspectJ by Bounding Quantification", SPLAT Workshop, March 2005.]]
[34]
H. Masuhara, G. Kiczales, "Modeling Crosscutting Aspect-Oriented Mechanisms". ECOOP 2003.]]
[35]
M. McEachen, R. T. Alexander. "Distributing Classes with Woven Concerns - An Exploration of Potential Fault Scenarios". AOSD 2005.]]
[36]
Partsch, H., Steinbrüggen, R.: Program Transformation Systems. ACM Computing Surveys, September (1983).]]
[37]
H. Rajan, K. J. Sullivan, "Classpects: Unifying Aspect- and Object-Oriented Programming", ICSE 2005.]]
[38]
M. Rinard. A. Salcianu, S. Bugrara. "A Classification System and Analysis for Aspect-Oriented Programs", FSE 2004.]]
[39]
T. Rho, G. Kniesel. "LogicAJ - A Uniformly Generic Aspect Language." Submitted.]]
[40]
P. Selinger, et al, "Access Path Selection in a Relational Data-base System", ACM SIGMOD 1979, 23--34.]]
[41]
Semantic Designs. www. semdesigns.com/]]
[42]
P. Tarr, H. Ossher, et al., "N Degrees of Separation: Multi-Dimensional Separation of Concerns", ICSE 1999.]]
[43]
L. Tokuda and D. Batory. "Evolving Object-Oriented Designs with Refactorings" J. Automated Soft. Engr. 8, 2001.]]
[44]
C. Szyperski, Component Software: Beyond Object-Oriented Programming, Addison-Wesley, 2002.]]
[45]
M. Wand, et al., "A Semantics for Advice and Dynamic Join Points in Aspect Oriented Programming", TOPLAS 2004.]]
[46]
N. Wirth, "Program Development by Stepwise Refinement", CACM 14 #4, 221--227, 1971.]]

Cited By

View all

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Conferences
PEPM '06: Proceedings of the 2006 ACM SIGPLAN symposium on Partial evaluation and semantics-based program manipulation
January 2006
176 pages
ISBN:1595931961
DOI:10.1145/1111542
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

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 January 2006

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Article

Conference

PEPM06
Sponsor:
PEPM06: Partial Evaluation and Program Manipulation 2006
January 9 - 10, 2006
South Carolina, Charleston

Acceptance Rates

Overall Acceptance Rate 66 of 120 submissions, 55%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)0
  • Downloads (Last 6 weeks)0
Reflects downloads up to 03 Oct 2024

Other Metrics

Citations

Cited By

View all
  • (2018)An empirical study on the impact of AspectJ on software evolvabilityEmpirical Software Engineering10.1007/s10664-017-9580-723:4(2018-2050)Online publication date: 1-Aug-2018
  • (2015)A theory of modularity for automated software development (keynote)Companion Proceedings of the 14th International Conference on Modularity10.1145/2735386.2735843(1-10)Online publication date: 16-Mar-2015
  • (2015)Structured Document Algebra in ActionSoftware, Services, and Systems10.1007/978-3-319-15545-6_19(291-311)Online publication date: 2015
  • (2014)Aspectualization of code clones--an algorithmic approachInformation Systems Frontiers10.1007/s10796-013-9428-716:5(835-851)Online publication date: 1-Nov-2014
  • (2013)Features, modularity, and variation pointsProceedings of the 5th International Workshop on Feature-Oriented Software Development10.1145/2528265.2528269(9-16)Online publication date: 26-Oct-2013
  • (2013)Modeling dynamic adaptations using augmented feature modelsProceedings of the 28th Annual ACM Symposium on Applied Computing10.1145/2480362.2480690(1734-1741)Online publication date: 18-Mar-2013
  • (2012)A monadic interpretation of execution levels and exceptions for AOPProceedings of the 11th annual international conference on Aspect-oriented Software Development10.1145/2162049.2162059(71-82)Online publication date: 25-Mar-2012
  • (2012)Modular and non-invasive distributed memory parallelizationProceedings of the 2012 workshop on Modularity in Systems Software10.1145/2162024.2162034(33-38)Online publication date: 27-Mar-2012
  • (2012)Reusing and converting code clones to aspects - An algorithmic approach2012 IEEE 13th International Conference on Information Reuse & Integration (IRI)10.1109/IRI.2012.6302984(9-16)Online publication date: Aug-2012
  • (2011)Feature interactions, products, and compositionACM SIGPLAN Notices10.1145/2189751.204786747:3(13-22)Online publication date: 22-Oct-2011
  • 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