Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Mining Model Variability –...

Post on 14-Dec-2015

214 views 0 download

Transcript of Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Mining Model Variability –...

Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen

Mining Model Variability – Inside Model RedundancySandro Schulze , TU Braunschweig

Co-Work with David Wille, Sönke Holthusen, Ina Schaefer (TU Braunschweig)

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 2

The Big Picture

Reliability, efficient evolution, knowledge

Maintainability, bug propagation, (missing) back propagation

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 3

Models are software…too

Models evolve by clone-and-own

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 4

Redundancy introduces Variability

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 5

Questions…to be answered

Where do you come from?Which model do you originate from?

Why are you here?What is redundancy really used for…and why?

Does your mother know, you are here?Does anybody know about relations caused by redundancy?

For now, we don’t ask for permission of being here… ;-)

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 6

Unleashing Redundancy

- How to add semantics to redundancy? - How to “structure” that mess?

Provides Data

Provides Information

How to get there?

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 7

Towards A Family of Models

Difficult to maintain

Propagating changes which models?

Replication usually not documented

Commonalities Differences

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 8

The ModelMania Approach

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 9

Mining Model Variability

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 10

Step 1: Initialization

Import set of models Select basis model (i.e., model with max. number of

elements) Select second model (for initial comparison) Determine starting components

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 11

Step 2: Creating Components Pairs

a

b

c

d

e

f

g h

M1 (M1.a, M2.a)(M1.a, M2.b)(M1.b, M2.a)(M1.b, M2.b)(M1.c, M2.c)(M1.c, M2.d)(M1.d, M2.c)(M1.d, M2.d)(M1.e, M2.i)(M1.e, M2.j)(M1.f, M2.i)(M1.f, M2.j)…………….

a

b d

i

j

g h

M2c

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 12

Step 3: Determining Component Variability

Subjects model components to be compared

Interfaces components connected with subjects via IN and OUT ports

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 13

Step 3: Determining Component Variability

functionname

(string similarity)

Component similarity Interface similarity

Overall similarity

Interface similarity

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 14

Step 3: Determining Component Variability

Component dependencies

• Step 2 and 3 repeated for all models (using same base model)

• Based on dependencies, models are merged family model

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 15

Example

M1 M2

Alternative

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 16

Example

M1 M2

Alternative

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 17

Putting the Pieces Together

Family Model

Common view on related models:

Commonalities and differences Guiding model creation

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 18

Limitations

Hierarchical components

Stateflow in components

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 19

Limitations

Constraints for optional compontens

User interaction (e.g., in case of conflicts)

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 20

Summary

Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 21

Questions…partly answered

Where do you come from?I’m (not) related to these guys (model components).

Why are you here?Hmmm…not sure, we have to figure out in future

Does your mother know, you are here?Now I could tell her…

What about permissions? Well, better not to ask….