## Section: Overall Objectives

### Introduction

Constraint Logic Programming supports a great ambition for programming: the one of making of programming essentially a modeling task, with equations, constraints and logical formulas.

Constraint Programming is a field born during the mid 80s from Logic Programming, Linear Programming coming from Operations Research, and Constraint Propagation techniques coming from Artificial Intelligence. Its foundation is the use of relations on mathematical variables to compute with partial information. The successes of Constraint Programming for solving combinatorial optimization problems, from pure problems to real problems in industry or commerce, owe much to the bringing of , on the one hand, new local consistency techniques, and, on the other hand, declarative languages which allow control on the mixing of heterogeneous resolution techniques: numerical, symbolic, deductive and heuristic.

The "Contraintes" group investigates the logical foundations, design, implementation, programming environments and applications of constraint programming languages. The study of Concurrent Constraint languages is a core aspect of the project as they provide a conceptual framework for analyzing different issues of constraint programming, like constraint resolution techniques, concurrent modeling, reactive applications, etc.

The main application domains investigated are combinatorial optimization problems and computational systems biology. In bioinformatics, our objective is not to work on structural biology problems which has been the main trend up to now, but to attack the great challenge of systems biology, namely to model the function, activity and interaction of molecular processes in living cells, with logic programming concepts and program verification techniques.