# Constraint Handling Rules

## Constraint Handling Rules

Constraint Handling Rules (CHR) is both a theoretical formalism and a practical programming language. This book provides an overview of the state of the art of CHR research based on a reviewed selection of recent doctoral theses. After a basic introduction to CHR, the book presents results from three different areas of CHR research: compilation and optimization, execution strategies, and program analysis. The book is ideal for Master students, lecturers, and researchers, to get an overview of the state of the art of CHR research. The chapters offer in-depth treatises of selected subjects, supported by a wealth of examples.

# Constraint Handling Rules Compilation Execution and Analysis

## Constraint Handling Rules Compilation Execution and Analysis

Constraint Handling Rules (CHR) is both a theoretical formalism and a practical programming language. This book provides an overview of CHR research based on a reviewed selection of doctoral theses. After a basic introduction to CHR, the book presents results from three different areas of CHR research: compilation and optimization, execution strategies, and program analysis. The chapters offer in-depth treatises of selected subjects, supported by a wealth of examples. The book is ideal for master students, lecturers, and researchers.

# A Unified Analytical Foundation for Constraint Handling Rules

## A Unified Analytical Foundation for Constraint Handling Rules

The non-deterministic rule-based programming language of Constraint Handling Rules (CHR) features a remarkable combination of desirable properties: a foundation in classical logic, powerful analysis methods for deciding program properties – especially confluence – and an efficient execution model. Upon a closer look, we observe several limitations to this asset. In this thesis, we introduce several concepts to amend for these short- comings. Firstly, we propose an unusually concise formulation of the two most important semantic interpretations of CHR. Secondly, we analyse the relationship between the major diverging interpretations of CHR. Finally, we found CHR on intuitionistic linear logic.

# Constraint Handling Rules

## Constraint Handling Rules

The ConstraintHandling Rules (CHR) languagecameto life morethan 15 years ago.Sincethen,ithasbecomeamajordeclarativespeci?cationandimplemen- tion language for constraint-based algorithms and applications. In recent years, the ?ve Workshops on Constraint Handling Rules have spurred the exchange of ideas within the CHR community, which has led to increased international collaboration, new theoretical results and optimized implementations. The aim of this volume of Lecture Notes in Ariti?cial Intelligence was to attract high-quality research papers on these recent advances in CHR. The 8 papersinthis issuewereselectedfrom11submissionsaftercarefulreviewingand subsequent revisions. Each paper was reviewd by three reviewers. The accepted papers represent some of the research teams on CHR around the world. It is not by accident that the currently most active research group is featured here with three articles. We also would have liked to see contributions from other CHR teams, but space is limited and the reviewers took their job seriously. After an introductory article that foreshadows an upcoming monograph on CHR, the accepted papers span a range of current research topics in the CHR community. It goes from extending the CHR language with search facilities and the related adaptive framework, and from generating rules from speci?cations of constraint solvers to implementing abductive probabilistic reasoning. They cover the theory that is a compositional semantics for CHR and ?nally describe e?cient implementations of CHR in traditional mainstream programming l- guages and compiler optimizations in the context of the re?ned semantics of CHR. Wewouldliketothanktheauthorsofsubmittedpapersandthemanyrevi- ers for their contribution in making this collection of research papers possible.

# Proceedings of the 23rd Workshop on Constraint Logic Programming 2009

## Proceedings of the 23rd Workshop on Constraint Logic Programming 2009

The workshops on (constraint) logic programming (WLP) are the annual meeting of the Society of Logic Programming (GLP e.V.) and bring together researchers interested in logic programming, constraint programming, and related areas like databases, artificial intelligence and operations research. The 23rd WLP was held in Potsdam at September 15 16, 2009. The topics of the presentations of WLP2009 were grouped into the major areas: Databases, Answer Set Programming, Theory and Practice of Logic Programming as well as Constraints and Constraint Handling Rules.

# Logic Programming

## Logic Programming

This book constitutes the refereed proceedings of the 25th International Conference on Logic Programming, ICLP 2009, held in Pasadena, CA, USA, in July2009. The 29 revised full papers together with 9 short papers, 4 invited talks, 4 invited tutorials, and the abstracts of 18 doctoral consortium articles were carefully reviewed and selected from 69 initial submissions. The papers cover all issues of current research in logic programming, namely semantic foundations, formalisms, nonmonotonic reasoning, knowledge representation, compilation, memory management, virtual machines, parallelism, program analysis, program transformation, validation and verification, debugging, profiling, concurrency, objects, coordination, mobility, higher order, types, modes, programming techniques, abductive logic programming, answer set programming, constraint logic programming, inductive logic programming, alternative inference engines and mechanisms, deductive databases, data integration, software engineering, natural language, web tools, internet agents, artificial intelligence, bioinformatics.

# Constraints Meet Concurrency

## Constraints Meet Concurrency

This book describes the benefits that emerge when the fields of constraint programming and concurrency meet. On the one hand, constraints can be used in concurrency theory to increase the conciseness and the expressive power of concurrent languages from a pragmatic point of view. On the other hand, problems modeled by using constraints can be solved faster and more efficiently using a concurrent system. Both directions are explored providing two separate lines of development. Firstly the expressive power of a concurrent language is studied, namely Constraint Handling Rules, that supports constraints as a primitive construct. The features of this language which make it Turing powerful are shown. Then a framework is proposed to solve constraint problems that is intended to be deployed on a concurrent system. For the development of this framework the concurrent language Jolie following the Service Oriented paradigm is used. Based on this experience, an extension to Service Oriented Languages is also proposed in order to overcome some of their limitations and to improve the development of concurrent applications.