Remodularizing Legacy Model Transformations with Automatic - - PowerPoint PPT Presentation

remodularizing legacy model transformations with
SMART_READER_LITE
LIVE PREVIEW

Remodularizing Legacy Model Transformations with Automatic - - PowerPoint PPT Presentation

Remodularizing Legacy Model Transformations with Automatic Clustering Techniques Andreas Rentschler , Dominik Werle, Qais Noorshams, Lucia Happe, Ralf Reussner 3rd Workshop on the Analysis of Model Transformations Monday, September 29,


slide-1
SLIDE 1

KIT – University of the State of Baden-Wuerttemberg and 
 National Research Center of the Helmholtz Association SOFTWARE DESIGN AND QUALITY GROUP 
 INSTITUTE FOR PROGRAM STRUCTURES AND DATA ORGANIZATION, FACULTY OF INFORMATICS

www.kit.edu

Source: pixelio.de

sdq.ipd.kit.edu

Remodularizing Legacy Model Transformations 
 with Automatic Clustering Techniques

Andreas Rentschler, Dominik Werle, Qais Noorshams, Lucia Happe, Ralf Reussner

  • 3rd Workshop on the Analysis of Model Transformations

Monday, September 29, 2014

slide-2
SLIDE 2

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Model-driven Software Quality Prediction

Performance model


  • f a component-based


software architecture Performance data: Execution time Throughput Resource utilisation

Motivation ◉ ⚪ Validation ⚪ Conclusion ⚪ 2 Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪

slide-3
SLIDE 3

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Model-driven Software Quality Prediction

Performance model


  • f a component-based


software architecture Performance data: Execution time Throughput Resource utilisation

Motivation ◉ ⚪ Validation ⚪

Palladio Component Model Measurement Data Generated Simulation Code SimuCom Simulation Framework Transformation Run

Conclusion ⚪ 2 Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪

slide-4
SLIDE 4

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Model-driven Software Quality Prediction

Performance model


  • f a component-based


software architecture Performance data: Execution time Throughput Resource utilisation

Motivation ◉ ⚪ Validation ⚪

Palladio Component Model Measurement Data Generated Simulation Code SimuCom Simulation Framework Transformation Run

5k lines of code

Conclusion ⚪ 2 Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪

slide-5
SLIDE 5

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Model-driven Software Quality Prediction

Performance model


  • f a component-based


software architecture Performance data: Execution time Throughput Resource utilisation

Motivation ◉ ⚪ Validation ⚪

Palladio Component Model Measurement Data Queueing Petri Net Model Simulate Transformation

5k lines of code

QVT-O

Conclusion ⚪ 2 Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪

slide-6
SLIDE 6

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Problem and Overall Approach

3 Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

Legacy Transformation

slide-7
SLIDE 7

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Problem and Overall Approach

3 Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation

slide-8
SLIDE 8

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Problem and Overall Approach

3 Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition

slide-9
SLIDE 9

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Problem and Overall Approach

3 Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Clusters Cluster Analysis

slide-10
SLIDE 10

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Problem and Overall Approach

3 Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

slide-11
SLIDE 11

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Problem and Overall Approach

3 Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

How can we support typical transformation designs? What dependence information is required? Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

slide-12
SLIDE 12

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Problem and Overall Approach

3 Motivation ⚫ ◉ Approach ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

How can we support typical transformation designs? What dependence information is required?

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis
slide-13
SLIDE 13

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Design Rules

What’s makes model transformations different from GPL programs? Data-centric operations Data is hierarchically structured Data models extrinsically defined

  • Common decompositional styles [Lawley04]:

4 Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

Source-driven Target-driven Aspect-driven

  • ne-to-many

mappings many-to-one mappings, M2T templates a mixture of both

Approach ◉ ⚪ ⚪ ⚪ ⚪ ⚪ ⚪

slide-14
SLIDE 14

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

A Minimalistic Example Transformation

5 Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪

slide-15
SLIDE 15

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

A Minimalistic Example Transformation

5 Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

StopAction ActivityModel Source Model Activity Action StartAction actions successors

Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪

slide-16
SLIDE 16

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

A Minimalistic Example Transformation

5 Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

StopAction ActivityModel Source Model Activity Action StartAction actions successors ProcessModel Target Model Process Step steps next

Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪

slide-17
SLIDE 17

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

A Minimalistic Example Transformation

5 Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

StopAction ActivityModel Source Model Activity Action StartAction actions successors ProcessModel Target Model Process Step steps next mapActivity2Process Transformation mapAction2Step call call mapAction2Step mapAction2Step call mapping mapping mapping mapping in

  • ut

in in in

  • ut

Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪

slide-18
SLIDE 18

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

A Minimalistic Example Transformation

5 Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

StopAction ActivityModel Source Model Activity Action StartAction actions successors CompositeActions Composite Action actions ProcessModel Target Model Process Step steps next mapActivity2Process Transformation mapAction2Step call call mapAction2Step mapAction2Step call mapping mapping mapping mapping in

  • ut

in in in

  • ut

Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪

slide-19
SLIDE 19

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

A Minimalistic Example Transformation

5 Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

StopAction ActivityModel Source Model Activity Action StartAction actions successors CompositeActions Composite Action actions ProcessModel Target Model Process Step steps next mapAction2Step call mapping call in

  • ut

in

  • ut

createProcess helper mapActivity2Process Transformation mapAction2Step call call mapAction2Step mapAction2Step call mapping mapping mapping mapping in

  • ut

in in in

  • ut

Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪

slide-20
SLIDE 20

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

A Minimalistic Example Transformation

5 Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

Activity2Process Action2Step CompositeAction2Step StopAction ActivityModel Source Model Activity Action StartAction actions successors CompositeActions Composite Action actions ProcessModel Target Model Process Step steps next mapAction2Step call mapping call in

  • ut

in

  • ut

createProcess helper mapActivity2Process Transformation mapAction2Step call call mapAction2Step mapAction2Step call mapping mapping mapping mapping in

  • ut

in in in

  • ut

Approach ⚫ ◉ ⚪ ⚪ ⚪ ⚪ ⚪

slide-21
SLIDE 21

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

The Bunch Clustering Approach*

6 Motivation ⚫ ⚫ Approach ⚫ ⚫ ◉ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

* by [Mitchell06]; alternative approaches are ARCH, ACDC, LIMBO, … [Shtern12]

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis
slide-22
SLIDE 22

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

The Bunch Clustering Approach*

6 Motivation ⚫ ⚫ Approach ⚫ ⚫ ◉ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

* by [Mitchell06]; alternative approaches are ARCH, ACDC, LIMBO, … [Shtern12]

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

1 1 5 5 15 1 5 5 15 5

slide-23
SLIDE 23

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

The Bunch Clustering Approach*

6 Motivation ⚫ ⚫ Approach ⚫ ⚫ ◉ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

* by [Mitchell06]; alternative approaches are ARCH, ACDC, LIMBO, … [Shtern12]

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

1 1 5 5 15 1 5 5 15 5 1 1 5 5 15 1 5 5 15 5

slide-24
SLIDE 24

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

The Bunch Clustering Approach*

6 Motivation ⚫ ⚫ Approach ⚫ ⚫ ◉ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

* by [Mitchell06]; alternative approaches are ARCH, ACDC, LIMBO, … [Shtern12]

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

Clustering methods: hill climbing, genetic, exhaustive

1 1 5 5 15 1 5 5 15 5 1 1 5 5 15 1 5 5 15 5

slide-25
SLIDE 25

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

The Bunch Clustering Approach*

6

clusters i and j: MQ =

k

X

i=1

CFi, CFi = 8 < : 0, µi = 0

µi µi+ 1

2

Pk j=1 j6=i (✏i,j+✏j,i),

  • therwise

Motivation ⚫ ⚫ Approach ⚫ ⚫ ◉ ⚪ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

* by [Mitchell06]; alternative approaches are ARCH, ACDC, LIMBO, … [Shtern12]

Modularity quality index: favor low coupling & high cohesion

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

Clustering methods: hill climbing, genetic, exhaustive

1 1 5 5 15 1 5 5 15 5 1 1 5 5 15 1 5 5 15 5

slide-26
SLIDE 26

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Dependence Analysis

7 Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ◉ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

mapping_mapAction2Step class_core_Action package_core class_core_BasicAction mapping_mapActivity2Process entry_main class_core_Activity class_core_StartAction mapping_mapAction2Step2 mapping_mapAction2Step3 class_core_StopAction package_process class_process_Step class_process_Process helper_createProcess package_composite mapping_mapAction2Step class_composite_CompositeAction

slide-27
SLIDE 27

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Dependence Analysis

7 «package» «package» «package» «write» «write» «write» «read» «read» «read» «read» «read» «read» «call» «call» «call» «call» «call» «call» «write» Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ◉ ⚪ ⚪ ⚪ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

mapping_mapAction2Step class_core_Action package_core class_core_BasicAction mapping_mapActivity2Process entry_main class_core_Activity class_core_StartAction mapping_mapAction2Step2 mapping_mapAction2Step3 class_core_StopAction package_process class_process_Step class_process_Process helper_createProcess package_composite mapping_mapAction2Step class_composite_CompositeAction

slide-28
SLIDE 28

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Weight Configuration

Depending on the style…

  • …initialize a configuration vector for weighting the various types of edges:

8 Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ◉ ⚪ ⚪ Validation ⚪ Conclusion ⚪

  • ntaining package.These weights constitute a part

ector WC := hWwrite, Wread, Wcall, Wpackagei 2 N4

0.

zero naturally results in the respective type of

Method creates/updates model element Method reads model element Method invokes another method Model element is contained in package

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

Source-driven Target-driven Aspect-driven

slide-29
SLIDE 29

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Assigning Weights

9

artitions subsume one

  • n h1, 15, 5, 15i

for write depen

  • ntaining package.These weights constitute

ector WC := hWwrite, Wread, Wcall, Wpackagei 2 zero naturally results in the respective ty ning p := natur

«package» «package» «package» «write» «write» «write» «read» «read» «read» «read» «read» «read» «call» «call» «call» «call» «call» «call» «write» Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ◉ ⚪ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

mapping_mapAction2Step class_core_Action package_core class_core_BasicAction mapping_mapActivity2Process entry_main class_core_Activity class_core_StartAction mapping_mapAction2Step2 mapping_mapAction2Step3 class_core_StopAction package_process class_process_Step class_process_Process helper_createProcess package_composite mapping_mapAction2Step class_composite_CompositeAction

slide-30
SLIDE 30

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Assigning Weights

9

artitions subsume one

  • n h1, 15, 5, 15i

for write depen

  • ntaining package.These weights constitute

ector WC := hWwrite, Wread, Wcall, Wpackagei 2 zero naturally results in the respective ty ning p := natur

«package» «package» «package» «write» «write» «write» «read» «read» «read» «read» «read» «read» «call» «call» «call» «call» «call» «call» «write» Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ◉ ⚪ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

mapping_mapAction2Step class_core_Action package_core class_core_BasicAction mapping_mapActivity2Process entry_main class_core_Activity class_core_StartAction mapping_mapAction2Step2 mapping_mapAction2Step3 class_core_StopAction package_process class_process_Step class_process_Process helper_createProcess package_composite mapping_mapAction2Step class_composite_CompositeAction

slide-31
SLIDE 31

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Assigning Weights

9

artitions subsume one

  • n h1, 15, 5, 15i

for write depen

  • ntaining package.These weights constitute

ector WC := hWwrite, Wread, Wcall, Wpackagei 2 zero naturally results in the respective ty ning p := natur

15 15 15 1 1 1 15 15 15 15 15 15 5 5 5 5 5 5 1 Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ◉ ⚪ Validation ⚪ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

mapping_mapAction2Step class_core_Action package_core class_core_BasicAction mapping_mapActivity2Process entry_main class_core_Activity class_core_StartAction mapping_mapAction2Step2 mapping_mapAction2Step3 class_core_StopAction package_process class_process_Step class_process_Process helper_createProcess package_composite mapping_mapAction2Step class_composite_CompositeAction

slide-32
SLIDE 32

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Example Clustering

10

(SS-L1):mapping_mapActivity2Process (SS-L0):mapping_mapAction2Step

mapping_mapAction2Step class_core_Action

(SS-L0):package_core

package_core class_core_BasicAction

(SS-L0):mapping_mapActivity2Process

mapping_mapActivity2Process entry_main class_core_Activity

(SS-L0):mapping_mapAction2Step2

class_core_StartAction mapping_mapAction2Step2

(SS-L0):mapping_mapAction2Step3

mapping_mapAction2Step3 class_core_StopAction

(SS-L1):helper_createProcess (SS-L0):class_process_Step

package_process class_process_Step

(SS-L0):helper_createProcess

class_process_Process helper_createProcess

(SS-L0):mapping_mapAction2Step

package_composite mapping_mapAction2Step class_composite_CompositeAction

Motivation ⚫ ⚫ Validation ⚪ Conclusion ⚪ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ◉

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis
slide-33
SLIDE 33

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Assessing Results

Compare derived clustering with a manual expert clustering Using three similarity/distance metrics

11 Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Validation ◉ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis
slide-34
SLIDE 34

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Assessing Results

Compare derived clustering with a manual expert clustering Using three similarity/distance metrics

11 Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Validation ◉ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

Table 1: Activity2Process – Manual vs. derived clustering

Configuration Statistics Similarity to expert clustering # C l u s t e r s M Q i n d e x P r e c i s i

  • n

R e c a l l E d g e S i m M e C l Expert clustering Derived manually 3 1.067 100% 100% 100 100% Method-call dependencies only Hill Climbing, W C = h0, 0, 1, 0i 2 1.214 20.00% 100% 54.54 60% Class-level dependencies Hill Climbing, W C = h1, 15, 5, 15i 2 1.083 33.33% 100% 72.72 85%

slide-35
SLIDE 35

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Assessing Results

Compare derived clustering with a manual expert clustering Using three similarity/distance metrics

11 Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Validation ◉ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

Table 1: Activity2Process – Manual vs. derived clustering

Configuration Statistics Similarity to expert clustering # C l u s t e r s M Q i n d e x P r e c i s i

  • n

R e c a l l E d g e S i m M e C l Expert clustering Derived manually 3 1.067 100% 100% 100 100% Method-call dependencies only Hill Climbing, W C = h0, 0, 1, 0i 2 1.214 20.00% 100% 54.54 60% Class-level dependencies Hill Climbing, W C = h1, 15, 5, 15i 2 1.083 33.33% 100% 72.72 85%

slide-36
SLIDE 36

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Assessing Results

Compare derived clustering with a manual expert clustering Using three similarity/distance metrics

11 Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Validation ◉ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

Table 1: Activity2Process – Manual vs. derived clustering

Configuration Statistics Similarity to expert clustering # C l u s t e r s M Q i n d e x P r e c i s i

  • n

R e c a l l E d g e S i m M e C l Expert clustering Derived manually 3 1.067 100% 100% 100 100% Method-call dependencies only Hill Climbing, W C = h0, 0, 1, 0i 2 1.214 20.00% 100% 54.54 60% Class-level dependencies Hill Climbing, W C = h1, 15, 5, 15i 2 1.083 33.33% 100% 72.72 85%

slide-37
SLIDE 37

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Assessing Results

Compare derived clustering with a manual expert clustering Using three similarity/distance metrics

11 Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Validation ◉ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

Table 1: Activity2Process – Manual vs. derived clustering

Configuration Statistics Similarity to expert clustering # C l u s t e r s M Q i n d e x P r e c i s i

  • n

R e c a l l E d g e S i m M e C l Expert clustering Derived manually 3 1.067 100% 100% 100 100% Method-call dependencies only Hill Climbing, W C = h0, 0, 1, 0i 2 1.214 20.00% 100% 54.54 60% Class-level dependencies Hill Climbing, W C = h1, 15, 5, 15i 2 1.083 33.33% 100% 72.72 85%

slide-38
SLIDE 38

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Assessing Results

Compare derived clustering with a manual expert clustering Using three similarity/distance metrics

11 Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Validation ◉ Conclusion ⚪

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

➡ Significantly better results with model elements considered

Table 1: Activity2Process – Manual vs. derived clustering

Configuration Statistics Similarity to expert clustering # C l u s t e r s M Q i n d e x P r e c i s i

  • n

R e c a l l E d g e S i m M e C l Expert clustering Derived manually 3 1.067 100% 100% 100 100% Method-call dependencies only Hill Climbing, W C = h0, 0, 1, 0i 2 1.214 20.00% 100% 54.54 60% Class-level dependencies Hill Climbing, W C = h1, 15, 5, 15i 2 1.083 33.33% 100% 72.72 85%

slide-39
SLIDE 39

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Conclusion

Problem: Model transformation programs are often badly structured.

12 Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Validation ⚫ Conclusion ◉

slide-40
SLIDE 40

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Conclusion

Problem: Model transformation programs are often badly structured.

12 Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Validation ⚫ Conclusion ◉

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

Approach: Apply automatic clustering algorithms to do the job.

slide-41
SLIDE 41

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Conclusion

Problem: Model transformation programs are often badly structured.

12 Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Validation ⚫ Conclusion ◉

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

By including the model structure, we can derive clusterings that follow source and target-driven decompositional styles. Selecting ‘good’ weights requires expertise and/or experimenting. Findings: Approach: Apply automatic clustering algorithms to do the job.

slide-42
SLIDE 42

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Conclusion

Problem: Model transformation programs are often badly structured.

12

Can we support aspectual decompositions? How do the results compare in maintenance scenarios?

Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Validation ⚫ Conclusion ◉

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

By including the model structure, we can derive clusterings that follow source and target-driven decompositional styles. Selecting ‘good’ weights requires expertise and/or experimenting. Open challenges: Findings: Approach: Apply automatic clustering algorithms to do the job.

slide-43
SLIDE 43

2014-04-25 Remodularizing Legacy Model Transformations with Automatic Clustering Techniques – Andreas Rentschler et al.

Conclusion

Problem: Model transformation programs are often badly structured.

Thanks!

12

Can we support aspectual decompositions? How do the results compare in maintenance scenarios?

Motivation ⚫ ⚫ Approach ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ ⚫ Validation ⚫ Conclusion ◉

Legacy Transformation Modularized Transformation Manual Decomposition Control and Data Dependencies Dependency Analysis Clusters Cluster Analysis

By including the model structure, we can derive clusterings that follow source and target-driven decompositional styles. Selecting ‘good’ weights requires expertise and/or experimenting. Open challenges: Findings: Approach: Apply automatic clustering algorithms to do the job.