Team Contraintes

Overall Objectives
Scientific Foundations
Application Domains
New Results
Other Grants and Activities

Section: New Results

Design and Implementation of SiLCC and CHRat Programming Languages

Participants : Marcos Aurélio, François Fages, Cleyton Mario de Oliveira Rodrigues, Thierry Martinez, Sylvain Soliman.

We are developing SiLCC an imperative and concurrent constraint programming language based on a single paradigm: the one of Vijay Saraswat's concurrent constraint programming extended with constraint systems based on Jean-Yves Girard's Linear Logic. In the late 90's we developed the theory of this extension and we are now working on its implementation.

From a constraint programming point of view, the unique combination of constraint programming with imperative features opens many new possibilities, among which:

The main step realized this year has been done in the framework of the well-known Constraint Handling Rules (CHR) language of Tom Fruhwirth which share many similarities with SiLCC. In [12] , [13] , we introduce a modular version of the Constraint Handling Rules language CHR, called CHRat for modular CHR with ask and tell . Any constraint defined in a CHRat component can be reused both in rules and guards in another CHRat component to define new constraint solvers. Unlike previous work on modular CHR, our approach is completely general as it does not rely on an automatic derivation of conditions for checking entailment in guards, but on a programming discipline for defining both satisfiability ( tell ) and entailment ( ask ) checks by CHRat rules for each constraint. We define the operational and declarative semantics of CHRat, provide a transformation of CHRat components to flat CHR programs, and prove the preservation of the semantics. We then provide examples of the modularization of classical CHR constraint solvers.

In [10] , we show how default reasoning and negation as failure can be integrated in CHR with disjunction.


Logo Inria