Automatic Conformance Testing of Optimized Triple Graph Grammar Implementations

  • Stephan Hildebrandt
  • Leen Lambers
  • Holger Giese
  • Dominic Petrick
  • Ingo Richter
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7233)

Abstract

In model-driven development, model transformations can be specified using an operational (imperative) or relational (declarative) approach. When using a relational approach, approved formal concepts are necessary to derive a conform operationalization. In general, though, it is not sure if implementations realize these formal concepts in an entirely correct way. Moreover, usually, available formal concepts neither cover every technicality, nor cover each additional optimization an implementation relies on. Consequently, conformance needs to be validated also on the implementation level. Conformance means that for each source model S and target model T related according to the relational specification, a corresponding implementation transforms S into T (and T into S in case that the specification is bidirectional).

We present an automatic conformance testing approach for TGG implementations, where the Triple Graph Grammar (TGG) approach is an important representative of relational model transformation approaches. We show that the grammar character of TGGs is very convenient for the automatic generation of conformance test cases. In particular, test input models can be generated together with their expected result obtaining a complete oracle. We show how to measure test suite quality and evaluate our approach on our own TGG implementation.

Keywords

Conformance testing model transformation triple graph grammar relational specification model-driven development 

References

  1. 1.
    Amelunxen, C., Klar, F., Königs, A., Rötschke, T., Schürr, A.: Metamodel-based tool integration with MOFLON. In: ICSE 2008, pp. 807–810. ACM Press (2008)Google Scholar
  2. 2.
    Baldan, P., König, B., Stürmer, I.: Generating Test Cases for Code Generators by Unfolding Graph Transformation Systems. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 194–209. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  3. 3.
    Baudry, B., Ghosh, S., Fleurey, F., France, R., Le Traon, Y., Mottu, J.M.: Barriers to systematic model transformation testing. Communications of the ACM 53, 139–143 (2010)CrossRefGoogle Scholar
  4. 4.
    Biermann, E., Ermel, C., Lambers, L., Prange, U., Runge, O., Taentzer, G.: Introduction to AGG and EMF Tiger by modeling a conference scheduling system. International Journal on Software Tools for Technology Transfer 12(3-4) (2010)Google Scholar
  5. 5.
    Burmester, S., Giese, H., Niere, J., Tichy, M., Wadsack, J.P., Wagner, R., Wendehals, L., Zündorf, A.: Tool integration at the meta-model level within the FUJABA Tool Suite. International Journal on Software Tools for Technology Transfer 6(3), 203–218 (2004)CrossRefGoogle Scholar
  6. 6.
    Cabot, J., Clarisó, R., Guerra, E., de Lara, J.: Verification and validation of declarative model-to-model transformations through invariants. Journal of Systems and Software 83(2), 283–302 (2010)CrossRefGoogle Scholar
  7. 7.
    Chen, M., Mishra, P., Kalita, D.: Coverage-driven automatic test generation for UML Activity Diagrams. In: Proceedings of the 18th ACM Great Lakes Symposium on VLSI, pp. 139–142. ACM (2008)Google Scholar
  8. 8.
    Ehrig, K., Küster, J.M., Taentzer, G., Winkelmann, J.: Generating Instance Models from Meta Models. In: Gorrieri, R., Wehrheim, H. (eds.) FMOODS 2006. LNCS, vol. 4037, pp. 156–170. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  9. 9.
    Engels, G., Güldali, B., Lohmann, M.: Towards Model-Driven Unit Testing. In: Kühne, T. (ed.) MoDELS 2006. LNCS, vol. 4364, pp. 182–192. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  10. 10.
    Fiorentini, C., Momigliano, A., Ornaghi, M., Poernomo, I.: A Constructive Approach to Testing Model Transformations. In: Tratt, L., Gogolla, M. (eds.) ICMT 2010. LNCS, vol. 6142, pp. 77–92. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  11. 11.
    Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story Diagrams: A New Graph Rewrite Language Based on the Unified Modeling Language and Java. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) TAGT 1998. LNCS, vol. 1764, pp. 296–309. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  12. 12.
    Fleurey, F., Steel, J., Baudry, B.: Validation in model-driven engineering: Testing model transformations. In: First International Workshop on Model, Design and Validation, pp. 29–40. IEEE Computer Society (2004)Google Scholar
  13. 13.
    Fraser, G., Wotawa, F., Ammann, P.E.: Testing with model checkers: A survey. Software Testing, Verification and Reliability 19(3), 215–261 (2009)CrossRefGoogle Scholar
  14. 14.
    Giese, H., Glesner, S., Leitner, J., Schäfer, W., Wagner, R.: Towards verified model to code transformations. In: Proc. of the 3rd Workshop on Model Design and Validation. ACM/IEEE, Genova, Italy (2006)Google Scholar
  15. 15.
    Giese, H., Hildebrandt, S., Lambers, L.: Toward bridging the gap between formal semantics and implementation of triple graph grammars. Tech. Rep. 37, Hasso Plattner Institute at the University of Potsdam (2010)Google Scholar
  16. 16.
    Giese, H., Hildebrandt, S., Lambers, L.: Toward bridging the gap between formal semantics and implementation of triple graph grammars. In: Lúcio, L., Vieira, E., Weißleder, S. (eds.) Proceedings of Models Workshop on Model-Driven Engineering, Verification and Validations, pp. 19–24. IEEE Computer Society (2010)Google Scholar
  17. 17.
    Giese, H., Hildebrandt, S., Seibel, A.: Improved flexibility and scalability by interpreting story diagrams. In: Magaria, T., Padberg, J., Taentzer, G. (eds.) Proceedings of the 8th International Workshop on Graph Transformation and Visual Modeling Techniques. Electronic Communications of the EASST, vol. 18 (2009)Google Scholar
  18. 18.
    Giese, H., Hildebrandt, S., Neumann, S.: Model Synchronization at Work: Keeping SysML and AUTOSAR Models Consistent. In: Engels, G., Lewerentz, C., Schäfer, W., Schürr, A., Westfechtel, B. (eds.) Graph Transformations and Model-Driven Engineering. LNCS, vol. 5765, pp. 555–579. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  19. 19.
    Greenyer, J., Kindler, E.: Comparing relational model transformation technologies: Implementing Query/View/Transformation with triple graph grammars. Software and Systems Modeling 9(1), 21–46 (2010)CrossRefGoogle Scholar
  20. 20.
    Heckel, R., Mariani, L.: Automatic Conformance Testing of Web Services. In: Cerioli, M. (ed.) FASE 2005. LNCS, vol. 3442, pp. 34–48. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  21. 21.
    Hermann, F., Ehrig, H., Golas, U., Orejas, F.: Efficient analysis and execution of correct and complete model transformations based on triple graph grammars. In: Proceedings of the 1st International Workshop on Model-Driven Interoperability, pp. 22–31. ACM (2010)Google Scholar
  22. 22.
    Kindler, E., Wagner, R.: Triple graph grammars: Concept, extensions, implementations and application scenarios. Tech. rep., Software Engineering Group, Department of Computer Science, Universität Paderborn (2007)Google Scholar
  23. 23.
    Kossatchev, A.S., Posypkin, M.A.: Survey of compiler testing methods. Programming and Computer Software 31, 10–19 (2005)MathSciNetGoogle Scholar
  24. 24.
    Küster, J.M., Abd-El-Razik, M.: Validation of Model Transformations – First Experiences Using a White Box Approach. In: Kühne, T. (ed.) MoDELS 2006. LNCS, vol. 4364, pp. 193–204. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  25. 25.
    de Lara, J., Vangheluwe, H.: Using AToM3 as a Meta-CASE environment. In: International Conference on Enterprise Integration Systems (2002)Google Scholar
  26. 26.
    Lin, Y., Zhang, J., Gray, J.: Model comparison: A key challenge for transformation testing and version control in model driven software development. In: Control in Model Driven Software Development. OOPSLA/GPCE: Best Practices for Model-Driven Software Development, pp. 219–236. Springer (2004)Google Scholar
  27. 27.
    Lin, Y., Zhang, J., Gray, J.: A testing framework for model transformations. In: Beydeda, S., Book, M., Gruhn, V. (eds.) Model-Driven Software Development, pp. 219–236. Springer (2005)Google Scholar
  28. 28.
    Mottu, J.M., Baudry, B., Traon, Y.L.: Model transformation testing: Oracle issue. In: Proceedings of the 2008 IEEE International Conference on Software Testing Verification and Validation Workshop, pp. 105–112. IEEE Computer Society (2008)Google Scholar
  29. 29.
    Object Management Group: MOF 2.0 QVT 1.0 Specification (2008)Google Scholar
  30. 30.
    Richardson, D., O’Malley, O., Tittle, C.: Approaches to specification-based testing. In: Kemmerer, R. (ed.) Proc. of the ACM SIGSOFT 1989 Third Symposium on Software Testing, Analysis, and Verification, pp. 86–96. ACM Press (1989)Google Scholar
  31. 31.
    Schürr, A.: Specification of Graph Translators with Triple Graph Grammars. In: Mayr, E.W., Schmidt, G., Tinhofer, G. (eds.) WG 1994. LNCS, vol. 903, pp. 151–163. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  32. 32.
    Schürr, A., Klar, F.: 15 years of Triple Graph Grammar: Research Challenges, New Contributions, Open Problems. In: Ehrig, H., Heckel, R., Rozenberg, G., Taentzer, G. (eds.) ICGT 2008. LNCS, vol. 5214, pp. 411–425. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  33. 33.
    Sen, S., Baudry, B., Mottu, J.-M.: Automatic Model Generation Strategies for Model Transformation Testing. In: Paige, R. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 148–164. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  34. 34.
    Toulmé, A.: Presentation of EMF Compare utility. In: Eclipse Modeling Symposium 2006, pp. 1–8 (2006), http://www.eclipsecon.org/summiteurope2006/index.php?page=detail/&id=6

Copyright information

© Springer-Verlag Berlin Heidelberg 2012

Authors and Affiliations

  • Stephan Hildebrandt
    • 1
  • Leen Lambers
    • 1
  • Holger Giese
    • 1
  • Dominic Petrick
    • 1
  • Ingo Richter
    • 1
  1. 1.Hasso Plattner InstituteThe University of PotsdamPotsdamGermany

Personalised recommendations