Chapter 25. Developing Software Components with Aspects: Some Issues and ExperiencesJOHN GRUNDY AND JOHN HOSKING Engineering software components is a challenging task. Existing approaches to component-based software development are for the most part focused on functional decomposition. All have the weakness of failing to take into account the impact of crosscutting concerns on components. In this chapter, we outline aspect-oriented component engineering. Our approach uses aspects to help engineer better software components. Motivating our work with a simple example of a distributed system, we describe how specifications and designs can use aspects to provide additional information about components and how aspects can be used to help implement more decoupled software components. We show how encoded aspect information can be used at runtime to support component plug-and-play, retrieval, and validation. We also compare and contrast our approach to other component engineering methods and aspect-oriented software development techniques. |