Information Technology Reference
In-Depth Information
avoids a modeling paradigm break. Therefore, pointcuts are defined on a UCM
called pointcut map (see Figs. 10 and 11 for examples).
On first look, there is no difference between a pointcut map and other UCMs.
Looking more closely, however, the pointcut map represents a partial map which
identifies joinpoints when matched against all other maps in the UCM model.
The parameterization of pointcuts is achieved by wildcards in the names of UCM
elements on the pointcut map. Any of the named elements on a pointcut map
may contain the wildcard * or logical expressions. The pointcut expressions in
Fig. 9 match against (a) all start points starting with s , (b) all responsibilities,
(c) all waiting places named ready or starting with w , and (d) all components
starting with A . These examples are not complete pointcut maps — in fact, the
first three examples are not even valid UCMs. They only illustrate expressions
which may be used on a pointcut map. Figure 10 and Fig. 11 show complete
pointcut maps.
A *
rea dy || w *
*
s *
a)
b)
c)
d)
Fig. 9. Four examples of visual pointcut expressions
As mentioned previously, pointcut maps are partial maps. This is evident
in the usage of start and end points on the pointcut map. Start or end points
without a name denote only the start or end of the partial map and are therefore
not matched against start or end points on other maps in the UCM model
(see gray path nodes in Fig. 10). For example, Fig. 10a matches against all
maps with a responsibility r . Figure 10b matches against all maps with a start
point s , followed by responsibility r , and followed by an end point e .Figure10c,
on the other hand, matches against all maps with a start point s followed by
responsibility r .
Note that it is possible to use unnamed start and end points as markers for
the start and end of the pointcut expression because the usage of unnamed start
and end points in standard UCMs is strongly discouraged. Scenario definitions
and plug-in bindings also prefer named start and end points.
Finally, the location of start and end points is also important for the meaning
of the pointcut map. Figure 11a matches all maps with a responsibility starting
with Get and bound to the component Reservation . Figure 11b matches all maps
with a responsibility starting with Confirm. The responsibility must be imme-
diately followed by an end point called confirmed . The responsibility and the
r
r
r
s
e
s
a)
b)
c)
Fig. 10. Three pointcut maps
Search WWH ::




Custom Search