In this paper we present a novel approach, called FuseJ, for achieving a symbiosis between Aspect-Oriented and Component-Based Software Development. We build on previous research that proposes a new AspectOriented programming language tailored for the Component-Based field, called JAsCo. Although JAsCo provides us with some nice results, we argue that a symbiosis between aspects and components is essential. To achieve this symbiosis, we propose a new component model, where both aspects and components are described in the same base component language. Each component is equipped with a number of homogeneous gates that allow accessing a particular feature. An application is assembled by interconnecting these gates, using explicit connectors, which contain the full expressive power for specifying crosscutting communication. As crosscutting behavior is specified as regular components, aspects and components can not be differentiated and a true symbiosis is achieved.
[1]
Stanley M. Sutton,et al.
N degrees of separation: multi-dimensional separation of concerns
,
1999,
Proceedings of the 1999 International Conference on Software Engineering (IEEE Cat. No.99CB37002).
[2]
Mira Mezini,et al.
Conquering aspects with Caesar
,
2003,
AOSD '03.
[3]
하수철,et al.
[서평]「Component Software」 - Beyond Object-Oriented Programming -
,
2000
.
[4]
Wilson C. Hsieh,et al.
Aspect-oriented programming with Jiazzi
,
2003,
AOSD '03.
[5]
Wim Vanderperren,et al.
JAsCo: an aspect-oriented approach tailored for component based software development
,
2003,
AOSD '03.
[6]
Cristina V. Lopes,et al.
Aspect-oriented programming
,
1999,
ECOOP Workshops.
[7]
Harold Ossher,et al.
Multi-Dimensional Separation of Concerns and the Hyperspace Approach
,
2002
.