Information Technology Reference
In-Depth Information
FigureElement
Figure
+incrXY(int, int)
Point
Line
+getX() : int
+getY() : int
+setX(int)
+setY(int)
+incrXY(int, int)
+getX() : int
+getY() : int
+setX(int)
+setY(int)
+incrXY(int, int)
moveTracking
Figure 3.1.
Aspects crosscut classes in a simple figure editor.
be informed by calling the screen manager's moveTracking method, as illustrated
by the band surrounding the methods that implements this concern in Figure 3.1.
This concern is called a crosscutting concern as it crosscuts methods in both the
Line and the Point classes.
AOP is an attempt to isolate and modularise these concerns and then weave
or compose them together with an existing program, thereby allowing the concern
to be applied in an oblivious way (the existing code is unaware of the crosscutting
concern). An aspect can therefore be considered as a modular unit of crosscutting
implementation [61].
It is important to note that the goal for AOP is not as a replacement for
object-orientation, it is to build on object-orientation by supporting separation of
concerns that cannot be adequately expressed in object-oriented languages [31].
3.3 AOP Semantics
AOP introduces new semantics to describe crosscutting concerns and aspects.
Much of the semantic model is based on the AspectJ language developed by Kicza-
les et al. [59] at Xerox's Palo Alto Research Centre.
According to Kiczales et al. [59], aspect-oriented languages have three critical
elements: a join point model, a means of identifying join points, and a means of
effecting implementation at join points. These elements can be described as:
Search WWH ::




Custom Search