Concurrent and Reactive Constraint Programming

  • Maurizio Gabbrielli
  • Catuscia Palamidessi
  • Frank D. Valencia
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6125)

Abstract

The Italian Logic Programming community has given several contributions to the theory of Concurrent Constraint Programming. In particular, in the topics of semantics, verification, and timed extensions. In this paper we review the main lines of research and contributions of the community in this field.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Bergstra, J., Klop, J.: Process algebra: specification and verification in bisimulation semantics. In: Mathematics and Computer Science II. CWI Monographs, pp. 61–94. North-Holland, Amsterdam (1986)Google Scholar
  2. 2.
    Berry, G., Gonthier, G.: The esterel synchronous programming language: Design, semantics, implementation. Sci. Comput. Program. 19(2), 87–152 (1992)MATHCrossRefGoogle Scholar
  3. 3.
    Bertolino, M., Etalle, S., Palamidessi, C.: The replacement operation for CCP programs. In: Bossi, A. (ed.) LOPSTR 1999. LNCS, vol. 1817, pp. 216–233. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  4. 4.
    Birkhoff, G.: Lattice theory, XXV. AMS Colloquium Publications (1967)Google Scholar
  5. 5.
    Bistarelli, S., Gabbrielli, M., Meo, M.C., Santini, F.: Timed soft concurrent constraint programs. In: Lea, D., Zavattaro, G. (eds.) COORDINATION 2008. LNCS, vol. 5052, pp. 50–66. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  6. 6.
    Bistarelli, S., Montanari, U., Rossi, F.: Soft concurrent constraint programming. ACM Trans. Comput. Log. 7(3), 563–589 (2006)CrossRefMathSciNetGoogle Scholar
  7. 7.
    Bistarelli, S., Santini, F.: A nonmonotonic soft concurrent constraint language for sla negotiation. Electr. Notes Theor. Comput. Sci. 236, 147–162 (2009)CrossRefGoogle Scholar
  8. 8.
    Brookes, S., Hoare, C., Roscoe, W.: A theory of communicating sequential processes. Journal of ACM 31, 499–560 (1984)CrossRefMathSciNetGoogle Scholar
  9. 9.
    Buchi, J.R.: On a decision method in restricted second order arithmetic. In: Proc. Int. Cong. on Logic, Methodology, and Philosophy of Science, pp. 1–11. Stanford University Press (1962)Google Scholar
  10. 10.
    Burstall, R.M., Darlington, J.: A transformation system for developing recursive programs. J. ACM 24(1), 44–67 (1977)MATHCrossRefMathSciNetGoogle Scholar
  11. 11.
    Buscemi, M., Melgratti, H.: Transactional service level agreement. In: Barthe, G., Fournet, C. (eds.) TGC 2007. LNCS, vol. 4912, pp. 124–139. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  12. 12.
    Buscemi, M., Montanari, U.: Cc-pi: A constraint-based language for specifying service level agreements. In: De Nicola, R. (ed.) ESOP 2007. LNCS, vol. 4421, pp. 18–32. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  13. 13.
    Buscemi, M., Montanari, U.: Open bisimulation for the concurrent constraint pi-calculus. In: Drossopoulou, S. (ed.) ESOP 2008. LNCS, vol. 4960, pp. 254–268. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  14. 14.
    Clark, K., Gregory, S.: PARLOG: parallel programming in logic. ACM Trans. on Programming Languages and Systems 8(1), 1–49 (1986)MATHCrossRefGoogle Scholar
  15. 15.
    de Boer, F., Kok, J., Palamidessi, C., Rutten, J.: Control flow versus logic: a denotational and a declarative model for Guarded Horn Clauses. In: Kreczmar, A., Mirkowska, G. (eds.) MFCS 1989. LNCS, vol. 379, pp. 165–176. Springer, Heidelberg (1989)Google Scholar
  16. 16.
    de Boer, F., Kok, J., Palamidessi, C., Rutten, J.: Semantic models for a version of PARLOG. In: Levi, G., Martelli, M. (eds.) Proc. of the Sixth International Conference on Logic Programming, Lisboa. Series in Logic Programming, pp. 621–636. MIT Press, Cambridge (1989); Extended version in [17]Google Scholar
  17. 17.
    de Boer, F., Kok, J., Palamidessi, C., Rutten, J.: Semantic models for Concurrent Logic Languages. Theoretical Computer Science 86(1), 3–33 (1991); A short version appeared on Proceedings of the Seventh International Conference on Logic Programming, Lisboa (1989)Google Scholar
  18. 18.
    de Boer, F., Palamidessi, C.: A Fully Abstract Model for Concurrent Constraint Programming. In: Abramsky, S., Maibaum, T. (eds.) CAAP 1991 and TAPSOFT 1991. LNCS, vol. 493, pp. 296–319. Springer, Heidelberg (1991)Google Scholar
  19. 19.
    de Boer, F., Palamidessi, C.: On the semantics of concurrent constraint programming. In: Broda, K. (ed.) Proc. of ALPUK 1992, Workshops in Computing, pp. 145–173. Springer, Heidelberg (1992)Google Scholar
  20. 20.
    de Boer, F.S., Gabbrielli, M., Marchiori, E., Palamidessi, C.: Proving concurrent constraint programs correct. ACM Transactions on Programming Languages and Systems 19(5), 685–725 (1997)CrossRefGoogle Scholar
  21. 21.
    de Boer, F.S., Gabbrielli, M., Meo, M.C.: A timed concurrent constraint language. Inf. Comput. 161(1), 45–83 (2000)MATHCrossRefGoogle Scholar
  22. 22.
    de Boer, F.S., Gabbrielli, M., Meo, M.C.: A temporal logic for reasoning about timed concurrent constraint programs. In: TIME, pp. 227–233 (2001)Google Scholar
  23. 23.
    de Boer, F.S., Gabbrielli, M., Palamidessi, C.: Proving correctness of constraint logic programs with dynamic scheduling. In: Cousot, R., Schmidt, D.A. (eds.) SAS 1996. LNCS, vol. 1145, pp. 83–97. Springer, Heidelberg (1996)Google Scholar
  24. 24.
    de Boer, F.S., Palamidessi, C.: On the asynchronous nature of communication in concurrent logic languages: A fully abstract model based on sequences. In: Baeten, J.C.M., Klop, J.W. (eds.) CONCUR 1990. LNCS, vol. 458, pp. 99–114. Springer, Heidelberg (1990)Google Scholar
  25. 25.
    de Boer, F.S., Pierro, A.D., Palamidessi, C.: Nondeterminism and infinite computations in constraint programming. Theoretical Computer Science 151(1), 37–78 (1995)MATHCrossRefMathSciNetGoogle Scholar
  26. 26.
    Di Pierro, A., Wiklicky, H.: A Banach Space Based Semantics for Probabilistic Concurrent Constraint Programming. In: Lin, X. (ed.) Proc. 4th Australasian Theory Symposium, CATS 1998, Singapore. Australian Computer Science Communications, vol. 20 – 3, pp. 245–259. Springer, Heidelberg (1998)Google Scholar
  27. 27.
    Di Pierro, A., Wiklicky, H.: An Operational Semantics for Probabilistic Concurrent Constraint Programming. In: Iyer, Y.C.P., Schmidt, D. (eds.) Proc. ICCL 1998 – International Conference on Computer Languages, Chicago. IEEE Computer Society and ACM SIGPLAN, pp. 174–183. IEEE Computer Society Press, Los Alamitos (1998)Google Scholar
  28. 28.
    Di Pierro, A., Wiklicky, H.: Probabilistic Concurrent Constraint Programming: Towards a Fully Abstract Model. In: Brim, L., Gruska, J., Zlatuška, J. (eds.) MFCS 1998. LNCS, vol. 1450, p. 446. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  29. 29.
    Di Pierro, A., Wiklicky, H.: Concurrent Constraint Programming: Towards Probabilistic Abstract Interpretation. In: Gabbrielli, M., Pfenning, F. (eds.) Proceedings of PPDP 2000 – Priciples and Practice of Declarative Programming, Montréal, Canada, September 2000. ACM SIGPLAN, pp. 127–138. Association of Computing Machinery, New York (2000)Google Scholar
  30. 30.
    Di Pierro, A., Wiklicky, H.: Quantitative observables and averages in Probabilistic Concurrent Constraint Programming. In: Apt, K.R., Kakas, A.C., Monfroy, E., Rossi, F. (eds.) Compulog Net WS 1999. LNCS (LNAI), vol. 1865, pp. 212–236. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  31. 31.
    Dovier, A., Pontelli, E. (eds.): 25 Years of Logic Programming in Italy. LNCS, vol. 6125. Springer, Heidelberg (2010)Google Scholar
  32. 32.
    Etalle, S., Gabbrielli, M., Meo, M.C.: Transformations of ccp programs. ACM Trans. Program. Lang. Syst. 23(3), 304–395 (2001)CrossRefGoogle Scholar
  33. 33.
    Falaschi, M., Gabbrielli, M., Marriott, K., Palamidessi, C.: Compositional analysis for concurrent constraint programming. In: Proc. of the Eight Annual IEEE Symposium on Logic in Computer Science, pp. 210–221. IEEE Computer Society Press, Los Alamitos (1993)CrossRefGoogle Scholar
  34. 34.
    Falaschi, M., Gabbrielli, M., Marriott, K., Palamidessi, C.: Confluence in concurrent constraint programming. Theoretical Computer Science 183(2), 281–315 (1997)MATHCrossRefMathSciNetGoogle Scholar
  35. 35.
    Falaschi, M., Gabbrielli, M., Marriott, K., Palamidessi, C.: Confluence in concurrent constraint programming. Theoretical Computer Science 183(2), 281–315 (1997)MATHCrossRefMathSciNetGoogle Scholar
  36. 36.
    Falaschi, M., Gabbrielli, M., Marriott, K., Palamidessi, C.: Constraint Logic Programming with Dynamic Scheduling: A Semantics Based on Closure Operators. Information and Computation 137(1), 41–67 (1997)MATHCrossRefMathSciNetGoogle Scholar
  37. 37.
    Falaschi, M., Olarte, C., Palamidessi, C., Valencia, F.: Declarative diagnosis of temporal concurrent constraint programs. In: Dahl, V., Niemelä, I. (eds.) ICLP 2007. LNCS, vol. 4670, pp. 271–285. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  38. 38.
    Falaschi, M., Olarte, C., Valencia, F.: A framework for abstract interpretation of timed concurrent constraint programs. In: Proc. of PPDP 2009, ACM Sigplan, pp. 107–118 (2009)Google Scholar
  39. 39.
    Francesco, N.D., Santone, A.: Unfold/fold transformations of concurrent processes. In: Kuchen, H., Swierstra, S.D. (eds.) PLILP 1996. LNCS, vol. 1140, pp. 167–181. Springer, Heidelberg (1996)Google Scholar
  40. 40.
    Gabbrielli, M., Levi, G.: Unfolding and fixpoint semantics for concurrent constraint logic programs. In: Kirchner, H., Wechler, W. (eds.) ALP 1990. LNCS, vol. 463, pp. 204–216. Springer, Heidelberg (1990)Google Scholar
  41. 41.
    Gavanelli, M., Rossi, F.: Constraint Logic Programming. In: Dovier, A., Pontelli, E. (eds.) 25 Years of Logic Programming in Italy, ch. 4. LNCS, pp. 64–85. Springer, Heidelberg (2010)Google Scholar
  42. 42.
    Giacobazzi, R., Debray, S.K., Levi, G.: Generalized semantics and abstract interpretation for constraint logic programs. Journal of Logic Programming 25(3), 191–247 (1995)MATHCrossRefMathSciNetGoogle Scholar
  43. 43.
    Giacobazzi, R., Palamidessi, C., Ranzato, F.: Weak relative pseudo-complements of closure operators. Algebra Universalis 36(3), 405–412 (1996)MATHCrossRefMathSciNetGoogle Scholar
  44. 44.
    Gupta, V., Jagadeesan, R., Saraswat, V.: Computing with continuous change. Science of Computer Programming 30(1-2), 3–49 (1998)MATHCrossRefMathSciNetGoogle Scholar
  45. 45.
    Henkin, L., Monk, J., Tarski, A.: Cylindric Algebras (Part I). North-Holland, Amsterdam (1971)Google Scholar
  46. 46.
    Jaffar, J., Lassez, J.-L.: Constraint logic programming. In: Proc. of ACM Symposium on Principles of Programming Languages, pp. 111–119. ACM, New York (1987)Google Scholar
  47. 47.
    Maher, M.J.: Logic semantics for a class of committed-choice programs. In: Lassez, J.-L. (ed.) Proc. of the Fourth International Conference on Logic Programming, Melbourne. Series in Logic Programming, pp. 858–876. MIT Press, Cambridge (1987)Google Scholar
  48. 48.
    Milner, R.: A Calculus of Communication Systems. LNCS, vol. 92. Springer, Heidelberg (1980)Google Scholar
  49. 49.
    Nielsen, M., Palamidessi, C., Valencia, F.: On the expressive power of concurrent constraint programming languages. In: Proc. of PPDP 2002, pp. 156–167. ACM Press, New York (2002)CrossRefGoogle Scholar
  50. 50.
    Nielsen, M., Palamidessi, C., Valencia, F.: Temporal concurrent constraint programming: Denotation, logic and applications. Nordic Journal of Computing 9(2), 145–188 (2002)MATHMathSciNetGoogle Scholar
  51. 51.
    Rueda, C., Alvarez, G., Quesada, L., Tamura, G., Valencia, F., Diaz, J., Assayag, G.: Integrating constraints and concurrent objects in musical applications: A calculus and its visual language. Constraints 6(1) (2001)Google Scholar
  52. 52.
    Saraswat, V.: A somewhat logical formulation of CLP synchronization primitives. In: Kowalski, R.A., Bowen, K.A. (eds.) Proc. of the Fifth International Conference on Logic Programming, Seattle, USA. Series in Logic Programming, pp. 1298–1314. MIT Press, Cambridge (1988)Google Scholar
  53. 53.
    Saraswat, V.: Concurrent Constraint Programming. PhD thesis, Carnegie-Mellon University, January 1989. ACM distinguished dissertation series. The MIT Press, Cambridge (1993)Google Scholar
  54. 54.
    Saraswat, V., Jagadeesan, R., Gupta, V.: Foundations of timed concurrent constraint programming. In: LICS, pp. 71–80. IEEE Computer Society, Los Alamitos (1994)Google Scholar
  55. 55.
    Saraswat, V., Jagadeesan, R., Gupta, V.: Timed default concurrent constraint programming. J. Symb. Comput. 22(5/6), 475–520 (1996)MATHCrossRefMathSciNetGoogle Scholar
  56. 56.
    Saraswat, V., Jagadeesan, R., Gupta, V.: jcc: Integrating timed default concurrent constraint programming into java. In: Pires, F.M., Abreu, S.P. (eds.) EPIA 2003. LNCS (LNAI), vol. 2902, pp. 156–170. Springer, Heidelberg (2003)Google Scholar
  57. 57.
    Saraswat, V., Rinard, M.: Concurrent constraint programming. In: Proc. of the seventeenth ACM Symposium on Principles of Programming Languages, pp. 232–245. ACM, New York (1990)Google Scholar
  58. 58.
    Saraswat, V., Rinard, M., Panangaden, P.: Semantics foundations of Concurrent Constraint Programming. In: Proc. of the eighteenth ACM Symposium on Principles of Programming Languages. ACM, New York (1991)Google Scholar
  59. 59.
    Shapiro, E.: A subset of Concurrent Prolog and its interpreter. Technical Report TR-003, Institute for New Generation Computer Technology (ICOT), Tokyo (1983)Google Scholar
  60. 60.
    Shapiro, E.: Concurrent Prolog: A progress report. Computer 19(8), 44–58 (1986)CrossRefGoogle Scholar
  61. 61.
    Tamaki, H., Sato, T.: Unfold/fold transformation of logic programs. In: ICLP, pp. 127–138 (1984)Google Scholar
  62. 62.
    Ueda, K.: Guarded Horn Clauses. In: Shapiro, E. (ed.) Concurrent Prolog: Collected Papers. Series in Logic Programming. MIT Press, Cambridge (1987)Google Scholar
  63. 63.
    Ueda, K.: Guarded Horn Clauses, a parallel logic programming language with the concept of a guard. In: Nivat, M., Fuchi, K. (eds.) Programming of Future Generation Computers, pp. 441–456. North Holland, Amsterdam (1988)Google Scholar
  64. 64.
    Ueda, K., Furukawa, K.: Transformation rules for ghc programs. In: FGCS, pp. 582–591 (1988)Google Scholar
  65. 65.
    Ueda, K., Kato, N., Hara, K., Mizuno, K.: LMNtal as a unifying declarative language: Live demonstration. In: Etalle, S., Truszczyński, M. (eds.) ICLP 2006. LNCS, vol. 4079, pp. 457–458. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  66. 66.
    Zaffanella, E.: Domain Independent Ask Approximation in CCP. In: Montanari, U., Rossi, F. (eds.) CP 1995. LNCS, vol. 976, pp. 362–379. Springer, Heidelberg (1995)Google Scholar
  67. 67.
    Zaffanella, E., Giacobazzi, R., Levi, G.: Abstracting synchronization in concurrent constraint programming. Journal of Functional and Logic Programming 1997(6) (November 1997)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Maurizio Gabbrielli
    • 1
  • Catuscia Palamidessi
    • 2
  • Frank D. Valencia
    • 3
  1. 1.Lab. FocusINRIA and University of Bologna 
  2. 2.INRIA and LIXEcole Polytechnique 
  3. 3.CNRS, LIXEcole Polytechnique 

Personalised recommendations