Information Technology Reference
In-Depth Information
of the languages in which the source and target are represented. The expressivity of
languages is the leading theme in the seminal paper on aspect-oriented programming
by Kiczales et al. [21]. This is also stated in [25]:
Crosscutting models are themselves not the problem. The problem is that our
languages and decomposition techniques do not properly support crosscutting
modularity.
The role of the source and target languages can be made clear in an extension to
the crosscutting pattern (see Fig. 13 ) (cf. metamodel transformation pattern [24]). A
source can be described using several languages at the same time, a fact which also
applies to the target. In cases where limitations in the expressive power of the
languages are the cause of tangling, scattering, and/or crosscutting, we can use the
terms intrinsic tangling , intrinsic scattering and intrinsic crosscutting [9]. Usually,
aspect-oriented languages solve the problem of such a kind of crosscutting.
Fig. 13. Languages in the crosscutting pattern
In specific cases there must be debate and arguments to decide whether or not there
are essential limitations in the languages. The extension of a language with new
constructs and new composition operators — such as aspects or composition filters —
may change the (de)composition of source and target. Hence, it will affect the
dependency matrix and the related analysis of scattering, tangling and crosscutting.
Related to the problem of expressivity of languages, the creation of the actual
decomposition and modularization is a very important research issue that is not
addressed here. There are problems: the problem of decomposition (e.g.
modularization) of source and target, dominant decompositions, composition
operators, granularity of decomposition, the type of dependency relations between
source elements and target elements, but also the intra-level dependency relations of
source elements and of target elements.
Elements at a certain level can be decomposed into more basic elements at the
same level (e.g., in the composite pattern in [18]). This may affect the set up of the
dependency matrix: one has to choose at what granularity the relation between source
and target will be analyzed. Composite elements occur at any level, for example in
implementation components, but also in concern modeling. Depending on the goal of
the analysis, one has to decide on the granularity of source and target elements. For
example, one could consider a class with its attributes and operations as a single
Search WWH ::




Custom Search