Information Technology Reference
In-Depth Information
weaving is static. We do not perform the weaving during the execution of the
sequence diagram, but we transform a sequence diagram into another sequence
diagram where the aspect is woven.
Still at a programming level, recently Bockisch et al. [4] have proposed a
novel implementation of the mechanism of cflow present in AspectJ for which
the eciency of join point detection for dynamic weaving is improved. However,
it is only applicable for the detection of sequence of messages in the control
flow of a method, whereas with our approach, we can detect any interactions.
Moreover, since our weaving is static, performance is not a primary issue.
The aspect model and in particular the mechanism to identify join points plays
a critical role in the applicability of the aspect-oriented methodology. According
to Kiczales [15], the pointcuts definition language probably has the most relevant
role in the success of the aspect-oriented technology but most of the solutions
proposed so far are too tied to the syntax of the programs manipulated.
Ostermann et al. [23] try to address this problem by proposing a static joint
point model that exploits information from different models of program seman-
tics. They show that this model of joint points increases the abstraction level
and the modularity of pointcuts.
9Conluon
In this paper we have proposed a technique to statically weave behavioral as-
pects into sequence diagrams. Our weaving process is automated, and takes into
account the semantics of the model used, i.e., the partial order that a SD induces.
To enable the weaving of multiple aspects, we have proposed a new interpre-
tation for pointcuts to allow join points to match them more flexibly. However,
with this new way of specifying join points, the composition of the advice with
the detected part could not any longer be a replacement of the detected part by
the advice. We thus had to consider the events (or the messages) of the join point
which are not specified within the pointcut and merge them with the behavior
specified within the advice. We proposed a formal definition for such a merge
operator, and described its implementation on the Kermeta platform. Moreover,
we have presented the use of our weaving technique from a user perspective.
However, our approach suffers from limitations: our algorithms for join point
detection only work for bSDs or combined SDs which generate a finite number
of behaviors. This has to be considered for further research.
References
1. Allan, C., Avgustinov, P., Christensen, A.S., Hendren, L., Kuzins, S., Lhotak, O.,
de Moor, O., Sereni, D., Sittampalam, G., Tibble, J.: Adding trace matching with
free variables to aspect. In: OOPSLA '05. Proceedings of the 20th annual ACM
SIGPLAN conference on Object oriented programming, systems, languages, and
applications, vol. 40, pp. 345-364. ACM Press, New York (2005)
2. Araujo, J., Whittle, J., Kim.: Modeling and composing scenario-based requirements
with aspects. In: Proceedings of RE 2004, Kyoto, Japan (September 2004)
 
Search WWH ::




Custom Search