  A plethora of diverse aspect mechanisms exist today, all of which integrate
concerns into artifacts that exhibit crosscutting structure. What we lack and
need is a characterization of the design space that these aspect mechanisms
inhabit and a model description of their weaving processes. A good design space
representation provides a common framework for understanding and evaluating
existing mechanisms. A well-understood model of the weaving process can guide
the implementor of new aspect mechanisms. It can guide the designer when
mechanisms implementing new kinds of weaving are needed. It can also help teach
aspect-oriented programming (AOP). In this paper we present and evaluate such a
model of the design space for aspect mechanisms and their weaving processes. We
model weaving, at an abstract level, as a concern integration process. We
derive a weaving process model (WPM) top-down, differentiating a reactive from
a nonreactive process. The model provides an in-depth explanation of the key
subpro existing aspect mechanisms.
