Architecture-based software development is the implementation of a software system in terms of its architectural constructs (e.g., components, connectors, ports). It has been shown as an effective approach to realizing and managing the architecture of large scale software systems. Several techniques and tools have been developed that are intended to aid with the architecture-based development of software systems. While these approaches provide adequate implementation support for some aspects of software architectures, they often lack sufficient support for implementing and enforcing the system's software architectural style. In this paper, we argue that the lack of sufficient support for architectural styles is a by-product of its crosscutting structure. In turn, making it impossible to realize styles using the object-oriented programming methodology. We propose a new approach to implementing architectural styles that is based on the aspect-oriented programming paradigm.
['Sam Malek']
Effective Realization of Software Architectural Styles with Aspects