Information Technology Reference
In-Depth Information
Composed Map for Make Reservation
Reservation
Authorization
A
start
success
makeReservation
[reservationOK]
[reservationFailed]
Waiting List
A
fail
Authorization Aspect
Security
e1
s1
start
checkAuthorization
Waiting List Aspect
[success]
WaitingList
success
s1
WaitingList
[fail]
addToWaitingList
tryReservationsFromWaitingList
fail
fail
Composed Map for Cancel Reservation
Reservation
Authorization
A
Waiting List
A
start
success
cancelReservation
Fig. 22. Composed system
Therefore, they are less of a concern in terms of scalability and maintainability
of the model.
4.4
Beyond Matching and Composition
The joinpoints and mappings identified as a result of the matching algorithm are
the base of further functionality besides composition. For example, it is possible
now
a. to easily indicate on UCMs whether a path node is advised,
b. to easily indicate on advice maps which path nodes on which UCMs are
being advised by the aspect,
c. to warn the requirements engineer if multiple aspects are advising the same
path node (A simple way of indicating this is to add a dynamic stub to the
base map instead of the static stub shown in the examples. The dynamic stub
contains a plug-in map for each aspect and a conflict resolution mechanism
based on simple precedence rules is used. A precedence rule states that aspect
A has to precede aspect B. If no precedence rule is specified, the order is
chosen randomly.), and
d. to warn the requirements engineer if the same pointcut advises the same
path node in multiple ways (For example see Fig. 23, given a pointcut map
containing only an OR-fork with two branches, the OR-fork can be matched
against all OR-forks in the UCM model in two ways. The first branch of the
OR-fork in the UCM model can be mapped to the first or second branch of
Search WWH ::




Custom Search