DESIGN PATTERN DRIVEN DEVELOPMENT OF MODEL TRANSFORMATIONS by HUSEYIN
Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering...
-
Upload
brenden-howden -
Category
Documents
-
view
225 -
download
3
Transcript of Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering...
![Page 1: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/1.jpg)
Identification and Application of a Model Transformation
Design PatternHuseyin Ergin and
Eugene Syriani
University of Alabama
Software Modeling LabSoftware Engineering Group
Department of Computer ScienceCollege of Engineering
![Page 2: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/2.jpg)
2
OUTLINEIdentification and Application of a Model Transformation Design Pattern
Introduction
Running Example– LCA Problem
– Analysis
Similar Problems– Equivalent Resistance
– Dijkstra’s Shortest Path Algorithm
Fixed-point Iteration Design Pattern
Related Work
Conclusion & Future work
![Page 3: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/3.jpg)
3
Identification and Application of a Model Transformation Design Pattern
INTRODUCTION• MDE is software development approach that uses abstraction
between problem and software implementation
• Models are first class citizens.– A model captures some characteristics of the system and provides
knowledge about it.
• Each model conforms to a metamodel.– Metamodel represents the essence of a modeling language.
• Model transformation: An automated manipulation of models according to a specific intent [1].– Intent is the description of the goal behind the model transformation and
the reason for using it.
– Some intents: Manipulation, Restrictive query, Optimization etc.
[1] Amrani, M.; Dingel, J.; Lambers, L.; Lucio, L.; Salay, R.; Selim, G.; Syriani, E. & Wimmer, M. Towards a Model Transformation Intent Catalog MoDELS workshop on Analysis of model Transformation, 2012
![Page 4: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/4.jpg)
4
Identification and Application of a Model Transformation Design Pattern
INTRODUCTION – CONT’D• Model transformation schema in MDE [2]
[2] Eugene Syriani, Jeff Gray and Hans Vangheluwe. Modeling a Model Transformation Language. Domain Engineering: Product Lines, Conceptual Models, and Languages (2012)
![Page 5: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/5.jpg)
5
Identification and Application of a Model Transformation Design Pattern
INTRODUCTION – CONT’D• MoTif: Rule-based transformation language [3]
• Graphical transformation rules
• Explicit rule scheduling
[3] E. Syriani and H. Vangheluwe, “A Modular Timed Model Transformation Language,” Journal on Software and Systems Modeling, vol. 11, pp. 1–28, June 2011.
![Page 6: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/6.jpg)
6
Identification and Application of a Model Transformation Design Pattern
RUNNING EXAMPLE• Lowest Common Ancestor Problem [4]:
– In a tree structure find the lowest common ancestor of two given nodes.
– Solution using a naïve approach
[4] A. V. Aho, J. E. Hopcroft, and J. D. Ullman, “On finding lowest common ancestors in trees,” in Proceedings of the fifth annual ACM symposium on Theory of computing, ser. STOC ’73. New York, NY, USA: ACM, 1973, pp. 253–265.
![Page 7: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/7.jpg)
7
Identification and Application of a Model Transformation Design Pattern
RUNNING EXAMPLE – CONT’D• A metamodel for such a tree:
• Rules for naïve solution Scheduling
![Page 8: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/8.jpg)
8
Identification and Application of a Model Transformation Design Pattern
ILLUSTRATION
![Page 9: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/9.jpg)
9
Identification and Application of a Model Transformation Design Pattern
RUNNING EXAMPLE – IMPROVED SOLUTION• Now this solution uses ‘locality’
• Focus in the area of input nodes, and check for a solution in every step
• Rules Scheduling
![Page 10: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/10.jpg)
10
Identification and Application of a Model Transformation Design Pattern
ILLUSTRATION
![Page 11: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/11.jpg)
11
Identification and Application of a Model Transformation Design Pattern
ANALYSIS• n = number of nodes
![Page 12: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/12.jpg)
12
Identification and Application of a Model Transformation Design Pattern
EQUIVALENT RESISTANCE• Finding the equivalent resistance in an electrical circuit
![Page 13: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/13.jpg)
13
Identification and Application of a Model Transformation Design Pattern
ILLUSTRATION
![Page 14: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/14.jpg)
14
Identification and Application of a Model Transformation Design Pattern
DIJKSTRA’S SHORTEST PATH ALGORITHM • Find the shortest path in a given directed tree
![Page 15: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/15.jpg)
15
Identification and Application of a Model Transformation Design Pattern
ILLUSTRATION
![Page 16: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/16.jpg)
16
Identification and Application of a Model Transformation Design Pattern
DETAILS OF THE PATTERN• Name: Fixed-point iteration design pattern
• Problem: Applicable when the problem can be solved stepwise
• Solution: Has three phases– Initialize: Necessary setup or
an initial step towards solution
– Check: Check if the intermediateform has a solution
– Advance: Iterate the intermediateform one step closer to a solution
• Structure:
![Page 17: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/17.jpg)
17
Identification and Application of a Model Transformation Design Pattern
RELATED WORK• Agrawal et al. [5] has presented three model transformation design
patterns– Leaf collector, Transitive closure, Proxy generator idiom
• Iacob et al. [6] has presented five model transformation design patterns– Mapping pattern, Refinement pattern, Node abstraction pattern, Duality
pattern, Flattening pattern
• These patterns are not analyzed in terms of quality
• No standard formalism to display the structure of the pattern.
[5] A. Agrawal, “Reusable Idioms and Patterns in Graph Transformation Languages,” in International Workshop on Graph-Based Tools, ser. ENTCS, vol. 127. Rome: Elsevier, March 2005, pp. 181–192[6] M.-E. Iacob, M. W. A. Steen, and L. Heerink, “Reusable Model Transformation Patterns,” in Proceedings of the Enterprise Distributed Object Computing Conference Workshops. Munich: IEEE Computer Society, Setpember 2008, pp. 1–10.
![Page 18: Huseyin Ergin and Eugene Syriani University of Alabama Software Modeling Lab Software Engineering Group Department of Computer Science College of Engineering.](https://reader037.fdocuments.in/reader037/viewer/2022102805/551bed42550346af588b64b6/html5/thumbnails/18.jpg)
18
CONCLUSION & FUTURE WORK
?Identification and Application of a Model Transformation Design Pattern
• We have identified a model transformation design pattern by drawing conclusion from solutions of three problems.
• We gave the details about the Fixed-point iteration design pattern.
• We used the representation of the language we used.– The representation looks suitable but needs refinement to support more
design patterns from other languages also.
• We showed some metrics to compare solutions.– We plan to identify more metrics to be measured.