A Practical Approach for Constraint Solving in Model Transformations

  • Youness LaghouaoutaEmail author
  • Pierre Laforcade
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 1077)


In model transformation scenarios, expressing a Constraint Satisfaction Problem (CSP) is a complex and error prone activity. Indeed, transformation techniques do not provide fully integrated supports for solving constraints, and external solvers are not well adapted. This chapter presents a practical approach for constraint solving in model transformations. The base principle is to consider a pattern matching problem as a high level specification of a CSP. Besides, a transformation infrastructure that underpins the conceptual proposal can be generated in a semi-automatic manner. This infrastructure provides support for pattern specification, match model search, and transformation into valid target models. An application case extracted from the Escape It! serious game has been selected to illustrate our contribution.


Model driven engineering Model transformation Pattern matching Constraint satisfaction problem 


  1. 1.
    Bettini, L.: Implementing domain-specific languages with Xtext and Xtend. Packt Publishing Ltd., Birmingham (2016)Google Scholar
  2. 2.
    Cabot, J., Claris, R., Riera, D., et al.: Verification of UML/OCL class diagrams using constraint programming. In: First International Conference on Software Testing Verification and Validation, ICST 2008, pp. 73–80. IEEE (2008)Google Scholar
  3. 3.
    Degueule, T., Combemale, B., Blouin, A., Barais, O., Jézéquel, J.M.: Melange: a meta-language for modular and reusable development of dsls. In: Proceedings of the 2015 ACM SIGPLAN International Conference on Software Language Engineering, pp. 25–36. ACM (2015)Google Scholar
  4. 4.
    Ehrig, H., Ehrig, K., Habel, A., Pennemann, K.-H.: Constraints and application conditions: from graphs to high-level structures. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 287–303. Springer, Heidelberg (2004). Scholar
  5. 5.
    Ferdjoukh, A., Baert, A.E., Chateau, A., Coletta, R., Nebut, C.: A CSP approach for metamodel instantiation. In: 2013 IEEE 25th International Conference on Tools with Artificial Intelligence, pp. 1044–1051. IEEE (2013)Google Scholar
  6. 6.
    Jouault, F., Kurtev, I.: Transforming models with ATL. In: Bruel, J.-M. (ed.) MODELS 2005. LNCS, vol. 3844, pp. 128–138. Springer, Heidelberg (2006). Scholar
  7. 7.
    Kleiner, M., Del Fabro, M.D., Albert, P.: Model search: formalizing and automating constraint solving in MDE platforms. In: Kühne, T., Selic, B., Gervais, M.-P., Terrier, F. (eds.) ECMFA 2010. LNCS, vol. 6138, pp. 173–188. Springer, Heidelberg (2010). Scholar
  8. 8.
    Kolovos, D., Rose, L., Garcia-Dominguez, A., Paige, R.: The epsilon book (2017)Google Scholar
  9. 9.
    Kolovos, D.S., Paige, R.F.: The epsilon pattern language. In: 9th IEEE/ACM International Workshop on Modelling in Software Engineering, MiSE@ICSE 2017, pp. 54–60. IEEE (2017)Google Scholar
  10. 10.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The epsilon object language (EOL). In: Rensink, A., Warmer, J. (eds.) ECMDA-FA 2006. LNCS, vol. 4066, pp. 128–142. Springer, Heidelberg (2006). Scholar
  11. 11.
    Kolovos, D.S., Paige, R.F., Polack, F.A.C.: The epsilon transformation language. In: Vallecillo, A., Gray, J., Pierantonio, A. (eds.) ICMT 2008. LNCS, vol. 5063, pp. 46–60. Springer, Heidelberg (2008). Scholar
  12. 12.
    Laforcade, P., Laghouaouta, Y.: Supporting the Adaptive Generation of Learning Game Scenarios with a Model-Driven Engineering Framework. In: Pammer-Schindler, V., Pérez-Sanagustín, M., Drachsler, H., Elferink, R., Scheffel, M. (eds.) EC-TEL 2018. LNCS, vol. 11082, pp. 151–165. Springer, Cham (2018). Scholar
  13. 13.
    Laghouaouta, Y., Laforcade, P., Loiseau, E.: A pattern-matching based approach for problem solving in model transformations. In: Proceedings of the 13th International Conference on Software Technologies, ICSOFT 2018, Portugal, pp. 113–123. SciTePress, Setúbal (2018).
  14. 14.
    Larrosa, J., Valiente, G.: Constraint satisfaction algorithms for graph pattern matching. Math. Struct. Comput. Sci. 12(4), 403–422 (2002)MathSciNetCrossRefGoogle Scholar
  15. 15.
    Mens, T., Gorp, P.V.: A taxonomy of model transformation. Electron. Notes Theor. Comput. Sci. 152, 125–142 (2006)CrossRefGoogle Scholar
  16. 16.
    OMG: Meta object facility (mof) 2.0 query/view/transformation specification (2008)Google Scholar
  17. 17.
    OMG: Object constraint language 2.4 specification (2014)Google Scholar
  18. 18.
    Petter, A., Behring, A., Mühlhäuser, M.: Solving constraints in model transformations. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 132–147. Springer, Heidelberg (2009). Scholar
  19. 19.
    Rudolf, M.: Utilizing constraint satisfaction techniques for efficient graph pattern matching. In: Ehrig, H., Engels, G., Kreowski, H.-J., Rozenberg, G. (eds.) TAGT 1998. LNCS, vol. 1764, pp. 238–251. Springer, Heidelberg (2000). Scholar
  20. 20.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF: Eclipse Modeling Framework 2.0, 2nd edn. Addison-Wesley Professional, Boston (2009)Google Scholar
  21. 21.
    Taentzer, G., Ermel, C., Rudolf, M.: The AGG approach: language and tool environment. In: Handbook of graph grammars and computing by graph transformation, vol. 2, 551–603 (1999)Google Scholar

Copyright information

© Springer Nature Switzerland AG 2019

Authors and Affiliations

  1. 1.Computer Science Laboratory of Le Mans UniversityLe MansFrance

Personalised recommendations