Enhancing Modularity in Aspect-Oriented Software Systems-An Assessment Study
نویسندگان
چکیده
Aspect-oriented programming (AOP) is rapidly gaining popularity among research and industry 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. In this review paper, we argue that the AOP provides better modularity and here main focus is to assess the solution that affords better modularity to AOP systems. Keywords-Aspect Oriented Software Development (AOSD), Aspect Oriented Programming (AOP), Aspect Oriented (AO) System, AspectJ.
منابع مشابه
On the modularity assessment of aspect-oriented multiagent architectures: a quantitative study
A number of concerns in Multiagent Systems (MAS) have a broadly-scoped impact on the system architectural decomposition, which in turn hinder the design of modular MAS architectures. Typical examples of crosscutting concerns in MAS architectures include learning, mobility, coordination, and autonomy. Nowadays there are some architectural proposals that envisage an emerging aspect-oriented archi...
متن کاملAn Empirical Assessment of the Impact of Aspect-oriented Programming on Software Modularity
The term “crosscutting concern” describes a piece of system that cannot be cleanly modularized because of the limited abstractions offered by the traditional programming paradigms. Symptoms of implementing crosscutting concerns in the languages like C, C# or Java are “code scattering” and “code tangling” that both degrade software modularity. Aspect-oriented programming (AOP) was proposed as a ...
متن کاملAspect Oriented Software Metrics-An Empirical Study
Aspect Oriented Software Development (AOSD) is an emerging paradigm that provides new mechanisms to support the modularization of concerns, which otherwise would crosscut the OO system decomposition. However, the accurate identification of concerns to be aspectized is far from being trivial and it requires a systematic design assessment and reasoning about multiple modularity principles. The ac...
متن کاملA Prism for Research in Software Modularization Through Aspect Mining∗
The Prism project develops tools and techniques for discovering non-localized units of modularity in large software systems. A non-localized unit of modularity is manifest by code crosscutting concerns or aspects, such as logging, tracing, synchronization, and persistence. The objective is to be able to analyze legacy code bases containing well over thousands of classes with over millions of li...
متن کاملHistory-based Approach for Detecting Modularity Defects in Aspect Oriented Software
The evolution of Aspect oriented (AO) software would degrade and modify its structure and its modularity. In this scenario, one of the main problems is to evaluate the modularity of the system, is the evolved AO software still has a good modularity or not? Unfortunately, this research area is not explored yet. This paper presents a history-based approach that detects modularity defects in evolv...
متن کامل