Presentation is loading. Please wait.

Presentation is loading. Please wait.

Sheet 1 / 21© 2006 2006 in Bonn - 21 March 2006 Identification of Crosscutting in Software Design Klaas van den Berg – University.

Similar presentations


Presentation on theme: "Sheet 1 / 21© 2006 2006 in Bonn - 21 March 2006 Identification of Crosscutting in Software Design Klaas van den Berg – University."— Presentation transcript:

1 Sheet 1 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 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 Sheet 2 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 CC != S & T Problem statement CC = …

3 Sheet 3 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 Context & Motivation  Steps  Define crosscutting  Identify crosscutting  Quantify crosscutting  Resolve crosscutting AOSD many solutions! what is the problem?

4 Sheet 4 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 Concept Diagram operationalization

5 Sheet 5 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 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 artifact’s decomposition  CC != S & T  Needed: operationalization CC = …

6 Sheet 6 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 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 Sheet 7 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 Crosscutting Pattern source and target

8 Sheet 8 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006

9 Sheet 9 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 Examples Source elementTarget element ConcernModule ConcernRequirement Use Case RequirementArchitectural element Detailed design elementImplementation element Architectural element  source and target are abstractions from specific phases, levels, layers, domains,..

10 Sheet 10 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 Crosscutting Pattern  Pattern: recurring problem and reusable solution  Concepts source and target are taken from MDA However, no automated transformations are assumed!

11 Sheet 11 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 Crosscutting s1 s3 s4 s5 t1 t2 t3 t4 t5 s2 Elements involved both in scattering and tangling s3 crosscuts s4 source target scattering tangling

12 Sheet 12 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 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 Sheet 13 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 Change Impact Examples s1 s3 s4 s5 t1 t2 t3 t4 t5 s2  Scattering: change s5 => impacted {t4, t5}  Tangling: change s1 => impacted {t1, s2}  Crosscutting: change s3 => impacted {t2, t3, s4} to be preserved Propagation of change impact across multiple levels Dependency graph

14 Sheet 14 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 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 Sheet 15 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 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 Sheet 16 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 Crosscutting s1 s2 s3 t1 t2 t3 t4 Example s1 crosscuts s3 source = {s1, s2, s3} target = {t1, t2, t3, t4} dependency graph

17 Sheet 17 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 Matrices  s[1] crosscuts s[3] dependency matrix target t[1]t[2]t[3]t[4] source s[1]1011S s[2]0100NS s[3]0010NS NT T crosscutting matrix source s[1]s[2]s[3] source s[1]001 s[2]000 s[3]000

18 Sheet 18 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 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 Sheet 19 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 Case Studies  DVD System  Gradecki & Lesiecki  Logging  Dialog system in GUI  Mediator Pattern  Drawing editor  Adapter Pattern

20 Sheet 20 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 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 Sheet 21 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 Extended Crosscutting Pattern  Transitivity of inter-level and intra-level dependencies

22 Sheet 22 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 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 Sheet 23 / 21© 2006 vdberg@cs.utwente.nlAOM 2006 in Bonn - 21 March 2006 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


Download ppt "Sheet 1 / 21© 2006 2006 in Bonn - 21 March 2006 Identification of Crosscutting in Software Design Klaas van den Berg – University."

Similar presentations


Ads by Google