Constraint Programming for Software Engineering

Constraint programming is a research topic at the crossroads of artificial intelligence, operations research and numerical analysis. This rather new research field as now proved useful for solving complex combinatorial problems in decision making processes. New applications arise now and particularly in software engineering. In this paper, we show the interest and the perspectives in using constraint programming in this technological field through several examples (including identification and correction of degraded design patterns in object oriented software, implementation of an application in an anytime context, design of hard real time systems).

[1]  François Laburthe,et al.  Hybrid Optimization Techniques , 2004 .

[2]  Frode Eika Sandnes,et al.  A hybrid genetic algorithm applied to automatic parallel controller code generation , 1996, Proceedings of the Eighth Euromicro Workshop on Real-Time Systems.

[3]  Ralph Johnson,et al.  design patterns elements of reusable object oriented software , 2019 .

[4]  Yann-Gaël Guéhéneuc,et al.  Instantiating and detecting design patterns: putting bits and pieces together , 2001, Proceedings 16th Annual International Conference on Automated Software Engineering (ASE 2001).

[5]  Simon de Givry,et al.  Radio Link Frequency Assignment , 1999, Constraints.

[6]  G. Borriello,et al.  Task scheduling for real-time multi-processor simulations , 1994, Proceedings of 11th IEEE Workshop on Real-Time Operating Systems and Software.

[7]  Matthew L. Ginsberg,et al.  Limited Discrepancy Search , 1995, IJCAI.

[8]  Alan Burns,et al.  Allocating hard real-time tasks: An NP-Hard problem made easy , 1992, Real-Time Systems.

[9]  E. L. Lawler,et al.  Recent Results in the Theory of Machine Scheduling , 1982, ISMP.

[10]  John P. Lehoczky,et al.  Fixed priority scheduling periodic tasks with varying execution priority , 1991, [1991] Proceedings Twelfth Real-Time Systems Symposium.

[11]  Patrice Boizumault,et al.  New hybrid method for solving constraint optimization problems in anytime contexts , 2001, Proceedings 13th IEEE International Conference on Tools with Artificial Intelligence. ICTAI 2001.

[12]  James W. Layland,et al.  Scheduling Algorithms for Multiprogramming in a Hard-Real-Time Environment , 1989, JACM.

[13]  Edward P. K. Tsang,et al.  Foundations of constraint satisfaction , 1993, Computation in cognitive science.

[14]  Krithi Ramamritham,et al.  Allocation and scheduling of complex periodic tasks , 1990, Proceedings.,10th International Conference on Distributed Computing Systems.

[15]  Yann-Gaël Guéhéneuc Using explanations for design patterns identification , 2001 .

[16]  Hadrien Cambazard,et al.  Decomposition and Learning for a Hard Real Time Task Allocation Problem , 2004, CP.

[17]  Narendra Jussien E-constraints: Explanation-based constraint programming , 2001 .

[18]  Johan de Kleer,et al.  An Assumption-Based TMS , 1987, Artif. Intell..

[19]  Thomas Schiex,et al.  Semiring-Based CSPs and Valued CSPs: Frameworks, Properties, and Comparison , 1999, Constraints.