skip to main content
10.1145/1134285.1134316acmconferencesArticle/Chapter ViewAbstractPublication PagesicseConference Proceedingsconference-collections
Article

Modeling aspect mechanisms: a top-down approach

Published: 28 May 2006 Publication History

Abstract

A plethora of aspect mechanisms exist today. All of these diverse mechanisms integrate concerns into artifacts that exhibit crosscutting structure. What we lack and need is a characterization of the design space that these aspect mechanisms inhabit and a model description of their weaving processes. A good design space representation provides a common framework for understanding and evaluating existing mechanisms. A well-understood model of the weaving process can guide the implementor of new aspect mechanisms. It can guide the designer when mechanisms implementing new kinds of weaving are needed. It can also help teach aspect-oriented programming (AOP). In this paper we present and evaluate such a model of the design space for aspect mechanisms and their weaving processes. We model weaving, at an abstract level, as a concern integration process. We derive a weaving process model (WPM) top-down, differentiating a reactive from a nonreactive process. The model provides an in-depth explanation of the key subprocesses used by existing aspect mechanisms.

References

[1]
J. Bonér. What are the key issues for commercial AOP use: how does AspectWerkz address them? In K. Lieberherr, editor, Proceedings of the International Conference on Aspect-Oriented Software Development, pages 5--6, Mancaster, UK, 2004. AOSD 2004, ACM Press.
[2]
L. Cardelli, editor. Proceedings of the 1European Conference on Object-Oriented Programming, number 2743 in Lecture Notes in Computer Science, Darmstadt, Germany, July 21-25 2003. ECOOP 2003, Springer Verlag.
[3]
R. E. Filman, T. Elrad, S. Clarke, and M. Akşit, editors. Aspect-Oriented Software Development. Addison-Wesley, Boston, 2005.
[4]
R. E. Filman and D. P. Friedman. Aspect-oriented programming is quantification and obliviousness. In P. Tarr, L. Bergmans, M. Griss, and H. Ossher, editors, Workshop on Advanced Separation of Concerns, OOPSLA'00. Department of Computer Science, University of Twente, The Netherlands, 2000.
[5]
R. Jagadeesan, A. Jeffrey, and J. Riely. An untyped calculus for aspect oriented programs. In Cardelli {2}, pages 54--73.
[6]
G. Kiczales, J. Lamping, A. Mendhekar, C. Maeda, C. Lopes, J.-M. Loingtier, and J. Irwin. Aspect-oriented programming. In M. Akşit and S. Matsuoka, editors, Proceedings of the European Conference on Object Oriented Programming, number 1241 in Lecture Notes in Computer Science, pages 220--242, Jyväskylä, Finland, June 9-13 1997. ECOOP'97, Springer Verlag.
[7]
S. Kojarski and D. H. Lorenz. Pluggable AOP: Designing aspect mechanisms for third-party composition. In R. Johnson and R. P. Gabriel, editors, Proceedings of the Annual Conference on Object Oriented Programming Systems, Languages, and Applications, pages 247--263, San Diego, CA, USA, Oct. 16--20 2005. OOPSLA'05, ACM Press.
[8]
R. Lämmel. A semantical approach to method-call interception. In G. Kiczales, editor, Proceedings of the International Conference on Aspect-Oriented Software Development, pages 41--55, Enschede, The Netherlands, Apr. 2002. AOSD 2002, ACM Press.
[9]
K. Lieberherr and D. H. Lorenz. Coupling Aspect-Oriented and Adaptive Programming. In Filman et al. {3}, pages 145--164.
[10]
D. H. Lorenz and S. Kojarski. Evolution of AOP mental models. In G. Kiczales and O. de Moor, editors, AOSD 2006 Workshop on Aspects in Teaching (AIT), Bonn, Germany, Mar. 20 2006.
[11]
D. H. Lorenz and S. Kojarski. Parallel composition of aspect mechanisms: Design and evaluation. In J. Brichau, S. Chiba, K. D. Volder, M. Haupt, R. Hirschfeld, D. H. Lorenz, H. Masuhara, and E. Tanter, editors, AOSD 2006 Workshop on Open and Dynamic Aspect Languages (ODAL), Bonn, Germany, Mar. 20 2006.
[12]
D. H. Lorenz and J. Vlissides. Designing components versus objects: A transformational approach. In Proceedings of the International Conference on Software Engineering, pages 253--262, Toronto, Canada, May 12-19 2001. ICSE 2001, IEEE Computer Society.
[13]
D. H. Lorenz and J. Vlissides. Pluggable reflection: Decoupling meta-interface and implementation. In Proceedings of the International Conference on Software Engineering, pages 3--13, Portland, Oregon, May 1-10 2003. ICSE 2003, IEEE Computer Society.
[14]
H. Masuhara and G. Kiczales. Modeling crosscutting in aspect-oriented mechanisms. In Cardelli {2}, pages 2--28.
[15]
H. Masuharaa, G. Kiczales, and C. Dutchyn. Compilation semantics of aspect-oriented programs, 2002. In AOSD 2002 FOAL Workshop.
[16]
H. Ossher, M. Kaplan, W. Harrison, A. Katz, and V. Kruskal. Subject-oriented composition rules. In Proceedings of the Annual Conference on Object-Oriented Programming Systems, Languages, and Applications, pages 235--250, Austin, Texas, USA, Oct. 15-19 1995. OOPSLA'95, ACM SIGPLAN Notices 30(10) Oct. 1995.
[17]
H. Rajan and K. Sullivan. Classpects: Unifying aspect- and object-oriented program design. In Proceedings of the International Conference on Software Engineering, St. Louis, Missouri, USA, May 15-21 2005. ICSE 2005, ACM Press.
[18]
D. T. Ross. Structured analysis (SA): A language for communicating ideas. IEEE Trans. Software Eng., 3(1):16--34, Jan. 1977.
[19]
P. Tarr, H. Ossher, W. Harrison, and S. M. Sutton. N degrees of separation: Multi-dimensional separation of concerns. In D. Garland and J. Kramer, editors, Proceedings of the International Conference on Software Engineering, pages 107--119, Los Angeles, California, May 16-22 1999. ICSE 1999, IEEE Computer Society.
[20]
N. Ubayashi, G. Moriyama, H. Masuhara, and T. Tamai. A parameterized interpreter for modeling different AOP mechanisms. In ASE '05: Proceedings of the IEEE/ACM International Conference on Automated Software Engineering, pages 194--203, New York, NY, USA, Nov. 7-11 2005. ACM Press.
[21]
D. Walker, S. Zdancewic, and J. Ligatti. A theory of aspects. In Proceedings of the ACM SIGPLAN International Conference on Functional Programming, pages 127--139, Uppsala, Sweden, Aug. 2003. ACM Press.
[22]
M. Wand, G. Kiczales, and C. Dutchyn. A semantics for advice and dynamic join points in aspect-oriented programming. ACM Trans. Prog. Lang. Syst., 26(5):890--910, Sept. 2004.
[23]
R. J. Wieringa. Design Methods for Reactive Systems: Yourdon, Statemate, and the UML. Morgan Kaufmann Publishers, San Mateo California, 2003.
[24]
E. Yourdon. Modern Structured Analysis. Yourdon Press computing series. Prentice-Hall, Englewood Cliffs, New Jersey, 1989.

Cited By

View all
  • (2019)GAMESPECT: Aspect Oriented Programming for a Video Game Engine using Meta-languages2019 SoutheastCon10.1109/SoutheastCon42311.2019.9020369(1-8)Online publication date: Apr-2019
  • (2012)A debug interface for debugging multiple domain specific aspect languagesProceedings of the 11th annual international conference on Aspect-oriented Software Development10.1145/2162049.2162056(47-58)Online publication date: 25-Mar-2012
  • (2012)SPECTACKLEProceedings of the seventh workshop on Domain-Specific Aspect Languages10.1145/2162037.2162042(9-14)Online publication date: 27-Mar-2012
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
ICSE '06: Proceedings of the 28th international conference on Software engineering
May 2006
1110 pages
ISBN:1595933751
DOI:10.1145/1134285
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: 28 May 2006

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. AOP
  2. AspectJ
  3. DFD
  4. Hyper/J
  5. aspect mechanism
  6. crosscutting concerns
  7. definition
  8. nonreactive
  9. open classes
  10. reactive
  11. taxonomy
  12. top-down classification
  13. weaving process model (WPM)

Qualifiers

  • Article

Conference

ICSE06
Sponsor:

Acceptance Rates

Overall Acceptance Rate 276 of 1,856 submissions, 15%

Upcoming Conference

ICSE 2025

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)2
  • Downloads (Last 6 weeks)0
Reflects downloads up to 08 Mar 2025

Other Metrics

Citations

Cited By

View all
  • (2019)GAMESPECT: Aspect Oriented Programming for a Video Game Engine using Meta-languages2019 SoutheastCon10.1109/SoutheastCon42311.2019.9020369(1-8)Online publication date: Apr-2019
  • (2012)A debug interface for debugging multiple domain specific aspect languagesProceedings of the 11th annual international conference on Aspect-oriented Software Development10.1145/2162049.2162056(47-58)Online publication date: 25-Mar-2012
  • (2012)SPECTACKLEProceedings of the seventh workshop on Domain-Specific Aspect Languages10.1145/2162037.2162042(9-14)Online publication date: 27-Mar-2012
  • (2012)Language-oriented modularity through awesome DSALsProceedings of the seventh workshop on Domain-Specific Aspect Languages10.1145/2162037.2162039(1-2)Online publication date: 27-Mar-2012
  • (2011)A survey on UML-based aspect-oriented design modelingACM Computing Surveys10.1145/1978802.197880743:4(1-33)Online publication date: 18-Oct-2011
  • (2011)Supporting Aspect-Oriented Paradigm by bio-inspired conceptsInternational Symposium on Innovations in Information and Communications Technology10.1109/ISIICT.2011.6149599(63-73)Online publication date: Nov-2011
  • (2010)A Taxonomy of Software Composition MechanismsProceedings of the 2010 36th EUROMICRO Conference on Software Engineering and Advanced Applications10.1109/SEAA.2010.36(102-110)Online publication date: 1-Sep-2010
  • (2009)Aspect-oriented generation of the API documentation for AspectJProceedings of the 4th workshop on Domain-specific aspect languages10.1145/1509307.1509313(15-20)Online publication date: 3-Mar-2009
  • (2009)The art of the meta-aspect protocolProceedings of the 8th ACM international conference on Aspect-oriented software development10.1145/1509239.1509248(51-62)Online publication date: 2-Mar-2009
  • (2008)View composition in multiagent architecturesInternational Journal of Agent-Oriented Software Engineering10.1504/IJAOSE.2008.0167982:1(3-33)Online publication date: 1-Jan-2008
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media