platzhalter für bild, bild auf titelfolie hinter das logo einsetzen mining model variability –...
TRANSCRIPT
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….