Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
10.5555/1025115.1025239guideproceedingsArticle/Chapter ViewAbstractPublication PagesaseConference Proceedingsconference-collections
Article
Free access

Understanding Aspects via Implicit Invocation

Published: 20 September 2004 Publication History

Abstract

Aspect-oriented programming (AOP) promises improved modularity in software design. However, it also presents novel mechanisms and departs from traditional design theory, leaving researchers in need of a theory and developers in need of guidance as to its appropriate use. This paper rests on the idea that the nature and expressive power of AOP lie largely in programming-language-provided implicit invocation (II) mechanisms, with join points as events, pointcuts as event patterns, advice as methods invoked by events, and aspects as classes that also create event-method bindings. The contribution of this paper is the idea that exposing the II roots of AOP can expedite development of a theory and practice of AOP. We present a formal reduction from AOP to II, then, as a data point, we show that model checking techniques previously developed for II systems can be used to check formal properties of AOP systems automatically.

References

[1]
Aldrich, J., "Open Modules: A Proposal for Modular Reasoning in Aspect-Oriented Programming", FOAL 2004, Lancaster, UK, March 2004.
[2]
AspectJ: http://www.eclipse.org/aspectj.
[3]
Blair, L., Monga, M. "Reasoning on AspectJ Programmes", GI-AOSDG 2003 Essen, Germany.
[4]
Bradbury, J. S., Dingel, J.,"Evaluating and Improving the Automatic Analysis of Implicit Invocation Systems", ESEC/FSE 2003, Helsinki, Finland, Sept. 2003.
[5]
Clifton, C., and Leavens, G. T., "Observers and Assistants: A Proposal for Modular Aspect-Oriented Reasoning.", Technical Report TR#02-04, Department of Computer Science, Iowa State University, Mar 2002.
[6]
Corbett, J.C. et al., "Bandera: Extracting Finite State Models from Java Source Code", Proc ICSE 2000.
[7]
Devereux, B., "Compositional Reasoning About Aspects Using Alternating-time Logic", FOAL 2003.
[8]
Dingel, J., Garlan, D., Jha, S., Notkin, D., "Reasoning about Implicit Invocation", FSE-6, November 1998.
[9]
Filman R., and Friedman, D., "Aspect-oriented programming is quantification and obliviousness", In Proc. Workshop on Advanced Separation of Concerns, OOPSLA 2000.
[10]
Filman, R.E., Havelund, K., "Realizing Aspects by Transforming for Events." ASE Sept. 2002.
[11]
Garlan, D., Khersonsky, S., and Kim, J. S., "Model Checking Publish-Subscribe Systems", SPIN 03, Portland, Oregon, May 2003.
[12]
Garlan, D., and Notkin, D., "Formalizing Design Spaces: Implicit Invocation Mechanisms". VDM '91: Formal Software Development Methods, Oct. 1991.
[13]
Havelund, K., and Pressburger, T., "Model checking JAVA programs using JAVA pathfinder", International Journal on Software Tools for Technology Transfer, 2(4):366-381, 2000.
[14]
Kiczales, G. et al., "Aspect-oriented programming," ECOOP 1997, June 1997.
[15]
McMillan, K, " Cadence SMV", http://wwwcad.eecs.berkeley.edu/~kenmcmil/smv/
[16]
C#: http://msdn.microsoft.com/net/ecma.
[17]
Notkin, D. et al., "Adding Implicit Invocation to Languages: Three Aproaches," Proc. JSSST Symp. Object Technologies for Advanced Software, Springer-Verlag LNCS 742, November 1993.
[18]
Rajan, H. and Sullivan, K., "Eos: Instance-Level Aspects for Integrated System Design", ESEC/FSE 03, Helsinki, Finland, Sept 2003.
[19]
Reiss, S.P., "Connecting Tools Using Message Passing in the Field Environment," IEEE Software, Jul. 1990.
[20]
Sihman, M. and Katz, S. Model Checking Applications of Aspects and Superimpositions, FOAL 2003.
[21]
SPIN, http://spinroot.com/spin/whatispin.html.
[22]
Sullivan, K., L. Gu, and Y. Cai, "Non-modularity in aspect-oriented languages: integration as a crosscutting concern for AspectJ," Proceedings of AOSD 2002.
[23]
Sullivan, K. and Notkin, D., "Reconciling environment integration and software evolution," ACM Transactions on Software Engineering and Methodology 1, 3, July 1992, pp. 229-268.
[24]
Visser, W. et al., "Adding Active Objects to SPIN", Lecture Notes in Computer Science, Jul & Sept. 1999.
[25]
Walker, R. J. and Murphy, G. C., "Joinpoints as ordered events: towards applying implicit context to aspect-orientation", Workshop on Advanced Separation of Concerns at the 23nd ICSE, 2001.

Cited By

View all
  • (2016)Rewriting rule-based model for aspect-oriented software evolutionInternational Journal of Computer Applications in Technology10.1504/IJCAT.2016.08048454:4(266-278)Online publication date: 1-Jan-2016
  • (2015)Modular reasoning in the presence of event subtypingProceedings of the 14th International Conference on Modularity10.1145/2724525.2724569(117-132)Online publication date: 16-Mar-2015
  • (2011)Toward a version control system for aspect oriented softwareProceedings of the First international conference on Model and data engineering10.5555/2050199.2050216(110-121)Online publication date: 28-Sep-2011
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image Guide Proceedings
ASE '04: Proceedings of the 19th IEEE international conference on Automated software engineering
September 2004
432 pages
ISBN:0769521312

Publisher

IEEE Computer Society

United States

Publication History

Published: 20 September 2004

Qualifiers

  • Article

Acceptance Rates

Overall Acceptance Rate 82 of 337 submissions, 24%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)28
  • Downloads (Last 6 weeks)2
Reflects downloads up to 25 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2016)Rewriting rule-based model for aspect-oriented software evolutionInternational Journal of Computer Applications in Technology10.1504/IJCAT.2016.08048454:4(266-278)Online publication date: 1-Jan-2016
  • (2015)Modular reasoning in the presence of event subtypingProceedings of the 14th International Conference on Modularity10.1145/2724525.2724569(117-132)Online publication date: 16-Mar-2015
  • (2011)Toward a version control system for aspect oriented softwareProceedings of the First international conference on Model and data engineering10.5555/2050199.2050216(110-121)Online publication date: 28-Sep-2011
  • (2010)Implicit invocation of traitsProceedings of the 2010 ACM Symposium on Applied Computing10.1145/1774088.1774528(2085-2089)Online publication date: 22-Mar-2010
  • (2010)Types and modularity for implicit invocation with implicit announcementACM Transactions on Software Engineering and Methodology10.1145/1767751.176775220:1(1-43)Online publication date: 6-Jul-2010
  • (2008)AOCIProceedings of the OTM 2008 Confederated International Conferences, CoopIS, DOA, GADA, IS, and ODBASE 2008. Part I on On the Move to Meaningful Internet Systems:10.1007/978-3-540-88871-0_39(535-552)Online publication date: 9-Nov-2008
  • (2006)Application-specific models and pointcuts using a logic meta languageProceedings of the 14th international conference on Advances in smalltalk10.5555/1763416.1763417(1-22)Online publication date: 4-Sep-2006
  • (2006)Managing the evolution of aspect-oriented software with model-based pointcutsProceedings of the 20th European conference on Object-Oriented Programming10.1007/11785477_28(501-525)Online publication date: 3-Jul-2006

View Options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Login options

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media