Lecture notes in computer science vol:5366 pages:516-530
Inernational Conference on Logic Programming edition:24 location:Udine, Italy date:9-13 December 2008
CHR is a highly concurrent language, and yet it is by no
means a trivial task to write correct concurrent CHR programs. We propose a new semantics for CHR, which allows specifying and reasoning about transactions. Transactions alleviate the complexity of writing concurrent programs by oﬀering entire derivations to run atomically and in
We derive several program transformations based on our semantics that transform particular classes of transitional CHR programs to non-transactional ones. These transformations are useful because they obviate a
general purpose transaction manager, and may lift unnecessary sequentialization present in the transactional semantics.