monitoring the execution of declarative model
play

Monitoring the Execution of Declarative Model Transformations R. - PowerPoint PPT Presentation

Seite 1 Monitoring the Execution of Declarative Model Transformations R. Groner, S. Gylstorff, M. Tichy Seite 2 R. Groner, S.Gylstorff, M. Tichy Transformation Model of an Script Electronic Control Unit (170 000 elements) Transformed


  1. Seite 1 Monitoring the Execution of Declarative Model Transformations R. Groner, S. Gylstorff, M. Tichy

  2. Seite 2 R. Groner, S.Gylstorff, M. Tichy Transformation Model of an Script Electronic Control Unit (170 000 elements) Transformed Model Transformation Engine 12 hours!

  3. Seite 3 R. Groner, S.Gylstorff, M. Tichy We need monitoring to understand why a transformation takes so long

  4. Seite 4 R. Groner, S.Gylstorff, M. Tichy Related Work • Piers, W. (2010). ATL 3.1 – Industrialization improvements. In Proceedings of the 2nd International Workshop on Model Transformation with ATL . Picture from Piers, W. (2010). ATL 3.1 – Industrialization improvements. In Proceedings of the 2nd International Workshop on Model Transformation with ATL .

  5. Seite 5 R. Groner, S.Gylstorff, M. Tichy We need monitoring to understand why a We need monitoring to understand why a transformation takes so long transformation takes so long • We implemented monitoring for the declarative transformation language Henshin with Kieker

  6. Seite 6 R. Groner, S.Gylstorff, M. Tichy Henshin transferMoney(in amount, in fromId, in toId) Left-hand side (LHS) Right-hand side (RHS) Model

  7. Seite 7 R. Groner, S.Gylstorff, M. Tichy Henshin transferMoney(in amount=5, in fromId=2, in toId=4) 1. Search plan 1. Search plan 1. Search plan 1. Search plan 1. Search plan 1. Search plan 1. Search plan 1. Search plan 1. Search plan 1. Search plan 1. Search plan 1. Search plan 1. Search plan • • • • • • • • • • • • • 1 c3 2 c3 {clientFrom,clientTo,from,to} {clientFrom,clientTo,from,to} {clientFrom,clientTo,from,to} {clientFrom,clientTo,from,to} {clientFrom,clientTo,from,to} {clientFrom,clientTo,from,to} {clientFrom,clientTo,from,to} {clientFrom,clientTo,from,to} {clientFrom,clientTo,from,to} {clientFrom,clientTo,from,to} {clientFrom,clientTo,from,to} {clientFrom,clientTo,from,to} {clientFrom,clientTo,from,to} 2. Domains 2. Domains 2. Domains 2. Domains 2. Domains 2. Domains 2. Domains 2. Domains 2. Domains 2. Domains 2. Domains 2. Domains • • • • • • • • • • • • clientFrom={c1,c2,c3} clientFrom={c1,c2,c3} clientFrom={c1,c2,c3} clientFrom={c1,c2,c3} clientFrom={c1,c2,c3} clientFrom={c1,c2,c3} clientFrom={c1,c2,c3} clientFrom={c1,c2,c3} clientFrom={c1,c2,c3} clientFrom={c1,c2,c3} clientFrom={c1,c2,c3} clientFrom={c1,c2,c3} 3 4 • • • • • • • • • • • clientTo={c1,c2,c3} clientTo={c1,c2,c3} clientTo={c1,c2,c3} clientTo={c1,c2,c3} clientTo={c1,c2,c3} clientTo={c1,c2,c3} clientTo={c1,c2,c3} clientTo={c1,c2,c3} clientTo={c1,c2,c3} clientTo={c1,c2,c3} clientTo={c1,c2,c3} • • • • • • • • • • from={a1,a2,a3,a4} from={a1,a2,a3,a4} from={a1,a2,a3,a4} from={a1,a2,a3,a4} from={a1,a2,a3,a4} from={a1,a2,a3,a4} from={a1,a2,a3,a4} from={a1,a2,a3,a4} from={a1,a2,a3,a4} from={a1,a2,a3,a4} Meta-Model • • • • • • • • • to={a1,a2,a3,a4} to={a1,a2,a3,a4} to={a1,a2,a3,a4} to={a1,a2,a3,a4} to={a1,a2,a3,a4} to={a1,a2,a3,a4} to={a1,a2,a3,a4} to={a1,a2,a3,a4} to={a1,a2,a3,a4} 3. clientFrom 3. clientFrom 3. clientFrom 3. clientFrom 3. clientFrom 3. clientFrom 3. clientFrom 3. clientFrom c3 • • • • • • • from={a3,a4} from={a3,a4} from={a3,a4} from={a3,a4} from={a3,a4} from={a3,a4} from={a3,a4} 4. clientTo 4. clientTo 4. clientTo 4. clientTo 4. clientTo 4. clientTo c3 • • • • • ? ? to={a3,a4} to={a3,a4} to={a3,a4} to={a3,a4} to={a3,a4} 5. from 5. from 5. from 5. from 6. Backtracking 6. Backtracking 6. Backtracking ? ? 7. clientTo Model

  8. Seite 8 R. Groner, S.Gylstorff, M. Tichy Henshin

  9. Seite 9 R. Groner, S.Gylstorff, M. Tichy transferMoney(in amount=5, in fromId=2, in toId=4) Transformation Engine

  10. Seite 10 R. Groner, S.Gylstorff, M. Tichy Related Work • Debray, S. K. (1988). Profiling prolog programs. Software: Practice and Experience , 18 (9), 821-839. • Prolog is a declarative programming language • Prolog uses a similar concept of backtracking during program execution

  11. Seite 11 R. Groner, S.Gylstorff, M. Tichy Relevant Execution Information • Search plan • Number of investigated model elements • Changes in the domains • Backtracking • Execution duration

  12. Seite 12 R. Groner, S.Gylstorff, M. Tichy Search Plan • Q1 How do we receive the order in which the elements of the LHS are Transformation chosen to find an isomorphic node in the input model? Transformation Meta-Model Engine Model

  13. Seite 13 R. Groner, S.Gylstorff, M. Tichy Number of investigated Model Elements • Q2 How do we get the number of model elements examined for each Transformation element in the LHS? Transformation Meta-Model Engine Model

  14. Seite 14 R. Groner, S.Gylstorff, M. Tichy Changes in the Domains • Q3 How can we monitor how binding decisions of a model element to an Transformation element of the LHS affect candidate sets for other LHS elements? Transformation Meta-Model Engine Model

  15. Seite 15 R. Groner, S.Gylstorff, M. Tichy Backtracking • Q4 How can we monitor where and when backtracking occurs? Transformation Transformation Meta-Model Engine Model

  16. Seite 16 R. Groner, S.Gylstorff, M. Tichy Execution Duration • Q5 How can we measure how long the transformation execution takes? Transformation Transformation Meta-Model Engine Model

  17. Seite 17 R. Groner, S.Gylstorff, M. Tichy Measuring Points Transformation Transformation Meta-Model Engine Model

  18. Seite 18 R. Groner, S.Gylstorff, M. Tichy Overhead Transformation Transformation Meta-Model Engine Model

  19. Seite 19 R. Groner, S.Gylstorff, M. Tichy Overhead Transformation Transformation Meta-Model Engine Model

  20. Seite 20 R. Groner, S.Gylstorff, M. Tichy Related Work • Batz, G. V., Kroll, M., & Geiß, R. (2007, October). A first experimental evaluation of search plan driven graph pattern matching. In International Symposium on Applications of Graph Transformations with Industrial Relevance (pp. 471-486). Springer, Berlin, Heidelberg. Transformation Engine

  21. Seite 21 R. Groner, S.Gylstorff, M. Tichy Usage Transformation Engine

  22. Seite 22 R. Groner, S.Gylstorff, M. Tichy Future Work • Extend our monitoring to support also control structures • Investigate the monitoring overhead with bigger examples

  23. Seite 23 R. Groner, S.Gylstorff, M. Tichy Summary

Recommend


More recommend