Download presentation
Presentation is loading. Please wait.
Published byCorey Palmer Modified over 9 years ago
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
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.