Jing Zhang Thomas Cottenier Aswin van den Berg Jeff Gray Aspect Interference and Composition in the Motorola Aspect-Oriented Modeling Weaver Jing Zhang Thomas Cottenier Aswin van den Berg Jeff Gray University of Alabama at Birmingham
Motorola WEAVR A Profile for modeling Aspects in UML 2.0 Pointcut Composition
X, … Q, R, S,.. Y (N, j) (M, i) D
X, … Q, R, S, T, U, V, W, …, Z (N, i) (M, i) (O, j) D1 D2
X, … Q,R, S,.. Y Tu (N, j) Ts (A, i) Ts’ X, … Q,R, S Q, R, S Y
Motorola WEAVR Aspect deployment entities
Motorola WEAVR An Agent for visualizing Joinpoints and Analyze Joinpoint Effects
Motorola WEAVR
Figure 4. Aspect composition. package1 <- Aspect1,Aspect2,Aspect3,Aspect4 ALL – package1 <- Aspect3,Aspect4
Aspect3 is hidden by Aspect2: Aspect3 will be inactivated when both Aspect2 and Aspect3 match at the same join point Aspect2 => ¬Aspect3 Aspect4 is dependent on Aspect3: the presence of Aspect4 implies that Aspect3 has to be present at the same join point as well Aspect4 => Aspect3
Aspect Interference and Composition in WEAVR Conclusions Contribution: approach that allows precedence relationships to be specified at the modeling level to prevent undesirable interferences between aspects Also: - Composition of Transition Pointcuts maintains properties - Transition Pointcut Designators make sense