Font Size: a A A

An evaluation of simultaneous evolvability and efficiency in aspect-oriented software development

Posted on:2008-02-05Degree:M.ScType:Thesis
University:University of Calgary (Canada)Candidate:Siadat, Seyed JamalFull Text:PDF
GTID:2448390005963935Subject:Computer Science
Abstract/Summary:
In some cases, it is not possible to separate all concerns regardless of the decomposition mechanism used for a given software system. As a result, crosscutting concerns have emerged as a major problem facing most software developers. New methods and techniques are being explored to address this issue. One of the approaches adopted in recent years is Aspect-oriented programming (AOP). AOP complements current programming languages by providing modular units called aspects to encapsulate crosscutting concerns.; A discipline in computer science where many crosscutting concerns can be observed is system software. A primary goal of AOP in the context of system software has been to permit improved modularity by localizing the crosscutting concerns with out significantly degrading performance. One of the most frequent and invasive form of evolution in system software is optimizations. Optimizations represent important crosscutting concerns for system software as they typically have a direct impact on performance.; This thesis examines how well an AOP language (AspectC++) and a non-AOP language (C++) are capable of localizing optimizations in a case study involving the Internet Protocol Traffic and Network Simulator (IP-TN). We demonstrate that relative to the original implementation of IP-TN: (1) a particular AOP approach and the C++ implementation achieve a comparable run time performance, (2) an AOP implementation of the optimizations can improve (un)pluggability but the effects of (un)pluggability in the C++ implementation is less clear; and (3) All implementations fail to improve comprehensibility.
Keywords/Search Tags:Software, Concerns, AOP, Implementation
Related items