Information Technology Reference
In-Depth Information
Although the terms source and target could represent two different domains, levels
or phases of a software development process, we abstract from specific phases such as
concern modeling, requirements elicitation, architectural design and so on. The only
proposition is that we define crosscutting for two levels, which we called source and
target. This approach can be applied to early phases in software development, e.g.
concerns and requirements, but also to other phases near implementation, e.g., a UML
design and Java code. In each case we have to define the trace relations between the
respective source elements and target elements. We show a traceability model in
Sect. 6.1 where we discuss the mapping between source and target in more detail.
In Table 1 we show some situations where the crosscutting pattern can be applied,
with examples of source and target elements.
Table 1. Some examples of source and target domains
Examples
Source
Target
We may identify
Crosscutting Concerns with respect to
mapping to Requirements Statements
Ex. 1
Concerns
Requirements Statements
Crosscutting Concerns with respect to
mapping to Use Cases
Ex. 2
Concerns
Use Cases
Crosscutting Concerns with respect to
mapping to Design Modules
Ex. 3
Concerns
Design Modules
Crosscutting Use Cases with respect to
mapping to Architectural Components
Ex. 4
Use Cases
Architectural Components
Crosscutting Use Cases with respect to
mapping to Design Modules
Ex. 5
Use Cases
Design Modules
Crosscutting Design Modules with
respect to mapping to Programming
Artifacts
Ex. 6
Design Modules
Programming Artifacts
Crosscutting in PIM artifacts with
respect to mapping to PSM artifacts
Ex. 7
PIM artifacts (MDA)
PSM artifacts (MDA)
The definitions of tangling, scattering and crosscutting are relative to the source
and target in the crosscutting pattern. Therefore, scattering, tangling and crosscutting
are defined as specific cases of the mapping between source and target. We denote
this mapping between source and target as (Source x Target). This is explained in the
following section.
2.2 Definitions Based on the Crosscutting Pattern
As we can see in Fig. 2 , there is a mapping from source elements to target elements.
This mapping from source to target has a multiplicity. In the case of 1:many mappings
we have scattering, defined as follows: Scattering occurs when, in a mapping between
source and target, a source element is related to multiple target elements. The
correspondence between two given domains, source and target, is defined as follows.
For s є Source, f(s) = {t є Target / t is related to s in the target domain}. We can
define scattering as: An element s є Source is scattered if and only if card(f(s)) > 1,
where card is the cardinality. In Fig. 1 we can see how the source element s1 is
scattered over the target elements t1, t3 and t4.
Similarly, we can focus on the relation between target elements and source
elements. This relation (here also called mapping) is the reverse of the mapping
above. In the case of 1:many mappings from target to source we have tangling,
Search WWH ::




Custom Search