Abstract
Current-generation constraint programming languages are considered by many, especially in industry, to be too low-level, difficult, and large. We argue that solver-independent, high-level relational constraint modelling leads to a simpler and smaller language, to more concise, intuitive, and analysable models, as well as to more efficient and effective model formulation, maintenance, reformulation, and verification. All this can be achieved without sacrificing the possibility of efficient solving, so that even time-pressed or less competent modellers can be well assisted. Towards this, we propose the esra relational constraint modelling language, showcase its elegance on some well-known problems, and outline a compilation philosophy for such languages.
A previous version of this paper appears pages 63–77 in the informally published proceedings of the Second International Workshop Modelling and Reformulating CSPs, available at http://www-users.cs.york.ac.uk/~sfrisch/Reformulation/03/
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Abrial, J.-R.: The B-Book: Assigning Programs to Meanings. Cambridge University Press, Cambridge (1996)
Ambert, F., Legeard, B., Legros, E.: Programmation en logique avec contraintes sur ensembles et multi-ensembles héréditairement finis. Techniques et Sciences Informatiques 15(3), 297–328 (1996)
Bakewell, A., Frisch, A.M., Miguel, I.: Towards automatic modelling of constraint satisfaction problems: A system based on compositional refinement. In: Proceedings of the 2nd International Workshop on Modelling and Reformulating CSPs, pp. 3–17 (2003), Available at http://www-users.cs.york.ac.uk/~frisch/Reformulation/03/
Cadoli, M., Palopoli, L., Schaerf, A., Vasile, D.: NPSPEC: An executable specification language for solving all problems in NP. In: Gupta, G. (ed.) PADL 1999. LNCS, vol. 1551, pp. 16–30. Springer, Heidelberg (1999)
Carlsson, M., Ottosson, G., Carlson, B.: An open-ended finite domain constraint solver. In: Hartel, P.H., Kuchen, H. (eds.) PLILP 1997. LNCS, vol. 1292, pp. 191–206. Springer, Heidelberg (1997)
Denecker, M., Pelov, N., Bruynooghe, M.: Ultimate well-founded and stable semantics for logic programs with aggregates. In: Codognet, P. (ed.) ICLP 2001. LNCS, vol. 2237, pp. 212–226. Springer, Heidelberg (2001)
Dovier, A., Piazza, C., Pontelli, E., Rossi, G.: Sets and constraint logic programming. ACM Transactions on Programming Languages and Systems 22(5), 861–931 (2000)
Finkel, R., Marek, V., Truszczyński, M.: Tabular constraint-satisfaction problems and answer-set programming. In: Proceedings of the AAAI Spring Symposium on Answer-Set Programming (2001), Available at http://www.cs.nmsu.edu/~tson/ASP2001/
Flener, P.: Towards relational modelling of combinatorial optimisation problems. In: Bessière, C. (ed.) Proceedings of the IJCAI 2001 Workshop on Modelling and Solving Problems with Constraints, pp. 31–38 (2001), Available at http://www.lirmm.fr/~bessiere/w_ijcai01/
Flener, P., Frisch, A.M., Hnich, B., Kızıltan, Z., Miguel, I., Walsh, T.: Matrix modelling: Exploiting common patterns in constraint programming. In: Proc. of the 1st Int’l Workshop on Reformulating CSPs, pp. 27–41 (2002), Available at http://www-users.cs.york.ac.uk/~frisch/Reformulation/02/
Flener, P., Hnich, B., Kızıltan, Z.: Compiling high-level type constructors in constraint programming. In: Ramakrishnan, I.V. (ed.) PADL 2001. LNCS, vol. 1990, pp. 229–244. Springer, Heidelberg (2001)
Flener, P., Pearson, J., Ågren, M.: The Syntax, Semantics, and Type System of esra. Technical report, ASTRA group (April 2003), Available at http://www.it.uu.se/research/group/astra/
Gervet, C.: Interval propagation to reason about sets: Definition and implementation of a practical language. Constraints 1(3), 191–244 (1997)
Hickey, T.J.: Functional constraints in CLP languages. In: Benhamou, F., Colmerauer, A. (eds.) Constraint Logic Programming: Selected Research, pp. 355–381. The MIT Press, Cambridge (1993)
Hnich, B.: Function Variables for Constraint Programming. PhD thesis, Department of Information Science, Uppsala University, Sweden (2003), Available at http://publications.uu.se/theses/
Jackson, D., Shlyakhter, I., Sridharan, M.: A micromodularity mechanism. Software Engineering Notes 26(5), 62–73 (2001); Proceedings of FSE/ESEC 2001
Laburthe, F., Caseau, Y.: salsa: A language for search algorithms. Constraints 7, 255–288 (2002)
Laurière, J.-L.: A language and a program for stating and solving combinatorial problems. Artificial Intelligence 10(1), 29–127 (1978)
Leone, N., Pfeifer, G., Faber, W., Eiter, T., Gottlob, G., Perri, S., Scarcello, F.: The DLV system for knowledge representation and reasoning. ACM Transactions on Computational Logic (forthcoming), Available at http://arxiv.org/ps/cs.AI/0211004
Lesaint, D.: Inferring constraint types in constraint programming. In: Van Hentenryck, P. (ed.) CP 2002. LNCS, vol. 2470, pp. 492–507. Springer, Heidelberg (2002)
Lifschitz, V.: Answer set programming and plan generation. Artificial Intelligence 138, 39–54 (2002)
Minton, S.: Automatically configuring constraint satisfaction programs: A case study. Constraints 1(1-2), 7–43 (1996)
Niemelä, I.: Logic programs with stable model semantics as a constraint programming paradigm. Annals of Mathematics and AI 25(3-4), 241–273 (1999)
Pelov, N., Bruynooghe, M.: Extending constraint logic programming with open functions. In: Proceedings of PPDP 2000, pp. 235–244. ACM Press, New York (2000)
Pelov, N., Denecker, M., Bruynooghe, M.: Partial stable models for logic programs with aggregates. In: Lifschitz, V., Niemelä, I. (eds.) LPNMR 2004. LNCS (LNAI), vol. 2923, pp. 207–219. Springer, Heidelberg (2003)
Pesant, G.: A regular language membership constraint for sequences of variables. In: Proceedings of the 2nd International Workshop on Modelling and Reformulating CSPs, pp. 110–119 (2003), Available at http://www-users.cs.york.ac.uk/~frisch/Reformulation/03/
Rumbaugh, J., Jacobson, I., Booch, G.: The Unified Modeling Language Reference Manual. Addison-Wesley, Reading (1999)
Smith, B.M.: Modelling a permutation problem. Technical Report 18, School of Computing, University of Leeds, UK (2000); Also in Proceedings of the ECAI 2000 Workshop on Modelling and Solving Problems with Constraints
Spivey, J.M.: The Z Notation: A Reference Manual, 2nd edn. Prentice Hall, Englewood Cliffs (1992)
Tsang, E., Mills, P., Williams, R., Ford, J., Borrett, J.: A computer-aided constraint programming system. In: Little, J. (ed.) Proceedings of PACLP 1999, pp. 81–93. The Practical Application Company (1999)
Van Hentenryck, P.: The OPL Optimization Programming Language. The MIT Press, Cambridge (1999)
Van Hentenryck, P., Flener, P., Pearson, J., Ågren, M.: Tractable symmetry breaking for CSPs with interchangeable values. In: Proceedings of IJCAI 2003, pp. 277–282. Morgan Kaufmann, San Francisco (2003)
Walsh, T.: Permutation problems and channelling constraints. In: Nieuwenhuis, R., Voronkov, A. (eds.) LPAR 2001. LNCS (LNAI), vol. 2250, pp. 377–391. Springer, Heidelberg (2001)
Walsh, T.: Consistency and propagation with multiset constraints: A formal viewpoint. In: Rossi, F. (ed.) CP 2003. LNCS, vol. 2833, pp. 724–738. Springer, Heidelberg (2003)
Warmer, J., Kleppe, A.: The Object Constraint Language: Precise Modeling with UML. Addison-Wesley, Reading (1999)
Wrang, S.: Implementation of the ESRA Constraint Modelling Language. Master’s thesis, Master’s Thesis in Computing Science 223, Department of Information Technology, Uppsala University, Sweden (2002), Available at ftp://ftp.csd.uu.se/pub/papers/masters-theses/
Zhou, J.: Introduction to the constraint language NCL. Journal of Logic Programming 45(1-3), 71–103 (2000)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2004 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Flener, P., Pearson, J., Ågren, M. (2004). Introducing esra, a Relational Language for Modelling Combinatorial Problems. In: Bruynooghe, M. (eds) Logic Based Program Synthesis and Transformation. LOPSTR 2003. Lecture Notes in Computer Science, vol 3018. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-25938-1_18
Download citation
DOI: https://doi.org/10.1007/978-3-540-25938-1_18
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-22174-6
Online ISBN: 978-3-540-25938-1
eBook Packages: Springer Book Archive