Skip to main content Accessibility help
  • Print publication year: 2009
  • Online publication date: February 2010

6 - Rule-based and graph-based formalisms in CHR

from Part II - The CHR language


We are interested in the relationship of other rule-based formalisms and programming languages to CHR. In particular, we want to know about the principles of embedding essential aspects of them in CHR. We will informally discuss the following formalisms, systems, and language paradigms:

Rule-based systems such as Production Rules (e.g. OPS5), Event{ Condition{Action (ECA) Rules, Business Rules, and the Logical Algorithms (LA) formalism in Section 6.1.

Rewriting-based and graph-based formalisms such as Term Rewriting Systems (TRS) with a remark on Functional Programming (FP) and on Graph Rewriting Systems (GTS), the General Abstract Model for Multiset Manipulation (GAMMA), and standard and Colored Petri Nets (CPN) in Section 6.2.

Prolog, a remark on deductive databases, the Constraint Logic Programming (CLP), and the Concurrent Constraint Programming (CC) language framework in Section 6.3.

We cannot give a full account of all these approaches, after all this is a book about CHR. We have to assume some basic knowledge of the approach discussed. The approaches range from theoretically well-researched formalisms like term rewriting and programming language schemes like constraint logic programming to concrete rule-based systems like OPS5. Readers may find the presentation of the formalisms overly simplistic, but this has been done for space reasons and to emphasize the relationship with CHR. We will take the viewpoint of CHR, and this should not be taken as a critique on the other approaches. We also cannot go into the details of the embeddings. When available, we refer to research papers. If not, we present the main idea behind a possible answer to an otherwise unexplored open research question.