Abstract
Aspect-Oriented Programming separates crosscutting concerns from core business concerns. In order to integrate these two categories, aspects encapsulating crosscutting concerns are given certain capability to affect the underlying programs encapsulating core business concerns. In this paper we propose a classification of the interactive patterns between underlying programs and aspects, and uncover the influence to the underlying programs made by aspects in these interactive patterns. According to this classification we study the interactive patterns supported by ad-hoc AOP languages or frameworks and the interactive patterns involved in AOP solutions to several typical crosscutting concerns.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
K. Gregor, J. Lamping, A. Mendhekar, et al. “Aspect-Oriented Programming”. Proceedings of the European Conference on Object-Oriented Programming, vol.1241. pp. 220–242.
R. Filman and D. Friedman. “Aspect-Oriented Programming is Quantification and Obliviousness”, OOPSLA Workshop on Advanced Separation of Concerns, 2000.
G. Kiczales, E. Hilsdale, J. et al. “An overview of AspectJ”. Lecture Notes in Computer Science, Springer, 2001, pp 327–353.
S. Clarke and R. Walker, “Composition patterns: An approach todesigning reusable aspects”, In International Conference on Software Engineering, Toronto, Ontario, Canada, 2001, pp.5–14.
A. Charfi and M. Mezini, “Aspect-oriented web service composition with AO4BPEL”, in Proc. European Conf. on Web Services (ECOWS’04), LNCS Springer-Verlag, 2004, vol.3250, pp. 168–182.
N. MENDONCA, C. SILVA, I. MAIA, M. RODRIGUES and M. VALENTE. “A Loosely Coupled Aspect Language for SOA Applications”, International Journal of Software Engineering and Knowledge Engineering, vol.18, no.2, 2008, pp.243–262.
G. Georg, I. Ray and R. France, “Using aspects to design a secure system”, in Proceedings of the International Conference on Engineering Complex Computing Systems (ICECCS 2002), Greenbelt, MD, ACM Press, December 2002.
A. Rashid and R. Chitchyan. Persistence as an Aspect. In Proc. of AOSD’03, Boston, USA, 2003: 120–129.
S. Gu and S. Li. A Practical Framework of Object Persistence.Accepted by Computer Science. Unpublished.
I. Ray, R. France, N. Li, and G. Georg, “An aspect-based approach to modeling access control concerns”, Information and Software Technology, vol.46, no.1, Jul. 2004, pp.575–587.
C. Curtis and G. Leavens. “Observers and assistants: A proposal for modular aspectoriented reasoning”. In Ron Cytron and Gary T. Leavens, editors, FOAL 2002: Foundations of Aspect-Oriented Languages (AOSD-2002), pages 33–44, March 2002.
S. Katz. “Diagnosis of harmful aspects using regression verification”. In Curtis Clifton, Ralf L¨ammel, and Gary T. Leavens, editors, FOAL: Foundations Of Aspect-Oriented Languages, pages 1–6, March 2004.
M. Rinard, A. Salcianu, and S. Bugrara. “A classification system and analysis for interactions in aspect-oriented programs”. In Foundations of Software Engineering (FSE), pages 147–158. ACM, October 2004.
C. Yang, H. Wang. “Towards a Classification of Aspects”. etcs, vol.1, pp. 508–512. First International Workshop on Education Technology and Computer Science, March 2009.
Acknowledgments
Project supported by SZU R/D Fund 201036.
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2012 Springer-Verlag London Limited
About this paper
Cite this paper
Sishan, G., Shubin, C., Shixian, L. (2012). A Classification of Interactive Patterns between Underlying Programs and Aspects. In: Zhu, R., Ma, Y. (eds) Information Engineering and Applications. Lecture Notes in Electrical Engineering, vol 154. Springer, London. https://doi.org/10.1007/978-1-4471-2386-6_21
Download citation
DOI: https://doi.org/10.1007/978-1-4471-2386-6_21
Publisher Name: Springer, London
Print ISBN: 978-1-4471-2385-9
Online ISBN: 978-1-4471-2386-6
eBook Packages: EngineeringEngineering (R0)