Information Technology Reference
In-Depth Information
the OR-fork on the pointcut map and the second branch of the OR-fork in
the UCM model can be mapped to the second or first branch of the OR-
fork on the pointcut map, respectively. If advice is being added before this
pointcut, then the same advice would be added twice at the same insertion
point — once for each matched permutation of the OR-fork branches. If
multiple matches of the same pointcut map are not desired, the requirements
engineer can use the warning to modify the pointcut map in order to resolve
the multiple matches.).
Base Map
Pointcut Map
start
first mapping
second mapping
secondBranch
firstBranch
Fig. 23. Multiple mappings of pointcut map
Overlapping mappings from two pointcut maps to a base map do not conflict
with or contradict each other because only the mappings that identify joinpoints
are important. If the latter mappings overlap, then case (c) occurs for which a
conflict resolution mechanism exists.
A phenomenon that is called emergent behavior in the feature interaction
community can also be observed when aspects and the base are composed to-
gether, possibly resulting in unexpected behavior. Undesired emergent behav-
ior occurs when an aspect and the base work well individually but not when
combined together. The feature interaction research carried out for UCMs does
apply to AoUCM and can be used to deal with conflicts caused by undesired
emergent behavior. The UCM scenario definitions can be used to describe the
pre-conditions and post-conditions as well as start and expected end points of
aspects and base behavior alike. After composing the system, the scenario de-
finitions can be checked to ensure that no pre-conditions and post-conditions
have been violated and all expected end points are reached. Essentially, UCM
scenarios allow a high-level test suite to be built for the UCM model.
Finally, the descriptions of the matching and composition algorithms in the
previous sections only deal with one pointcut map. In order to compose a UCM
model containing many aspects, one needs to ensure that each pointcut map is
matched against the same base model. When a pointcut map is matched against
the base model, the identified joinpoints can be indicated in the original model
because this does not influence the matching algorithm for the next aspect. Com-
position, however, does change the structure of the UCM model and therefore
influences the matching algorithm. Therefore, the composition algorithm first
creates a copy of the existing UCM model which can then be safely changed by
 
Search WWH ::




Custom Search