A very low-fidelity overview, but one needs general maps.
This an offshoot from this question on StackOverflow: Forward and Backward Chaining, which has a lot of additional information and also talks about LPS, the Logic-Based Production System.
One error is that CHR does not do backtracking (it is "commited choice" - the backtracking is provided by the calling Prolog system). To be corrected!