This paper introduces propagator groups as an abstraction for controlling the execution of propagators as implementations of constraints. Propagator groups enable users of a constraint programming system to program how propagators within a group are executed.

The paper exemplifies propagator groups for controlling both propagation order and propagator interaction. Controlling propagation order is applied to debugging constraint propagation and optimal constraint propagation for Berge-acyclic propagator graphs. Controlling propagator interaction by encapsulating failure and entailment is applied to general reification and constructive disjunction. The paper describes an implementation of propagator groups (based on Gecode) that is applicable to any propagator-centered constraint programming system. Experiments show that groups incur little to no overhead and that the applications of groups are practically usable and efficient.


Basic Group Constraint Programming Constraint Satisfaction Problem Propagator Group Constraint Graph 
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.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Beeri, C., Fagin, R., Maier, D., Yannakakis, M.: On the desirability of acyclic database schemes. J. ACM 30(3), 479–513 (1983)MathSciNetCrossRefzbMATHGoogle Scholar
  2. 2.
    Bessiere, C.: Constraint propagation. In: Rossi, et al. (eds.) [17], ch. 3, pp. 29–84Google Scholar
  3. 3.
    Bessiere, C., Hebrard, E., Hnich, B., Kiziltan, Z., Walsh, T.: SLIDE: A useful special case of the CARDPATH constraint. In: Ghallab, M., Spyropoulos, C.D., Fakotakis, N., Avouris, N.M. (eds.) ECAI, pp. 475–479 (2008)Google Scholar
  4. 4.
    Bessiere, C., Hebrard, E., Hnich, B., Kiziltan, Z., Walsh, T.: Range and roots: Two common patterns for specifying and propagating counting and occurrence constraints. Artificial Intelligence (2009)Google Scholar
  5. 5.
    Bessiere, C., Katsirelos, G., Narodytska, N., Quimper, C.-G., Walsh, T.: Decompositions of all different, global cardinality and related constraints. In: IJCAI (2009)Google Scholar
  6. 6.
    Carlson, B., Carlsson, M.: Compiling and executing disjunctions of finite domain constraints. In: ICLP, pp. 117–131 (1995)Google Scholar
  7. 7.
    Codognet, C., Codognet, P.: Guarded constructive disjunction: Angel or demon? In: Montanari, U., Rossi, F. (eds.) CP 1995. LNCS, vol. 976, pp. 345–361. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  8. 8.
    Francis, K., Stuckey, P.J.: Constraint propagation for loose constraint graphs. In: Cho, Y., Wainwright, R.L., Haddad, H., Shin, S.Y., Koo, Y.W. (eds.) SAC, pp. 334–335. ACM, New York (2007)Google Scholar
  9. 9.
    Gent, I.P., McKay, P., Miguel, I., Nightingale, P., Huczynska, S.: Modelling equidistant frequency permutation arrays in constraints. In: SARA (2009)Google Scholar
  10. 10.
    Goualard, F., Benhamou, F.: Debugging constraint programs by store inspection. In: Deransart, P., Małuszyński, J. (eds.) DiSCiPl 1999. LNCS, vol. 1870, pp. 273–297. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  11. 11.
    Hentenryck, P.V., Saraswat, V.A., Deville, Y.: Design, implementation, and evaluation of the constraint language cc(FD). In: Podelski, A. (ed.) Constraint Programming: Basics and Trends. LNCS, vol. 910, pp. 293–316. Springer, Heidelberg (1995)CrossRefGoogle Scholar
  12. 12.
    Lagerkvist, M.Z., Schulte, C.: Advisors for incremental propagation. In: Bessière, C. (ed.) CP 2007. LNCS, vol. 4741, pp. 409–422. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  13. 13.
    Müller, T., Würtz, J.: Constructive Disjunction in Oz. In: Krall, A., Geske, U. (eds.) 11. Workshop Logische Programmierung, Technische Universität Wien, September 27-29 (1995)Google Scholar
  14. 14.
    Paltzer, N.: Debugging constraint propagation. Master’s thesis, Saarland Univerity, Germany (March 2008)Google Scholar
  15. 15.
    Provost, T.L., Wallace, M.: Domain independent propagation. In: FGCS, pp. 1004–1011 (1992)Google Scholar
  16. 16.
    Quimper, C.-G., Walsh, T.: Global grammar constraints. In: Benhamou, F. (ed.) CP 2006. LNCS, vol. 4204, pp. 751–755. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  17. 17.
    Rossi, F., van Beek, P., Walsh, T.: Handbook of constraint programming (2006)Google Scholar
  18. 18.
    Schulte, C.: Programming deep concurrent constraint combinators. In: Pontelli, E., Santos Costa, V. (eds.) PADL 2000. LNCS, vol. 1753, pp. 215–229. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  19. 19.
    Schulte, C.: Programming Constraint Services. LNCS (LNAI), vol. 2302. Springer, Heidelberg (2002)zbMATHGoogle Scholar
  20. 20.
    Schulte, C., Carlsson, M.: Finite domain constraint programming systems. In: Rossi, et al. (eds.) [17], ch. 14, pp. 495–526Google Scholar
  21. 21.
    Schulte, C., Stuckey, P.J.: Efficient constraint propagation engines. Transactions on Programming Languages and Systems 31(1), 2:1–2:43 (2008)CrossRefGoogle Scholar
  22. 22.
    The Gecode team. Generic constraint development environment (2006),
  23. 23.
    Würtz, J., Müller, T.: Constructive disjunction revisited. In: Görz, G., Hölldobler, S. (eds.) KI 1996. LNCS, vol. 1137, pp. 377–386. Springer, Heidelberg (1996)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Mikael Z. Lagerkvist
    • 1
  • Christian Schulte
    • 1
  1. 1.KTH – Royal Institute of TechnologySweden

Personalised recommendations