Font Size: a A A

Enhancing modularity in aspect-oriented software systems

Posted on:2009-06-23Degree:Ph.DType:Dissertation
University:The University of Wisconsin - MilwaukeeCandidate:ElBendary, Mohamed IFull Text:PDF
GTID:1448390002992991Subject:Engineering
Abstract/Summary:
Aspect-oriented programming (AOP) is rapidly gaining research and industrial momentum as a methodology that complements and extends the object-oriented paradigm. AOP promises to localize the concerns that inherently crosscut the primary structural decomposition of a software system. Localization of concerns is critical to parallel development, maintainability, modular reasoning, and program understanding. However, AOP as it stands today is bringing problems in exactly these areas, defeating its purpose. Previous work and experience gleaned from building AOP systems have identified two points of contention that are impeding the adoption of AOP. First, the complication arising from the need to open up systems' modules for AOP and the need to protect those modules against possible fault injection by AOP. Second, the need to have base system components stabilized before aspect components can be developed. Clearly, this adversely affects parallel development. This dependency also causes aspect components to be sensitive to changes in the base system, complicating maintainability, already a high-cost element in the software process. The main focus of this work is developing a solution that affords better modularity to AOP systems. The proposed solution is based on the introduction of a mapping layer between aspect and base components. Acting as a middle-ware, this layer decouples and isolates the base domain from the aspect domain, controls the impact of advice.
Keywords/Search Tags:Aspect, AOP, Software, System, Base
Related items