Inter-model Consistency Checking Using Triple Graph Grammars and Linear Optimization Techniques

Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 10202)

Abstract

An important task in Model-Driven Engineering (MDE) is to check consistency between two concurrently developed yet related models. Practical approaches to consistency checking, however, are scarce in MDE. Triple Graph Grammars (TGGs) are a rule-based technique to describe the consistency of two models together with correspondences. While TGGs seem promising for consistency checking with their precise consistency notion and explicit traceability information, the substantial search space involved in determining the “optimal” set of rule applications in a consistency check has arguably prevented mature tool support so far. In this paper, we close this gap by combining TGGs with linear optimization techniques. We formulate decisions between single rule applications of a consistency check as integer inequalities, which serve as input for an optimization problem used to detect maximum consistent portions of two models. To demonstrate our approach, we provide an experimental evaluation of the tool support made feasible by this formalization.

Keywords

Consistency check Traceability Linear optimization 

Notes

Acknowledgement

This work has been funded by the German Federal Ministry of Education and Research within the Software Campus project GraTraM at TU Darmstadt, funding code 01IS12054.

References

  1. 1.
    Bradfield, J., Stevens, P.: Recursive checkonly QVT-R transformations with general when and where clauses via the modal Mu calculus. In: Lara, J., Zisman, A. (eds.) FASE 2012. LNCS, vol. 7212, pp. 194–208. Springer, Heidelberg (2012). doi: 10.1007/978-3-642-28872-2_14 CrossRefGoogle Scholar
  2. 2.
    Callow, G., Kalawsky, R.: A satisficing bi-directional model transformation engine using mixed integer linear programming. J. Object Technol. 12(1), 1–43 (2013)CrossRefGoogle Scholar
  3. 3.
    Cheney, J., McKinna, J., Stevens, P., Gibbons, J.: Towards a repository of BX examples. In: Candan, K.S., Amer-Yahia, S., Schweikardt, N., Christophides, V., Leroy, V. (eds.) BX 2014. CEUR Workshop Proceedings, vol. 1133, pp. 87–91 (2014). CEUR-WS.org
  4. 4.
    Ehrig, H., Ehrig, K., Hermann, F.: From model transformation to model integration based on the algebraic approach to triple graph grammars. ECEASST 10, 1–15 (2008)Google Scholar
  5. 5.
    Ehrig, H., Ehrig, K., Lara, J., Taentzer, G., Varró, D., Varró-Gyapay, S.: Termination criteria for model transformation. In: Cerioli, M. (ed.) FASE 2005. LNCS, vol. 3442, pp. 49–63. Springer, Heidelberg (2005). doi: 10.1007/978-3-540-31984-9_5 CrossRefGoogle Scholar
  6. 6.
    Ehrig, H., Ehrig, K., Prange, U., Taentzer, G.: Fundamentals of Algebraic Graph Transformation. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Heidelberg (2006)MATHGoogle Scholar
  7. 7.
    Ehrig, H., Ermel, C., Golas, U., Hermann, F.: Graph and Model Transformation - General Framework and Applications. Monographs in Theoretical Computer Science. An EATCS Series. Springer, Heidelberg (2015)CrossRefMATHGoogle Scholar
  8. 8.
    Ermel, C., Hermann, F., Gall, J., Binanzer, D.: Visual modeling and analysis of EMF model transformations based on triple graph grammars. ECEASST 54, 1–12 (2012)Google Scholar
  9. 9.
    Fadhel, A.B., Kessentini, M., Langer, P., Wimmer, M.: Search-based detection of high-level model changes. ICSM 2012, 212–221 (2012)Google Scholar
  10. 10.
    Fleck, M., Troya, J., Wimmer, M.: Marrying search-based optimization and model transformation technology. In: Proceedings of NasBASE (2015)Google Scholar
  11. 11.
    Fleck, M., Troya, J., Wimmer, M.: Search-based model transformations with MOMoT. In: Van Gorp, P., Engels, G. (eds.) ICMT 2016. LNCS, vol. 9765, pp. 79–87. Springer, Cham (2016). doi: 10.1007/978-3-319-42064-6_6 CrossRefGoogle Scholar
  12. 12.
    Guerra, E., de Lara, J.: An algebraic semantics for QVT-relations check-only transformations. Fundam. Inform. 114(1), 73–101 (2012)MathSciNetMATHGoogle Scholar
  13. 13.
    Gurobi: (2016). http://www.gurobi.com/
  14. 14.
    Hermann, F., Ehrig, H., Orejas, F., Czarnecki, K., Diskin, Z., Xiong, Y., Gottmann, S., Engel, T.: Model synchronization based on triple graph grammars: correctness, completeness and invertibility. Softw. Syst. Model. 14(1), 241–269 (2015)CrossRefGoogle Scholar
  15. 15.
    Kessentini, M., Sahraoui, H., Boukadoum, M.: Model transformation as an optimization problem. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 159–173. Springer, Heidelberg (2008). doi: 10.1007/978-3-540-87875-9_12 CrossRefGoogle Scholar
  16. 16.
    Ko, H., Zan, T., Hu, Z.: BiGUL: a formally verified core language for putback-based bidirectional programming. In: Erwig, M., Rompf, T. (eds.) PEPM 2016, pp. 61–72 (2016)Google Scholar
  17. 17.
    Leblebici, E.: Towards a graph grammar-based approach to inter-model consistency checks with traceability support. In: Anjorin, A., Gibbons, J. (eds.) BX 2016. CEUR Workshop Proceedings, vol. 1571, pp. 35–39 (2016). CEUR-WS.org
  18. 18.
    Macedo, N., Cunha, A.: Implementing QVT-R bidirectional model transformations using alloy. In: Cortellessa, V., Varró, D. (eds.) FASE 2013. LNCS, vol. 7793, pp. 297–311. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-37057-1_22 CrossRefGoogle Scholar
  19. 19.
    Macedo, N., Cunha, A.: Least-change bidirectional model transformation with QVT-R and ATL. Softw. Syst. Model. 15(3), 783–810 (2016)CrossRefGoogle Scholar
  20. 20.
    Medini-QVT: (2016). http://projects.ikv.de/qvt
  21. 21.
  22. 22.
    OMG: QVT Specification, V1.2 (2015). http://www.omg.org/spec/QVT/
  23. 23.
    Plump, D.: Termination of graph rewriting is undecidable. Fundam. Inform. 33(2), 201–209 (1998)MathSciNetMATHGoogle Scholar
  24. 24.
    Rekers, J., Schürr, A.: Defining and parsing visual languages with layered graph grammars. J. Vis. Lang. Comput. 8(1), 27–55 (1997)CrossRefGoogle Scholar
  25. 25.
    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). doi: 10.1007/3-540-59071-4_45 CrossRefGoogle Scholar
  26. 26.
    Stevens, P.: A simple game-theoretic approach to checkonly QVT relations. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 165–180. Springer, Heidelberg (2009). doi: 10.1007/978-3-642-02408-5_12 CrossRefGoogle Scholar
  27. 27.
    Ujhelyi, Z., Bergmann, G., Hegedüs, Á., Horváth, Á., Izsó, B., Ráth, I., Szatmári, Z., Varró, D.: EMF-IncQuery: an integrated development environment for live model queries. Sci. Comput. Program. 98, 80–99 (2015)CrossRefGoogle Scholar
  28. 28.
    Varró, G., Deckwerth, F.: A Rete network construction algorithm for incremental pattern matching. In: Duddy, K., Kappel, G. (eds.) ICMT 2013. LNCS, vol. 7909, pp. 125–140. Springer, Heidelberg (2013). doi: 10.1007/978-3-642-38883-5_13 CrossRefGoogle Scholar

Copyright information

© Springer-Verlag GmbH Germany 2017

Authors and Affiliations

  • Erhan Leblebici
    • 1
  • Anthony Anjorin
    • 2
  • Andy Schürr
    • 1
  1. 1.Technische Universität DarmstadtDarmstadtGermany
  2. 2.Universität PaderbornPaderbornGermany

Personalised recommendations