Information Technology Reference
In-Depth Information
β E which, for an event
.
More specifically, the position of an event on an object is defined by the number
of events which precede it on this object:
e
of
E
, gives the position of
e
on the object containing
e
{e ∈ E|φ
∀e ∈ E, β E (
e
)=
card
(
(
e
)=
φ
e )
∧ e
≤ e}
Γ E,o (
n
(
). Finally, we introduce the function
) which gives the
E
o
Γ E,o (
n
e
event of
localized on the nth position on the object
(
)=
such that
β E (
e
n ∧ φ
e
o
).
For all objects of a pointcut
)=
(
)=
, the first part of the algorithm (line 1-4) allows
the construction of the sets of events of
P
localized on the same object, such
that the actions related to these events are the same as the actions related to
the events of
M
P
.Thevariable
w i represents a word of all events on an object
i
of the base bSD
M
. With the function
findSetsOfEvent
, we take, for each
object
i
, all the set of (strict or non-strict) sequence of events of
M
which have
the same action names as the events of
. Since the decision to
take a strict sequence of events or a non-strict sequence of events depends on the
definition of parts, the function
P
on the object
i
findSetsOfEvent
has to be detailed for each
definition of parts.
The second part of the algorithm (line 5-13) allows the construction of a part
M of
M
when it is possible. After the first part of the algorithm, with the function
min
, we take the first (or minimum) set of events forming a part. Since we propose
four definitions of parts, this function
has to be specified for each definition of
parts. The notion of minimum set of events or minimum parts is the one defined in
the previous section (related to the definition of ordered parts, Definition 10).
An example of how the algorithm works in a practical way is given in the
following sub-section.
min
Algorithm 1. Abstract Algorithm of Join Point Detection (P,M)
input: pointcut P =( I P ,E P , ≤ P ,,A P P P , ≺ P ),
input: bSD M =( I M ,E M , ≤ M ,A M M M , ≺ M )
output: μ =( μ 0 1 2 ): P
M , M =( I M ,E M ,
M ,A M M M ,
M )join
point of M
1: For each i ∈ I P do
2: aaa w i = π i ( M ) /* a word of all events on the object i */
3: aaa V i = findSetsOfEvent ( w i i ( P ))
4: End For
5: E M = min ( i∈I P V i )
6: If ( E M = )then
7: aaa return( null )
8: Else
9: aaa μ 0 is the identity isomorphism from I P to φ M ( E M ),
10: aaa μ 2 is the identity isomorphism from A P to α M ( E M ),
11: aaa μ 1 is the isomorphism from E P to E M such that ∀e ∈ E P ,
aaa μ 1 ( e )= Γ v φ ( e ) ( e ) ◦ β E P ( e ) aa /* for each object o of I p , μ 1 is built
by associating with the event of o in the ith position, the event
belonging to E M on o in the ith position.*/
12: aaa return( μ =( μ 0 1 2 ))
13: End If
 
Search WWH ::




Custom Search