Platzhalter fr Bild Bild auf Titelfolie hinter das
Platzhalter für Bild, Bild auf Titelfolie hinter das Logo einsetzen Mining Model Variability – Inside Model Redundancy Sandro Schulze , TU Braunschweig Co-Work with David Wille, Sönke Holthusen, Ina Schaefer (TU Braunschweig)
The Big Picture Reliability, efficient evolution, knowledge Maintainability, bug propagation, (missing) back propagation Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 2
Models are software…too Models evolve by clone -and-own Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 3
Redundancy introduces Variability Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 4
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 5
Unleashing Redundancy Provides Data How to get there? Provides Information - How to add semantics to redundancy? - How to “structure” that mess? Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 6
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 7
The Model. Mania Approach Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 8
Mining Model Variability Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 9
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 10
Step 2: Creating Components Pairs a c M 1 e g b a d c f M 2 i g b d h h j (M 1. a, M 2. a) (M 1. a, M 2. b) (M 1. b, M 2. a) (M 1. b, M 2. b) (M 1. c, M 2. c) (M 1. c, M 2. d) (M 1. d, M 2. c) (M 1. d, M 2. d) (M 1. e, M 2. i) (M 1. e, M 2. j) (M 1. f, M 2. i) (M 1. f, M 2. j) ……………. Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 11
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 12
Step 3: Determining Component Variability Overall similarity function name (string similarity) Component similarity Interface similarity Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 13 Interface similarity
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 14
Example M 1 M 2 Alternative Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 15
Example M 1 M 2 Alternative Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 16
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 17
Limitations Hierarchical components Stateflow in components Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 18
Limitations Constraints for optional compontens User interaction (e. g. , in case of conflicts) Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 19
Summary Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 20
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…. Sandro Schulze | Mining Model Variability | PLE Workshop | Slide 21
- Slides: 22