CSP(M): Constraint Satisfaction Problem over Models

  • Ákos Horváth
  • Dániel Varró
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5795)


Constraint satisfaction programming (CSP) has been successfully used in model-driven development (MDD) for solving a wide range of (combinatorial) problems. In CSP, declarative constraints capture restrictions over variables with finite domains where both the number of variables and their domains are required to be a priori finite. However, the existing formulation of constraint satisfaction problems can be too restrictive to support dynamically evolving domains and constraints necessitated in many MDD applications as the graph nature of the underlying models needs to be encoded with variables of finite domain. In the paper, we reformulate the constraint satisfaction problem directly on the model-level by using graph patterns as constraints and graph transformation rules as labeling operations. This allows expressing problems composed of dynamic model manipulation and complex graph structural constraints in an intuitive way. Furthermore, we present a prototype constraint solver for the domain of graph models built upon the Viatra2 model transformation framework, and provide an initial evaluation of its performance.


Constraint satisfaction programming graph transformation 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    El-Boussaidi, G., Mili, H.: Detecting patterns of poor design solutions using constraint propagation. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 189–203. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  2. 2.
    White, J., Schmidt, D., Nechypurenko, A., Wuchner, E.: Introduction to the generic eclipse modelling system. Eclipse Magazine (6), 11–18 (2007)Google Scholar
  3. 3.
    Petter, A., Behring, A., Mühlhäuser, M.: Solving constraints in model transformation. In: Paige, R.F. (ed.) ICMT 2009. LNCS, vol. 5563, pp. 132–147. Springer, Heidelberg (2009)Google Scholar
  4. 4.
    Intelligent Systems Laboratory, Swedish Institute of Computer Science: Sicstus Users manual (2009), http://www.sics.se/sicstus/docs/latest4/pdf/sicstus.pdf
  5. 5.
    Official website of ILOG Solver, http://www.ilog.com/products/cp/
  6. 6.
    Miguel, I., Shen, Q.: Dynamic flexible constraint satisfaction. Applied Intelligence 13(3), 231–245 (2000)CrossRefGoogle Scholar
  7. 7.
    Algebraic Approaches to Graph Transformation. In: Rozenberg, G. (ed.) Handbook of Graph Grammars and Computing by Graph Transformations. Foundations, vol. 1. World Scientific, Singapore (1997)Google Scholar
  8. 8.
    Varró, D., Balogh, A.: The Model Transformation Language of the VIATRA2 Framework. Science of Computer Programming 68(3), 214–234 (2007)MathSciNetCrossRefMATHGoogle Scholar
  9. 9.
    Varró, D., Pataricza, A.: VPM: A visual, precise and multilevel metamodeling framework for describing mathematical domains and UML. Journal of Software and Systems Modeling 2(3), 187–210 (2003)CrossRefGoogle Scholar
  10. 10.
    Rensink, A.: Representing first-order logic using graphs. In: Ehrig, H., Engels, G., Parisi-Presicce, F., Rozenberg, G. (eds.) ICGT 2004. LNCS, vol. 3256, pp. 319–335. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  11. 11.
    Weld, D.S.: An introduction to least commitment planning. AI Magazine 15(4), 27–61 (1994)Google Scholar
  12. 12.
    Baptista, L., Margues-Silva, J.: Using randomization and learning to solve hard real-world instances of satisfiability. In: Dechter, R. (ed.) CP 2000. LNCS, vol. 1894, pp. 489–494. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  13. 13.
    Varró-Gyapay, S., Varró, D.: Optimization in graph transformation systems using petri net based techniques. Electronic Communications of the EASST 2 (2006)Google Scholar
  14. 14.
    Heckel, R., Küster, J.M., Taentzer, G.: Confluence of typed attributed graph transformation systems. In: Corradini, A., Ehrig, H., Kreowski, H.-J., Rozenberg, G. (eds.) ICGT 2002. LNCS, vol. 2505, pp. 161–176. Springer, Heidelberg (2002)CrossRefGoogle Scholar
  15. 15.
    Ehrig, H., Ehrig, K., Habel, A., Pennemann, K.H.: Theory of constraints and application conditions: From graphs to high-level structures. Funda. Inf. 74(1), 135–166 (2006)MathSciNetMATHGoogle Scholar
  16. 16.
    Bergmann, G., Ökrös, A., Ráth, I., Varró, D., Varró, G.: Incremental pattern matching in the VIATRA transformation system. In: GRaMoT 2008, 3rd Int. Workshop on Graph and Model Transformation (2008)Google Scholar
  17. 17.
    Lin, Y., Gray, J., Jouault, F.: Dsmdiff: A differentiation tool for domain-specific models. European Journal of Information Systems, Special Issue on Model-Driven Systems Development 16(4), 349–361 (2007)Google Scholar
  18. 18.
    Official website of the Distributed equipment Independent environment for Advanced avioNics Applications (DIANA) European project, http://diana.skysoft.pt
  19. 19.
    Sen, S., Baudry, B., Precup, D.: Partial model completion in model driven engineering using constraint logic programming. In: INAP 2007: International Conference on Applications of Declarative Programming and Knowledge Management, Würzburg, Germany (2007)Google Scholar
  20. 20.
    Janota, M., Kuzina, V., Wasowski, A.: Model construction with external constraints: An interactive journey from semantics to syntax. In: Czarnecki, K., Ober, I., Bruel, J.-M., Uhl, A., Völter, M. (eds.) MODELS 2008. LNCS, vol. 5301, pp. 431–445. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  21. 21.
    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–252. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  22. 22.
    Anastasakis, K., Bordbar, B., Georg, G., Ray, I.: On challenges of model transformation from UML to Alloy. Software and Systems Modeling (2009)Google Scholar
  23. 23.
    Winkelmann, J., Taentzer, G., Ehrig, K., Küster, J.M.: Translation of restricted ocl constraints into graph constraints for generating meta model instances by graph grammars. Electron. Notes Theor. Comput. Sci. 211, 159–170 (2008)CrossRefMATHGoogle Scholar
  24. 24.
    Jackson, E., Sztipanovits, J.: Constructive techniques for meta and model level reasoning. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) MODELS 2007. LNCS, vol. 4735, pp. 405–419. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  25. 25.
    Rensink, A.: The GROOVE simulator: A tool for state space generation. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 479–485. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  26. 26.
    König, B., Kozioura, V.: Counterexample-guided abstraction refinement for the analysis of graph transformation systems. In: Hermanns, H., Palsberg, J. (eds.) TACAS 2006. LNCS, vol. 3920, pp. 197–211. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  27. 27.
    Schiex, T.: Solution reuse in dynamic constraint satisfaction problems. In: Proceedings of the 12th National Conference on Artificial Intelligence, pp. 307–312. AAAI Press, Menlo Park (1994)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Ákos Horváth
    • 1
  • Dániel Varró
    • 1
  1. 1.Department of Measurement and Information SystemsBudapest University of Technology and EconomicsBudapestHungary

Personalised recommendations