An Approach to Aspect-Oriented Software Evolution Based on Metadata and Reflection
暂无分享,去创建一个
The change of base program structure in aspect-oriented software will lead to the accidental join point miss.The reason is that the definition of the join point is tightly dependent on the base program's structure.Such a close coupling hinders the evolution of the aspect-oriented software heavily.This paper proposes an approach to aspect-oriented software evolution based on metadata and reflection.A conceptual level is added between the join point definition and the base program's structure in order to achieve decoupling.The conceptual model is used to describe the logical information,physical information,as well as the relationship between the two kinds of information.The structure of base program is annotated by logical information based on Java annotation metadata.Simultaneously,join points are also defined by the logical information.The base program is transformed based on the defined metadata and meta objects are generated automatically.On the basis of reflection,the join points can be matched correctly after the evolution of base program.Transformation algorithms for method and constructor are described in detail.This approach solves the accidental join point miss problem effectively,and can be helpful to construct adaptable aspect-oriented software.