Communications of the ACM
Hi-index | 0.00 |
While traditional, one-dimensional approaches to the problem of separation of concerns have been adequate for current software development, they are often brittle and resistant to evolutionary change. Aspects and aspect-orientation offer a controllable, modular mechanism for describing the separation of concerns that are orthogonal to the object model that is the primary developmental focus of a wide range of software applications. This dissertation research project involves the creation of an aspect-oriented infrastructure to support a variety of software development tools. Use of this infrastructure is demonstrated in domain areas such as ecological modeling software and web development in order to establish aspect-orientation as a feasible and straightforward solution to the problem of separation of concerns in object-oriented software systems. In the process of establishing the viability of the aspect-oriented solution, this dissertation investigates several new directions in aspect-orientation: aspects in system software, language independent aspects, aspect integration techniques, and opportunities for aspect reuse. In comparing the two-dimensional, aspect-oriented approach to the traditional, one-dimensional approach, the assertion of this research is that a two-dimensional approach offers an inherently more flexible software system while maintaining the advantages of modularity and code reuse that have long been ascribed to object-oriented systems.