Information Technology Reference
In-Depth Information
URNmodelElement
(from URNcore)
0..*
0..*
Aspect
0..*
0..*
0..1
0..1
ComponentRef
0..*
0..*
precedes
0..*
0..*
0..1
0..1
0..*
0..*
parent
children
matchedNodes
0..*
0..*
1
1
0..*
0..*
0..*
0..*
matchedJoinpoints
UCMmap
1
1
PathNode
1
1
0..1
0..1
Joinpoint
0..*
0..*
plugin
1
1
parentStub
0..*
0..*
PluginBinding
0..*
0..*
Stub
0..1
0..1
UCMadviceMap
UCMpointcutMap
PointcutStub
AspectStub
Fig. 15. Extended URN metamodel
With the help of these new classes in the URN metamodel, an aspect can
now be defined. An Aspect contains zero or more UCMmaps , some of which are
UCMadviceMaps .Only UCMadviceMaps contain zero or more PointcutStubs .A
UCMpointcutMap plugs only into a PointcutStub .An AspectStub contains only
one or more UCMadviceMaps . Finally, only the PathNodes of a UCMpointcutMap
match zero or more Joinpoints . These constraints could be expressed with OCL
in the aspect-oriented URN metamodel.
4
Algorithms for Tool Support
Current URN tool support with jUCMNav allows advice maps, pointcut maps,
and pointcut stubs including the binding to pointcut maps to be defined in the
UCM model. This does not require any additional features to be implemented as
the standard features of jUCMNav are sucient (anything discussed in Sect. 3
can be done with jUCMNav right now).
Full support for AoUCM, however, requires additional features in order to
facilitate the matching of pointcut maps to other maps in the UCM model, to
indicate on base maps whether a path node is advised, to indicate on advice
maps which base maps are being advised by the aspect, to compose aspect maps
and base maps into a complete view of the system, and to switch back and forth
between the visualization of the base system with aspects and the composed
system. Algorithms for these additional features have been implemented and
tested to verify the feasibility of this approach and will be released soon into the
ocial version of jUCMNav.
 
Search WWH ::




Custom Search