Identification of Crosscutting in Software Design - PowerPoint PPT Presentation

1 / 23
About This Presentation
Title:

Identification of Crosscutting in Software Design

Description:

dependency matrix & crosscutting matrix. Application ... Crosscutting Pattern. Pattern: recurring problem and reusable solution ... – PowerPoint PPT presentation

Number of Views:35
Avg rating:3.0/5.0
Slides: 24
Provided by: KGvd
Category:

less

Transcript and Presenter's Notes

Title: Identification of Crosscutting in Software Design


1
Identification of Crosscutting in Software
Design
  • Klaas van den Berg University of Twente
  • José María Conejero University of Extremadura
  • Juan Hernández University of Extremadura

2
  • CC ! S T
  • Problem statement
  • CC

3
Context Motivation
AOSD
many solutions! what is the problem?
  • Steps
  • Define crosscutting
  • Identify crosscutting
  • Quantify crosscutting
  • Resolve crosscutting

4
Concept Diagram
operationalization
5
Definitions
  • Crosscutting
  • the tangling and/or scattering of concerns
  • Scattering
  • the spreading of a concern to multiple modules
  • Tangling
  • the intermixing of multiple concerns in a module
  • Aspect
  • a concern that crosscuts an artifacts
    decomposition
  • CC ! S T
  • Needed operationalization CC

6
Outline
  • Crosscutting pattern
  • definitions of scattering, tangling and
    crosscutting
  • change impact analysis
  • Representation
  • dependency graph
  • dependency matrix crosscutting matrix
  • Application
  • change impact analysis / examples / case studies
  • cascaded crosscutting pattern
  • extended crosscutting pattern
  • Open issues

7
Crosscutting Pattern
source and target
8
(No Transcript)
9
Examples
  • source and target are abstractions from
  • specific phases, levels, layers, domains,..

10
Crosscutting Pattern
  • Pattern recurring problem and reusable solution
  • Concepts source and target are taken from MDA
  • However, no automated transformations are
    assumed!

11
Crosscutting
Elements involved both in scattering and tangling
s3 crosscuts s4
s5
source
s3
s1
s4
s2
tangling
scattering
target
t5
t2
t1
t3
t4
12
Crosscutting
  • Crosscutting
  • a source element is scattered over target
    elements and where in at least one of these
    target elements, multiple source elements are
    tangled
  • s1 crosscuts s2
  • source element s1 crosscuts source element s2 for
    a given mapping between source and target, if s1
    is scattered over target elements and in at least
    one of these target elements, s1 is tangled with
    source element s2
  • s1 crosscuts s2 with respect to a mapping to and
    decomposition of the target

13
Change Impact Examples
  • Scattering change s5 gt impacted t4, t5
  • Tangling change s1 gt impacted t1, s2
  • Crosscutting change s3 gt impacted t2, t3, s4

s5
s3
s1
s4
s2
Propagation of change impact across multiple
levels
to be preserved
t5
t2
t1
t3
t4
Dependency graph
14
Change impact
  • change element v in the mapping (x,v)
  • impact(x,v)
  • change(x,v)
  • (preserve(u,v) u ? preds(v) x ? v)
  • (impact(v,w) w ? succs(v))
  • preds predecessors of an element
  • adjacent elements in backward trace
  • succs successors of an element
  • adjacent elements in forward trace

15
Representation
  • Dependency graph
  • node elements in source and target
  • edge dependency relation between source target
    elements
  • Dependency matrix
  • source x target
  • cell dependency relation between source target
    elements
  • Crosscutting matrix
  • source x source
  • cell crosscutting relation between source
    elements

16
Crosscutting
source s1, s2, s3
Example
s3
s1
s2
s1 crosscuts s3
dependency graph
t2
t1
t4
t3
target t1, t2, t3, t4
17
Matrices
  • s1 crosscuts s3

18
Mathematics
  • Dependency matrix source x target
  • Scattering matrix source x target
  • Tangling matrix target x source
  • Crosscutting product matrix source x source
  • crosscutting product matrix
  • scattering matrix x tangling matrix
  • matrix multiplication
  • Crosscutting matrix source x source
  • normalized crosscutting product matrix

19
Case Studies
  • DVD System
  • Gradecki Lesiecki
  • Logging
  • Dialog system in GUI
  • Mediator Pattern
  • Drawing editor
  • Adapter Pattern

20
Across Life Cycle
  • Consecutive levels or phases
  • Traceability links between phases
  • (e.g. concerns, requirements, architecture,
    design,..)
  • Approach
  • Cascading of crosscutting pattern
  • Transitivity of dependency relations
  • Matrix multiplication of dependency matrices

21
Extended Crosscutting Pattern
  • Transitivity of inter-level and intra-level
    dependencies

22
Evaluation
  • Identification of Crosscutting
  • Crosscutting pattern
  • Based on inter-level dependencies
  • Definitions of tangling, scattering and
    crosscutting
  • Formalization
  • Matrix representation and matrix operations
  • Operationalization of tangling, scattering and
    crosscutting
  • Across consecutive phases
  • Cascading of crosscutting pattern
  • Extended crosscutting pattern
  • Based on inter-level and intra-level dependencies

23
Open Issues
  • Elements in source and target
  • granularity of decomposition
  • composites (vs atomic elements)
  • Dependency relations
  • inter-level dependency types
  • intra-level dependency types
  • directionality and transitivity of relations
  • Change impact in case of crosscutting
  • number of changes (delete, add, modify)
  • severity of changes (effort)
  • Validation scalability in case studies
  • Tool support
Write a Comment
User Comments (0)
About PowerShow.com