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

monitoring the execution of declarative model
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Seite 1

Monitoring the Execution of Declarative Model Transformations

  • R. Groner,
  • S. Gylstorff, M. Tichy
slide-2
SLIDE 2

Seite 2

12 hours!

Model of an Electronic Control Unit (170 000 elements) Transformation Script Transformation Engine Transformed Model

  • R. Groner, S.Gylstorff, M. Tichy
slide-3
SLIDE 3

Seite 3

We need monitoring to understand why a transformation takes so long

  • R. Groner, S.Gylstorff, M. Tichy
slide-4
SLIDE 4

Seite 4

  • Piers, W. (2010). ATL 3.1–Industrialization improvements. In Proceedings
  • f the 2nd International Workshop on Model Transformation with ATL.

Related Work

Picture from Piers, W. (2010). ATL 3.1–Industrialization improvements. In Proceedings of the 2nd International Workshop on Model Transformation with ATL.

  • R. Groner, S.Gylstorff, M. Tichy
slide-5
SLIDE 5

Seite 5

We need monitoring to understand why a transformation takes so long

  • R. Groner, S.Gylstorff, M. Tichy

We need monitoring to understand why a transformation takes so long

  • We implemented monitoring for the declarative transformation

language Henshin with Kieker

slide-6
SLIDE 6

Seite 6

Model

  • R. Groner, S.Gylstorff, M. Tichy

Henshin

Left-hand side (LHS) Right-hand side (RHS) transferMoney(in amount, in fromId, in toId)

slide-7
SLIDE 7

Seite 7

  • 1. Search plan
  • {clientFrom,clientTo,from,to}
  • 2. Domains
  • clientFrom={c1,c2,c3}
  • clientTo={c1,c2,c3}
  • from={a1,a2,a3,a4}
  • to={a1,a2,a3,a4}
  • 3. clientFrom
  • from={a3,a4}
  • 4. clientTo
  • to={a3,a4}
  • 1. Search plan
  • {clientFrom,clientTo,from,to}
  • 2. Domains
  • clientFrom={c1,c2,c3}
  • clientTo={c1,c2,c3}
  • from={a1,a2,a3,a4}
  • to={a1,a2,a3,a4}
  • 3. clientFrom
  • from={a3,a4}
  • 4. clientTo
  • to={a3,a4}
  • 5. from
  • 1. Search plan
  • {clientFrom,clientTo,from,to}
  • 2. Domains
  • clientFrom={c1,c2,c3}
  • clientTo={c1,c2,c3}
  • from={a1,a2,a3,a4}
  • to={a1,a2,a3,a4}
  • 3. clientFrom
  • from={a3,a4}
  • 4. clientTo
  • to={a3,a4}
  • 5. from
  • 6. Backtracking
  • 1. Search plan
  • {clientFrom,clientTo,from,to}
  • 2. Domains
  • clientFrom={c1,c2,c3}
  • clientTo={c1,c2,c3}
  • from={a1,a2,a3,a4}
  • to={a1,a2,a3,a4}
  • 3. clientFrom
  • from={a3,a4}
  • 4. clientTo
  • to={a3,a4}
  • 5. from
  • 6. Backtracking
  • 1. Search plan
  • {clientFrom,clientTo,from,to}
  • 2. Domains
  • clientFrom={c1,c2,c3}
  • clientTo={c1,c2,c3}
  • from={a1,a2,a3,a4}
  • to={a1,a2,a3,a4}
  • 3. clientFrom
  • from={a3,a4}
  • 4. clientTo
  • to={a3,a4}
  • 5. from
  • 6. Backtracking
  • 7. clientTo

Model Meta-Model

  • R. Groner, S.Gylstorff, M. Tichy

Henshin

  • 1. Search plan
  • {clientFrom,clientTo,from,to}

1 2 3 4

  • 1. Search plan
  • {clientFrom,clientTo,from,to}
  • 2. Domains
  • clientFrom={c1,c2,c3}
  • 1. Search plan
  • {clientFrom,clientTo,from,to}
  • 2. Domains
  • clientFrom={c1,c2,c3}
  • clientTo={c1,c2,c3}
  • 1. Search plan
  • {clientFrom,clientTo,from,to}
  • 2. Domains
  • clientFrom={c1,c2,c3}
  • clientTo={c1,c2,c3}
  • from={a1,a2,a3,a4}

transferMoney(in amount=5, in fromId=2, in toId=4)

  • 1. Search plan
  • {clientFrom,clientTo,from,to}
  • 2. Domains
  • clientFrom={c1,c2,c3}
  • clientTo={c1,c2,c3}
  • from={a1,a2,a3,a4}
  • to={a1,a2,a3,a4}
  • 1. Search plan
  • {clientFrom,clientTo,from,to}
  • 2. Domains
  • clientFrom={c1,c2,c3}
  • clientTo={c1,c2,c3}
  • from={a1,a2,a3,a4}
  • to={a1,a2,a3,a4}
  • 3. clientFrom

? c3

  • 1. Search plan
  • {clientFrom,clientTo,from,to}
  • 2. Domains
  • clientFrom={c1,c2,c3}
  • clientTo={c1,c2,c3}
  • from={a1,a2,a3,a4}
  • to={a1,a2,a3,a4}
  • 3. clientFrom
  • from={a3,a4}
  • 1. Search plan
  • {clientFrom,clientTo,from,to}
  • 2. Domains
  • clientFrom={c1,c2,c3}
  • clientTo={c1,c2,c3}
  • from={a1,a2,a3,a4}
  • to={a1,a2,a3,a4}
  • 3. clientFrom
  • from={a3,a4}
  • 4. clientTo

? c3 ? ? c3 c3

slide-8
SLIDE 8

Seite 8

Henshin

  • R. Groner, S.Gylstorff, M. Tichy
slide-9
SLIDE 9

Seite 9

Transformation Engine

transferMoney(in amount=5, in fromId=2, in toId=4)

  • R. Groner, S.Gylstorff, M. Tichy
slide-10
SLIDE 10

Seite 10

  • 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

Related Work

  • R. Groner, S.Gylstorff, M. Tichy
slide-11
SLIDE 11

Seite 11

  • Search plan
  • Number of investigated model elements
  • Changes in the domains
  • Backtracking
  • Execution duration

Relevant Execution Information

  • R. Groner, S.Gylstorff, M. Tichy
slide-12
SLIDE 12

Seite 12

Transformation Model Meta-Model Transformation Engine

  • R. Groner, S.Gylstorff, M. Tichy
  • Q1 How do we receive the order in which the elements of the LHS are

chosen to find an isomorphic node in the input model?

Search Plan

slide-13
SLIDE 13

Seite 13

Transformation Model Meta-Model Transformation Engine

  • R. Groner, S.Gylstorff, M. Tichy
  • Q2 How do we get the number of model elements examined for each

element in the LHS?

Number of investigated Model Elements

slide-14
SLIDE 14

Seite 14

Transformation Model Meta-Model Transformation Engine

  • R. Groner, S.Gylstorff, M. Tichy
  • Q3 How can we monitor how binding decisions of a model element to an

element of the LHS affect candidate sets for other LHS elements?

Changes in the Domains

slide-15
SLIDE 15

Seite 15

Transformation Model Meta-Model Transformation Engine

  • R. Groner, S.Gylstorff, M. Tichy
  • Q4 How can we monitor where and when backtracking occurs?

Backtracking

slide-16
SLIDE 16

Seite 16

Transformation Model Meta-Model Transformation Engine

  • R. Groner, S.Gylstorff, M. Tichy
  • Q5 How can we measure how long the transformation execution takes?

Execution Duration

slide-17
SLIDE 17

Seite 17

Transformation Model Meta-Model Transformation Engine

  • R. Groner, S.Gylstorff, M. Tichy

Measuring Points

slide-18
SLIDE 18

Seite 18

Transformation Model Meta-Model Transformation Engine

  • R. Groner, S.Gylstorff, M. Tichy

Overhead

slide-19
SLIDE 19

Seite 19

Transformation Model Meta-Model Transformation Engine

  • R. Groner, S.Gylstorff, M. Tichy

Overhead

slide-20
SLIDE 20

Seite 20

  • 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.

Related Work

Transformation Engine

  • R. Groner, S.Gylstorff, M. Tichy
slide-21
SLIDE 21

Seite 21

Usage

Transformation Engine

  • R. Groner, S.Gylstorff, M. Tichy
slide-22
SLIDE 22

Seite 22

Future Work

  • R. Groner, S.Gylstorff, M. Tichy
  • Extend our monitoring to support also control structures
  • Investigate the monitoring overhead with bigger examples
slide-23
SLIDE 23

Seite 23

Summary

  • R. Groner, S.Gylstorff, M. Tichy