AspectLua - A Dynamic AOP Approach

In this paper we describe AspectLua - a dynamic aspect-oriented language based on Lua. It relies on a meta-object protocol, LuaMOP, which unifies the introspective and reflective mechanisms provided by Lua and handles the weaving process. In order to improve support for dynamicity, AspectLua allows the association of aspects with undeclared elements of the application code (virtual join points). In addition, it provides an automatic support for managing aspects execution order.

[1]  Chuck Liang Programming language concepts and Perl , 2004 .

[2]  John Maloney,et al.  Back to the Future The Story of Squeak, A Practical Smalltalk Written in Itself , 1997 .

[3]  Robert Hirschfeld,et al.  AspectS - Aspect-Oriented Programming with Squeak , 2002, NetObjectDays.

[4]  Guido Rossum,et al.  Python Reference Manual , 2000 .

[5]  Rainer Unland,et al.  Objects, Components, Architectures, Services, and Applications for a Networked World , 2003, Lecture Notes in Computer Science.

[6]  Gustavo Alonso,et al.  Dynamic weaving for aspect-oriented programming , 2002, AOSD '02.

[7]  Daniel G. Bobrow,et al.  Book review: The Art of the MetaObject Protocol By Gregor Kiczales, Jim des Rivieres, Daniel G. and Bobrow(MIT Press, 1991) , 1991, SGAR.

[8]  Thaís Vasconcelos Batista,et al.  Component-Based Applications: A Dynamic Reconfiguration Approach with Fault Tolerance Support , 2002, Electron. Notes Theor. Comput. Sci..

[9]  David Robson,et al.  Smalltalk-80: The Language and Its Implementation , 1983 .

[10]  SERGEI KOJARSKI,et al.  Aspectual Reflection , .

[11]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[12]  Mira Mezini,et al.  Combining Composition Styles in the Evolvable Language LAC , 2001 .

[13]  Cristina V. Lopes,et al.  Aspect-oriented programming , 1999, ECOOP Workshops.

[14]  L. Figueiredo,et al.  Lua—An Extensible Extension Language , 1996, Softw. Pract. Exp..

[15]  Wolfgang Schröder-Preikschat,et al.  AspectC++: Language Proposal and Prototype Implementation , 2001 .

[16]  D. Dechow Advanced Separation of Concerns for Dynamic , Lightweight Languages , 2003 .

[17]  David Thomas,et al.  Programming Ruby: the pragmatic programmer's guide , 2000 .

[18]  Roberto Ierusalimschy,et al.  Lua—An Extensible Extension Language , 1996 .

[19]  William G. Griswold,et al.  An Overview of AspectJ , 2001, ECOOP.

[20]  Gregory T. Sullivan Aspect-oriented programming using reflection and metaobject protocols , 2001, CACM.

[21]  Mira Mezini,et al.  Programming with Aspectual Components , 1999 .