Abstract
AbstractIn this paper we describe an aspect-oriented infrastructure to handle dynamic AOP based on the Lua language. This infrastructure is composed of AspectLua, a Lua extension that allows the declaration of aspects, and a meta-object protocol, LuaMOP, that unifies the introspective and reflective mechanisms provided by Lua. Aspects are defined in isolation using AspectLua and then they are weaved through LuaMOP. An important feature of AspectLua is to allow the association of aspects with undeclared elements of the application code (anticipated join points). Furthermore, it combines a range of features to make AOP easier and powerful.
Highlights
Aspect-oriented programming (AOP) has been gaining attention due to its focus on the modularization of crosscutting concerns
Aspects are defined in isolation using the Aspect class provided by AspectLua and they are weaved through LuaMOP
Some researchers do not associate the use of AOP with scripting languages because, in general, such languages are not intended to write large and complex software systems, we argue that the benefits of AOP target large and complex software systems but it has an important role in embedded systems where the problem of composition is even harder
Summary
Aspect-oriented programming (AOP) has been gaining attention due to its focus on the modularization of crosscutting concerns. Some researchers do not associate the use of AOP with scripting languages because, in general, such languages are not intended to write large and complex software systems, we argue that the benefits of AOP target large and complex software systems but it has an important role in embedded systems where the problem of composition is even harder This type of system needs to maintain the application code small. As Lua is used in a CORBA-based development application environment [25], the AspectLua infrastructure presented in this paper is useful for applying AOP to the dynamic adaptation of CORBA-based application It makes adaptation of component code possible as well adaptation of aspect code and of the overall application.
Talk to us
Join us for a 30 min session where you can share your feedback and ask us any queries you have
Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.