Measuring Differences To Compare Sets Of Models And Improve Diversity - - PowerPoint PPT Presentation

measuring differences to compare sets of models and
SMART_READER_LITE
LIVE PREVIEW

Measuring Differences To Compare Sets Of Models And Improve Diversity - - PowerPoint PPT Presentation

Measuring Differences To Compare Sets Of Models And Improve Diversity In MDE Adel Ferdjoukh Florian Galinier, Eric Bourreau, Annie Chateau and Cl ementine Nebut ICSEA, , , october 10 th 2017 null Context &


slide-1
SLIDE 1
slide-2
SLIDE 2

Measuring Differences To Compare Sets Of Models And Improve Diversity In MDE Adel Ferdjoukh Florian Galinier, Eric Bourreau, Annie Chateau and Cl´

ementine Nebut

ICSEA, Αθήνα, Ελλάδα, october 10th 2017

slide-3
SLIDE 3

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Synopsis

1 Context & Introduction 2 Measuring model differences 3 Handling sets of models 4 Application: improve diversity 5 Conclusion

3

slide-4
SLIDE 4

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Context & Introduction

Model Driven Engineering

  • Intensive use of models during software development process.
  • A model is defined by a modelling language (meta-model).
  • Models are manipulated by programs called model

transformations.

4

slide-5
SLIDE 5

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Context & Introduction

Models play the key role

  • Validate concepts (meta-model).
  • test model transformations.

Solution to get sets of models

  • Automated generation is preferred.

5

slide-6
SLIDE 6

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Context & Introduction

Models play the key role

  • Validate concepts (meta-model).
  • test model transformations.

Solution to get sets of models

  • Automated generation is preferred.

5

slide-7
SLIDE 7

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Context & Introduction

Many generators exist

  • Grimm.
  • emftocsp.
  • Pramana, etc.

Generated sets of models suffer from

  • Close to each other in structure.
  • Element naming is poor.
  • Solutions’ space is not covered.

6

slide-8
SLIDE 8

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Context & Introduction

Many generators exist

  • Grimm.
  • emftocsp.
  • Pramana, etc.

Generated sets of models suffer from

  • Close to each other in structure.
  • Element naming is poor.
  • Solutions’ space is not covered.

6

slide-9
SLIDE 9

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Context & Introduction

Our objectives

1 Measure the quality of a set of models. 2 Improve the quality of a set of models.

Solutions we propose

1 Compare two models. 2 Handle a whole set of models. 3 Increase the diversity of generated sets.

7

slide-10
SLIDE 10

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Context & Introduction

Our objectives

1 Measure the quality of a set of models. 2 Improve the quality of a set of models.

Solutions we propose

1 Compare two models. 2 Handle a whole set of models. 3 Increase the diversity of generated sets.

7

slide-11
SLIDE 11

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Measuring model differences

Comparing two models with 4 distance measures. Inspired from well-known distances.

  • Mathematics.
  • Natural language processing.
  • Graph theory.

Adapted to models in MDE.

  • structure of models.
  • semantics of models.

8

slide-12
SLIDE 12

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Hamming distance

Original Hamming Distance

  • Introduced in 1952 by Richard Hamming.
  • Compares vectors.
  • Used for fault detection and code correction.

9

slide-13
SLIDE 13

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Hamming distance

Original Hamming Distance

  • Introduced in 1952 by Richard Hamming.
  • Compares vectors.
  • Used for fault detection and code correction.

Our version for models

  • Vectorial representation for models

a = (

instance a1

  • 5, 4, 0,

links

2,

  • attributes

instance a2

  • 4, 3, 6,

links

1

  • attributes

)

model a 9

slide-14
SLIDE 14

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Hamming distance

Counting differences a = (5, 4, 0, 2, 4, 3, 6, 1) = b = (6, 5, 3, 3, 4, 7, 0, 1) d(a,b)= 6/8 Optimisations: permutation sensitive.

10

slide-15
SLIDE 15

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Levenshtein distance

Original Levenshtein Distance

  • Introduced in 1965 by Vladimir Levenshtein.
  • Compares string.
  • Used for orthographic corrections.

11

slide-16
SLIDE 16

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Levenshtein distance

Original Levenshtein Distance

  • Introduced in 1965 by Vladimir Levenshtein.
  • Compares string.
  • Used for orthographic corrections.

Our version for models

  • Vectorial representation for models

Model for vectorial representation

  • Computing distance
  • Classical Levenshtein algorithm
  • Based on addition, suppression and substitution costs.

11

slide-17
SLIDE 17

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Centrality distance

Centrality measure

  • In graphs, a function associating a value to each node.
  • Many well-known centrality functions: degree,

betweenness, closeness, etc.

12

slide-18
SLIDE 18

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Centrality distance

Centrality measure

  • In graphs, a function associating a value to each node.
  • Many well-known centrality functions: degree,

betweenness, closeness, etc. Custom centrality measure

  • Based on eigenvector centrality (used by Google in

Pagerank algo.)

12

slide-19
SLIDE 19

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Centrality distance

Computation

  • Transforming models into graphs
  • Example of centrality vector
  • Comparing two models using (euclidean) norm(s).

13

slide-20
SLIDE 20

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Handle sets of models

Objectives

  • Compare the models of a set.
  • Select the most representative ones.
  • Bring a graphical view of the inter-model diversity.

Usefulness

  • Reduce the amount of models for testing.
  • Achieve a good coverage of meta-models.

14

slide-21
SLIDE 21

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Compare the models of a set

  • Use distance metrics.
  • Compute distances for each pair of models.
  • Produce a distance matrix

m1 m2 m3 m4 m5 m6 m7 m8 m9 m10 m1 12 27 27 27 26 46 44 45 39 m2 12 27 26 27 27 45 45 43 40 m3 27 27 18 17 16 46 45 46 39 m4 27 26 18 18 18 45 44 45 40 m5 27 27 17 18 18 45 43 44 38 m6 26 27 16 18 18 45 44 46 40 m7 46 45 46 45 45 45 36 36 41 m8 44 45 45 44 43 44 36 34 37 m9 45 43 46 45 44 46 36 34 39 m10 39 40 39 40 38 40 41 37 39 15

slide-22
SLIDE 22

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Select representative models

Hierarchical clustering of matrix

  • Construct the clustering tree.
  • Derive the clusters using a proximity threshold.
  • Pick the representative models.

m7 m8 m9 m10 m1 m2 m5 m4 m3 m6

10 15 20 25 30 35 40 45

Distance

16

slide-23
SLIDE 23

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Select representative models

Hierarchical clustering of matrix

  • Construct the clustering tree.
  • Derive the clusters using a proximity threshold.
  • Pick the representative models.

m8 m9 m2 m5 m4 m3 m6

10 15 20 25 30 35 40 45

Distance

threshold = 80%

m8 m9 m2 m5 m4 m3 m6 m7 m10 m1

16

slide-24
SLIDE 24

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Select representative models

Hierarchical clustering of matrix

  • Construct the clustering tree.
  • Derive the clusters using a proximity threshold.
  • Pick the representative models.

m8 m9 m2 m5 m4 m3 m6

10 15 20 25 30 35 40 45

Distance

threshold = 80%

m8 m9 m2 m5 m4 m3 m6 m7 m10 m1

16

slide-25
SLIDE 25

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Graphical view of diversity

Voronoi Diagram

  • 2D representation of models and distance between them.
  • Manual selection of representative models.
  • Manual comparison of model sets.

m1 m2 m3 m4 m5 m6 m7 m8 m9 m10

17

slide-26
SLIDE 26

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Graphical view of diversity

Voronoi Diagram

  • 2D representation of models and distance between them.
  • Manual selection of representative models.
  • Manual comparison of model sets.

m1 m2 m3 m4 m5 m6 m7 m8 m9 m10

17

slide-27
SLIDE 27

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Application: improve diversity

Case study for application

  • Scaffolding process in Bioinformatcis.
  • Particular graphs.
  • Lack of data.

With our approach

  • Improve diversity of a set of generated models.
  • Diverse sizes, structures, element naming.

18

slide-28
SLIDE 28

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Application: improve diversity

Case study for application

  • Scaffolding process in Bioinformatcis.
  • Particular graphs.
  • Lack of data.

With our approach

  • Improve diversity of a set of generated models.
  • Diverse sizes, structures, element naming.

18

slide-29
SLIDE 29

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Genetic algorithm

Generate a first set of 100 models. Genetic algorithm (NSGAII)

  • Model the problem as a genetic algorithm.

Running the GA (500 times)

  • At each round, compute model distances and select

representative models (S).

  • Use S to produce the next population.

19

slide-30
SLIDE 30

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Experimental results

Round 0 Round 500

100 200 300 400 500 2 · 10−2 4 · 10−2 6 · 10−2 8 · 10−2 0.1 0.12

Genetic Algorithm step Cosine distance

100 200 300 400 500 0.2 0.4 0.6 0.8 1

Genetic Algorithm step Hamming distance

20

slide-31
SLIDE 31

null

Context & Introduction Measuring model differences Handling sets of models Application: improve diversity Conclusion

Conclusion & future work

Generated models suffer from

  • Close to each other in structure.
  • Element naming is poor.
  • Solutions’ space is not covered.

Contributions

  • Four different measures for comparing models
  • A method for comparing sets of models
  • Select representative models (matrix clustering)
  • Graphical viewing of covering (Voronoi diagrams)

Application

  • Generate scaffold graphs in bio-informatics
  • Improve diversity of generated models

21

slide-32
SLIDE 32