Evaluation of Aspect-Oriented Software Development for Distributed Systems - Driver, Cormac (Trinity College Dublin. Department of Computer Science, 2002)
Problems relating to the issue of modularity result in the underperformance of the object-oriented software development paradigm. Aspect-oriented software development (AOSD) is a new technology for the separation of crosscutting concerns in computer software. A crosscutting concern arises in a software system when the implementation of a system requirement impacts on more than one implementation module. It is proposed that AOSD techniques can modularise crosscutting concerns that are inherent in object-oriented software systems, resulting in software with greater reusability, evolvability and comprehensibility. The objective of this dissertation is to evaluate the performance of the current AOSD state of the art when applied to distributed systems. Aspect-oriented design and implementation languages/tools are used to re-implement an existing object-oriented application called AppTrack. AppTrack is a web-based information system implemented using Java, an object-oriented programming language. The re-implementation process required the identification, design and implementation of crosscutting concerns in the AppTrack codebase. These concerns were re-implemented using two of the most prominent aspect-oriented programming (AOP) languages currently available ? AspectJ and Hyper/J. From the information gathered throughout this process it is concluded that indeed AOSD does deliver significantly on its major promises, the most important being the increase in the degree of modularity evident in a software system. However, it is far from a silver bullet solution to the problem of crosscutting concerns in object-oriented software, and much future work on the area is necessary.
Keywords: Computer Science