Advertisement

Interactive Visual Analytics for Efficient Maintenance of Model Transformations

  • Andreas Rentschler
  • Qais Noorshams
  • Lucia Happe
  • Ralf Reussner
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7909)

Abstract

Maintaining model transformations remains a demanding task due to the sheer amount of metamodel elements and transformation rules that need to be understood. Several established techniques for software maintenance have been ported to model transformation development. Most available techniques proactively help to design and implement maintainable transformations, yet however, a growing number of legacy transformations needs to be maintained. Interactive visualization techniques to support model transformation maintenance still do not exist. We propose an interactive visual analytics process for understanding model transformations for maintenance. Data and control dependencies are statically analyzed and displayed in an interactive graph-based view with cross-view navigation and task-oriented filter criteria. We present results of an empirical study, where we asked programmers to carry out typical maintenance tasks on a real-world transformation in QVT-O. Subjects using our view located relevant code spots significantly more efficiently.

Keywords

Model Transformation Dependency Graph Object Constraint Language Maintenance Task Tool User 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Storey, M.A.D.: Theories, Tools and Research Methods in Program Comprehension: Past, Present and Future. Software Quality Journal 14(3), 187–208 (2006)CrossRefGoogle Scholar
  2. 2.
    Diehl, S.: Software Visualization: Visualizing the Structure, Behaviour, and Evolution of Software. Springer (2007)Google Scholar
  3. 3.
    Vieira, A., Ramalho, F.: A Static Analyzer for Model Transformations. In: MtATL 2011. CEUR Workshop Proceedings, vol. 742, pp. 75–88. CEUR-WS.org (2011)Google Scholar
  4. 4.
    van Amstel, M.F., van den Brand, M.G.J.: Model Transformation Analysis: Staying Ahead of the Maintenance Nightmare. In: Cabot, J., Visser, E. (eds.) ICMT 2011. LNCS, vol. 6707, pp. 108–122. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  5. 5.
    Keim, D.A., Kohlhammer, J., Ellis, G., Mansmann, F.: Mastering the Information Age - Solving Problems with Visual Analytics. Eurographics Association (2010)Google Scholar
  6. 6.
    Keim, D.A., Mansmann, F., Schneidewind, J., Thomas, J., Ziegler, H.: Visual analytics: Scope and challenges. In: Simoff, S.J., Böhlen, M.H., Mazeika, A. (eds.) Visual Data Mining. LNCS, vol. 4404, pp. 76–90. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  7. 7.
    Object Management Group (OMG): MOF 2.0 Query/View/Transformation, version 1.1 (January 2011), http://www.omg.org/spec/QVT/1.1/PDF/
  8. 8.
    Kindler, E., Wagner, R.: Triple Graph Grammars: Concepts, Extensions, Implementations, and Application Scenarios. Technical Report TR-RI-07-284, Univ. of Paderborn (2007)Google Scholar
  9. 9.
    Wang, J., Peng, X., Xing, Z., Zhao, W.: An Exploratory Study of Feature Location Process: Distinct Phases, Recurring Patterns, and Elementary Actions.. In: ICSM 2011. IEEE (2011)Google Scholar
  10. 10.
    Juzgado, N.J., Moreno, A.M.: Basics of Software Engineering Experimentation. Kluwer Academic Publishers (2001)Google Scholar
  11. 11.
    Meier, P., Kounev, S., Koziolek, H.: Automated Transformation of Component-Based Software Architecture Models to Queueing Petri Nets. In: MASCOTS 2011, pp. 339–348. IEEE (2011)Google Scholar
  12. 12.
    Saleh, K.A.: Software Engineering. J Ross Publishing (2009)Google Scholar
  13. 13.
    Varró, D., Varró–Gyapay, S., Ehrig, H., Prange, U., Taentzer, G.: Termination Analysis of Model Transformations by Petri Nets. In: Corradini, A., Ehrig, H., Montanari, U., Ribeiro, L., Rozenberg, G. (eds.) ICGT 2006. LNCS, vol. 4178, pp. 260–274. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  14. 14.
    Ujhelyi, Z., Horváth, Á., Varró, D.: A Generic Static Analysis Framework for Model Transformation Programs. Technical report, Budapest Univ. of Technology and Economics (2009)Google Scholar
  15. 15.
    Ujhelyi, Z., Horváth, Á., Varró, D.: Dynamic Backward Slicing of Model Transformations. In: ICST 2012, pp. 1–10. IEEE (2012)Google Scholar
  16. 16.
    Schönböck, J., Kappel, G., Kusel, A., Retschitzegger, W., Schwinger, W., Wimmer, M.: Catch Me If You Can - Debugging Support for Model Transformations. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 5–20. Springer, Heidelberg (2009)Google Scholar
  17. 17.
    Telea, A., Hoogendorp, H., Ersoy, O., Reniers, D.: Extraction and Visualization of Call Dependencies for Large C/C++ Code Bases: A Comparative Study. In: VISSOFT 2009, pp. 81–88. IEEE (2009)Google Scholar
  18. 18.
    Wimmer, M., Kappel, G., Kusel, A., Retschitzegger, W., Schönböck, J., Schwinger, W.: Fact or Fiction – Reuse in Rule-Based Model-to-Model Transformation Languages. In: Hu, Z., de Lara, J. (eds.) ICMT 2012. LNCS, vol. 7307, pp. 280–295. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  19. 19.
    Dietrich, J., Yakovlev, V., McCartin, C., Jenson, G., Duchrow, M.: Cluster Analysis of Java Dependency Graphs. In: SoftVis 2008, pp. 91–94. ACM (2008)Google Scholar
  20. 20.
    Jeanneret, C., Glinz, M., Baudry, B.: Estimating Footprints of Model Operations. In: ICSE 2011, pp. 601–610. ACM (2011)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Andreas Rentschler
    • 1
  • Qais Noorshams
    • 1
  • Lucia Happe
    • 1
  • Ralf Reussner
    • 1
  1. 1.Karlsruhe Institute of Technology (KIT)KarlsruheGermany

Personalised recommendations