Evaluating the performance of model  transformation styles with Maude     Roberto Bruni               Alberto Lluch Lafuen...
·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
Serverstatus: busy       Clientstatus: connected
Server              Serverstatus: busy        status: free!       Client               Clientstatus: connected   status: d...
Serverstatus: free        Clientstatus: disconnected
Server                 Serverstatus: free           status: Y        Client                Clientstatus: disconnected   st...
Server                 Serverstatus: free           status: Y        Client                Clientstatus: disconnected   st...
Server                 Serverstatus: free           status: Y        Client                Clientstatus: disconnected   st...
Locality                     Server     Locality   Server                              ClientClient      Client
Locality                     Server     Locality   Server                              ClientClient      Client
Locality                     Server     Locality   Server                              ClientClient      Client
GT vs SOS?
GT vs SOS?●   Easiness;
GT vs SOS?●   Easiness;●   Understandability;
GT vs SOS?●   Easiness;●   Understandability;●   Verification;
GT vs SOS?●   Easiness;●   Understandability;●   Verification;●   …
GT vs SOS?●   Easiness;●   Understandability;●   Verification;●   …●   Performance (this paper!)
·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
case study #1: component migration
case study #1: component migration
case study #1: component migration
case study #1: component migration
case study #1: component migration
case study #1: component migration
case study #1: component migration
case study #1: component migration
case study #1: component migration
case study #1: component migration
case study #1: component migration
case study #2: class diagrams to relational schemas
case study #2: class diagrams to relational schemas
case study #2: class diagrams to relational schemas
case study #2: class diagrams to relational schemas
case study #2: class diagrams to relational schemas
case study #2: class diagrams to relational schemas
case study #2: class diagrams to relational schemas
case study #3: pullup refactoring
case study #3: pullup refactoring
case study #3: pullup refactoring
case study #3: pullup refactoring
case study #3: pullup refactoring
·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
a          aP → P    Q → Q       τ   P|Q → P|Q
A rule like                a              t → t
A rule like                     a                  t → tFollowing Verdejo is implemented as              t => {a}t
A rule like                     a                  t → tFollowing Verdejo is implemented as              t => {a}tOur case...
·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
experiment #1
experiment #1/hypothesis“SOS* outperforms SOS”
experiment #1/resultsYes! :)No! :(Well... :|
experiment #1/resultsYes! :)No! :(Well... :|
experiment #1/resultsYes! :)No! :(Well... :|
experiment #2
experiment #2/hypothesis  “SOS degenerates when thenumber of possible (unnecesary)  transformations increases ”
experiment #2/setting Component           Componentstatus: normal      status: status1
experiment #2/setting Component           Componentstatus: normal      status: status1 Component           Componentstatus...
experiment #2/setting Component                 Componentstatus: normal            status: status1 Component              ...
experiment #2/results
experiment #3
experiment #3/hypothesis “the performance of SOS* andGT varies a lot depending on the            setting”
experiment #3/resultsSOS*SPOSPO
experiment #3/resultsSOS*GTGT
experiment #4
experiment #4/hypothesis“SOS suffers in presence of  cross-layering edges”
experiment #4/setting
experiment #4/setting
experiment #4/setting
experiment #4/setting
experiment #4/setting
experiment #4/results         (before)
·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
Summary●   Many ways to program MDT;
Summary●   Many ways to program MDT;●   We have considered two prominent ones;
Summary●   Many ways to program MDT;●   We have considered two prominent ones;●   Performance varies drastically;
Summary●   Many ways to program MDT;●   We have considered two prominent ones;●   Performance varies drastically;●   Each ...
Summary●   Many ways to program MDT;●   We have considered two prominent ones;●   Performance varies drastically;●   Each ...
experiment #5
experiment #5/hypothesis“flattening is more efficient       than nesting”
experiment #5/results
Outlook●   Other styles, implementations, examples;
Outlook●   Other styles, implementations, examples;●   Export to other settings;
Outlook●   Other styles, implementations, examples;●   Export to other settings;●   (Heuristic) strategies;
Outlook●   Other styles, implementations, examples;●   Export to other settings;●   (Heuristic) strategies;●   Parallellism;
Outlook●   Other styles, implementations, examples;●   Export to other settings;●   (Heuristic) strategies;●   Parallellis...
thanks a lot!
alberto.lluch@imtlucca.itlinkedin.com/in/albertolluch
Evaluating the performance of model transformation styles with Maude @ Symposium FACS 2011
Evaluating the performance of model transformation styles with Maude @ Symposium FACS 2011
Evaluating the performance of model transformation styles with Maude @ Symposium FACS 2011
Evaluating the performance of model transformation styles with Maude @ Symposium FACS 2011
Evaluating the performance of model transformation styles with Maude @ Symposium FACS 2011
Evaluating the performance of model transformation styles with Maude @ Symposium FACS 2011
Evaluating the performance of model transformation styles with Maude @ Symposium FACS 2011
Evaluating the performance of model transformation styles with Maude @ Symposium FACS 2011
Upcoming SlideShare
Loading in …5
×

Evaluating the performance of model transformation styles with Maude @ Symposium FACS 2011

2,223 views

Published on

Rule-based programming has been shown to be very successful in many application areas. Two prominent examples are the specification of model transformations in model driven development approaches and the definition of structured operational semantics of formal languages. General rewriting frameworks such as Maude are flexible enough to allow the programmer to adopt and mix various rule styles. The choice between styles can be biased by the programmer's background. For instance, experts in visual formalisms might prefer graph-rewriting styles, while experts in semantics might prefer structurally inductive rules. This paper evaluates the performance of different rule styles on a significant benchmark taken from the literature on model transformation. Depending on the actual transformation being carried out, our results show that different rule styles can offer drastically different performances. We point out the situations from which each rule style benefits to offer a valuable set of hints for choosing one style over the other.

Published in: Education, Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
2,223
On SlideShare
0
From Embeds
0
Number of Embeds
1,315
Actions
Shares
0
Downloads
2
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Evaluating the performance of model transformation styles with Maude @ Symposium FACS 2011

  1. 1. Evaluating the performance of model transformation styles with Maude Roberto Bruni Alberto Lluch Lafuente Uni Pisa IMT Lucca Acks to Artur Boronat (Uni Leicester) International Symposium on Formal Aspects of Component Software September 14-16, 2011, Oslo
  2. 2. ·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
  3. 3. ·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
  4. 4. ·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
  5. 5. ·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
  6. 6. ·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
  7. 7. ·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
  8. 8. Serverstatus: busy Clientstatus: connected
  9. 9. Server Serverstatus: busy status: free! Client Clientstatus: connected status: disconnected!
  10. 10. Serverstatus: free Clientstatus: disconnected
  11. 11. Server Serverstatus: free status: Y Client Clientstatus: disconnected status: connected!
  12. 12. Server Serverstatus: free status: Y Client Clientstatus: disconnected status: connected!if Server Serverstatus: free status: Y
  13. 13. Server Serverstatus: free status: Y Client Clientstatus: disconnected status: connected!if Server Serverstatus: free status: Yand Client Clientstatus: disconnected status: connected!
  14. 14. Locality Server Locality Server ClientClient Client
  15. 15. Locality Server Locality Server ClientClient Client
  16. 16. Locality Server Locality Server ClientClient Client
  17. 17. GT vs SOS?
  18. 18. GT vs SOS?● Easiness;
  19. 19. GT vs SOS?● Easiness;● Understandability;
  20. 20. GT vs SOS?● Easiness;● Understandability;● Verification;
  21. 21. GT vs SOS?● Easiness;● Understandability;● Verification;● …
  22. 22. GT vs SOS?● Easiness;● Understandability;● Verification;● …● Performance (this paper!)
  23. 23. ·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
  24. 24. case study #1: component migration
  25. 25. case study #1: component migration
  26. 26. case study #1: component migration
  27. 27. case study #1: component migration
  28. 28. case study #1: component migration
  29. 29. case study #1: component migration
  30. 30. case study #1: component migration
  31. 31. case study #1: component migration
  32. 32. case study #1: component migration
  33. 33. case study #1: component migration
  34. 34. case study #1: component migration
  35. 35. case study #2: class diagrams to relational schemas
  36. 36. case study #2: class diagrams to relational schemas
  37. 37. case study #2: class diagrams to relational schemas
  38. 38. case study #2: class diagrams to relational schemas
  39. 39. case study #2: class diagrams to relational schemas
  40. 40. case study #2: class diagrams to relational schemas
  41. 41. case study #2: class diagrams to relational schemas
  42. 42. case study #3: pullup refactoring
  43. 43. case study #3: pullup refactoring
  44. 44. case study #3: pullup refactoring
  45. 45. case study #3: pullup refactoring
  46. 46. case study #3: pullup refactoring
  47. 47. ·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
  48. 48. a aP → P Q → Q τ P|Q → P|Q
  49. 49. A rule like a t → t
  50. 50. A rule like a t → tFollowing Verdejo is implemented as t => {a}t
  51. 51. A rule like a t → tFollowing Verdejo is implemented as t => {a}tOur case studies allow this “top-down” variant {a}t => t
  52. 52. ·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
  53. 53. experiment #1
  54. 54. experiment #1/hypothesis“SOS* outperforms SOS”
  55. 55. experiment #1/resultsYes! :)No! :(Well... :|
  56. 56. experiment #1/resultsYes! :)No! :(Well... :|
  57. 57. experiment #1/resultsYes! :)No! :(Well... :|
  58. 58. experiment #2
  59. 59. experiment #2/hypothesis “SOS degenerates when thenumber of possible (unnecesary) transformations increases ”
  60. 60. experiment #2/setting Component Componentstatus: normal status: status1
  61. 61. experiment #2/setting Component Componentstatus: normal status: status1 Component Componentstatus: normal status: status2
  62. 62. experiment #2/setting Component Componentstatus: normal status: status1 Component Componentstatus: normal status: status2 ... Component Componentstatus: normal status: statusN
  63. 63. experiment #2/results
  64. 64. experiment #3
  65. 65. experiment #3/hypothesis “the performance of SOS* andGT varies a lot depending on the setting”
  66. 66. experiment #3/resultsSOS*SPOSPO
  67. 67. experiment #3/resultsSOS*GTGT
  68. 68. experiment #4
  69. 69. experiment #4/hypothesis“SOS suffers in presence of cross-layering edges”
  70. 70. experiment #4/setting
  71. 71. experiment #4/setting
  72. 72. experiment #4/setting
  73. 73. experiment #4/setting
  74. 74. experiment #4/setting
  75. 75. experiment #4/results (before)
  76. 76. ·1· Background and Motivation·2· Case studies·3· Some implementation notes·4· Experiments·5· Conclusion
  77. 77. Summary● Many ways to program MDT;
  78. 78. Summary● Many ways to program MDT;● We have considered two prominent ones;
  79. 79. Summary● Many ways to program MDT;● We have considered two prominent ones;● Performance varies drastically;
  80. 80. Summary● Many ways to program MDT;● We have considered two prominent ones;● Performance varies drastically;● Each exploits a different representation...
  81. 81. Summary● Many ways to program MDT;● We have considered two prominent ones;● Performance varies drastically;● Each exploits a different representation...● but we can pass from one to the other.
  82. 82. experiment #5
  83. 83. experiment #5/hypothesis“flattening is more efficient than nesting”
  84. 84. experiment #5/results
  85. 85. Outlook● Other styles, implementations, examples;
  86. 86. Outlook● Other styles, implementations, examples;● Export to other settings;
  87. 87. Outlook● Other styles, implementations, examples;● Export to other settings;● (Heuristic) strategies;
  88. 88. Outlook● Other styles, implementations, examples;● Export to other settings;● (Heuristic) strategies;● Parallellism;
  89. 89. Outlook● Other styles, implementations, examples;● Export to other settings;● (Heuristic) strategies;● Parallellism;● Non-determinism;● ...
  90. 90. thanks a lot!
  91. 91. alberto.lluch@imtlucca.itlinkedin.com/in/albertolluch

×