Abstract
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 offering entire derivations to run atomically and in isolation.
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.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Frühwirth, T.: Theory and practice of constraint handling rules. Journal of Logic Programming, Special Issue on Constraint Logic Programming 37(1-3), 95–138 (1998)
Schrijvers, T., Sulzmann, M.: Transactions in Constraint Handling Rules. Technical Report (2008), http://www.cs.kuleuven.be/~toms/transactions.pdf
Duck, G.J., Stuckey, P.J., Sulzmann, M.: Observable confluence for Constraint Handling Rules. In: Dahl, V., Niemelä, I. (eds.) ICLP 2007. LNCS, vol. 4670, pp. 224–239. Springer, Heidelberg (2007)
Schrijvers, T., Frühwirth, T.: Optimal union-find in Constraint Handling Rules. TPLP 6(1-2), 213–224 (2006)
Sneyers, J., Schrijvers, T., Demoen, B.: The computational power and complexity of Constraint Handling Rules. ACM TOPLAS (accepted, 2008)
Frühwirth, T.: Parallelizing union-find in Constraint Handling Rules using confluence. In: Gabbrielli, M., Gupta, G. (eds.) ICLP 2005. LNCS, vol. 3668, pp. 113–127. Springer, Heidelberg (2005)
Weikum, G., Vossen, G.: Transactional Information Systems: Theory, Algorithms, and the Practice of Concurrency Control and Recovery. Morgan Kaufmann, San Francisco (2002)
Tacchella, P., Gabbrielli, M., Meo, M.C.: Unfolding in CHR. In: Leuschel, M., Podelski, A. (eds.) PPDP 2007, pp. 179–186. ACM Press, New York (2007)
Abdennadher, S., Frühwirth, T., Meuss, H.: Confluence and semantics of constraint simplification rules. Constraints 4(2), 133–165 (1999)
Weihl, W.E.: Data-dependent concurrency control and recovery. SIGOPS Oper. Syst. Rev. 19(1), 19–31 (1985)
Korth, H.F., Levy, E., Silberschatz, A.: A formal approach to recovery by compensating transactions. Technical report (1990)
Acciai, L., Boreale, M., Dal-Zilio, S.: A concurrent calculus with atomic transactions. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 48–63. Springer, Heidelberg (2007)
Bonner, A.J., Kifer, M.: Transaction logic programming. In: Proc. of ICLP 1993, pp. 257–279 (1993)
Ni, Y., Menon, V.S., Adl-Tabatabai, A.R., Hosking, A.L., Hudson, R.L., Moss, J.E.B., Saha, B., Shpeisman, T.: Open nesting in software transactional memory. In: Proc. of PPoPP 2007, pp. 68–78. ACM Press, New York (2007)
Harris, T., Stipic, S.: Abstract nested transactions. In: TRANSACT 2007: The Second ACM SIGPLAN Workshop on Transactional Computing (2007)
Herlihy, M., Koskinen, E.: Transactional boosting: a methodology for highly-concurrent transactional objects. In: Proc. of PPoPP 2008, pp. 207–216. ACM Press, New York (2008)
Harris, T., Marlow, S., Peyton Jones, S., Herlihy, M.: Composable memory transactions. In: Proc. of PPoPP 2005, pp. 48–60. ACM Press, New York (2005)
Abdennadher, S., Schütz, H.: CHRv: A flexible query language. In: Andreasen, T., Christiansen, H., Larsen, H.L. (eds.) FQAS 1998. LNCS, vol. 1495, pp. 1–14. Springer, Heidelberg (1998)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2008 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Schrijvers, T., Sulzmann, M. (2008). Transactions in Constraint Handling Rules. In: Garcia de la Banda, M., Pontelli, E. (eds) Logic Programming. ICLP 2008. Lecture Notes in Computer Science, vol 5366. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-89982-2_44
Download citation
DOI: https://doi.org/10.1007/978-3-540-89982-2_44
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-89981-5
Online ISBN: 978-3-540-89982-2
eBook Packages: Computer ScienceComputer Science (R0)