Information Technology Reference
In-Depth Information
Table 6. Crosscutting product matrix for dependency matrix in Table 4
crosscutting product matrix
source
s[1]
s[2]
s[3]
s[4]
s[5]
s[1]
2
1
1
0
1
s[2]
1
3
1
1
1
s[3]
0
0
0
0
0
s[4]
0
1
0
1
0
s[5]
1
1
0
0
2
of the crosscutting relation is not symmetric. For example, s[1] is crosscutting s[3],
but s[3] is not crosscutting s[1] because s[3] is not scattered (scattering and tangling
are necessary but not sufficient conditions for crosscutting).
In Fig. 3 , we show the four steps we should perform in order to complete the
process. The matrix operations described above drive the process until obtaining the
final crosscutting matrix. For convenience, these formulas can be calculated by means
of simple mathematic tools (such as Mathematica or Maple). By filling in the cells of
the dependency matrix, the other matrices are calculated automatically.
Framework Process
Scattering Matrix
Derive
X
Derive
Product
Dependency
Matrix
Crosscutting
Product Matrix
(ccpm)
Crosscutting
Matrix
(ccm)
Tangling Matrix
1
2
3
4
Fig. 3. Overview of steps in the framework
In the next section we show traceability of crosscutting, which implies the
application of the framework to several consecutive levels.
4 Transitivity of Trace Relations
Usually, we encounter a number of consecutive levels or phases in software
development. From the perspective of software life cycle phases we may distinguish
Domain Analysis, Concern Modeling, Requirement Analysis, Architectural Design,
Detailed Design and Implementation.
We consider here the cascading of two consecutive mappings: the target of the first
mapping serves as source for the second one. For convenience, we call the first target
our intermediate level (see Fig. 4 ).
Search WWH ::




Custom Search